@inkdropapp/live-export v0.2.2

This is a NodeJS library to help programmatically export notes for building blogs, allowing you to use Inkdrop as a CMS.

Tutorial:

This release revives the project on a modern toolchain and fixes several bugs that had left the library broken at runtime.


Breaking change

  • The minimum supported Node version is now 22 (previously 18).

Fixes

  • YAML frontmatter handling was broken at runtime. js-yaml 5 removed its default export, so every load/dump call resolved to undefined. Switched to named imports.
  • Notes without frontmatter threw an exception. js-yaml 5 raises on empty input rather than returning undefined; the parse is now skipped when a note has no frontmatter.
  • The CommonJS build could not be loaded at all. unified and the remark/unist packages are pure ESM with no require condition, so they are now bundled into lib/index.cjs.
  • Internal links at the very start of a note were never rewritten, because a 0 offset failed a truthiness check.
  • Correct a broken link in the README.

Other

  • Migrate the build from rollup to tsdown, emitting ESM and CJS with type declarations for each (index.d.ts and index.d.cts).
  • Replace ESLint and Prettier with oxlint and oxfmt.
  • Replace Jest with Vitest, and add offline tests that no longer need a running Inkdrop server. The remaining integration tests are opt-in via environment variables.
  • Move to pnpm and add GitHub Actions CI covering Node 22, 24 and 26.
  • Drop the unused ajv dependency, and @types/js-yaml now that js-yaml ships its own types.
  • Add types conditions to the exports map so CJS consumers resolve index.d.cts.

Full Changelog: Comparing v0.2.1...v0.2.2 · inkdropapp/inkdrop-live-export · GitHub

Repository

1 Like