vibetunnel/web/package.json
Peter Steinberger 2e8cfd0a7c web fu - sorry
2025-06-18 20:12:07 +02:00

88 lines
3.5 KiB
JSON

{
"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",
"test": "vitest",
"test:ui": "vitest --ui",
"test:run": "vitest run",
"test:coverage": "vitest run --coverage",
"test:unit": "vitest run src/test/unit",
"test:integration": "vitest run --config vitest.integration.config.ts",
"test:critical": "vitest run src/test/critical.test.ts src/test/smoke.test.ts",
"test:all": "npm run test:unit && npm run test:integration && npm run test:critical"
},
"dependencies": {
"@xterm/headless": "^5.5.0",
"express": "^5.1.0",
"lit": "^3.3.0",
"node-pty": "^1.0.0",
"ws": "^8.18.2"
},
"devDependencies": {
"@eslint/js": "^9.29.0",
"@testing-library/dom": "^10.4.0",
"@types/express": "^5.0.3",
"@types/jest": "^30.0.0",
"@types/node": "^24.0.3",
"@types/supertest": "^6.0.3",
"@types/uuid": "^10.0.0",
"@types/ws": "^8.18.1",
"@typescript-eslint/eslint-plugin": "^8.34.1",
"@typescript-eslint/parser": "^8.34.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.1.2",
"esbuild": "^0.25.5",
"eslint": "^9.29.0",
"eslint-config-prettier": "^10.1.5",
"eslint-plugin-prettier": "^5.5.0",
"happy-dom": "^18.0.1",
"husky": "^9.1.7",
"jest": "^30.0.0",
"lint-staged": "^16.1.2",
"node-fetch": "^3.3.2",
"postcss": "^8.5.6",
"prettier": "^3.5.3",
"puppeteer": "^24.10.2",
"supertest": "^7.1.1",
"tailwindcss": "^3.4.17",
"ts-jest": "^29.4.0",
"tsx": "^4.20.3",
"typescript": "^5.8.3",
"typescript-eslint": "^8.34.1",
"uuid": "^11.1.0",
"vitest": "^3.2.4",
"ws-mock": "^0.1.0"
},
"keywords": [
"terminal",
"multiplexer",
"websocket",
"asciinema"
],
"author": "",
"license": "MIT"
}