From 054b4e0622fc6c56f7e3428296289753bcc6353e Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Sun, 14 Aug 2022 01:37:50 +0300 Subject: [PATCH] fix(resolve-dependencies): replace replace-string --- .changeset/good-rings-turn.md | 5 +++++ packages/resolve-dependencies/package.json | 2 +- .../resolve-dependencies/src/encodePkgId.ts | 4 ++-- pnpm-lock.yaml | 22 ++++++++++++------- typings/local.d.ts | 5 +++++ 5 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 .changeset/good-rings-turn.md diff --git a/.changeset/good-rings-turn.md b/.changeset/good-rings-turn.md new file mode 100644 index 0000000000..0f900151a2 --- /dev/null +++ b/.changeset/good-rings-turn.md @@ -0,0 +1,5 @@ +--- +"@pnpm/resolve-dependencies": patch +--- + +Replace replace-string with string.prototype.replaceall. diff --git a/packages/resolve-dependencies/package.json b/packages/resolve-dependencies/package.json index 443ecbc40a..aebdab2aa7 100644 --- a/packages/resolve-dependencies/package.json +++ b/packages/resolve-dependencies/package.json @@ -54,10 +54,10 @@ "promise-share": "^1.0.0", "ramda": "npm:@pnpm/ramda@0.28.1", "rename-overwrite": "^4.0.2", - "replace-string": "^3.1.0", "safe-promise-defer": "^1.0.1", "semver": "^7.3.7", "semver-range-intersect": "^0.3.1", + "string.prototype.replaceall": "1.0.6", "version-selector-type": "^3.0.0" }, "devDependencies": { diff --git a/packages/resolve-dependencies/src/encodePkgId.ts b/packages/resolve-dependencies/src/encodePkgId.ts index 96a2011c43..d0b83bd1f9 100644 --- a/packages/resolve-dependencies/src/encodePkgId.ts +++ b/packages/resolve-dependencies/src/encodePkgId.ts @@ -1,8 +1,8 @@ -import replaceString from 'replace-string' +import replaceAll from 'string.prototype.replaceall' // The only reason package IDs are encoded is to avoid '>' signs. // Otherwise, it would be impossible to split the node ID back to package IDs reliably. // See issue https://github.com/pnpm/pnpm/issues/986 export default function encodePkgId (pkgId: string) { - return replaceString(replaceString(pkgId, '%', '%25'), '>', '%3E') + return replaceAll(replaceAll(pkgId, '%', '%25'), '>', '%3E') } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 25b9939233..e47945b3a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4760,9 +4760,6 @@ importers: rename-overwrite: specifier: ^4.0.2 version: 4.0.2 - replace-string: - specifier: ^3.1.0 - version: 3.1.0 safe-promise-defer: specifier: ^1.0.1 version: 1.0.1 @@ -4772,6 +4769,9 @@ importers: semver-range-intersect: specifier: ^0.3.1 version: 0.3.1 + string.prototype.replaceall: + specifier: 1.0.6 + version: 1.0.6 version-selector-type: specifier: ^3.0.0 version: 3.0.0 @@ -14070,11 +14070,6 @@ packages: engines: {node: '>= 0.10'} dev: true - /replace-string/3.1.0: - resolution: {integrity: sha512-yPpxc4ZR2makceA9hy/jHNqc7QVkd4Je/N0WRHm6bs3PtivPuPynxE5ejU/mp5EhnCv8+uZL7vhz8rkluSlx+Q==} - engines: {node: '>=8'} - dev: false - /request/2.88.0: resolution: {integrity: sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==} engines: {node: '>= 4'} @@ -14779,6 +14774,17 @@ packages: es-abstract: 1.20.1 dev: true + /string.prototype.replaceall/1.0.6: + resolution: {integrity: sha512-OA8VDhE7ssNFlyoDXUHxw6V5cjgPrtosyJKqJX5i1P5tV9eUynsbhx1yz0g+Ye4fjFwAxhKLxt8GSRx2Aqc+Sw==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.1 + get-intrinsic: 1.1.2 + has-symbols: 1.0.3 + is-regex: 1.1.4 + dev: false + /string.prototype.trimend/1.0.5: resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} dependencies: diff --git a/typings/local.d.ts b/typings/local.d.ts index d28ec63312..5244509f6f 100644 --- a/typings/local.d.ts +++ b/typings/local.d.ts @@ -140,3 +140,8 @@ declare module 'decompress-maybe' { declare module 'patch-package/dist/applyPatches' { export function applyPatch (opts: any): boolean } + +declare module 'string.prototype.replaceall' { + const anything: any + export = anything +}