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/dumpcall resolved toundefined. 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.
unifiedand the remark/unist packages are pure ESM with norequirecondition, so they are now bundled intolib/index.cjs. - Internal links at the very start of a note were never rewritten, because a
0offset 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.tsandindex.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
ajvdependency, and@types/js-yamlnow that js-yaml ships its own types. - Add
typesconditions to theexportsmap so CJS consumers resolveindex.d.cts.
Full Changelog: Comparing v0.2.1...v0.2.2 · inkdropapp/inkdrop-live-export · GitHub