mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-26 19:09:52 +00:00
## Summary - Enable `verbatimModuleSyntax` compiler option in TypeScript configuration - Update all type imports to use explicit `import type` syntax - This change will Improve tree-shaking and bundler compatibility ## Motivation The `verbatimModuleSyntax` option ensures that type-only imports are explicitly marked with the `type` keyword. This: - Makes import/export intentions clearer - Improves tree-shaking by helping bundlers identify what can be safely removed - Ensures better compatibility with modern bundlers - Follows TypeScript best practices for module syntax ## Changes - Added `"verbatimModuleSyntax": true` to `tsconfig.json` - Updated another 48+ files to use explicit `import type` syntax for type-only imports - No functional changes, only import/export syntax improvements ## Test Plan - [x] TypeScript compilation passes - [x] Build completes successfully - [x] Tests pass - [ ] No runtime behavior changes 🤖 Generated with [Claude Code](https://claude.ai/code) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5533-feat-enable-verbatimModuleSyntax-in-TypeScript-config-26d6d73d36508190b424ef9b379b5130) by [Unito](https://www.unito.io)
48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
/*
|
|
Preview Any - original implement from
|
|
https://github.com/rgthree/rgthree-comfy/blob/main/py/display_any.py
|
|
upstream requested in https://github.com/Kosinkadink/rfcs/blob/main/rfcs/0000-corenodes.md#preview-nodes
|
|
*/
|
|
import { app } from '@/scripts/app'
|
|
import { type DOMWidget } from '@/scripts/domWidget'
|
|
import { ComfyWidgets } from '@/scripts/widgets'
|
|
import { useExtensionService } from '@/services/extensionService'
|
|
|
|
useExtensionService().registerExtension({
|
|
name: 'Comfy.PreviewAny',
|
|
async beforeRegisterNodeDef(nodeType, nodeData) {
|
|
if (nodeData.name === 'PreviewAny') {
|
|
const onNodeCreated = nodeType.prototype.onNodeCreated
|
|
|
|
nodeType.prototype.onNodeCreated = function () {
|
|
onNodeCreated ? onNodeCreated.apply(this, []) : undefined
|
|
|
|
const showValueWidget = ComfyWidgets['STRING'](
|
|
this,
|
|
'preview',
|
|
['STRING', { multiline: true }],
|
|
app
|
|
).widget as DOMWidget<any, any>
|
|
|
|
showValueWidget.element.readOnly = true
|
|
|
|
showValueWidget.serialize = false
|
|
}
|
|
|
|
const onExecuted = nodeType.prototype.onExecuted
|
|
|
|
nodeType.prototype.onExecuted = function (message) {
|
|
onExecuted === null || onExecuted === void 0
|
|
? void 0
|
|
: onExecuted.apply(this, [message])
|
|
|
|
const previewWidget = this.widgets?.find((w) => w.name === 'preview')
|
|
|
|
if (previewWidget) {
|
|
previewWidget.value = message.text[0]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|