lerna
Version:
Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository
22 lines (21 loc) • 1.08 kB
TypeScript
import { ExecOptions } from "child_process";
export interface UpdateBunLockfileOptions {
rootPath: string;
npmClientArgs: string[];
runScriptsOnLockfileUpdate?: boolean;
execOpts: ExecOptions;
}
/**
* Regenerates the root bun lockfile(s) after package.json versions have been bumped and
* returns the paths that should be staged.
*
* Bun caches workspace package versions from the existing lockfile and does not re-read
* them from package.json, so the stale lockfile(s) must be moved out of the way before
* `bun install --lockfile-only` regenerates them. Depending on the bun version this can
* migrate a legacy binary bun.lockb to the text bun.lock format, so both the removal and
* the regenerated file are returned for staging.
*
* The stale lockfiles are kept as on-disk backups (not just in memory) while bun runs, so
* an interrupted or killed process never destroys the only copy.
*/
export declare function updateBunLockfile({ rootPath, npmClientArgs, runScriptsOnLockfileUpdate, execOpts, }: UpdateBunLockfileOptions): Promise<string[]>;