Skip to content

v0.16.3 — Code-simplification pass

Choose a tag to compare

@erikvankempen erikvankempen released this 21 Aug 18:06
· 12 commits to main since this release

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) and src/core/errors.js (makeError) replace per-module copies across ~15 modules
  • CLI: command registry loop; withDb action-shell wrapper (67 handlers converted); cliError typed-error factory (46 throw sites); stale program description fixed
  • Compliance: quarterDeadlineOnOffset collapses nine quarterly deadline rules to one-liners; FYE deadline helpers delegate to monthsAfterFyEnd; byte-identical isBooksClosed clone removed
  • Invoice: NL/EU/LU party-field validators share one validateVereistenCore with per-locale config; UBL VAT-category logic unified in exported vatCategory(code); invoice create single engine call for dry-run and real paths (JSON shapes unchanged)
  • Reports: duplicated date-validation and todayIso copies 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