From 800fb2836c809d1ffaa92631ac304ba63fa24ca2 Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Mon, 21 Feb 2022 22:56:04 +0200 Subject: [PATCH] fix: ignore case, when verifying package name in the store (#4368) close #4367 --- .changeset/brave-ties-begin.md | 6 +++++ .../package-requester/src/packageRequester.ts | 2 +- packages/package-requester/test/index.ts | 22 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 .changeset/brave-ties-begin.md diff --git a/.changeset/brave-ties-begin.md b/.changeset/brave-ties-begin.md new file mode 100644 index 0000000000..9e904a35fa --- /dev/null +++ b/.changeset/brave-ties-begin.md @@ -0,0 +1,6 @@ +--- +"@pnpm/package-requester": patch +"pnpm": patch +--- + +Ignore case, when verifying package name in the store [#4367](https://github.com/pnpm/pnpm/issues/4367). diff --git a/packages/package-requester/src/packageRequester.ts b/packages/package-requester/src/packageRequester.ts index 1742bc4c0a..01ce11581b 100644 --- a/packages/package-requester/src/packageRequester.ts +++ b/packages/package-requester/src/packageRequester.ts @@ -446,7 +446,7 @@ function fetchToStore ( ( pkgFilesIndex.name != null && opts.pkg.name != null && - pkgFilesIndex.name !== opts.pkg.name + pkgFilesIndex.name.toLowerCase() !== opts.pkg.name.toLowerCase() ) || ( pkgFilesIndex.version != null && diff --git a/packages/package-requester/test/index.ts b/packages/package-requester/test/index.ts index ab65ecf6fa..5049683766 100644 --- a/packages/package-requester/test/index.ts +++ b/packages/package-requester/test/index.ts @@ -943,6 +943,28 @@ test('throw exception if the package data in the store differs from the expected }) await expect(files()).resolves.toStrictEqual(expect.anything()) } + + { + const requestPackage = createPackageRequester({ + resolve, + fetchers, + cafs, + networkConcurrency: 1, + storeDir, + verifyStoreIntegrity: true, + }) + const { files } = requestPackage.fetchPackageToStore({ + force: false, + lockfileDir: tempy.directory(), + pkg: { + name: 'IS-positive', + version: 'v1.0.0', + id: pkgResponse.body.id, + resolution: pkgResponse.body.resolution, + }, + }) + await expect(files()).resolves.toStrictEqual(expect.anything()) + } }) test('the version in the bundled manifest should be normalized', async () => {