Skip to content

Release v0.21.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 19:34
852dfda

Quality pass across the ten packages, plus typed Nuxt options. An adversarial review swept the whole monorepo for duplicated logic, dead code and readability debt, and every worthwhile finding landed: shared plugin primitives grew, the runtime got slightly smaller, verbaly.d.ts stops rewriting itself when nothing changed, and @verbaly/nuxt options are now typed inside nuxt.config.ts (still with zero dependency on @nuxt/kit). One small breaking change for direct compiler-API consumers: generateDts/writeDts take the plain catalog object instead of a Map.

Highlights

  • Typed options for @verbaly/nuxt. The verbaly key in nuxt.config.ts now autocompletes and catches typos ("Did you mean 'cookie'?"), without adding any dependency to the module.
  • A calmer editor in dev. verbaly.d.ts is only rewritten when its content actually changes, so the TypeScript server stops reloading types on every save.
  • Slightly smaller runtime. The quality pass trimmed dead work from the core: the tree-shaken runtime is now 3.28 KB min+gzip (was 3.30).
  • Cleaner generated types. A param used as both date and text no longer produces a duplicated union in verbaly.d.ts.
  • Clearer CLI messages. Every error and hint now reads with plain connectors, and check prints the source text right next to the missing key.
  • Breaking (compiler API only): generateDts(catalog) and writeDts(cfg, catalog) now take the catalog object (Record<string, string>) directly instead of a Map. The CLI and all plugins are unaffected.

For the full details of this release, see the repository changelog.