Guchho 1.0.5

A JavaScript plugin system, and the documentation tree.

#

Released 2026-10-13.

Plugins

#

A build can now be extended from JavaScript, in the same shape Rollup uses.

  • A plugin is a plain object with a name and any of the hooks below. Pass one, or an array, through the plugins option of build() and transform(), or nest them under a top-level plugins key in the config file. A config entry may be an object, a factory function, or a path or module specifier to import; the config's plugins run before the caller's.
  • The hooks are buildStart, resolveId, load, buildEnd, generateBundle, writeBundle and closeBundle. Each is optional, each may be async, and each that can decline does so by returning null. resolveId may instead return an id to claim a specifier, or false to mark it external.
  • generateBundle sees the finished bundle before it is written and may rewrite or drop files in place; writeBundle sees it after. order: 'pre' or 'post' places a plugin around the default order.
  • Inside a hook, this carries meta, warn(), error() - which fails the build - and, during generateBundle, emitFile().

The engine is a separate native process, so a hook is not a function call: the child stops mid-build, sends a request up the service pipe, and waits for the host to answer. The service protocol was revised to carry those callbacks. The transform hook is declared in the types but not yet wired to the pipeline.

See Writing plugins, the hooks and the generated plugin types.

Documentation

#

The whole documentation tree is new: a guide, reference, JavaScript API, C++ embedding, recipes, plugin and resources sections, plus a blog and these release notes. Every directory indexes itself, so the tree reads directly on GitHub.

The API and embedding pages are generated from index.d.ts and the public headers.

Distribution and tooling

#
  • The npm publish workflow was reworked, and the Chocolatey and npm package metadata were kept in step with the release.
  • Plugin and configuration tests were added on both sides of the bridge, in JavaScript and in C++.

Upgrading

#

Nothing here is breaking. Existing configurations build unchanged, and plugins are opt-in.

npm install -g guchho@1.0.5

Full comparison: v1.0.4…v1.0.5.

Edit this page on GitHub