/bun:publish
Publish package to npm registry after building with Bun.
When to Use This Skill
| Use this skill when... | Use bun-publishing instead when... |
|---|---|
| Executing a single npm publish action with the right flags | Looking up broader npm publishing workflow guidance and conventions |
| Previewing a publish with --dry-run before releasing | Configuring publishConfig, scoped-package access, or provenance setup |
| Releasing a scoped package with --access public | Use bun-build when you need to produce build artifacts before publishing |
| Enabling supply-chain --provenance signing on a release | Use bun-lockfile-update when bumping dependencies before a release |
Parameters
--dry-run: Preview publish without executing--access: Access level (publicorrestricted)--provenance: Enable supply chain provenance signing
Context
Detect package configuration:
cat package.json | jq '{name, version, publishConfig, bin, files, scripts: {prepublishOnly: .scripts.prepublishOnly}}'
Execution
Pre-publish Validation
# Type check
bun run tsc --noEmit 2>&1 | head -20
# Build
bun run build
# Verify tarball contents
npm pack --dry-run
Publish
Dry run (default for first attempt):
npm publish --dry-run {{ "--access " + ACCESS if ACCESS }}
Actual publish:
# Standard package
npm publish {{ "--access " + ACCESS if ACCESS }} {{ "--provenance" if PROVENANCE }}
# Scoped package (auto-detect from name starting with @)
npm publish --access public {{ "--provenance" if PROVENANCE }}
Scoped Package Detection
If package.json name starts with @:
- Automatically add
--access publicunless explicitly restricted - Warn if
publishConfig.accessis not set in package.json
Post-publish
- Display published version:
npm view <package> version - Show installation command:
npm install <package> - Link to npm package page
Error Handling
402 Payment Required:
- Scoped packages require
--access publicfor public registry - Add
publishConfig.access: "public"to package.json
Missing authentication:
- Run
npm loginto authenticate - Or set
NPM_TOKENenvironment variable