| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- {
- "name": "qmai",
- "private": true,
- "version": "3.2.7",
- "license": "GPL-3.0-or-later",
- "type": "module",
- "scripts": {
- "dev": "vite",
- "typecheck": "tsc --build --pretty",
- "build": "npm run typecheck && vite build",
- "preview": "vite preview",
- "test": "npm run test:mocks && npm run test:llm",
- "test:mocks": "node scripts/lint-character-aura.mjs && vitest run --exclude='**/*.real-llm.test.ts' --exclude='**/.worktrees/**' --exclude='**/.codex-temp/**' --exclude='**/superpowers-main/**' --exclude='**/SKILL/**' --exclude='**/superpowers/**' --exclude='**/nul'",
- "lint:character-aura": "node scripts/lint-character-aura.mjs",
- "test:llm": "vitest run real-llm --no-file-parallelism --reporter=verbose",
- "tauri": "tauri",
- "build:portable": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"$env:CARGO_PROFILE_RELEASE_LTO='false'; $env:CARGO_PROFILE_RELEASE_CODEGEN_UNITS='16'; $env:CARGO_PROFILE_RELEASE_OPT_LEVEL='1'; npx.cmd tauri build --no-bundle; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; node scripts/build-portable.mjs\"",
- "build:github-release": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"if (-not $env:TAURI_SIGNING_PRIVATE_KEY_PATH) { $env:TAURI_SIGNING_PRIVATE_KEY_PATH = Join-Path $env:USERPROFILE '.tauri\\qmai-updater.key' }; if (-not (Test-Path $env:TAURI_SIGNING_PRIVATE_KEY_PATH)) { throw '缺少 TAURI_SIGNING_PRIVATE_KEY_PATH 对应的签名私钥文件' }; if ($null -eq $env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD) { $env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD = '' }; $env:CARGO_PROFILE_RELEASE_LTO='false'; $env:CARGO_PROFILE_RELEASE_CODEGEN_UNITS='16'; $env:CARGO_PROFILE_RELEASE_OPT_LEVEL='1'; npx tauri build; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; node scripts/build-portable.mjs; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; node scripts/prepare-github-release.mjs\""
- },
- "dependencies": {
- "@base-ui/react": "^1.7.0",
- "@dnd-kit/core": "^6.3.1",
- "@dnd-kit/sortable": "^8.0.0",
- "@dnd-kit/utilities": "^3.2.2",
- "@milkdown/kit": "^7.22.0",
- "@milkdown/react": "^7.22.1",
- "@milkdown/theme-nord": "^7.22.1",
- "@react-sigma/core": "^5.0.6",
- "@sigma/edge-curve": "^3.1.0",
- "@tailwindcss/vite": "^4.3.3",
- "@tauri-apps/api": "^2.11.1",
- "@tauri-apps/plugin-dialog": "^2.7.2",
- "@tauri-apps/plugin-http": "^2.5.9",
- "@tauri-apps/plugin-opener": "^2.5.4",
- "@tauri-apps/plugin-store": "^2.4.4",
- "@tauri-apps/plugin-updater": "^2.10.1",
- "class-variance-authority": "^0.7.1",
- "clsx": "^2.1.1",
- "diff": "^9.0.0",
- "graphology": "^0.26.0",
- "graphology-communities-louvain": "^2.0.2",
- "graphology-layout-forceatlas2": "^0.10.1",
- "i18next": "^26.3.6",
- "js-yaml": "^4.3.1",
- "jsonrepair": "^3.15.0",
- "katex": "^0.16.47",
- "lucide-react": "^1.31.0",
- "mermaid": "^11.16.1",
- "opencc-js": "^1.4.1",
- "pangu": "^9.1.0",
- "pinyin-pro": "^3.29.1",
- "react": "^19.2.8",
- "react-diff-viewer-continued": "^4.4.0",
- "react-dom": "^19.2.8",
- "react-i18next": "^17.0.11",
- "react-markdown": "^10.1.0",
- "react-resizable-panels": "^4.12.2",
- "rehype-katex": "^7.0.1",
- "remark-gfm": "^4.0.1",
- "remark-math": "^6.0.0",
- "shadcn": "^4.18.0",
- "sigma": "^3.0.3",
- "tailwind-merge": "^3.6.0",
- "tailwindcss": "^4.3.3",
- "tw-animate-css": "^1.4.0",
- "zustand": "^5.0.15"
- },
- "devDependencies": {
- "@tauri-apps/cli": "^2.11.4",
- "@types/js-yaml": "^4.0.9",
- "@types/node": "^24.13.3",
- "@types/react": "^19.2.18",
- "@types/react-dom": "^19.2.4",
- "@vitejs/plugin-react": "^6.0.5",
- "iconv-lite": "^0.7.3",
- "jsdom": "^29.1.1",
- "typescript": "^5.9.3",
- "vite": "^8.2.1",
- "vitest": "^4.1.10"
- }
- }
|