| { | |
| "name": "consumer-prices-core", | |
| "version": "1.0.0", | |
| "private": true, | |
| "type": "module", | |
| "scripts": { | |
| "build": "tsc", | |
| "start": "node dist/api/server.js", | |
| "dev": "tsx watch src/api/server.ts", | |
| "jobs:scrape": "tsx src/jobs/scrape.ts", | |
| "jobs:aggregate": "tsx src/jobs/aggregate.ts", | |
| "jobs:publish": "tsx src/jobs/publish.ts", | |
| "migrate": "tsx src/db/migrate.ts", | |
| "validate": "tsx src/cli/validate.ts", | |
| "test": "vitest run", | |
| "test:watch": "vitest" | |
| }, | |
| "dependencies": { | |
| "@fastify/cors": "^11.2.0", | |
| "dotenv": "^16.4.5", | |
| "exa-js": "^1.7.0", | |
| "fastify": "^5.8.5", | |
| "js-yaml": "^4.3.0", | |
| "jsdom": "^25.0.1", | |
| "pg": "^8.13.1", | |
| "pino": "^9.4.0", | |
| "playwright": "^1.47.2", | |
| "redis": "^4.7.0", | |
| "zod": "^3.23.8" | |
| }, | |
| "devDependencies": { | |
| "@types/js-yaml": "^4.0.9", | |
| "@types/jsdom": "^21.1.7", | |
| "@types/node": "^22.7.5", | |
| "@types/pg": "^8.11.10", | |
| "tsx": "^4.19.1", | |
| "typescript": "^5.6.3", | |
| "vitest": "^3.2.6" | |
| }, | |
| "overrides": { | |
| "ws": "8.21.0", | |
| "form-data": "4.0.6" | |
| } | |
| } | |