Publishing is a human action: bun publish asks for npm authentication (and a one-time password
when 2FA is enabled). Everything before that is automated and verified.
- Create the
templesorganization on https://www.npmjs.com/org/settings/create. - Log in locally:
bunx npm login(Bun reads the credentials from.npmrc/ bunfig.toml).
Run from the repository root. Every command must pass before publishing:
bun install
bun run check # Biome format + lint
bun run typecheck # tsc --noEmit
bun test # all package tests, including the docs build smoke test
bun run build # builds every package in dependency orderVerify what would be shipped, per package:
cd packages/engine && bun publish --dry-run && cd ../..
cd packages/components && bun publish --dry-run && cd ../..
cd packages/ssr && bun publish --dry-run && cd ../..
cd packages/jquery && bun publish --dry-run && cd ../..Check the file list: package.json, README.md, and the dist/ outputs only. No sources, no
tests.
Packages publish in dependency order (each bun publish resolves the workspace:* versions of
the packages already published):
bun run publish:all
# equivalent to, in order:
# cd packages/engine && bun publish
# cd packages/components && bun publish
# cd packages/ssr && bun publish
# cd packages/jquery && bun publishScoped packages publish with publishConfig.access: "public" (already set in every
package.json).
- Verify the four pages on npmjs.com (README renders, correct files).
- Verify
npm view @temples/engine versionreports the new version. - Push a git tag:
git tag v1.0.0 && git push origin v1.0.0.