Skip to content
yarunoka.dev

Requirements

View Markdown

The same as @yarunoka/core: all date-time work happens through the Temporal API (ES2026) on the global Temporal object, and no polyfill is shipped. The requirement is that Temporal is available — nothing else.

  • Node.js 26 or newer has it built in.
  • Any runtime without it satisfies the requirement with a polyfill your application installs once — see Installation.

ESM only. Browsers load ESM natively, and Node.js 22 and newer can require() a synchronous ESM module graph — one free of top-level await, which this package is — from CommonJS code, so CommonJS applications on the supported Node.js versions are not excluded.

One peer dependency: @yarunoka/core. The draft’s exit and every preview go through the engine, and making it a peer means they go through the one engine instance your application already has — never a second copy with its own idea of the language.

Nothing else: no framework, no UI library, no runtime dependency of its own. The store is framework-agnostic on purpose — a React binding is one useSyncExternalStore call, and other frameworks are equally thin.

TypeScript is optional — the package is plain ESM and works from JavaScript as it is. For TypeScript users: Temporal is not yet part of a versioned lib entry, so enable it explicitly in your tsconfig.json until it lands in es2026:

{
"compilerOptions": {
"lib": ["es2025", "esnext.temporal"]
}
}