diff --git a/.changeset/spotty-houses-repeat.md b/.changeset/spotty-houses-repeat.md new file mode 100644 index 0000000000..4b3aa60cb5 --- /dev/null +++ b/.changeset/spotty-houses-repeat.md @@ -0,0 +1,5 @@ +--- +"@pnpm/hooks.read-package-hook": patch +--- + +Write overrides with `file:` scheme to lockfile as-is [#7858](https://github.com/pnpm/pnpm/issues/7858). diff --git a/hooks/read-package-hook/src/createVersionsOverrider.ts b/hooks/read-package-hook/src/createVersionsOverrider.ts index d509abb15a..d976f53301 100644 --- a/hooks/read-package-hook/src/createVersionsOverrider.ts +++ b/hooks/read-package-hook/src/createVersionsOverrider.ts @@ -22,8 +22,7 @@ export function createVersionsOverrider ( } let linkFileTarget: string | undefined if (override.newPref.startsWith('file:')) { - const pkgPath = override.newPref.substring(5) - linkFileTarget = path.isAbsolute(pkgPath) ? pkgPath : path.join(rootDir, pkgPath) + linkFileTarget = override.newPref.substring(5) } return { ...override, diff --git a/hooks/read-package-hook/test/createVersionOverrider.test.ts b/hooks/read-package-hook/test/createVersionOverrider.test.ts index e391b16679..25cf2c4682 100644 --- a/hooks/read-package-hook/test/createVersionOverrider.test.ts +++ b/hooks/read-package-hook/test/createVersionOverrider.test.ts @@ -275,7 +275,7 @@ test('createVersionsOverrider() should work for scoped parent and scoped child', }) }) -test('createVersionsOverrider() overrides dependencies with file', () => { +test('createVersionsOverrider() overrides dependencies with file with relative path', () => { const overrider = createVersionsOverrider({ qar: 'file:../qar', }, process.cwd()) @@ -289,7 +289,7 @@ test('createVersionsOverrider() overrides dependencies with file', () => { name: 'foo', version: '1.2.0', dependencies: { - qar: `file:${path.resolve('../qar')}`, + qar: 'file:../qar', }, }) })