Split monolithic 1400-line comfy_shared.js into focused TypeScript modules in web_source/src/comfy_shared/: - api.ts: server API utilities (runAction, getServerInfo, setServerInfo) - colors.ts: color brightness utilities - documentation.ts: node documentation widget system - dom.ts: DOM and HTML utilities - dynamic-connections.ts: dynamic input/output management - logger.ts: logging utilities with toast notifications - node-extensions.ts: node type extension helpers - storage.ts: namespaced localStorage management - types.ts: comprehensive type definitions - utils.ts: base utilities (UUID, debounce, deep merge) - widgets.ts: LiteGraph widget utilities Benefits: - ~200 LOC reduction through proper typing and elimination of redundant code - Better code organization with single-responsibility modules - Full TypeScript type safety with proper generics - Improved documentation and maintainability - Easier to tree-shake unused utilities Updated vite.config.ts to build comfy_shared as separate entry point and marked external dependencies (/mtb_async modules). Modified InspectorItem.svelte to use extracted item.value instead of always pulling from widgets[0]. Renamed panel.ts to panel.svelte.ts to enable Svelte 5 runes and made APIPanel reactive using $state instead of $$set.
13 lines
341 B
JavaScript
13 lines
341 B
JavaScript
/**
|
|
* MTB API Authoring Layer
|
|
* This file imports the compiled TypeScript bundle and registers the extension.
|
|
*
|
|
* The source code is in web_source/src/mtb_api/
|
|
* Build with: cd web_source && bun run build
|
|
*/
|
|
|
|
import { registerMtbApiExtension } from './dist/mtb_api.js'
|
|
|
|
// Register the extension with ComfyUI
|
|
registerMtbApiExtension()
|