mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-03-26 09:35:52 +00:00
88 lines
3.5 KiB
JSON
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"
|
|
}
|