bun-types
Version:
Type definitions and documentation for Bun, an incredibly fast JavaScript runtime
65 lines (42 loc) • 1.78 kB
text/mdx
---
title: "Lockfile"
description: "Bun's lockfile format and configuration"
---
Running `bun install` will create a lockfile called `bun.lock`.
#### Should it be committed to git?
Yes
#### Generate a lockfile without installing?
To generate a lockfile without installing to `node_modules` you can use the `--lockfile-only` flag. The lockfile will always be saved to disk, even if it is up-to-date with the `package.json`(s) for your project.
```bash terminal icon="terminal"
bun install --lockfile-only
```
<Note>
Using `--lockfile-only` will still populate the global install cache with registry metadata and git/tarball
dependencies.
</Note>
#### Can I opt out?
To install without creating a lockfile:
```bash terminal icon="terminal"
bun install --no-save
```
To install a Yarn lockfile _in addition_ to `bun.lock`.
<CodeGroup>
```bash terminal icon="terminal"
bun install --yarn
```
```toml bunfig.toml icon="settings"
[install.lockfile]
# whether to save a non-Bun lockfile alongside bun.lock
# only "yarn" is supported
print = "yarn"
```
</CodeGroup>
#### Text-based lockfile
Bun v1.2 changed the default lockfile format to the text-based `bun.lock`. Existing binary `bun.lockb` lockfiles can be migrated to the new format by running `bun install --save-text-lockfile --frozen-lockfile --lockfile-only` and deleting `bun.lockb`.
More information about the new lockfile format can be found on [our blogpost](https://bun.com/blog/bun-lock-text-lockfile).
#### Automatic lockfile migration
When running `bun install` in a project without a `bun.lock`, Bun automatically migrates existing lockfiles:
- `yarn.lock` (v1)
- `package-lock.json` (npm)
- `pnpm-lock.yaml` (pnpm)
The original lockfile is preserved and can be removed manually after verification.