{ "name": "vibetunnel-web", "version": "1.0.0", "description": "Web frontend for terminal multiplexer", "main": "dist/server.js", "scripts": { "dev": "npm run build:css && concurrently --kill-others-on-fail \"npm run watch:css\" \"npm run watch:client\" \"npm run watch:server\"", "dev:new": "npm run build:css && concurrently --kill-others-on-fail \"npm run watch:css\" \"npm run watch:client\" \"npm run watch:server-new\"", "watch:server": "tsx watch src/server.ts", "watch:server-new": "tsx watch src/server-new.ts", "watch:client": "tsc -p tsconfig.client.json --watch --preserveWatchOutput", "watch:css": "tailwindcss -i ./src/input.css -o ./public/output.css --watch", "build": "npm run build:css && npm run build:client && npm run build:server", "build:new": "npm run build:css && npm run build:client && npm run build:server-new", "build:server": "tsc", "build:server-new": "tsc src/server-new.ts --outDir dist --target ES2020 --module commonjs --moduleResolution node --esModuleInterop --allowSyntheticDefaultImports --strict --skipLibCheck", "build:client": "tsc -p tsconfig.client.json", "build:css": "tailwindcss -i ./src/input.css -o ./public/output.css --minify", "start": "node dist/server.js", "start:new": "node dist/server-new.js", "test": "jest", "test:watch": "jest --watch" }, "dependencies": { "asciinema-player": "^3.7.0", "express": "^4.18.2", "lit": "^3.1.0", "node-pty": "^1.0.0", "ws": "^8.14.2" }, "devDependencies": { "@types/express": "^4.17.21", "@types/jest": "^29.5.12", "@types/node": "^20.10.5", "@types/supertest": "^6.0.2", "@types/ws": "^8.5.10", "autoprefixer": "^10.4.21", "chokidar": "^3.5.3", "concurrently": "^8.2.2", "jest": "^29.7.0", "postcss": "^8.5.5", "puppeteer": "^21.0.0", "supertest": "^6.3.4", "tailwindcss": "^3.4.17", "ts-jest": "^29.1.2", "tsx": "^4.6.2", "typescript": "^5.3.3" }, "keywords": [ "terminal", "multiplexer", "websocket", "asciinema" ], "author": "", "license": "MIT" }