mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
Some setup flows end in a shell command instead of a natural-language install path, so Settings now exposes a host PTY terminal backed by portable-pty and xterm. The terminal inherits the user's login-shell environment, forces a UTF-8 locale when needed, and preserves split UTF-8 output so Chinese paths render correctly. Constraint: Desktop GUI apps do not inherit the user's interactive shell PATH on macOS. Constraint: Command output may split UTF-8 characters across PTY reads. Rejected: Use Tauri shell commands only | users need an interactive PTY for copy-pasted install flows. Rejected: Ask users to edit shell profiles | terminal setup should work out of the box. Confidence: high Scope-risk: moderate Directive: Keep terminal startup tied to host environment checks; do not bundle runtimes to solve PATH issues. Tested: cargo fmt --check; cargo test --lib; cargo check; cd desktop && bun run lint; cd desktop && bun run test src/pages/TerminalSettings.test.tsx; cd desktop && bun run build; cd desktop && bun run build:macos-arm64 Tested: Computer Use verified npm is available in the built macOS app terminal and Chinese output renders after UTF-8 decoding fix. Not-tested: Native Windows/Linux package runtime validation.
58 lines
1.7 KiB
JSON
58 lines
1.7 KiB
JSON
{
|
|
"name": "claude-code-desktop",
|
|
"private": true,
|
|
"version": "0.1.5",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"build:sidecars": "bun run ./scripts/build-sidecars.ts",
|
|
"build:macos-arm64": "bash ./scripts/build-macos-arm64.sh",
|
|
"build:windows-x64": "powershell -ExecutionPolicy Bypass -File ./scripts/build-windows-x64.ps1",
|
|
"preview": "vite preview",
|
|
"tauri": "tauri",
|
|
"test": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"lint": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"@types/dompurify": "^3.2.0",
|
|
"@xterm/addon-fit": "^0.11.0",
|
|
"@xterm/xterm": "^6.0.0",
|
|
"dompurify": "^3.3.3",
|
|
"lucide-react": "^0.469.0",
|
|
"marked": "^15.0.7",
|
|
"mermaid": "^11.14.0",
|
|
"prism-react-renderer": "^2.4.1",
|
|
"react": "^18.3.1",
|
|
"react-diff-viewer-continued": "^4.2.0",
|
|
"react-dom": "^18.3.1",
|
|
"react-shiki": "^0.9.2",
|
|
"shiki": "^4.0.2",
|
|
"zustand": "^5.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.1.0",
|
|
"@types/react": "^18.3.18",
|
|
"@types/react-dom": "^18.3.5",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"jsdom": "^25.0.1",
|
|
"tailwindcss": "^4.0.0",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^6.0.7",
|
|
"vitest": "^3.0.4"
|
|
},
|
|
"optionalDependencies": {
|
|
"@tauri-apps/api": "^2.3.0",
|
|
"@tauri-apps/cli": "^2.3.1",
|
|
"@tauri-apps/plugin-dialog": "^2.2.1",
|
|
"@tauri-apps/plugin-process": "^2.2.1",
|
|
"@tauri-apps/plugin-shell": "^2.2.1",
|
|
"@tauri-apps/plugin-updater": "^2.2.1"
|
|
}
|
|
}
|