{ "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": "pnpm desktop: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:release-manifest": "node scripts/prepare-desktop-update-manifest.mjs", "desktop:signing:check": "node scripts/desktop-signing.mjs check", "desktop:build": "pnpm build:web && pnpm desktop:prepare && electron-builder --config electron-builder.yml && pnpm desktop:release-manifest -- --platform=all", "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 dmg zip --arm64 && pnpm desktop:release-manifest -- --platform=mac", "desktop:build:mac:signed": "node scripts/desktop-signing.mjs build-mac", "desktop:build:mac:dmg": "pnpm build:web && pnpm desktop:prepare && electron-builder --config electron-builder.yml --mac dmg --arm64", "desktop:build:win": "pnpm build:web && pnpm desktop:prepare && electron-builder --config electron-builder.yml --win && pnpm desktop:release-manifest -- --platform=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", "electron-updater": "^6.8.9", "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" } }