mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-04 15:10:06 +00:00
51b925f7efb7f9780539317bedd5c39c0fe83ead
* Add playwright * Add test:browser command * Remove test examples * Add basic node tests * Add drag node test * Merge workflows * nit * Localize jest * Add local config * Change working dir * Use consistent fonts * Fix emoji fonts * Update github action to save expectation * update on test failure * push to head * Update test expectations [skip ci] --------- Co-authored-by: github-actions <github-actions@github.com>
ComfyUI_frontend
Front-end of ComfyUI modernized. This repo is fully compatible with the existing extension system.
Road Map
What has been done
- Migrate all code to TypeScript with minimal change modification to the original logic.
- Bundle all code with vite's rollup build.
- Added a shim layer to be backward compatible with the existing extension system. https://github.com/huchenlei/ComfyUI_frontend/pull/15
- Front-end dev server.
- Zod schema for input validation on ComfyUI workflow.
What to be done
- Make litegraph a npm dependency.
- Replace the existing ComfyUI front-end impl.
- Turn on
strictontsconfig.json. - Introduce react to start managing part of the UI.
- Introduce a UI library to add more widget types for node developers.
- LLM streaming node.
- Linear mode (Similar to InvokeAI's linear mode).
- Invoke AI canvas.
- Better node search. Sherlock https://github.com/Nuked88/ComfyUI-N-Sidebar.
- Keybinding settings management. Register keybindings API for custom nodes.
- New extensions API for adding UI-related features.
Development
Note: The dev server will NOT load any extension from the ComfyUI server. Only core extensions will be loaded.
- Run
npm installto install the necessary packages - Start local ComfyUI backend at
localhost:8188 - Run
npm run devto start the dev server
Test
npm ito install all dependenciesnpm run test:generateto fetchtests-ui/data/object_info.jsonnpm run testto execute all unit tests.
Deploy
Copy everything under dist/ to ComfyUI/web/ in your ComfyUI checkout.
Breaking changes
- api.api_url now adds a prefix
api/to every url going through the method. If the custom node registers a new api endpoint but does not offer theapi/prefixed alt endpoint, it will have issue. Luckily there aren't many extensions that do that. We can perform an audit before launching to resolve this issue.
Description
Languages
TypeScript
80.3%
Vue
18.1%
CSS
0.7%
Python
0.3%
Shell
0.3%
Other
0.2%