CodeVetter · Repo Unpack · Contributor handoff
moment/luxon
Begin with the public exports and actual package/test/build configuration, then follow the relevant factory through implementation helpers and its matching tests. Preserve explicit parsing, immutable transformations, half-open interval semantics, and calendar-versus-elapsed arithmetic. Tests and CI were inspected, not executed; this bounded brief supplies no passing status or exhaustive coverage guarantee. Under this task's authority, continue read-only investigation and reserve implementation or execution for a separately authorized task.
- Read src/luxon.js and package.json first to distinguish source APIs from distributed entrypoints; src/package.json and tasks/build.js explain source-module and generated-bundle boundaries.
- Preserve the documented scope: use host-native internationalization, keep APIs explicit, avoid convenience bloat, and address module-loader compatibility in build tooling rather than runtime source.
- For parsing work, read regexParser/tokenParser together with parseDataToDateTime and fromObject; interpretation-zone, setZone, specificOffset, missing-field defaults, and representation conflicts are separate contracts.
- For arithmetic work, retain higher-order calendar adjustment before elapsed-millisecond addition and protect DST gaps/overlaps; docs/math.md and dst.test.js provide the relevant semantic examples.
- Restore Settings and mocked Intl APIs around tests; helpers provide try/finally patterns, and cache resets matter when testing constructor-specific overlap choices.
- If later authorized to execute checks, start with npm run jest -- --runInBand plus the relevant test file, then use npm run test for coverage and npm run format-check; this investigation inspected those scripts and CI without executing them.
- Use manifest/CI evidence to resolve setup uncertainty: historical contributor instructions mention npm commands absent from the current scripts, while the declared Node minimum and CI matrix differ from older installation text.
- Keep operational boundaries explicit: release invokes npm publish, tagging, and site deployment; deploy-site sources configuration and commits/pushes, while API/site generation writes generated files under build.