.npmrc files, allowing you to reuse existing registry/scope configurations.
We recommend migrating your
.npmrc file to Bun’s bunfig.toml format, as it provides more
flexible options and can let you configure Bun-specific options.Supported options
Set the default registry
The default registry is used to resolve packages, its default value isnpm’s official registry (https://registry.npmjs.org/).
To change it, you can set the registry option in .npmrc:
.npmrc
bunfig.toml option is install.registry:
bunfig.toml
Set the registry for a specific scope
@<scope>:registry allows you to set 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> allows you to set options for a specific registry:
.npmrc
_authTokenusername_password(base64 encoded password)_auth(base64 encoded username:password, e.g.btoa(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 actually installing:
.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 installed in node_modules. Bun supports two different configuration options for compatibility with different package managers.
npm’s install-strategy:
.npmrc
node-linker:
The node-linker option controls the installation mode. Bun supports 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