{ "name": "vibetunnel", "version": "1.0.0-beta.15.2", "description": "Terminal sharing server with web interface - supports macOS, Linux, and headless environments", "main": "dist/server/server.js", "bin": { "vibetunnel": "./bin/vibetunnel" }, "files": [ "dist/", "public/", "bin/", "scripts/ensure-native-modules.js", "scripts/postinstall-npm.js", "scripts/install-vt-command.js", "node-pty/lib/", "node-pty/package.json", "node-pty/binding.gyp", "node-pty/src/", "prebuilds/", "README.md" ], "os": [ "darwin", "linux" ], "engines": { "node": ">=20.0.0" }, "repository": { "type": "git", "url": "https://github.com/amantus-ai/vibetunnel.git", "directory": "web" }, "homepage": "https://vibetunnel.sh", "bugs": { "url": "https://github.com/amantus-ai/vibetunnel/issues" }, "scripts": { "clean": "node scripts/clean.js", "dev": "node scripts/dev.js", "dev:server": "tsx watch src/cli.ts --no-auth", "dev:client": "node scripts/dev.js --client-only", "build": "node scripts/build.js", "build:ci": "node scripts/build-ci.js", "build:npm": "node scripts/build-npm.js", "prepublishOnly": "npm run build:npm", "postinstall": "node scripts/postinstall-npm.js", "prebuild": "echo 'Skipping prebuild - handled by build-npm.js'", "prebuild:upload": "echo 'Skipping prebuild:upload - not used'", "lint": "concurrently -n biome,tsc-server,tsc-client,tsc-sw \"biome check src\" \"tsc --noEmit --project tsconfig.server.json\" \"tsc --noEmit --project tsconfig.client.json\" \"tsc --noEmit --project tsconfig.sw.json\"", "lint:fix": "biome check src --write", "lint:biome": "biome check src", "typecheck": "concurrently -n server,client,sw \"tsc --noEmit --project tsconfig.server.json\" \"tsc --noEmit --project tsconfig.client.json\" \"tsc --noEmit --project tsconfig.sw.json\"", "pretest": "node scripts/ensure-native-modules.js", "test": "vitest", "test:ci": "npm run pretest && vitest run --reporter=verbose", "test:coverage": "vitest run --coverage", "test:client": "vitest run --mode=client", "test:server": "vitest run --mode=server", "test:client:coverage": "vitest run --mode=client --coverage", "test:server:coverage": "vitest run --mode=server --coverage", "format": "biome format src --write", "format:check": "biome format src", "prettier": "prettier --write src --experimental-cli", "prettier:check": "prettier --check src --experimental-cli", "prettier:fast": "PRETTIER_EXPERIMENTAL_CLI=1 prettier --write src", "check": "./scripts/check-all.sh", "check:fix": "./scripts/check-fix-sequential.sh", "test:vt": "./scripts/test-vt-syntax.sh", "precommit": "pnpm run format && pnpm run lint:fix && pnpm run typecheck", "test:e2e": "playwright test", "test:e2e:headed": "playwright test --headed", "test:e2e:debug": "playwright test --debug", "test:e2e:skip-failing": "playwright test --config=playwright.config.skip-failing.ts", "test:e2e:ui": "playwright test --ui", "test:e2e:report": "playwright show-report", "test:e2e:parallel": "PLAYWRIGHT_PARALLEL=true playwright test", "test:e2e:parallel:headed": "PLAYWRIGHT_PARALLEL=true playwright test --headed", "test:e2e:parallel:workers": "PLAYWRIGHT_PARALLEL=true PLAYWRIGHT_WORKERS=4 playwright test", "test:e2e:fast": "./scripts/test-fast.sh", "test:e2e:perf": "playwright test --config=playwright.config.performance.ts", "prepare": "husky" }, "pnpm": { "onlyBuiltDependencies": [ "authenticate-pam", "esbuild", "node-pty", "puppeteer" ] }, "dependencies": { "@codemirror/commands": "^6.8.1", "@codemirror/lang-css": "^6.3.1", "@codemirror/lang-html": "^6.4.9", "@codemirror/lang-javascript": "^6.2.4", "@codemirror/lang-json": "^6.0.2", "@codemirror/lang-markdown": "^6.3.4", "@codemirror/lang-python": "^6.2.1", "@codemirror/state": "^6.5.2", "@codemirror/theme-one-dark": "^6.1.3", "@codemirror/view": "^6.38.1", "@xterm/headless": "^5.5.0", "authenticate-pam": "^1.0.5", "bonjour-service": "^1.3.0", "chalk": "^5.4.1", "compression": "^1.8.1", "express": "^5.1.0", "helmet": "^8.1.0", "http-proxy-middleware": "^3.0.5", "jsonwebtoken": "^9.0.2", "lit": "^3.3.1", "mime-types": "^3.0.1", "monaco-editor": "^0.52.2", "multer": "^2.0.2", "node-pty": "file:node-pty", "postject": "1.0.0-alpha.6", "signal-exit": "^4.1.0", "web-push": "^3.6.7", "ws": "^8.18.3", "zod": "^4.0.14" }, "devDependencies": { "@biomejs/biome": "^2.1.3", "@open-wc/testing": "^4.0.0", "@playwright/test": "^1.54.2", "@prettier/plugin-oxc": "^0.0.4", "@tailwindcss/postcss": "^4.1.11", "@testing-library/dom": "^10.4.1", "@types/compression": "^1.8.1", "@types/express": "^5.0.3", "@types/jsonwebtoken": "^9.0.10", "@types/mime-types": "^3.0.1", "@types/multer": "^2.0.0", "@types/node": "^24.1.0", "@types/supertest": "^6.0.3", "@types/uuid": "^10.0.0", "@types/web-push": "^3.6.4", "@types/ws": "^8.18.1", "@vitest/coverage-v8": "^3.2.4", "@vitest/ui": "^3.2.4", "autoprefixer": "^10.4.21", "chokidar": "^4.0.3", "chokidar-cli": "^3.0.0", "concurrently": "^9.2.0", "esbuild": "^0.25.8", "happy-dom": "^18.0.1", "husky": "^9.1.7", "lint-staged": "^16.1.2", "node-fetch": "^3.3.2", "postcss": "^8.5.6", "postcss-cli": "^11.0.1", "prettier": "^3.6.2", "puppeteer": "^24.15.0", "supertest": "^7.1.4", "tailwindcss": "^4.1.11", "tsx": "^4.20.3", "typescript": "^5.9.2", "uuid": "^11.1.0", "vitest": "^3.2.4", "ws-mock": "^0.1.0" }, "keywords": [ "terminal", "multiplexer", "websocket", "asciinema" ], "author": "", "license": "MIT", "lint-staged": { "src/**/*.{ts,tsx,js,jsx}": [ "biome check --write", "bash -c 'tsc --noEmit --project tsconfig.server.json'", "bash -c 'tsc --noEmit --project tsconfig.client.json'", "bash -c 'tsc --noEmit --project tsconfig.sw.json'" ], "../{ios,mac}/**/*.swift": [ "bash -c 'cd ../ios && ./scripts/lint.sh'", "bash -c 'cd ../mac && ./scripts/lint.sh'" ] } }