fix: frozen lockfile with lockfile v6

This commit is contained in:
Zoltan Kochan
2023-01-10 13:03:06 +02:00
parent 95d82077ea
commit 9a68ebbaea
2 changed files with 12 additions and 4 deletions

View File

@@ -0,0 +1,6 @@
---
"@pnpm/lockfile-file": patch
"pnpm": patch
---
Fix lockfile v6.

View File

@@ -71,13 +71,14 @@ async function writeLockfile (
return rimraf(lockfilePath)
}
const lockfileToStringify = (Boolean(opts?.useInlineSpecifiersFormat) || wantedLockfile['lockfileVersion'].toString().startsWith('6.'))
const isLockfileV6 = wantedLockfile['lockfileVersion'].toString().startsWith('6.')
const lockfileToStringify = (Boolean(opts?.useInlineSpecifiersFormat) || isLockfileV6)
? convertToInlineSpecifiersFormat(wantedLockfile) as unknown as Lockfile
: wantedLockfile
const yamlDoc = yamlStringify(lockfileToStringify, {
forceSharedFormat: opts?.forceSharedFormat === true,
includeEmptySpecifiersField: !opts?.useInlineSpecifiersFormat,
includeEmptySpecifiersField: !opts?.useInlineSpecifiersFormat && !isLockfileV6,
})
return writeFileAtomic(lockfilePath, yamlDoc)
@@ -247,12 +248,13 @@ export async function writeLockfiles (
}
const forceSharedFormat = opts?.forceSharedFormat === true
const wantedLockfileToStringify = (Boolean(opts.useInlineSpecifiersFormat) || opts.wantedLockfile.lockfileVersion.toString().startsWith('6.'))
const isLockfileV6 = opts.wantedLockfile.lockfileVersion.toString().startsWith('6.')
const wantedLockfileToStringify = (Boolean(opts.useInlineSpecifiersFormat) || isLockfileV6)
? convertToInlineSpecifiersFormat(opts.wantedLockfile) as unknown as Lockfile
: opts.wantedLockfile
const normalizeOpts = {
forceSharedFormat,
includeEmptySpecifiersField: !opts.useInlineSpecifiersFormat,
includeEmptySpecifiersField: !opts.useInlineSpecifiersFormat && !isLockfileV6,
}
const yamlDoc = yamlStringify(wantedLockfileToStringify, normalizeOpts)