Files
store-scraper-bot/package.json
T
tiennm99 73762fa0a0 feat: migrate to Vercel + Upstash with KEY_PREFIX namespacing
Phases 1-5 of consolidate-vercel-upstash plan. Replaces Cloudflare
Workers + KV with Vercel serverless functions + Upstash Redis. Inlines
app-store-scraper / google-play-scraper npm libs (drops the
store-scraper.vercel.app HTTP roundtrip). KEY_PREFIX (default
'store-scraper-bot:') namespaces all Redis keys so the Upstash DB can
be safely shared with other Vercel projects.

- vercel.json + .vercelignore + Vercel-aware package.json scripts
- api/webhook.js + api/cron.js Vercel functions (with shared
  src/app-builder.js); cron auth fails closed when CRON_SECRET unset
- src/repository/upstash.js replaces kv.js; all 4 repos take a handle
  bundling client + prefix
- scripts/migrate-atlas-to-upstash.js writes legacy Java Atlas state
  directly to Upstash with --dry-run + --include-cache flags
- .env.example refreshed for the new env surface

Phases 6 (Vercel deploy + webhook cutover) and 7 (Docker + wrangler
cleanup) remain operator-driven post-deploy.
2026-05-09 20:07:07 +07:00

32 lines
1.0 KiB
JSON

{
"name": "store-scraper-bot",
"version": "0.3.0",
"description": "Telegram bot tracking Apple App Store + Google Play app updates. JavaScript implementation, ports java-store-scraper-bot.",
"type": "module",
"private": true,
"engines": {
"node": ">=20"
},
"main": "api/webhook.js",
"scripts": {
"dev": "vercel dev",
"deploy": "vercel deploy --prod && npm run register",
"register": "node --env-file=.env.deploy scripts/register-webhook.js",
"register:dry": "node --env-file=.env.deploy scripts/register-webhook.js --dry-run",
"migrate": "node --env-file=.env.deploy scripts/migrate-atlas-to-upstash.js",
"migrate:dry": "node --env-file=.env.deploy scripts/migrate-atlas-to-upstash.js --dry-run",
"lint": "node scripts/check-secret-leaks.js"
},
"devDependencies": {
"mongodb": "^6.10.0",
"wrangler": "^3.90.0"
},
"license": "Apache-2.0",
"dependencies": {
"@upstash/redis": "^1.38.0",
"@vercel/functions": "^3.5.1",
"app-store-scraper": "^0.18.0",
"google-play-scraper": "^10.1.2"
}
}