Files
melMass-comfy_mtb/web/mtb_api.js
T
Mel Massadian 114db05be0 refactor: 🔨 migrate comfy_shared to typescript and modularize
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.
2025-12-07 19:54:31 +01:00

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()