Skip to content

Releases: bibixx/workoutkit

v0.2.0

22 Apr 16:44
v0.2.0
967a6db

Choose a tag to compare

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

17 Apr 22:40
v0.1.2
78745b5

Choose a tag to compare

Fixed

  • Consumer Vite apps in dev mode failed to import the package. The published exports had a development condition pointing at ./src/*.ts, but files: ["dist", ...] excludes src/ from the tarball. Vite default-includes development in its resolve conditions in dev mode, so import "@bibixx/workoutkit" resolved to a file that wasn't shipped. Removed the development condition 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

17 Apr 22:26
v0.1.1
7a65a81

Choose a tag to compare

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 absolute raw.githubusercontent.com URLs.
  • Dark / light logo: the logo used #fff strokes, 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

17 Apr 22:14
v0.1.0
4c9a27b

Choose a tag to compare

Initial release of @bibixx/workoutkit — a TypeScript SDK for reading and writing Apple's .workout file format.

Highlights

  • Encode + decode .workout files 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 fs helpers 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/workoutkit

See the README for usage and platform-specific recipes.