{ "name": "vibetunnel-web", "version": "1.0.0", "description": "Web frontend for terminal multiplexer", "main": "dist/server.js", "scripts": { "dev": "npm run bundle:assets && npm run bundle:css && concurrently --kill-others-on-fail \"npm run watch:css\" \"npm run watch:assets\" \"npm run bundle:client -- --watch\" \"npm run bundle:test -- --watch\" \"npm run watch:server\"", "watch:server": "tsx watch src/server.ts", "watch:css": "npx tailwindcss -i ./src/input.css -o ./public/bundle/output.css --watch", "watch:assets": "chokidar 'src/client/assets/**/*' -c 'npm run bundle:assets'", "clean": "rm -rf public/* && rm -rf dist/", "build": "npm run bundle", "typecheck": "tsc --noEmit", "bundle": "npm run clean && npm run bundle:assets && npm run bundle:css && npm run bundle:client && npm run bundle:test", "bundle:assets": "mkdir -p public && cp -r src/client/assets/* public/", "bundle:css": "mkdir -p public/bundle && npx tailwindcss -i ./src/input.css -o ./public/bundle/output.css --minify", "bundle:client": "mkdir -p public/bundle && esbuild src/client/app-entry.ts --bundle --outfile=public/bundle/client-bundle.js --format=esm --sourcemap", "bundle:test": "mkdir -p public/bundle && esbuild src/client/test-terminals-entry.ts --bundle --outfile=public/bundle/terminal.js --format=esm --sourcemap", "start": "node dist/server.js", "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/headless": "^5.5.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", "chokidar-cli": "^3.0.0", "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" }