Releases: bibixx/workoutkit
Releases · bibixx/workoutkit
v0.2.0
Highlights
WorkoutAlert support — encode and decode all nine alert subtypes (heart rate, pace, power, cadence, speed, distance, time, energy, duration). Includes full wire-format coverage and an exposed alert class hierarchy for programmatic use.
What's changed
- Probe WorkoutAlert wire format (fdb6e76)
- Encode and decode WorkoutAlert (ba2e097)
- Expose Alert class hierarchy (f890a2f)
- Add alert fixtures across all nine subtypes (a06d3cb)
- Document WorkoutAlert usage and schema (d63a1b3)
- Add oxlint, oxfmt, and lefthook git hooks (bd3eb26)
Full Changelog: v0.1.2...v0.2.0
v0.1.2
Fixed
- Consumer Vite apps in dev mode failed to import the package. The published
exportshad adevelopmentcondition pointing at./src/*.ts, butfiles: ["dist", ...]excludessrc/from the tarball. Vite default-includesdevelopmentin its resolve conditions in dev mode, soimport "@bibixx/workoutkit"resolved to a file that wasn't shipped. Removed thedevelopmentcondition entirely;dist/resolution now works in every consumer setup.
The zero-rebuild dev loop for this repo's own tests is preserved via resolve.alias in tests/vitest.config.ts.
Full Changelog: v0.1.1...v0.1.2
v0.1.1
Docs-only patch.
Fixed
- npm logo: the package page's logo was broken because npm rewrote the relative path against
repository.directory(sdk/), resolving to a non-existent URL. Switched the README to absoluteraw.githubusercontent.comURLs. - Dark / light logo: the logo used
#fffstrokes, which was invisible on npm's light background. Added a black variant shown on npm and GitHub light mode, with the white variant served only to GitHub dark mode via<picture>+prefers-color-scheme.
No runtime code changed — the dist/ bytes for 0.1.1 are identical to 0.1.0.
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Initial release of @bibixx/workoutkit — a TypeScript SDK for reading and writing Apple's .workout file format.
Highlights
- Encode + decode
.workoutfiles with byte-level parity against Apple's WorkoutKit serializer (verified by a Swift oracle across 150+ fixtures). - Two authoring styles: plain-object input or the fluent class API (
Workout,Step,Block, goals, alerts, …). - Subpath entries for tree-shaking:
@bibixx/workoutkit/encode,/decode,/fs, and the root barrel. - Node/Bun
fshelpers for reading and writing files directly. - Runtime support: Browser, Node ≥ 18, Bun, Deno (via
npm:specifier). - Typed schema covering activity types, goals, alerts, and the full step/block workout tree.
Install
npm install @bibixx/workoutkitSee the README for usage and platform-specific recipes.