Repository navigation
v1.8.0 — Modular architecture, full JSDoc, a11y & tooling
v1.8.0 — Modular architecture, full JSDoc, a11y & tooling
This release marks the transition from a single-file architecture to 18 focused JS modules built at compile time — the same single work-log.html to open in your browser, but now with a proper source structure, full documentation, and a real toolchain.
Code Quality & Documentation
- Full JSDoc coverage across all 18 JS source modules — every public function has
@param,@returns, and@throwsannotations - CITATION.cff — software citation metadata for academic/open-source use
- DATA.md — complete localStorage schema reference (every key, field type, lifetime, and data-recovery recipe)
- ARCHITECTURE.md — module dependency map, data flow, and integration overview
- Key assumptions documented inline: billing rounding midpoint, billable defaults, carry-over rules
Accessibility
- ARIA labels on all icon-only buttons
role="dialog"/aria-modalon all modals with focus trap (focus saved on open, restored on close; Escape closes)role="region"on stat and pomodoro sections;role="list"on task listsaria-liveon dynamic counters;aria-expandedon collapsible headers (keyboard: Enter/Space)
Automation & Tooling
- Husky pre-commit hook running ESLint + Prettier via lint-staged
- Dependabot auto-update for npm dependencies
- GitHub Releases workflow — auto-publishes release notes from CHANGELOG on tag push
- GitHub Pages workflow — generates and publishes JSDoc reference on every push to
main - Lighthouse CI workflow — audits a11y/best-practices/performance with thresholds
- Branch ruleset — force-push and deletion blocked;
test+lintrequired to merge
Configuration
- Hardcoded config extracted to
src/js/00-config.js: location coordinates, Jira base URL, calendar account labels — one file to edit when adapting for a different environment
Bug Fixes
- Three-state checkpoint toggle (
false → 'partial' → true) fixed in focus-mode overlay - Smoke test suite updated and expanded to 199 tests, 0 failures
Upgrading from v1.7.x
No localStorage schema changes — your existing data is fully compatible.
The built script.js and styles.css in the repo root are ready to use.
To build from source or run tests:
npm install
node build.js # rebuilds script.js + styles.css
node smoke-tests.cjs # 199 tests