v0.3.0
Changed
- Migrated dev toolchain from Bun to nub.js — switched to nub runtime for running scripts, vitest replaces
bun:testfor testing.lock.yamlreplacesbun.lock. CI updated tonubjs/setup-nub. - Simplified CLI API surface — removed
BannerOption,CLIOptions, andOptionConfigtypes (inlined into their usage sites). Consumers using these types for annotations should switch to inline types orstring | boolean. - Added
sideEffects: falsetopackage.json— enables tree-shaking for bundler consumers. - Added lefthook pre-commit hooks — Biome lint +
tsc --noEmitrun before every commit.
Fixed
- Spinner invalid-style error —
createSpinner()now throwsCliToolkitErrorwith a descriptive message listing available styles, instead of a rawTypeError.
Added
- Test coverage for CAC error wrapping —
createCLI.parse()error handling path now tested. - Test coverage for
CliToolkitErrorand icon constants — two new test files covering public API basics. process.exitmock hygiene — banner tests wrap mocked globals in try/finally to prevent cascading failures.
What's Changed
Full Changelog: v0.2.1...v0.3.0