200 lines
9.0 KiB
JSON
200 lines
9.0 KiB
JSON
{
|
|
"name": "@truegrowth/source",
|
|
"productName": "TrueGrowth",
|
|
"version": "0.9.1",
|
|
"license": "MIT",
|
|
"main": "apps/electron/main.mjs",
|
|
"packageManager": "pnpm@10.21.0",
|
|
"description": "TrueGrowth - desktop AI creation workbench with apps, assets, tasks, providers, local runtime, and an infinite canvas",
|
|
"homepage": "https://truegrowth.ai",
|
|
"keywords": [
|
|
"whiteboard",
|
|
"mindmap",
|
|
"flowchart",
|
|
"drawing",
|
|
"AI",
|
|
"collaboration",
|
|
"visualization"
|
|
],
|
|
"author": "TrueGrowth",
|
|
"scripts": {
|
|
"start": "nx run web:serve-pwa",
|
|
"web:dev": "nx run web:serve-app --host 127.0.0.1 --port 7200",
|
|
"desktop:dev": "concurrently -k -n web,electron -c orange,cyan \"pnpm web:dev\" \"npx wait-on http://127.0.0.1:7200 && VITE_DEV_SERVER_URL=http://127.0.0.1:7200 pnpm electron:dev\"",
|
|
"desktop:dev:full": "concurrently -k -n web,electron,funclip -c orange,cyan,green \"pnpm web:dev\" \"npx wait-on http://127.0.0.1:7200 && VITE_DEV_SERVER_URL=http://127.0.0.1:7200 pnpm electron:dev\" \"pnpm funclip:dev\"",
|
|
"build": "node scripts/update-version.js && nx run-many -t=build",
|
|
"build:web": "node scripts/update-version.js && nx build web",
|
|
"preview": "npx serve dist/apps/web -l 7288",
|
|
"preview:watch": "concurrently -k \"cd apps/web && NODE_OPTIONS='--max-old-space-size=8192' npx vite build --watch\" \"npx wait-on dist/apps/web/index.html && npx serve dist/apps/web -l 7288\"",
|
|
"iframe:test:host": "python3 -m http.server 7201 -d apps/web/public",
|
|
"iframe:test": "node scripts/iframe-test-dev.js",
|
|
"package": "pnpm build && node scripts/create-deploy-package.js",
|
|
"typecheck": "nx run-many -t=typecheck",
|
|
"lint": "nx run-many -t=lint",
|
|
"check": "pnpm typecheck && pnpm lint",
|
|
"check:ui-system": "node scripts/check-truegrowth-ui-system.mjs",
|
|
"test": "nx run-many -t=test",
|
|
"e2e": "nx e2e web-e2e",
|
|
"e2e:smoke": "nx e2e web-e2e -- --project=smoke",
|
|
"e2e:visual": "nx e2e web-e2e -- --project=visual",
|
|
"e2e:visual:update": "nx e2e web-e2e -- --project=visual --update-snapshots",
|
|
"e2e:visual:report": "npx playwright show-report apps/web-e2e/playwright-report",
|
|
"e2e:features": "nx e2e web-e2e -- --project=chromium",
|
|
"e2e:manual": "nx e2e web-e2e -- --project=manual",
|
|
"manual:screenshots": "cd apps/web-e2e && CI= npx playwright test --project=manual",
|
|
"manual:build": "npx ts-node --compiler-options '{\"module\":\"commonjs\",\"esModuleInterop\":true}' scripts/generate-manual.ts",
|
|
"manual:update": "pnpm manual:screenshots && pnpm manual:build",
|
|
"manual:dev": "pnpm manual:update",
|
|
"manual:record": "cd apps/web-e2e && npx playwright codegen http://localhost:7200",
|
|
"manual:video": "cd apps/web-e2e && CI= npx playwright test --project=manual-video -g 'GIF 动图录制'",
|
|
"manual:gif": "pnpm manual:video && node scripts/video-to-gif.js && pnpm manual:build",
|
|
"manual:gif:mindmap": "cd apps/web-e2e && CI= npx playwright test --project=manual-video -g '思维导图创建演示' && node scripts/video-to-gif.js --test 思维导图 --trim 2.4 && pnpm manual:build",
|
|
"manual:video2gif": "node scripts/video-to-gif.js",
|
|
"size": "size-limit",
|
|
"size:why": "size-limit --why",
|
|
"version:patch": "node scripts/safe-version-bump.js patch",
|
|
"version:minor": "node scripts/safe-version-bump.js minor",
|
|
"version:major": "node scripts/safe-version-bump.js major",
|
|
"release:skip": "node scripts/deploy-hybrid.js --skip-build --skip-e2e --skip-npm --skip-manual",
|
|
"release": "node scripts/deploy-hybrid.js --skip-e2e --skip-manual",
|
|
"release:minor": "node scripts/deploy-hybrid.js --bump-if-published=minor",
|
|
"release:major": "node scripts/deploy-hybrid.js --bump-if-published=major",
|
|
"release:retry": "node scripts/deploy-hybrid.js --skip-e2e --skip-manual",
|
|
"release:force-bump": "pnpm version:patch && node scripts/deploy-hybrid.js --skip-e2e",
|
|
"release:dry": "node scripts/deploy-hybrid.js --dry-run",
|
|
"release:rollback": "node scripts/rollback-hybrid.js --test",
|
|
"release:preview": "pnpm build:web && npx serve -s dist/apps/web -l 7289",
|
|
"rollback": "node scripts/rollback-release.js",
|
|
"pub": "pnpm build && node scripts/publish.js",
|
|
"npm:publish": "node scripts/publish-npm.js",
|
|
"npm:publish:dry": "node scripts/publish-npm.js --dry-run",
|
|
"npm:publish:skip-build": "node scripts/publish-npm.js --skip-build",
|
|
"check:cycles": "node scripts/check-cycles.js",
|
|
"check:cycles:types": "node scripts/check-cycles.js --include-types",
|
|
"verify:startup": "node scripts/validate-startup-bundle.js",
|
|
"deploy:upload": "node scripts/upload-and-deploy.js",
|
|
"deploy:nginx": "node scripts/upload-nginx-config.js",
|
|
"local-api": "node scripts/truegrowth-local-api.mjs",
|
|
"verify:aigcpanel-model-flow": "node scripts/verify-aigcpanel-model-flow.mjs",
|
|
"verify:comfyui-image-flow": "node scripts/verify-comfyui-image-flow.mjs",
|
|
"verify:business-orchestration-runtime": "node scripts/verify-business-orchestration-runtime.mjs",
|
|
"runtime:dev": "node scripts/truegrowth-local-api.mjs",
|
|
"funclip:dev": "node scripts/start-funclip-runtime.mjs",
|
|
"electron:dev": "node scripts/run-branded-electron-dev.mjs",
|
|
"electron:dev:prepare": "node scripts/run-branded-electron-dev.mjs --prepare-only",
|
|
"desktop:prepare": "node scripts/prepare-desktop-release.mjs",
|
|
"desktop:build": "pnpm build:web && pnpm desktop:prepare && electron-builder --config electron-builder.yml",
|
|
"desktop:build:dir": "pnpm build:web && pnpm desktop:prepare && electron-builder --config electron-builder.yml --dir",
|
|
"desktop:build:mac": "pnpm build:web && pnpm desktop:prepare && electron-builder --config electron-builder.yml --mac zip",
|
|
"desktop:build:mac:dmg": "pnpm build:web && pnpm desktop:prepare && electron-builder --config electron-builder.yml --mac dmg",
|
|
"desktop:build:win": "pnpm build:web && pnpm desktop:prepare && electron-builder --config electron-builder.yml --win"
|
|
},
|
|
"private": true,
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"electron"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@floating-ui/react": "^0.26.24",
|
|
"@plait-board/markdown-to-drawnix": "^0.0.6",
|
|
"@plait-board/mermaid-to-drawnix": "^0.0.7",
|
|
"@plait/common": "^0.84.0",
|
|
"@plait/core": "^0.84.0",
|
|
"@plait/draw": "^0.84.0",
|
|
"@plait/layouts": "^0.84.0",
|
|
"@plait/mind": "^0.84.0",
|
|
"@plait/text-plugins": "^0.84.0",
|
|
"@tanstack/react-virtual": "^3.13.13",
|
|
"@xyflow/react": "^12.11.1",
|
|
"browser-fs-access": "^0.35.0",
|
|
"classnames": "^2.5.1",
|
|
"clipper-lib": "^6.4.2",
|
|
"croner": "^10.0.1",
|
|
"is-hotkey": "^0.2.0",
|
|
"jotai": "^2.18.0",
|
|
"jspdf": "^4.2.1",
|
|
"jszip": "^3.10.1",
|
|
"localforage": "^1.10.0",
|
|
"lucide-react": "^0.562.0",
|
|
"p-queue": "^9.3.0",
|
|
"postmessage-duplex": "^1.2.0",
|
|
"react": "18.3.1",
|
|
"react-dom": "18.3.1",
|
|
"roughjs": "^4.6.6",
|
|
"rxjs": "~7.8.0",
|
|
"slate": "^0.116.0",
|
|
"slate-dom": "^0.116.0",
|
|
"slate-history": "^0.115.0",
|
|
"slate-react": "^0.116.0",
|
|
"tdesign-icons-react": "^0.6.1",
|
|
"tdesign-react": "^1.14.5",
|
|
"tslib": "^2.3.0",
|
|
"viewerjs": "^1.11.7",
|
|
"web-vitals": "^5.1.0",
|
|
"winbox": "^0.2.82",
|
|
"xlsx": "^0.18.5",
|
|
"xstate": "^5.32.2"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.14.5",
|
|
"@babel/preset-react": "^7.14.5",
|
|
"@mdx-js/mdx": "^3.1.1",
|
|
"@nx/cypress": "19.3.0",
|
|
"@nx/devkit": "19.3.0",
|
|
"@nx/eslint": "19.3.0",
|
|
"@nx/eslint-plugin": "19.3.0",
|
|
"@nx/js": "19.3.0",
|
|
"@nx/playwright": "19.3.0",
|
|
"@nx/react": "19.3.0",
|
|
"@nx/vite": "19.3.0",
|
|
"@nx/web": "19.3.0",
|
|
"@nx/workspace": "19.3.0",
|
|
"@playwright/test": "^1.36.0",
|
|
"@size-limit/preset-app": "^12.0.0",
|
|
"@swc-node/register": "~1.9.1",
|
|
"@swc/cli": "^0.6.0",
|
|
"@swc/core": "~1.5.7",
|
|
"@swc/helpers": "~0.5.11",
|
|
"@tailwindcss/postcss": "^4.1.17",
|
|
"@testing-library/react": "15.0.6",
|
|
"@types/is-hotkey": "^0.1.10",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/node": "18.16.9",
|
|
"@types/react": "18.3.1",
|
|
"@types/react-dom": "18.3.0",
|
|
"@typescript-eslint/eslint-plugin": "^7.3.0",
|
|
"@typescript-eslint/parser": "^7.3.0",
|
|
"@vitejs/plugin-react": "^4.2.0",
|
|
"@vitest/ui": "^3.0.8",
|
|
"autoprefixer": "^10.4.22",
|
|
"concurrently": "^9.2.1",
|
|
"electron": "^29.1.1",
|
|
"electron-builder": "^24.13.3",
|
|
"eslint": "~8.57.0",
|
|
"eslint-config-prettier": "^9.0.0",
|
|
"eslint-plugin-import": "2.27.5",
|
|
"eslint-plugin-jsx-a11y": "6.7.1",
|
|
"eslint-plugin-playwright": "^0.15.3",
|
|
"eslint-plugin-react": "7.32.2",
|
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
"glob": "^13.0.0",
|
|
"gray-matter": "^4.0.3",
|
|
"js-yaml": "^4.1.1",
|
|
"jsdom": "~22.1.0",
|
|
"nx": "19.3.0",
|
|
"postcss": "^8.5.6",
|
|
"prettier": "^2.6.2",
|
|
"rollup-plugin-visualizer": "^6.0.5",
|
|
"sass": "^1.55.0",
|
|
"size-limit": "^12.0.0",
|
|
"tailwindcss": "^4.1.17",
|
|
"ts-node": "10.9.1",
|
|
"typescript": "~5.4.2",
|
|
"vite": "^6.2.2",
|
|
"vite-plugin-dts": "^4.5.3",
|
|
"vitest": "^3.0.8",
|
|
"wait-on": "^9.0.3"
|
|
}
|
|
}
|