{ "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 bundle:watch\" \"npm run watch:server\"", "watch:server": "tsx watch src/server.ts", "watch:client": "tsc -p tsconfig.client.json --watch --preserveWatchOutput", "watch:css": "npx tailwindcss -i ./src/input.css -o ./public/bundle/output.css --watch", "build": "npm run build:css && npm run build:client && npm run build:server", "build:server": "tsc", "build:client": "tsc -p tsconfig.client.json", "build:css": "npx tailwindcss -i ./src/input.css -o ./public/bundle/output.css --minify", "bundle": "npm run bundle:client && npm run bundle:renderer", "bundle:client": "esbuild src/client/app-entry.ts --bundle --outfile=public/bundle/client-bundle.js --format=esm --sourcemap --external:@xterm/xterm/css/xterm.css", "bundle:renderer": "esbuild src/client/renderer-entry.ts --bundle --outfile=public/bundle/renderer.js --format=esm --sourcemap", "bundle:watch": "concurrently \"npm run bundle:client -- --watch\" \"npm run bundle:renderer -- --watch\"", "start": "node dist/server.js", "test": "jest", "test:watch": "jest --watch", "lint": "eslint 'src/**/*.{ts,tsx}'", "lint:fix": "eslint 'src/**/*.{ts,tsx}' --fix", "format": "prettier --write 'src/**/*.{ts,tsx,js,jsx,json,css,md}'", "format:check": "prettier --check 'src/**/*.{ts,tsx,js,jsx,json,css,md}'", "pre-commit": "./scripts/pre-commit-check.sh" }, "dependencies": { "@xterm/addon-fit": "^0.10.0", "@xterm/addon-web-links": "^0.11.0", "@xterm/xterm": "^5.5.0", "asciinema-player": "^3.7.0", "express": "^4.18.2", "lit": "^3.1.0", "node-pty": "^1.0.0", "ws": "^8.14.2" }, "devDependencies": { "@eslint/js": "^9.29.0", "@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", "@typescript-eslint/eslint-plugin": "^8.34.1", "@typescript-eslint/parser": "^8.34.1", "autoprefixer": "^10.4.21", "chokidar": "^3.5.3", "concurrently": "^8.2.2", "esbuild": "^0.25.5", "eslint": "^9.29.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-prettier": "^5.4.1", "husky": "^9.1.7", "jest": "^29.7.0", "lint-staged": "^16.1.2", "postcss": "^8.5.5", "prettier": "^3.5.3", "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", "typescript-eslint": "^8.34.1" }, "keywords": [ "terminal", "multiplexer", "websocket", "asciinema" ], "author": "", "license": "MIT" }