ghostty-web 0.4.0 hands rows that scroll into view out of recycled WASM page memory without clearing them, so after a tab or project switch the new emulator showed the previous terminal's text (upstream #138). The fix landed only in prereleases, so pin 0.4.0-next.20 and carry the local block-glyph rendering patch over to the new dist file. Verified in a production build: creating an emulator after disposing a full one no longer exposes its rows, and switching between two projects with live output in each keeps every terminal's content to itself.
112 lines
3.2 KiB
JSON
112 lines
3.2 KiB
JSON
{
|
|
"name": "@openchamber/web",
|
|
"version": "1.22.2",
|
|
"private": false,
|
|
"type": "module",
|
|
"main": "./server/index.js",
|
|
"types": "./server/index.d.ts",
|
|
"bin": {
|
|
"openchamber": "./bin/cli.js"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"scripts": {
|
|
"dev": "bun run build:watch",
|
|
"dev:server": "OPENCHAMBER_RELAY_HOST=${OPENCHAMBER_RELAY_HOST:-off} bun server/index.js --port ${OPENCHAMBER_PORT:-3001}",
|
|
"dev:server:watch": "node ./scripts/dev-server-watch.mjs",
|
|
"build": "vite build",
|
|
"build:watch": "vite build --watch",
|
|
"type-check": "tsc --noEmit",
|
|
"lint": "eslint \"./src/**/*.{ts,tsx}\" --config ../../eslint.config.js",
|
|
"test": "vitest run",
|
|
"start": "node bin/cli.js serve"
|
|
},
|
|
"dependencies": {
|
|
"@clack/prompts": "^1.1.0",
|
|
"@octokit/rest": "^22.0.1",
|
|
"@opencode-ai/sdk": "1.18.29",
|
|
"@simplewebauthn/server": "13.3.1",
|
|
"bun-pty": "^0.4.5",
|
|
"compression": "^1.8.1",
|
|
"cron-parser": "^4.9.0",
|
|
"express": "^5.1.0",
|
|
"http-proxy-middleware": "^3.0.5",
|
|
"jose": "^6.1.3",
|
|
"jsonc-parser": "^3.3.1",
|
|
"luxon": "^3.5.0",
|
|
"node-pty": "1.2.0-beta.12",
|
|
"openai": "^4.79.0",
|
|
"qrcode-terminal": "^0.12.0",
|
|
"reflect-metadata": "^0.2.2",
|
|
"sherpa-onnx-node": "1.12.28",
|
|
"simple-git": "^3.36.0",
|
|
"web-push": "^3.6.7",
|
|
"ws": "^8.18.3",
|
|
"yaml": "^2.8.1"
|
|
},
|
|
"devDependencies": {
|
|
"@base-ui/react": "^1.4.0",
|
|
"@codemirror/lang-cpp": "^6.0.3",
|
|
"@codemirror/lang-go": "^6.0.1",
|
|
"@eslint/js": "^9.33.0",
|
|
"@radix-ui/react-collapsible": "^1.1.12",
|
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
"@radix-ui/react-select": "^2.2.6",
|
|
"@radix-ui/react-separator": "^1.1.7",
|
|
"@radix-ui/react-slot": "^1.2.3",
|
|
"@radix-ui/react-toggle": "^1.1.10",
|
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
"@remixicon/react": "^4.7.0",
|
|
"@simplewebauthn/browser": "13.3.0",
|
|
"@tailwindcss/postcss": "^4.0.0",
|
|
"@types/node": "^24.3.1",
|
|
"@types/react": "^19.1.10",
|
|
"@types/react-dom": "^19.1.7",
|
|
"@types/supertest": "^7.2.0",
|
|
"@vitejs/plugin-react": "^5.0.0",
|
|
"autoprefixer": "^10.4.21",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"concurrently": "^9.2.1",
|
|
"cors": "^2.8.5",
|
|
"cross-env": "^7.0.3",
|
|
"eslint": "^9.33.0",
|
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
"eslint-plugin-react-refresh": "^0.5.0",
|
|
"ghostty-web": "0.4.0-next.20.g1858a59",
|
|
"globals": "^16.3.0",
|
|
"next-themes": "^0.4.6",
|
|
"nodemon": "^3.1.7",
|
|
"react": "^19.1.1",
|
|
"react-dom": "^19.1.1",
|
|
"react-markdown": "^10.1.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"sonner": "^2.0.7",
|
|
"strip-json-comments": "^5.0.3",
|
|
"supertest": "^7.2.2",
|
|
"tailwind-merge": "^3.3.1",
|
|
"tailwindcss": "^4.0.0",
|
|
"tsx": "^4.20.6",
|
|
"tw-animate-css": "^1.3.8",
|
|
"typescript": "~5.9.0",
|
|
"typescript-eslint": "^8.39.1",
|
|
"vite": "^7.1.2",
|
|
"vite-plugin-pwa": "^1.0.3",
|
|
"vitest": "^4.1.4",
|
|
"workbox-window": "^7.4.0",
|
|
"zustand": "^5.0.8"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"server",
|
|
"bin",
|
|
"public",
|
|
"package.json",
|
|
"README.md"
|
|
]
|
|
}
|