@yorozu/build
v0.3.1
Published
build and release utilities for yorozu packages
Readme
@yorozu/build
Build and release toolkit for the yorozu monorepo. It discovers workspace packages, builds them with Vite, rewrites workspace: / catalog: dependencies, and publishes a single shared version.
How this repo uses it
The root package.json version is the source of truth for every managed package (@yorozu/utils, @yorozu/io, @yorozu/net, @yorozu/node, @yorozu/build).
pnpm build # build every npm-publishable package (including standalone)
pnpm lint:workspace # workspace: protocol, external version alignment, prefer protected over private/#
pnpm release:dry # print next version, changelog, and publish list
pnpm release # bump, build, publish to npm, commit, and tagpnpm release is yorozu-build release --with-npm. First release (no git tag yet) does not bump: it publishes the current root version (0.1.0) and tags v0.1.0. Later releases bump the root version and rewrite every managed package to match.
Standalone packages
@yorozu/fetch sets yorozu.standalone: true and keeps its own version. It is still built and published by the same release command, but it is not rewritten to the shared root version.
CLI
yorozu-build --help
yorozu-build build @yorozu/utils
yorozu-build build :all
yorozu-build lint
yorozu-build release --with-npm --dry-runCommands: lint, build, publish, bump-version, gen-changelog, find-changed-packages, release, jsr, docs, gen-deps-graph, cr.
Config
Root build.config.js sets the tagging schema (semver) and JSR source/exclude globs. Per-package build.config.js can adjust Vite options and package.json before publish.
The Vite plugin is yorozuBuild from @yorozu/build/vite, registered in the repo-root vite.config.ts.
