{ "name": "backend", "version": "1.7.28", "main": "server.js", "scripts": { "start": "ts-node src/server.ts", "dev": "nodemon src/server.ts", "build": "tsc", "generate": "drizzle-kit generate", "test": "vitest", "test:coverage": "vitest run --coverage", "reset-password": "ts-node scripts/reset-password.ts", "postinstall": "node -e \"const fs = require('fs'); const cp = require('child_process'); const p = 'bgutil-ytdlp-pot-provider/server'; if (fs.existsSync(p)) { console.log('Building provider...'); cp.execSync('npm install && npx tsc', { cwd: p, stdio: 'inherit' }); } else { console.log('Skipping provider build: ' + p + ' not found'); }\"" }, "keywords": [], "author": "", "license": "ISC", "description": "Backend for MyTube video streaming website", "dependencies": { "@simplewebauthn/server": "^13.2.2", "axios": "^1.13.2", "bcryptjs": "^3.0.3", "better-sqlite3": "^12.4.6", "cheerio": "^1.1.2", "cors": "^2.8.5", "dotenv": "^16.4.7", "drizzle-orm": "^0.44.7", "express": "^4.22.0", "fs-extra": "^11.2.0", "jsonwebtoken": "^9.0.3", "multer": "^2.0.2", "node-cron": "^4.2.1", "puppeteer": "^24.31.0", "uuid": "^13.0.0" }, "devDependencies": { "@types/bcryptjs": "^2.4.6", "@types/better-sqlite3": "^7.6.13", "@types/cors": "^2.8.19", "@types/express": "^5.0.5", "@types/fs-extra": "^11.0.4", "@types/jsonwebtoken": "^9.0.10", "@types/multer": "^2.0.0", "@types/node": "^24.10.1", "@types/node-cron": "^3.0.11", "@types/supertest": "^6.0.3", "@types/uuid": "^10.0.0", "@vitest/coverage-v8": "^3.2.4", "drizzle-kit": "^0.31.8", "nodemon": "^3.0.3", "supertest": "^7.1.4", "ts-node": "^10.9.2", "typescript": "^5.9.3", "vitest": "^3.2.4" }, "overrides": { "esbuild": "^0.25.0" } }