Bun

bun outdated

Use bun outdated to check for outdated dependencies in your project. This command displays a table of dependencies that have newer versions available.

$bun outdated
bun outdated v1.2.18
Package
Current
Update
Latest
@sinclair/typebox
0.34.15
0.34.16
0.34.16
@types/bun (dev)
1.2.0
1.2.18
1.2.18
eslint (dev)
8.57.1
8.57.1
9.20.0
eslint-plugin-security (dev)
2.1.1
2.1.1
3.0.1
eslint-plugin-sonarjs (dev)
0.23.0
0.23.0
3.0.1
expect-type (dev)
0.16.0
0.16.0
1.1.0
prettier (dev)
3.4.2
3.5.0
3.5.0
tsup (dev)
8.3.5
8.3.6
8.3.6
typescript (dev)
5.7.2
5.7.3
5.7.3

Version Information

The output table shows three version columns:

  • Current: The version currently installed
  • Update: The latest version that satisfies your package.json version range
  • Latest: The latest version published to the registry

Dependency Filters

bun outdated supports searching for outdated dependencies by package names and glob patterns.

To check if specific dependencies are outdated, pass the package names as positional arguments:

$bun outdated eslint-plugin-security eslint-plugin-sonarjs
bun outdated v1.2.18
Package
Current
Update
Latest
eslint-plugin-security (dev)
2.1.1
2.1.1
3.0.1
eslint-plugin-sonarjs (dev)
0.23.0
0.23.0
3.0.1

You can also pass glob patterns to check for outdated packages:

$bun outdated 'eslint*'
bun outdated v1.2.18
Package
Current
Update
Latest
eslint (dev)
8.57.1
8.57.1
9.20.0
eslint-plugin-security (dev)
2.1.1
2.1.1
3.0.1
eslint-plugin-sonarjs (dev)
0.23.0
0.23.0
3.0.1

For example, to check for outdated @types/* packages:

$bun outdated '@types/*'
bun outdated v1.2.18
Package
Current
Update
Latest
@types/bun (dev)
1.2.0
1.2.18
1.2.18

Or to exclude all @types/* packages:

$bun outdated '!@types/*'
bun outdated v1.2.18
Package
Current
Update
Latest
@sinclair/typebox
0.34.15
0.34.16
0.34.16
eslint (dev)
8.57.1
8.57.1
9.20.0
eslint-plugin-security (dev)
2.1.1
2.1.1
3.0.1
eslint-plugin-sonarjs (dev)
0.23.0
0.23.0
3.0.1
expect-type (dev)
0.16.0
0.16.0
1.1.0
prettier (dev)
3.4.2
3.5.0
3.5.0
tsup (dev)
8.3.5
8.3.6
8.3.6
typescript (dev)
5.7.2
5.7.3
5.7.3

Workspace Filters

Use the --filter flag to check for outdated dependencies in a different workspace package:

$bun outdated --filter='@monorepo/types'
bun outdated v1.2.18
Package
Current
Update
Latest
tsup (dev)
8.3.5
8.3.6
8.3.6
typescript (dev)
5.7.2
5.7.3
5.7.3

You can pass multiple --filter flags to check multiple workspaces:

$bun outdated --filter @monorepo/types --filter @monorepo/cli
bun outdated v1.2.18
Package
Current
Update
Latest
eslint (dev)
8.57.1
8.57.1
9.20.0
eslint-plugin-security (dev)
2.1.1
2.1.1
3.0.1
eslint-plugin-sonarjs (dev)
0.23.0
0.23.0
3.0.1
expect-type (dev)
0.16.0
0.16.0
1.1.0
tsup (dev)
8.3.5
8.3.6
8.3.6
typescript (dev)
5.7.2
5.7.3
5.7.3

You can also pass glob patterns to filter by workspace names:

$bun outdated --filter='@monorepo/{types,cli}'
bun outdated v1.2.18
Package
Current
Update
Latest
eslint (dev)
8.57.1
8.57.1
9.20.0
eslint-plugin-security (dev)
2.1.1
2.1.1
3.0.1
eslint-plugin-sonarjs (dev)
0.23.0
0.23.0
3.0.1
expect-type (dev)
0.16.0
0.16.0
1.1.0
tsup (dev)
8.3.5
8.3.6
8.3.6
typescript (dev)
5.7.2
5.7.3
5.7.3

CLI Usage

$bun outdated filter

Flags

General Options

-c,--config=<val>
Specify path to config file (bunfig.toml)
--cwd=<val>
Set a specific cwd
-h,--help
Print this help menu
-F,--filter=<val>
Display outdated dependencies for each matching workspace

Output & Logging

--silent
Don't log anything
--verbose
Excessively verbose logging
--no-progress
Disable the progress bar
--no-summary
Don't print a summary

Dependency Scope & Target

-p,--production
Don't install devDependencies
--omit=<val>
Exclude 'dev', 'optional', or 'peer' dependencies from install
-g,--global
Install globally

Lockfile & Package.json

-y,--yarn
Write a yarn.lock file (yarn v1)
--no-save
Don't update package.json or save a lockfile
--save
Save to package.json (true by default)
--frozen-lockfile
Disallow changes to lockfile
--save-text-lockfile
Save a text-based lockfile
--lockfile-only
Generate a lockfile without installing dependencies
--trust
Add to trustedDependencies in the project's package.json and install the package(s)

Network & Registry

--ca=<val>
Provide a Certificate Authority signing certificate
--cafile=<val>
The same as `--ca`, but is a file path to the certificate
--registry=<val>
Use a specific registry by default, overriding .npmrc, bunfig.toml and environment variables
--network-concurrency=<val>
Maximum number of concurrent network requests (default 48)

Caching

--cache-dir=<val>
Store & load cached data from a specific directory path
--no-cache
Ignore manifest cache entirely

Execution Behavior

--dry-run
Don't install anything
-f,--force
Always request the latest versions from the registry & reinstall all dependencies
--no-verify
Skip verifying integrity of newly downloaded packages
--ignore-scripts
Skip lifecycle scripts in the project's package.json (dependency scripts are never run)
--backend=<val>
Platform-specific optimizations for installing dependencies. Possible values: "clonefile" (default), "hardlink", "symlink", "copyfile"
--concurrent-scripts=<val>
Maximum number of concurrent jobs for lifecycle scripts (default 5)

Examples

Display outdated dependencies in the current workspace.
bun outdated
Use --filter to include more than one workspace.
bun outdated --filter="*"
bun outdated --filter="./app/*"
Filter dependencies with name patterns.
bun outdated jquery
bun outdated "is-*"
Full documentation is available at https://bun.sh/docs/cli/outdated.