{ "name": "@comfyorg/comfyui-frontend", "private": true, "version": "1.27.1", "type": "module", "repository": "https://github.com/Comfy-Org/ComfyUI_frontend", "homepage": "https://comfy.org", "description": "Official front-end implementation of ComfyUI", "license": "GPL-3.0-only", "scripts": { "dev": "nx serve", "dev:electron": "nx serve --config vite.electron.config.mts", "build": "pnpm typecheck && nx build", "build:types": "nx build --config vite.types.config.mts && node scripts/prepare-types.js", "zipdist": "node scripts/zipdist.js", "typecheck": "vue-tsc --noEmit", "format": "prettier --write './**/*.{js,ts,tsx,vue,mts}' --cache", "format:check": "prettier --check './**/*.{js,ts,tsx,vue,mts}' --cache", "format:no-cache": "prettier --write './**/*.{js,ts,tsx,vue,mts}'", "format:check:no-cache": "prettier --check './**/*.{js,ts,tsx,vue,mts}'", "test:browser": "npx nx e2e", "test:unit": "nx run test tests-ui/tests", "test:component": "nx run test src/components/", "test:litegraph": "vitest run --config vitest.litegraph.config.ts", "preinstall": "npx only-allow pnpm", "prepare": "husky || true && git config blame.ignoreRevsFile .git-blame-ignore-revs || true", "preview": "nx preview", "lint": "eslint src --cache", "lint:fix": "eslint src --cache --fix", "lint:no-cache": "eslint src", "lint:fix:no-cache": "eslint src --fix", "knip": "knip --cache", "knip:no-cache": "knip", "locale": "lobe-i18n locale", "collect-i18n": "npx playwright test --config=playwright.i18n.config.ts", "json-schema": "tsx scripts/generate-json-schema.ts", "storybook": "nx storybook -p 6006", "build-storybook": "storybook build" }, "devDependencies": { "@eslint/js": "^9.8.0", "@iconify/tailwind": "^1.2.0", "@intlify/eslint-plugin-vue-i18n": "^3.2.0", "@lobehub/i18n-cli": "^1.25.1", "@nx/eslint": "21.4.1", "@nx/playwright": "21.4.1", "@nx/storybook": "21.4.1", "@nx/vite": "21.4.1", "@pinia/testing": "^0.1.5", "@playwright/test": "^1.52.0", "@storybook/addon-docs": "^9.1.1", "@storybook/vue3": "^9.1.1", "@storybook/vue3-vite": "^9.1.1", "@tailwindcss/vite": "^4.1.12", "@trivago/prettier-plugin-sort-imports": "^5.2.0", "@types/fs-extra": "^11.0.4", "@types/jsdom": "^21.1.7", "@types/node": "^20.14.8", "@types/semver": "^7.7.0", "@types/three": "^0.169.0", "@vitejs/plugin-vue": "^5.1.4", "@vitest/coverage-v8": "^3.2.4", "@vitest/ui": "^3.0.0", "@vue/test-utils": "^2.4.6", "eslint": "^9.12.0", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", "eslint-plugin-storybook": "^9.1.1", "eslint-plugin-unused-imports": "^4.1.4", "eslint-plugin-vue": "^9.27.0", "fs-extra": "^11.2.0", "globals": "^15.9.0", "happy-dom": "^15.11.0", "husky": "^9.0.11", "jiti": "2.4.2", "jsdom": "^26.1.0", "knip": "^5.62.0", "lint-staged": "^15.2.7", "lucide-vue-next": "^0.540.0", "nx": "21.4.1", "prettier": "^3.3.2", "storybook": "^9.1.1", "tailwindcss": "^4.1.12", "tailwindcss-primeui": "^0.6.1", "tsx": "^4.15.6", "typescript": "^5.4.5", "typescript-eslint": "^8.0.0", "unplugin-icons": "^0.22.0", "unplugin-vue-components": "^0.28.0", "uuid": "^11.1.0", "vite": "^5.4.19", "vite-plugin-dts": "^4.3.0", "vite-plugin-html": "^3.2.2", "vite-plugin-vue-devtools": "^7.7.6", "vitest": "^3.2.4", "vue-tsc": "^2.1.10", "zip-dir": "^2.0.0", "zod-to-json-schema": "^3.24.1" }, "dependencies": { "@alloc/quick-lru": "^5.2.0", "@atlaskit/pragmatic-drag-and-drop": "^1.3.1", "@comfyorg/comfyui-electron-types": "^0.4.69", "@iconify/json": "^2.2.380", "@primeuix/forms": "0.0.2", "@primeuix/styled": "0.3.2", "@primeuix/utils": "^0.3.2", "@primevue/core": "^4.2.5", "@primevue/forms": "^4.2.5", "@primevue/icons": "4.2.5", "@primevue/themes": "^4.2.5", "@sentry/vue": "^8.48.0", "@tiptap/core": "^2.10.4", "@tiptap/extension-link": "^2.10.4", "@tiptap/extension-table": "^2.10.4", "@tiptap/extension-table-cell": "^2.10.4", "@tiptap/extension-table-header": "^2.10.4", "@tiptap/extension-table-row": "^2.10.4", "@tiptap/starter-kit": "^2.10.4", "@vueuse/core": "^11.0.0", "@xterm/addon-fit": "^0.10.0", "@xterm/addon-serialize": "^0.13.0", "@xterm/xterm": "^5.5.0", "algoliasearch": "^5.21.0", "axios": "^1.8.2", "chart.js": "^4.5.0", "clsx": "^2.1.1", "dompurify": "^3.2.5", "dotenv": "^16.4.5", "es-toolkit": "^1.39.9", "extendable-media-recorder": "^9.2.27", "extendable-media-recorder-wav-encoder": "^7.0.129", "fast-glob": "^3.3.3", "firebase": "^11.6.0", "fuse.js": "^7.0.0", "glob": "^11.0.3", "jsondiffpatch": "^0.6.0", "loglevel": "^1.9.2", "marked": "^15.0.11", "pinia": "^2.1.7", "primeicons": "^7.0.0", "primevue": "^4.2.5", "semver": "^7.7.2", "tailwind-merge": "^3.3.1", "three": "^0.170.0", "tiptap-markdown": "^0.8.10", "vue": "^3.5.13", "vue-i18n": "^9.14.3", "vue-router": "^4.4.3", "vuefire": "^3.2.1", "yjs": "^13.6.27", "zod": "^3.23.8", "zod-validation-error": "^3.3.0" } }