diff --git a/index.html b/index.html
index f0b0a1749..30d8125d3 100644
--- a/index.html
+++ b/index.html
@@ -9,7 +9,14 @@
-
+
diff --git a/package-lock.json b/package-lock.json
index bf7492747..d052d248e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,8 @@
"version": "0.0.0",
"devDependencies": {
"typescript": "^5.2.2",
- "vite": "^5.2.0"
+ "vite": "^5.2.0",
+ "vite-plugin-no-bundle": "^4.0.0"
}
},
"node_modules/@esbuild/aix-ppc64": {
@@ -380,6 +381,41 @@
"node": ">=12"
}
},
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
@@ -594,6 +630,18 @@
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/esbuild": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
@@ -632,6 +680,43 @@
"@esbuild/win32-x64": "0.20.2"
}
},
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -646,6 +731,70 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/nanoid": {
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
@@ -670,6 +819,18 @@
"integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
"dev": true
},
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/postcss": {
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
@@ -698,6 +859,36 @@
"node": "^10 || ^12 || >=14"
}
},
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/rollup": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
@@ -733,6 +924,29 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
"node_modules/source-map-js": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
@@ -742,6 +956,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
"node_modules/typescript": {
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
@@ -809,6 +1035,16 @@
"optional": true
}
}
+ },
+ "node_modules/vite-plugin-no-bundle": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/vite-plugin-no-bundle/-/vite-plugin-no-bundle-4.0.0.tgz",
+ "integrity": "sha512-DXsJGXtp/QLWNFBfBqr+arxaTHEgiPCAgf9bcOPGv4n3AsFigsFj+oL95nFdMt8cRbgRDtvyTX802IZNBGg3Xg==",
+ "dev": true,
+ "dependencies": {
+ "fast-glob": "^3.3.2",
+ "micromatch": "^4.0.5"
+ }
}
}
}
diff --git a/package.json b/package.json
index 24eaff4f5..77a24cad8 100644
--- a/package.json
+++ b/package.json
@@ -5,12 +5,13 @@
"type": "module",
"scripts": {
"dev": "vite",
- "build": "tsc && vite build",
+ "build": "vite build",
"test": "cd tests-ui && npm run test",
"preview": "vite preview"
},
"devDependencies": {
"typescript": "^5.2.2",
- "vite": "^5.2.0"
+ "vite": "^5.2.0",
+ "vite-plugin-no-bundle": "^4.0.0"
}
}
diff --git a/public/scripts/index.js b/public/scripts/index.js
deleted file mode 100644
index 7c768c1cd..000000000
--- a/public/scripts/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { app } from "./app.js";
-
-(async () => {
- await app.setup();
- window.app = app;
- window.graph = app.graph;
-})();
diff --git a/public/extensions/core/clipspace.js b/src/extensions/core/clipspace.js
similarity index 100%
rename from public/extensions/core/clipspace.js
rename to src/extensions/core/clipspace.js
diff --git a/public/extensions/core/colorPalette.js b/src/extensions/core/colorPalette.js
similarity index 100%
rename from public/extensions/core/colorPalette.js
rename to src/extensions/core/colorPalette.js
diff --git a/public/extensions/core/contextMenuFilter.js b/src/extensions/core/contextMenuFilter.js
similarity index 100%
rename from public/extensions/core/contextMenuFilter.js
rename to src/extensions/core/contextMenuFilter.js
diff --git a/public/extensions/core/dynamicPrompts.js b/src/extensions/core/dynamicPrompts.js
similarity index 100%
rename from public/extensions/core/dynamicPrompts.js
rename to src/extensions/core/dynamicPrompts.js
diff --git a/public/extensions/core/editAttention.js b/src/extensions/core/editAttention.js
similarity index 100%
rename from public/extensions/core/editAttention.js
rename to src/extensions/core/editAttention.js
diff --git a/public/extensions/core/groupNode.js b/src/extensions/core/groupNode.js
similarity index 100%
rename from public/extensions/core/groupNode.js
rename to src/extensions/core/groupNode.js
diff --git a/public/extensions/core/groupNodeManage.css b/src/extensions/core/groupNodeManage.css
similarity index 100%
rename from public/extensions/core/groupNodeManage.css
rename to src/extensions/core/groupNodeManage.css
diff --git a/public/extensions/core/groupNodeManage.js b/src/extensions/core/groupNodeManage.js
similarity index 100%
rename from public/extensions/core/groupNodeManage.js
rename to src/extensions/core/groupNodeManage.js
diff --git a/public/extensions/core/groupOptions.js b/src/extensions/core/groupOptions.js
similarity index 100%
rename from public/extensions/core/groupOptions.js
rename to src/extensions/core/groupOptions.js
diff --git a/public/extensions/core/invertMenuScrolling.js b/src/extensions/core/invertMenuScrolling.js
similarity index 100%
rename from public/extensions/core/invertMenuScrolling.js
rename to src/extensions/core/invertMenuScrolling.js
diff --git a/public/extensions/core/keybinds.js b/src/extensions/core/keybinds.js
similarity index 100%
rename from public/extensions/core/keybinds.js
rename to src/extensions/core/keybinds.js
diff --git a/public/extensions/core/linkRenderMode.js b/src/extensions/core/linkRenderMode.js
similarity index 100%
rename from public/extensions/core/linkRenderMode.js
rename to src/extensions/core/linkRenderMode.js
diff --git a/public/extensions/core/maskeditor.js b/src/extensions/core/maskeditor.js
similarity index 100%
rename from public/extensions/core/maskeditor.js
rename to src/extensions/core/maskeditor.js
diff --git a/public/extensions/core/nodeTemplates.js b/src/extensions/core/nodeTemplates.js
similarity index 100%
rename from public/extensions/core/nodeTemplates.js
rename to src/extensions/core/nodeTemplates.js
diff --git a/public/extensions/core/noteNode.js b/src/extensions/core/noteNode.js
similarity index 100%
rename from public/extensions/core/noteNode.js
rename to src/extensions/core/noteNode.js
diff --git a/public/extensions/core/rerouteNode.js b/src/extensions/core/rerouteNode.js
similarity index 100%
rename from public/extensions/core/rerouteNode.js
rename to src/extensions/core/rerouteNode.js
diff --git a/public/extensions/core/saveImageExtraOutput.js b/src/extensions/core/saveImageExtraOutput.js
similarity index 100%
rename from public/extensions/core/saveImageExtraOutput.js
rename to src/extensions/core/saveImageExtraOutput.js
diff --git a/public/extensions/core/simpleTouchSupport.js b/src/extensions/core/simpleTouchSupport.js
similarity index 100%
rename from public/extensions/core/simpleTouchSupport.js
rename to src/extensions/core/simpleTouchSupport.js
diff --git a/public/extensions/core/slotDefaults.js b/src/extensions/core/slotDefaults.js
similarity index 100%
rename from public/extensions/core/slotDefaults.js
rename to src/extensions/core/slotDefaults.js
diff --git a/public/extensions/core/snapToGrid.js b/src/extensions/core/snapToGrid.js
similarity index 100%
rename from public/extensions/core/snapToGrid.js
rename to src/extensions/core/snapToGrid.js
diff --git a/public/extensions/core/undoRedo.js b/src/extensions/core/undoRedo.js
similarity index 100%
rename from public/extensions/core/undoRedo.js
rename to src/extensions/core/undoRedo.js
diff --git a/public/extensions/core/uploadImage.js b/src/extensions/core/uploadImage.js
similarity index 100%
rename from public/extensions/core/uploadImage.js
rename to src/extensions/core/uploadImage.js
diff --git a/public/extensions/core/webcamCapture.js b/src/extensions/core/webcamCapture.js
similarity index 100%
rename from public/extensions/core/webcamCapture.js
rename to src/extensions/core/webcamCapture.js
diff --git a/public/extensions/core/widgetInputs.js b/src/extensions/core/widgetInputs.js
similarity index 100%
rename from public/extensions/core/widgetInputs.js
rename to src/extensions/core/widgetInputs.js
diff --git a/public/lib/litegraph.core.js b/src/lib/litegraph.core.js
similarity index 100%
rename from public/lib/litegraph.core.js
rename to src/lib/litegraph.core.js
diff --git a/public/lib/litegraph.css b/src/lib/litegraph.css
similarity index 100%
rename from public/lib/litegraph.css
rename to src/lib/litegraph.css
diff --git a/public/lib/litegraph.extensions.js b/src/lib/litegraph.extensions.js
similarity index 100%
rename from public/lib/litegraph.extensions.js
rename to src/lib/litegraph.extensions.js
diff --git a/public/scripts/api.js b/src/scripts/api.js
similarity index 100%
rename from public/scripts/api.js
rename to src/scripts/api.js
diff --git a/public/scripts/app.js b/src/scripts/app.js
similarity index 100%
rename from public/scripts/app.js
rename to src/scripts/app.js
diff --git a/public/scripts/defaultGraph.js b/src/scripts/defaultGraph.js
similarity index 100%
rename from public/scripts/defaultGraph.js
rename to src/scripts/defaultGraph.js
diff --git a/public/scripts/domWidget.js b/src/scripts/domWidget.js
similarity index 100%
rename from public/scripts/domWidget.js
rename to src/scripts/domWidget.js
diff --git a/public/scripts/logging.js b/src/scripts/logging.js
similarity index 100%
rename from public/scripts/logging.js
rename to src/scripts/logging.js
diff --git a/public/scripts/pnginfo.js b/src/scripts/pnginfo.js
similarity index 100%
rename from public/scripts/pnginfo.js
rename to src/scripts/pnginfo.js
diff --git a/public/scripts/ui.js b/src/scripts/ui.js
similarity index 100%
rename from public/scripts/ui.js
rename to src/scripts/ui.js
diff --git a/public/scripts/ui/dialog.js b/src/scripts/ui/dialog.js
similarity index 100%
rename from public/scripts/ui/dialog.js
rename to src/scripts/ui/dialog.js
diff --git a/public/scripts/ui/draggableList.js b/src/scripts/ui/draggableList.js
similarity index 100%
rename from public/scripts/ui/draggableList.js
rename to src/scripts/ui/draggableList.js
diff --git a/public/scripts/ui/imagePreview.js b/src/scripts/ui/imagePreview.js
similarity index 100%
rename from public/scripts/ui/imagePreview.js
rename to src/scripts/ui/imagePreview.js
diff --git a/public/scripts/ui/settings.js b/src/scripts/ui/settings.js
similarity index 100%
rename from public/scripts/ui/settings.js
rename to src/scripts/ui/settings.js
diff --git a/public/scripts/ui/spinner.css b/src/scripts/ui/spinner.css
similarity index 100%
rename from public/scripts/ui/spinner.css
rename to src/scripts/ui/spinner.css
diff --git a/public/scripts/ui/spinner.js b/src/scripts/ui/spinner.js
similarity index 100%
rename from public/scripts/ui/spinner.js
rename to src/scripts/ui/spinner.js
diff --git a/public/scripts/ui/toggleSwitch.js b/src/scripts/ui/toggleSwitch.js
similarity index 100%
rename from public/scripts/ui/toggleSwitch.js
rename to src/scripts/ui/toggleSwitch.js
diff --git a/public/scripts/ui/userSelection.css b/src/scripts/ui/userSelection.css
similarity index 100%
rename from public/scripts/ui/userSelection.css
rename to src/scripts/ui/userSelection.css
diff --git a/public/scripts/ui/userSelection.js b/src/scripts/ui/userSelection.js
similarity index 100%
rename from public/scripts/ui/userSelection.js
rename to src/scripts/ui/userSelection.js
diff --git a/public/scripts/utils.js b/src/scripts/utils.js
similarity index 100%
rename from public/scripts/utils.js
rename to src/scripts/utils.js
diff --git a/public/scripts/widgets.js b/src/scripts/widgets.js
similarity index 100%
rename from public/scripts/widgets.js
rename to src/scripts/widgets.js
diff --git a/public/style.css b/src/style.css
similarity index 100%
rename from public/style.css
rename to src/style.css
diff --git a/public/types/comfy.d.ts b/src/types/comfy.d.ts
similarity index 100%
rename from public/types/comfy.d.ts
rename to src/types/comfy.d.ts
diff --git a/public/types/litegraph.d.ts b/src/types/litegraph.d.ts
similarity index 100%
rename from public/types/litegraph.d.ts
rename to src/types/litegraph.d.ts
diff --git a/public/user.css b/src/user.css
similarity index 100%
rename from public/user.css
rename to src/user.css
diff --git a/tests-ui/setup.js b/tests-ui/setup.js
index 38787793a..1b73936fe 100644
--- a/tests-ui/setup.js
+++ b/tests-ui/setup.js
@@ -1,4 +1,3 @@
-const { spawn } = require("child_process");
const { resolve } = require("path");
const { existsSync, mkdirSync, writeFileSync } = require("fs");
const http = require("http");
diff --git a/tests-ui/utils/ezgraph.js b/tests-ui/utils/ezgraph.js
index a231eec20..bb49c6a38 100644
--- a/tests-ui/utils/ezgraph.js
+++ b/tests-ui/utils/ezgraph.js
@@ -1,13 +1,13 @@
// @ts-check
-///
+///
/**
* @typedef { import("../../dist/scripts/app")["app"] } app
- * @typedef { import("../../dist/types/litegraph") } LG
- * @typedef { import("../../dist/types/litegraph").IWidget } IWidget
- * @typedef { import("../../dist/types/litegraph").ContextMenuItem } ContextMenuItem
- * @typedef { import("../../dist/types/litegraph").INodeInputSlot } INodeInputSlot
- * @typedef { import("../../dist/types/litegraph").INodeOutputSlot } INodeOutputSlot
+ * @typedef { import("../../src/types/litegraph") } LG
+ * @typedef { import("../../src/types/litegraph").IWidget } IWidget
+ * @typedef { import("../../src/types/litegraph").ContextMenuItem } ContextMenuItem
+ * @typedef { import("../../src/types/litegraph").INodeInputSlot } INodeInputSlot
+ * @typedef { import("../../src/types/litegraph").INodeOutputSlot } INodeOutputSlot
* @typedef { InstanceType & { widgets?: Array } } LGNode
* @typedef { (...args: EzOutput[] | [...EzOutput[], Record]) => EzNode } EzNodeFactory
*/
diff --git a/tsconfig.json b/tsconfig.json
index 1f7b624e6..06835192d 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -5,13 +5,9 @@
"module": "ESNext",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "resolveJsonModule": true,
- "isolatedModules": true,
- "noEmit": true,
+ "sourceMap": true,
+ "esModuleInterop": true,
+ "moduleResolution": "Classic",
/* Linting */
"strict": false,
@@ -20,7 +16,11 @@
"noFallthroughCasesInSwitch": true,
/* AllowJs during migration phase */
- "allowJs": true
+ "allowJs": true,
+ "baseUrl": ".",
+ "paths": {
+ "*": ["src/*"],
+ }
},
- "include": ["src", "public"]
+ "include": ["src/**/*"]
}
diff --git a/vite.config.mts b/vite.config.mts
index 084ca5a03..2288e6bcb 100644
--- a/vite.config.mts
+++ b/vite.config.mts
@@ -1,13 +1,38 @@
import { defineConfig } from 'vite';
+import noBundlePlugin from 'vite-plugin-no-bundle';
+
export default defineConfig({
- server: {
- proxy: {
- // Proxy websocket requests to the server
- '/': {
- target: 'ws://127.0.0.1:8188',
- ws: true,
- }
- }
- }
+ server: {
+ open: true,
+ proxy: {
+ // Proxy websocket requests to the server
+ '/': {
+ target: 'ws://127.0.0.1:8188',
+ ws: true,
+ }
+ }
+ },
+ plugins: [noBundlePlugin({
+ copy: [
+ '**/*.css',
+ 'lib/*.js',
+ // Make sure to include all core extensions, as they are loaded dynamically
+ 'extensions/core/*.js',
+ // Include modules only used by core extensions
+ 'scripts/ui/draggableList.js',
+ ]
+ })],
+ build: {
+ lib: {
+ formats: ['es'],
+ entry: 'index.html',
+ },
+ minify: false,
+ rollupOptions: {
+ // Disabling tree-shaking
+ // Prevent vite remove unused exports
+ treeshake: false
+ }
+ },
});
\ No newline at end of file