mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-02 10:45:57 +00:00
- Migrate GitHub Actions to Blacksmith runners for faster CI - Update ubuntu-latest to blacksmith-4vcpu-ubuntu-2404 - Update actions/setup-node@v4 to useblacksmith/setup-node@v5 - Update Swatinem/rust-cache@v2 to useblacksmith/rust-cache@v3 - Fix all linting warnings across all platforms - TypeScript: Fix any type warnings with proper type annotations - Rust: All clippy warnings resolved - Swift: Fix SwiftLint violations and format code - Update all dependencies to latest versions - npm: Major updates including Express 5 compatibility fixes - Rust: Update 7 crates to latest compatible versions - Swift: Dependencies already up-to-date - Add comprehensive test suite using Vitest - API endpoint tests for session CRUD operations - WebSocket connection and streaming tests - Session management lifecycle tests - Frontend component tests (terminal, session-list) - Critical functionality tests covering core features - Test infrastructure with proper mocking and utilities - All tests passing, ready for production use
82 lines
3.1 KiB
JSON
82 lines
3.1 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"
|
|
},
|
|
"dependencies": {
|
|
"@xterm/headless": "^5.5.0",
|
|
"express": "^4.21.2",
|
|
"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": "^4.17.23",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/node": "^24.0.3",
|
|
"@types/supertest": "^6.0.3",
|
|
"@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.1",
|
|
"supertest": "^7.1.1",
|
|
"tailwindcss": "^4.1.10",
|
|
"ts-jest": "^29.4.0",
|
|
"tsx": "^4.20.3",
|
|
"typescript": "^5.8.3",
|
|
"typescript-eslint": "^8.34.1",
|
|
"vitest": "^3.2.4",
|
|
"ws-mock": "^0.1.0"
|
|
},
|
|
"keywords": [
|
|
"terminal",
|
|
"multiplexer",
|
|
"websocket",
|
|
"asciinema"
|
|
],
|
|
"author": "",
|
|
"license": "MIT"
|
|
}
|