Merge dev: Node.js scraper migration + CI fix #32
Reference in New Issue
Block a user
No description provided.
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Merges the complete Node.js scraper migration from
devintomain. This includes all 32 SCRAPE tasks implementing:services/scraperService.js): fetchPage, parseUnits, convertDataTypes, upsertUnits, insertPrices, markStaleUnits, updateDailySummary, recordScraperRun, createScraperIndexesservices/scraperLogger.js): Structured JSON logging with credential redactionconfig/scraper.js): Environment-configurable settings, validation collections (units_scraper,unit_prices_scraper)jobs/scraperJob.js): node-cron scheduling, in-process mutex, graceful shutdownTest plan
Code Review: APPROVE
Summary:
Well-structured, thoroughly tested Node.js scraper migration consisting of 31 commits across 27 changed files (+12,228 lines). The code follows all project conventions, uses the native MongoDB driver exclusively, employs async/await throughout, has proper error handling with credential redaction, and includes comprehensive test coverage with 696 passing tests across 18 suites.
Review Criteria Checklist -- All Passing:
Positive Observations:
Code Review - Approved
Reviewer: Engineering Manager Review
Summary
This PR merges the complete scraper migration from
devintomain. All scraper tasks (SCRAPE-1 through SCRAPE-32) have been completed following TDD methodology.Key Changes
units_scraper,unit_prices_scraper)scraper_runscollectionserver.jswith graceful shutdownDecision: APPROVED
The implementation follows established patterns, uses the native MongoDB driver consistently, and includes thorough test coverage.