diff --git a/.changeset/polite-dots-reply.md b/.changeset/polite-dots-reply.md new file mode 100644 index 0000000000..daf6542ce6 --- /dev/null +++ b/.changeset/polite-dots-reply.md @@ -0,0 +1,5 @@ +--- +"dependency-path": patch +--- + +Don't use ":" in path to dependency. diff --git a/packages/dependency-path/src/index.ts b/packages/dependency-path/src/index.ts index b4bdeab1a3..7c057d4ead 100644 --- a/packages/dependency-path/src/index.ts +++ b/packages/dependency-path/src/index.ts @@ -148,5 +148,5 @@ function depPathToFilenameUnescaped (depPath: string, lockfileDir: string) { } const absolutePath = normalize(path.join(lockfileDir, depPath.slice(5))) - return `local#${absolutePath}` + return `local#${absolutePath.replace(':', '#')}` } diff --git a/packages/dependency-path/test/index.ts b/packages/dependency-path/test/index.ts index ee3241b9b9..debe295f47 100644 --- a/packages/dependency-path/test/index.ts +++ b/packages/dependency-path/test/index.ts @@ -125,6 +125,7 @@ test('depPathToFilename()', () => { const filename = depPathToFilename('file:./test/foo-1.0.0.tgz_foo@2.0.0', process.cwd()) expect(filename).toMatch(/^local#.*#foo-1\.0\.0\.tgz_foo@2\.0\.0$/) + expect(filename).not.toContain(':') expect(depPathToFilename('abcd/'.repeat(200), process.cwd())).toBe('abcd#abcd#abcd#abcd#abcd#abcd#abcd#abcd#abcd#abcd#_36cae148b21d1f0b46577e42f8f4dbae') })