Update Bun lockfiles (bun.lockb) with proper dependency management. Covers bun update, bun install, lockfile regeneration, and security audits. Use when user mentions bun lockfile, bun update, bun.lockb, updating Bun dependencies, or resolving Bun lockfile conflicts.
Comprehensive guidance for updating Bun lockfiles (bun.lock) with proper dependency management practices.
| Use this skill when... | Use bun-outdated instead when... |
|---|---|
| Running bun update to refresh dependencies | Auditing what is outdated without changing anything |
| Resolving a bun.lock merge conflict by regenerating | Reviewing major version gaps before deciding to upgrade |
| Patching a security vulnerability in a specific package | Listing newer versions for a single package |
| Performing a major version upgrade workflow | Use bun-install when bootstrapping a fresh checkout |
Use this skill automatically when:
# Update all dependencies to latest versions (respecting semver ranges in package.json)
bun update
# Update all dependencies AND modify package.json to latest versions
bun update --latest
# Update specific package(s) to latest compatible version
bun update <package-name>
bun update <package1> <package2>
# Update specific package to latest version (ignoring semver range)
bun update --latest <package-name>
# Regenerate lockfile from package.json (clean install)
rm bun.lock
bun install
# Or force regeneration
bun install --force
Respects semver ranges in package.json:
# Updates within semver constraints (^1.2.3 → 1.x.x, ~1.2.3 → 1.2.x)
bun update
# Review changes
git diff bun.lock package.json
# Test thoroughly
bun test
bun run build
When to use:
Updates to absolute latest versions:
# Updates AND modifies package.json to latest versions
bun update --latest
# Review ALL changes carefully
git diff bun.lock package.json
# Test exhaustively (breaking changes likely)
bun test
bun run build
bun run lint
When to use:
Updates specific packages only:
# Update one critical package
bun update lodash
# Update multiple related packages
bun update @types/node @types/react @types/react-dom
# Update to latest version (ignore semver)
bun update --latest typescript
When to use:
Commit current state: Ensure clean working directory
git status
git add .
git commit -m "chore: checkpoint before dependency update"
Check for outdated packages:
bun outdated
Review security advisories:
bun audit
git diff bun.lock package.json
Verify installation:
rm -rf node_modules
bun install
Run test suite:
bun test
Run build:
bun run build
Run linting:
bun run lint
Check bundle size:
bun run build --analyze # If available
Test application manually:
# For safe updates
git add bun.lock
git commit -m "chore(deps): update dependencies
Updates all dependencies to latest compatible versions.
All tests passing."
# For aggressive updates
git add bun.lock package.json
git commit -m "chore(deps): upgrade dependencies to latest
BREAKING CHANGES:
- Updated React 17 → 18
- Updated TypeScript 4.9 → 5.3
- Updated Vite 4 → 5
See CHANGELOG for migration notes.
All tests passing."
Goal: Keep dependencies fresh without breaking changes
# Weekly/monthly routine
bun update
bun test
git add bun.lock
git commit -m "chore(deps): update dependencies"
Goal: Patch specific vulnerable package
# Check vulnerability report
bun audit
# Update vulnerable package to latest (may require --latest)
bun update --latest <vulnerable-package>
# Verify fix
bun audit
# Test and commit
bun test
git add bun.lock package.json
git commit -m "fix(deps): patch security vulnerability in <package>
Fixes: CVE-XXXX-XXXXX"
Goal: Migrate to new major version of framework/library
# 1. Create feature branch
git checkout -b chore/upgrade-react-18
# 2. Update target package
bun update --latest react react-dom
# 3. Update related packages
bun update --latest @types/react @types/react-dom
# 4. Review breaking changes documentation
# (Check official migration guide)
# 5. Update code for breaking changes
# (Fix deprecated APIs, adjust imports, etc.)
# 6. Run comprehensive tests
bun test
bun run build
bun run lint
# 7. Manual testing
# (Test all critical flows)
# 8. Commit and create PR
git add .
git commit -m "chore(deps): upgrade React 17 → 18
BREAKING CHANGES:
- Automatic batching changes render behavior
- Updated ReactDOM.render to createRoot
- Removed IE 11 support
See docs/migration/react-18.md for details."
Goal: Resolve merge conflict in bun.lock
# 1. Accept either version (doesn't matter which)
git checkout --theirs bun.lock # Or --ours
# 2. Regenerate lockfile from package.json
rm bun.lock
bun install
# 3. Verify installation
bun test
# 4. Commit resolution
git add bun.lock
git commit -m "chore: resolve lockfile merge conflict"
Goal: Remove unused dependencies and update remaining
# 1. Audit dependencies
bun pm ls # List installed packages
# 2. Check for unused dependencies
npx depcheck # Or manual review of package.json
# 3. Remove unused packages
bun remove <unused-package>
# 4. Update remaining dependencies
bun update
# 5. Verify everything still works
bun test
bun run build
bun.lock)bun.lock (JSONC) —
human-readable and reviewable in git diff / PRs.bun.lockb is still supported but no longer the default;
bun install under Bun ≥ 1.2 migrates an existing bun.lockb to bun.lock
(force it with bun install --save-text-lockfile).bun.lock merge conflicts can be reviewed and often
resolved directly — though regenerating (below) is still the simplest fix.bun.lock and delete any stale bun.lockb
once migrated.# Update all workspace packages
bun update
# Update specific workspace
bun update --filter <workspace-name>
# Install with npm/yarn compatibility
bun install --backend=npm
# Generate package-lock.json for compatibility
bun install --lockfile-only
# Symptoms: Install errors, checksum mismatches
# Solution: Regenerate lockfile
rm bun.lock
bun install
# Symptoms: Peer dependency warnings during install
# Solution: Update peer dependencies or use --force
bun install --force
# Or resolve conflicts manually in package.json
# Clear Bun cache
rm -rf ~/.bun/install/cache
# Reinstall
rm -rf node_modules bun.lock
bun install
# Symptoms: Package version doesn't match expectations
# Solution: Verify package.json and regenerate lockfile
cat package.json # Check version ranges
rm bun.lock
bun install
# Check for vulnerabilities
bun audit
# Get detailed report
bun audit --json > audit-report.json
Use Renovate for automated dependency PRs — it regenerates and commits
bun.lock natively when it patches package.json, so update/pin PRs ship a
synchronized lockfile with no extra configuration.
bun.lock, so its PRs leave the lockfile out of sync. Consolidate on
Renovate (remove .github/dependabot.yml).postUpdateOptions. The allowed values are
npm/pnpm/yarn/bundler/go/nuget only; an invented value (e.g. bunDedupe)
fails Renovate's allowedValues validation and breaks the entire
config. No option is needed to get a matching lockfile on update.lockFileMaintenance for the periodic full-lockfile refresh
(its enabled defaults to false, so set it explicitly). Bun support for
this was a regression fixed in Renovate PR #38694 (Oct 2025).// renovate.json
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
"lockFileMaintenance": { "enabled": true }
}
# Before updating, review package reputation
# Check npm package page, GitHub stars, maintenance status
bun pm ls <package-name>
# Verify lockfile matches package.json
bun install --frozen-lockfile # CI/CD
bun install --production --frozen-lockfile # Production
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run tests
run: bun test
- name: Update lockfile (scheduled job)
run: |
bun update
bun test
if: github.event_name == 'schedule'
# .husky/pre-commit or similar
#!/bin/sh
bun install --frozen-lockfile
bun test
npx skills add laurigates/bun-lockfile-update下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer