.npmrc files, so you can reuse your existing registry and scope configuration.
We recommend migrating your
.npmrc file to Bun’s bunfig.toml format, which supports more
options, including Bun-specific ones.Supported options
Set the default registry
Bun resolves packages from the default registry, which isnpm’s official registry (https://registry.npmjs.org/).
To change it, set the registry option in .npmrc:
.npmrc
bunfig.toml option is install.registry:
bunfig.toml
Set the registry for a specific scope
@<scope>:registry sets the registry for a specific scope:
.npmrc
bunfig.toml option is to add a key in install.scopes:
bunfig.toml
Configure options for a specific registry
//<registry_url>/:<key>=<value> sets options for a specific registry:
.npmrc
_authTokenusername_password(base64 encoded password)_auth(base64 encoded username:password, for examplebtoa(username + ":" + password))email
bunfig.toml option is to add a key in install.scopes:
bunfig.toml
link-workspace-packages: Control workspace package installation
Controls how workspace packages are installed when available locally:
.npmrc
bunfig.toml option is install.linkWorkspacePackages:
bunfig.toml
save-exact: Save exact versions
Always saves exact versions without the ^ prefix:
.npmrc
bunfig.toml option is install.exact:
bunfig.toml
ignore-scripts: Skip lifecycle scripts
Prevents running lifecycle scripts during installation:
.npmrc
--ignore-scripts flag with bun install.
dry-run: Preview changes without installing
Shows what would be installed without installing anything:
.npmrc
bunfig.toml option is install.dryRun:
bunfig.toml
cache: Configure cache directory
Set the cache directory path, or disable caching:
.npmrc
bunfig.toml option is install.cache:
bunfig.toml
ca and cafile: Configure CA certificates
Configure custom CA certificates for registry connections:
.npmrc
omit and include: Control dependency types
Control which dependency types are installed:
.npmrc
dev, peer, optional
install-strategy and node-linker: Installation strategy
Control how packages are laid out in node_modules. For compatibility with other package managers, Bun accepts both npm’s install-strategy and pnpm/yarn’s node-linker. See isolated installs for how the hoisted and isolated layouts differ.
npm’s install-strategy:
.npmrc
node-linker:
node-linker controls the installation mode. Bun accepts values from both pnpm and yarn:
| Value | Description | Accepted by |
|---|---|---|
isolated | Symlinked structure with isolated dependencies | pnpm |
hoisted | Flat node_modules structure | pnpm |
pnpm | Symlinked structure (same as isolated) | yarn |
node-modules | Flat node_modules structure (same as hoisted) | yarn |
.npmrc
public-hoist-pattern and hoist-pattern: Control hoisting
Control which packages are hoisted to the root node_modules:
.npmrc