{ "name": "backend", "version": "1.0.0", "description": "", "main": "src/app.ts", "scripts": { "build": "npx tsc", "dev": "npx tsc && node --import ./dist/backend/src/instrument.js scripts/termux-shim.js", "start": "node --import ./dist/backend/src/instrument.js scripts/termux-shim.js", "test": "./scripts/test-sequential.sh", "test:fast": "./scripts/test-sequential.sh 'tests/core/*.test.ts'", "test:phase1": "./scripts/test-sequential.sh 'tests/core/cipher_randomization.test.ts tests/core/client_rotation.test.ts tests/core/throttle_bypass_args.test.ts tests/core/streamer_args.test.ts tests/core/retry_stream_lifecycle.test.ts tests/core/smart_client_pick.test.ts tests/core/temp_file_flow.test.ts tests/core/cookie_bootstrap.test.ts tests/core/cookie_deduplication.test.ts tests/core/format_string_fallback.test.ts tests/api/convert_temp_file_e2e.test.ts'", "test:lite": "npx tsc && node --test tests/lite/*.lite.test.js", "test:ci": "./scripts/ci-test.sh", "test:ci:keep": "./scripts/ci-test.sh --keep", "test:single": "NODE_ENV=test NODE_OPTIONS='--import ./scripts/termux-shim.js --max-old-space-size=512' npx vitest run", "verify:chunked": "VITEST_INCLUDE_MANUAL=1 SMOKE_TEST=1 npx vitest run tests/manual/chunked_fetcher_smoke.test.ts --no-coverage", "test:live": "VITEST_INCLUDE_MANUAL=1 LIVE_TEST=1 npx vitest run tests/manual/facebook_live.test.ts tests/manual/instagram_live.test.ts tests/manual/tiktok_live.test.ts tests/manual/x_live.test.ts tests/manual/soundcloud_live.test.ts --no-coverage", "bench:convert": "node scripts/bench-convert.js", "lint": "bash ../scripts/lint-changed.sh", "lint:all": "eslint .", "format": "prettier --write ." }, "keywords": [], "author": "ejjays", "license": "AGPL-3.0-or-later", "type": "module", "dependencies": { "@google/genai": "^1.35.0", "@libsql/client": "^0.17.3", "@sentry/node": "^10.53.1", "@sentry/profiling-node": "^10.53.1", "better-sse": "^0.16.1", "bgutils-js": "3.2.0", "bullmq": "^5.73.0", "cheerio": "^1.2.0", "compression": "^1.8.1", "cors": "^2.8.5", "dotenv": "^17.2.3", "essentia.js": "^0.1.3", "express": "^5.2.1", "express-rate-limit": "^8.5.2", "fluent-ffmpeg": "^2.1.3", "form-data": "^4.0.5", "fpcalc": "^1.3.0", "got": "^11.8.6", "helmet": "^8.2.0", "ioredis": "^5.10.1", "jiti": "^2.6.1", "jsdom": "27.4.0", "lru-cache": "^11.3.6", "metascraper": "^5.50.3", "metascraper-author": "^5.50.1", "metascraper-description": "^5.50.1", "metascraper-image": "^5.50.1", "metascraper-instagram": "^5.50.3", "metascraper-logo": "^5.50.1", "metascraper-publisher": "^5.50.1", "metascraper-soundcloud": "^5.50.1", "metascraper-spotify": "^5.50.1", "metascraper-tiktok": "^5.50.1", "metascraper-title": "^5.50.1", "metascraper-url": "^5.50.1", "metascraper-youtube": "^5.50.1", "multer": "^1.4.5-lts.1", "node-shazam": "^1.2.7", "pino": "^10.3.1", "spotify-url-info": "^3.3.0", "sucrase": "^3.35.1", "ultimate-guitar": "^2.0.6", "undici": "^8.3.0", "wav-decoder": "^1.3.0", "youtubei.js": "^17.0.1" }, "devDependencies": { "@eslint/js": "^10.0.1", "@types/compression": "^1.8.1", "@types/cors": "^2.8.17", "@types/express": "^5.0.0", "@types/fluent-ffmpeg": "^2.1.27", "@types/metascraper": "^5.14.3", "@types/metascraper-author": "^5.14.5", "@types/metascraper-description": "^5.14.5", "@types/metascraper-image": "^5.14.5", "@types/metascraper-logo": "^5.14.4", "@types/metascraper-publisher": "^5.14.5", "@types/metascraper-title": "^5.14.5", "@types/metascraper-url": "^5.14.5", "@types/multer": "^1.4.11", "@types/node": "^22.19.19", "@types/supertest": "^7.2.0", "@vitest/coverage-v8": "^4.1.7", "eslint": "^10.4.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-sonarjs": "^4.0.3", "globals": "^17.6.0", "ioredis-mock": "^8.13.1", "msw": "^2.13.6", "pino-pretty": "^13.1.3", "prettier": "^3.8.3", "puppeteer-core": "^25.0.4", "supertest": "^7.2.2", "ts-node": "^10.9.2", "tsx": "^4.21.0", "typescript": "^5.4.0", "typescript-eslint": "^8.59.4", "vitest": "^4.1.5", "zod": "^4.4.3" }, "optionalDependencies": { "@esbuild/android-arm64": "^0.28.0", "@libsql/android-arm64": "npm:null@*", "@rollup/rollup-android-arm64": "^4.60.3", "@rollup/rollup-linux-x64-gnu": "^4.60.3" } }