Files
PriceHunter/package.json
mariosemes 130ab30fcc Add Puppeteer browser scraping and HG Spot store config
- Add browser-scraper.ts using Puppeteer for JS-heavy stores
- Add render_js flag to store model, migration, YAML sync, and UI
- Scraper engine auto-selects cheerio vs Puppeteer based on flag
- Store forms include JS rendering toggle in Advanced section
- Create first store config: HG Spot (Croatian electronics retailer)
- Update Dockerfile with Chromium for production Puppeteer support

Tested: HG Spot returns 15 products per page with correct names,
prices (EUR), links, and images using headless browser rendering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 21:36:20 +01:00

38 lines
1006 B
JSON

{
"name": "pricehunter",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev:server": "tsx watch src/server/index.ts",
"dev:client": "cd src/client && npm run dev",
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
"build:client": "cd src/client && npm run build",
"build:server": "tsc",
"build": "npm run build:client && npm run build:server",
"start": "node dist/server/index.js",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"@fastify/cors": "^10.0.1",
"@fastify/static": "^8.0.3",
"bottleneck": "^2.19.5",
"cheerio": "^1.0.0",
"dotenv": "^16.4.7",
"fastify": "^5.2.1",
"p-limit": "^6.2.0",
"puppeteer": "^24.40.0",
"sql.js": "^1.11.0",
"yaml": "^2.8.3"
},
"devDependencies": {
"@types/node": "^22.10.0",
"concurrently": "^9.1.2",
"pino-pretty": "^13.1.3",
"tsx": "^4.19.2",
"typescript": "^5.7.2",
"vitest": "^2.1.8"
}
}