mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-26 10:59:53 +00:00
## Summary Extracts desktop UI into apps/desktop-ui package with minimal changes. ## Changes - **What**: - Separates desktop-specific code into standalone package with independent Vite config, router, and i18n - Drastically simplifies the main app router by removing all desktop routes - Adds a some code duplication, most due to the existing design - Some duplication can be refactored to be *simpler* on either side - no need to split things by `isElectron()` - Rudimentary storybook support has been added - **Breaking**: Stacked PR for publishing must be merged before this PR makes it to stable core (but publishing _could_ be done manually) - #5915 - **Dependencies**: Takes full advantage of pnpm catalog. No additional dependencies added. ## Review Focus - Should be no changes to normal frontend operation - Scripts added to root package.json are acceptable - The duplication in this PR is copied as is, wherever possible. Any corrections or fix-ups beyond the scope of simply migrating the functionality as-is, can be addressed in later PRs. That said, if any changes are made, it instantly becomes more difficult to separate the duplicated code out into a shared utility. - Tracking issue to address concerns: #5925 ### i18n Fixing i18n is out of scope for this PR. It is a larger task that we should consider carefully and implement properly. Attempting to isolate the desktop i18n and duplicate the _current_ localisation scripts would be wasted energy.
118 lines
2.9 KiB
JSON
118 lines
2.9 KiB
JSON
{
|
|
"name": "@comfyorg/desktop-ui",
|
|
"version": "0.0.1",
|
|
"type": "module",
|
|
"nx": {
|
|
"tags": [
|
|
"scope:desktop",
|
|
"type:app"
|
|
],
|
|
"targets": {
|
|
"dev": {
|
|
"executor": "nx:run-commands",
|
|
"continuous": true,
|
|
"options": {
|
|
"cwd": "apps/desktop-ui",
|
|
"command": "vite --config vite.config.mts"
|
|
}
|
|
},
|
|
"serve": {
|
|
"executor": "nx:run-commands",
|
|
"continuous": true,
|
|
"options": {
|
|
"cwd": "apps/desktop-ui",
|
|
"command": "vite --config vite.config.mts"
|
|
}
|
|
},
|
|
"build": {
|
|
"executor": "nx:run-commands",
|
|
"cache": true,
|
|
"dependsOn": [
|
|
"^build"
|
|
],
|
|
"options": {
|
|
"cwd": "apps/desktop-ui",
|
|
"command": "vite build --config vite.config.mts"
|
|
},
|
|
"outputs": [
|
|
"{projectRoot}/dist"
|
|
]
|
|
},
|
|
"preview": {
|
|
"executor": "nx:run-commands",
|
|
"continuous": true,
|
|
"dependsOn": [
|
|
"build"
|
|
],
|
|
"options": {
|
|
"cwd": "apps/desktop-ui",
|
|
"command": "vite preview --config vite.config.mts"
|
|
}
|
|
},
|
|
"storybook": {
|
|
"executor": "nx:run-commands",
|
|
"continuous": true,
|
|
"options": {
|
|
"cwd": "apps/desktop-ui",
|
|
"command": "storybook dev -p 6007"
|
|
}
|
|
},
|
|
"build-storybook": {
|
|
"executor": "nx:run-commands",
|
|
"cache": true,
|
|
"options": {
|
|
"cwd": "apps/desktop-ui",
|
|
"command": "storybook build -o dist/storybook"
|
|
},
|
|
"outputs": [
|
|
"{projectRoot}/dist/storybook"
|
|
]
|
|
},
|
|
"lint": {
|
|
"executor": "nx:run-commands",
|
|
"cache": true,
|
|
"options": {
|
|
"cwd": "apps/desktop-ui",
|
|
"command": "eslint src --cache"
|
|
}
|
|
},
|
|
"typecheck": {
|
|
"executor": "nx:run-commands",
|
|
"cache": true,
|
|
"options": {
|
|
"cwd": "apps/desktop-ui",
|
|
"command": "vue-tsc --noEmit -p tsconfig.json"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"scripts": {
|
|
"storybook": "storybook dev -p 6007",
|
|
"build-storybook": "storybook build -o dist/storybook"
|
|
},
|
|
"dependencies": {
|
|
"@comfyorg/comfyui-electron-types": "0.4.73-0",
|
|
"@comfyorg/shared-frontend-utils": "workspace:*",
|
|
"@primevue/core": "catalog:",
|
|
"@primevue/themes": "catalog:",
|
|
"@vueuse/core": "catalog:",
|
|
"pinia": "catalog:",
|
|
"primeicons": "catalog:",
|
|
"primevue": "catalog:",
|
|
"vue": "catalog:",
|
|
"vue-i18n": "catalog:",
|
|
"vue-router": "catalog:"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "catalog:",
|
|
"@vitejs/plugin-vue": "catalog:",
|
|
"dotenv": "catalog:",
|
|
"unplugin-icons": "catalog:",
|
|
"unplugin-vue-components": "catalog:",
|
|
"vite": "catalog:",
|
|
"vite-plugin-html": "catalog:",
|
|
"vite-plugin-vue-devtools": "catalog:",
|
|
"vue-tsc": "catalog:"
|
|
}
|
|
}
|