{ "name": "quixotic", "version": "1.0.0", "description": "Telegram miniapp for YouTube music search and MP3 conversion", "main": "dist/server.js", "scripts": { "build": "tsc && tsc -p tsconfig.frontend.json", "build:backend": "tsc", "build:frontend": "tsc -p tsconfig.frontend.json", "start": "node dist/server.js", "dev": "ts-node src/server.ts", "dev:watch": "nodemon --exec ts-node src/server.ts", "dev:bg": "nohup ts-node src/server.ts > server.log 2>&1 & echo $! > server.pid && echo 'Server started in background, PID saved to server.pid'", "stop": "if [ -f server.pid ]; then kill $(cat server.pid) && rm server.pid && echo 'Server stopped'; else echo 'No PID file found'; fi", "logs": "tail -f server.log", "lint": "eslint src/ public/ --ext .ts,.js", "lint:fix": "eslint src/ public/ --ext .ts,.js --fix", "validate": "yarn lint && yarn build && echo '✅ All checks passed!'", "pretest": "yarn validate", "docker:build": "docker-compose build", "docker:up": "docker-compose up -d", "docker:down": "docker-compose down", "docker:logs": "docker-compose logs -f", "docker:restart": "docker-compose restart", "docker:rebuild": "docker-compose down && docker-compose build --no-cache && docker-compose up -d", "docker:dev": "docker-compose up --build", "docker:prod": "docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d", "docker:prod:down": "docker-compose -f docker-compose.yml -f docker-compose.prod.yml down" }, "packageManager": "yarn@1.22.19", "dependencies": { "compression": "^1.8.1", "express": "^4.18.2", "fluent-ffmpeg": "^2.1.2", "node-telegram-bot-api": "^0.64.0", "pg": "^8.11.3", "soundcloud-downloader": "^1.0.0" }, "devDependencies": { "@types/compression": "^1.8.1", "@types/express": "^5.0.3", "@types/fluent-ffmpeg": "^2.1.27", "@types/node": "^24.3.0", "@types/node-telegram-bot-api": "^0.64.10", "@types/pg": "^8.15.5", "@typescript-eslint/eslint-plugin": "^8.41.0", "@typescript-eslint/parser": "^8.41.0", "eslint": "^9.34.0", "nodemon": "^3.0.2", "ts-node": "^10.9.2", "typescript": "^5.9.2" }, "engines": { "node": ">=16.0.0" }, "resolutions": { "axios": ">=0.30.0" } }