SEV-362: format v0.2.0 — boundary spacing, acronyms, formatRange, numeric budget #2

Merged
bastian merged 1 commits from sev-362/format-v0.2.0 into main 2026-06-09 21:08:37 -04:00
Owner

Hardens the shared formatters ahead of all three frontends finally consuming this package (fixes "NaN miles", "Range: 100 150mi", "Level2"):

  • formatLabel: letter→digit boundary spacing ("level2" → "Level 2"), acronym casing (DCFC/EV/SUV/VIN/DC/A/C), bare numeric ranges pass through untouched
  • new formatRange: "150-200" → "150–200 mi", "200+" → "200+ mi"; empty → '' (callers render "Not specified")
  • formatBudget is now the numeric (min, max) dollar formatter matching the API payload; the wizard's slug map moves to formatBudgetBucket
  • new vehicleName({year, make, model, commissioned})

Breaking rename is safe — nothing consumes 0.1.0. Publish to the Gitea registry follows merge.

🤖 Generated with Claude Code

Hardens the shared formatters ahead of all three frontends finally consuming this package (fixes "NaN miles", "Range: 100 150mi", "Level2"): - `formatLabel`: letter→digit boundary spacing ("level2" → "Level 2"), acronym casing (DCFC/EV/SUV/VIN/DC/A\/C), bare numeric ranges pass through untouched - new `formatRange`: "150-200" → "150–200 mi", "200+" → "200+ mi"; empty → '' (callers render "Not specified") - `formatBudget` is now the numeric (min, max) dollar formatter matching the API payload; the wizard's slug map moves to `formatBudgetBucket` - new `vehicleName({year, make, model, commissioned})` Breaking rename is safe — nothing consumes 0.1.0. Publish to the Gitea registry follows merge. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bastian added 1 commit 2026-06-09 21:08:23 -04:00
- formatLabel: letter→digit boundary spacing ("level2" → "Level 2"),
  acronym casing (DCFC/EV/SUV/VIN/DC/A\C), bare numeric ranges pass
  through untouched
- new formatRange: "150-200" → "150–200 mi", "200-plus"/"200+" →
  "200+ mi"; empty → '' (callers render their own placeholder)
- formatBudget is now the numeric (min, max) dollar formatter matching
  the API payload; the wizard's slug map moves to formatBudgetBucket
- new vehicleName({year, make, model, commissioned})

Breaking rename of formatBudget is safe: no frontend consumes 0.1.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bastian merged commit 2b54028495 into main 2026-06-09 21:08:37 -04:00
bastian deleted branch sev-362/format-v0.2.0 2026-06-09 21:08:37 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SwitchEV/shared#2