v0.16.3 — Code-simplification pass
v0.16.3 — Code-simplification pass
Pure refactoring release: net −851 lines of source (+2,200/−3,051 across 191 files) with zero capability changes. The full CLI surface, MCP schemas, document outputs, and error-code contract are unchanged. Suite: 946/946 green. Two consecutive independent review passes, both clean.
Changed
- New shared core modules:
src/core/dates.js(date validation, today, month math) andsrc/core/errors.js(makeError) replace per-module copies across ~15 modules - CLI: command registry loop;
withDbaction-shell wrapper (67 handlers converted);cliErrortyped-error factory (46 throw sites); stale program description fixed - Compliance:
quarterDeadlineOnOffsetcollapses nine quarterly deadline rules to one-liners; FYE deadline helpers delegate tomonthsAfterFyEnd; byte-identicalisBooksClosedclone removed - Invoice: NL/EU/LU party-field validators share one
validateVereistenCorewith per-locale config; UBL VAT-category logic unified in exportedvatCategory(code);invoice createsingle engine call for dry-run and real paths (JSON shapes unchanged) - Reports: duplicated date-validation and
todayIsocopies replaced by the core dates module - i18n: parity-guard FULL list derived from the table registry; UNITS built from UNIT_CODES
- Housekeeping: ~180 stale license-header jurisdiction counts corrected to thirty-one; XK profile shape anomalies fixed; dead code deleted
Full changelog: https://github.com/erikvankempen/bukio-cli/blob/main/CHANGELOG.md