diff --git a/.changeset/strange-ants-remain.md b/.changeset/strange-ants-remain.md new file mode 100644 index 00000000000..c11fe74723c --- /dev/null +++ b/.changeset/strange-ants-remain.md @@ -0,0 +1,6 @@ +--- +"pnpm": patch +"@pnpm/resolve-dependencies": patch +--- + +When the same package is found several times in the dependency graph, correctly autoinstall its missing peer dependencies at all times [#4820](https://github.com/pnpm/pnpm/issues/4820). diff --git a/package.json b/package.json index f072f478227..1769989b168 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "preinstall": "npx only-allow pnpm", "prepare": "husky install", "pretest": "pnpm run compile-only && pnpm --dir=fixtures run prepareFixtures", - "lint": "pnpm lint:meta && syncpack list-mismatches && eslint **/src/**/*.ts **/test/**/*.ts", + "lint": "pnpm lint:meta && syncpack list-mismatches && pnpm run lint:ts", + "lint:ts": "eslint **/src/**/*.ts **/test/**/*.ts", "test-main": "pnpm pretest && pnpm lint --quiet && run-p -r verdaccio test-pkgs-main", "remove-temp-dir": "shx rm -rf ../pnpm_tmp", "test-pkgs-main": "pnpm remove-temp-dir && cross-env PNPM_REGISTRY_MOCK_UPLINK=http://localhost:7348 pnpm --filter=./packages/** --filter=./privatePackages/** run --no-sort --workspace-concurrency=2 _test", @@ -37,7 +38,7 @@ "@commitlint/prompt-cli": "^16.3.0", "@pnpm/eslint-config": "workspace:*", "@pnpm/meta-updater": "0.0.6", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@pnpm/tsconfig": "workspace:*", "@types/jest": "^27.5.2", "@types/node": "^14.18.20", diff --git a/packages/core/package.json b/packages/core/package.json index d1b52e186cf..8f2a9e38379 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -75,7 +75,7 @@ "@pnpm/logger": "^4.0.0", "@pnpm/package-store": "workspace:12.1.15", "@pnpm/prepare": "workspace:*", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@pnpm/store-path": "^5.0.0", "@pnpm/test-fixtures": "workspace:*", "@types/fs-extra": "^9.0.13", diff --git a/packages/core/test/install/autoInstallPeers.ts b/packages/core/test/install/autoInstallPeers.ts index 217f31ecd86..b7c4dab0ceb 100644 --- a/packages/core/test/install/autoInstallPeers.ts +++ b/packages/core/test/install/autoInstallPeers.ts @@ -1,6 +1,6 @@ import { addDependenciesToPackage } from '@pnpm/core' import { prepareEmpty, preparePackages } from '@pnpm/prepare' -import { addDistTag } from '@pnpm/registry-mock' +import { addDistTag, REGISTRY_MOCK_PORT } from '@pnpm/registry-mock' import { testDefaults } from '../utils' test('auto install non-optional peer dependencies', async () => { @@ -61,3 +61,80 @@ test('don\'t fail on linked package, when peers are auto installed', async () => const updatedManifest = await addDependenciesToPackage(pkgManifest, ['peer-b'], await testDefaults({ autoInstallPeers: true })) expect(Object.keys(updatedManifest.dependencies ?? {})).toStrictEqual(['linked', 'peer-b']) }) + +test('hoist a peer dependency in order to reuse it by other dependencies, when it satisfies them', async () => { + const project = prepareEmpty() + await addDependenciesToPackage({}, ['@pnpm/xyz-parent-parent-parent-parent', '@pnpm/xyz-parent-parent-with-xyz'], await testDefaults({ autoInstallPeers: true })) + const lockfile = await project.readLockfile() + expect(Object.keys(lockfile.packages)).toStrictEqual([ + '/@pnpm/x/1.0.0', + '/@pnpm/xyz-parent-parent-parent-parent/1.0.0_e5suan7fvtov6fikg25btc2odi', + '/@pnpm/xyz-parent-parent-parent/1.0.0_e5suan7fvtov6fikg25btc2odi', + '/@pnpm/xyz-parent-parent-with-xyz/1.0.0', + '/@pnpm/xyz-parent-parent/1.0.0_e5suan7fvtov6fikg25btc2odi', + '/@pnpm/xyz-parent/1.0.0_e5suan7fvtov6fikg25btc2odi', + '/@pnpm/xyz/1.0.0_e5suan7fvtov6fikg25btc2odi', + '/@pnpm/y/1.0.0', + '/@pnpm/z/1.0.0', + ]) +}) + +test('don\'t hoist a peer dependency when there is a root dependency by that name', async () => { + const project = prepareEmpty() + await addDependenciesToPackage({}, [ + '@pnpm/xyz-parent-parent-parent-parent', + '@pnpm/xyz-parent-parent-with-xyz', + '@pnpm/x@npm:peer-a@1.0.0', + `http://localhost:${REGISTRY_MOCK_PORT}/@pnpm/y/-/y-2.0.0.tgz`, + ], await testDefaults({ autoInstallPeers: true })) + const lockfile = await project.readLockfile() + expect(Object.keys(lockfile.packages)).toStrictEqual([ + '/@pnpm/x/1.0.0', + '/@pnpm/xyz-parent-parent-parent-parent/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz-parent-parent-parent/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz-parent-parent-with-xyz/1.0.0', + '/@pnpm/xyz-parent-parent/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz-parent/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz-parent/1.0.0_e5suan7fvtov6fikg25btc2odi', + '/@pnpm/xyz/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz/1.0.0_e5suan7fvtov6fikg25btc2odi', + '/@pnpm/y/1.0.0', + '/@pnpm/y/2.0.0', + '/@pnpm/z/1.0.0', + '/peer-a/1.0.0', + ]) +}) + +test('don\'t auto-install a peer dependency, when that dependency is in the root', async () => { + const project = prepareEmpty() + await addDependenciesToPackage({}, [ + '@pnpm/xyz-parent-parent-parent-parent', + '@pnpm/x@npm:peer-a@1.0.0', + `http://localhost:${REGISTRY_MOCK_PORT}/@pnpm/y/-/y-2.0.0.tgz`, + ], await testDefaults({ autoInstallPeers: true })) + const lockfile = await project.readLockfile() + expect(Object.keys(lockfile.packages)).toStrictEqual([ + '/@pnpm/xyz-parent-parent-parent-parent/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz-parent-parent-parent/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz-parent-parent/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz-parent/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/xyz/1.0.0_c3hmehglzcfufab5hu6m6d76li', + '/@pnpm/y/2.0.0', + '/@pnpm/z/1.0.0', + '/peer-a/1.0.0', + ]) +}) + +test('don\'t install the same missing peer dependency twice', async () => { + await addDistTag({ package: '@pnpm/y', version: '2.0.0', distTag: 'latest' }) + const project = prepareEmpty() + await addDependenciesToPackage({}, [ + 'has-has-y-peer-peer', + ], await testDefaults({ autoInstallPeers: true })) + const lockfile = await project.readLockfile() + expect(Object.keys(lockfile.packages)).toStrictEqual([ + '/@pnpm/y/1.0.0', + '/has-has-y-peer-peer/1.0.0_c7ewbmm644hn6ztbh6kbjiyhkq', + '/has-y-peer/1.0.0_@pnpm+y@1.0.0', + ]) +}) diff --git a/packages/headless/package.json b/packages/headless/package.json index 19a2c34e0d4..7485d34e5ef 100644 --- a/packages/headless/package.json +++ b/packages/headless/package.json @@ -22,7 +22,7 @@ "@pnpm/package-store": "workspace:12.1.15", "@pnpm/prepare": "workspace:*", "@pnpm/read-projects-context": "workspace:5.0.19", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@pnpm/store-path": "^5.0.0", "@pnpm/test-fixtures": "workspace:*", "@types/fs-extra": "^9.0.13", diff --git a/packages/package-requester/package.json b/packages/package-requester/package.json index 7d263fc705c..6baf88c68d5 100644 --- a/packages/package-requester/package.json +++ b/packages/package-requester/package.json @@ -65,7 +65,7 @@ "@pnpm/logger": "^4.0.0", "@pnpm/package-requester": "workspace:17.0.3", "@pnpm/package-store": "workspace:12.1.15", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@pnpm/test-fixtures": "workspace:*", "@types/normalize-path": "^3.0.0", "@types/ramda": "0.27.39", diff --git a/packages/plugin-commands-installation/package.json b/packages/plugin-commands-installation/package.json index 26b8158ec0f..312e0ec22d1 100644 --- a/packages/plugin-commands-installation/package.json +++ b/packages/plugin-commands-installation/package.json @@ -39,7 +39,7 @@ "@pnpm/modules-yaml": "workspace:9.1.1", "@pnpm/plugin-commands-installation": "workspace:8.4.20", "@pnpm/prepare": "workspace:*", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@pnpm/test-fixtures": "workspace:*", "@types/is-ci": "^3.0.0", "@types/proxyquire": "^1.3.28", diff --git a/packages/plugin-commands-listing/package.json b/packages/plugin-commands-listing/package.json index b994b0603be..5aad3353845 100644 --- a/packages/plugin-commands-listing/package.json +++ b/packages/plugin-commands-listing/package.json @@ -38,7 +38,7 @@ "@pnpm/plugin-commands-installation": "workspace:8.4.20", "@pnpm/plugin-commands-listing": "workspace:4.1.19", "@pnpm/prepare": "workspace:*", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@types/ramda": "0.27.39", "execa": "npm:safe-execa@^0.1.1", "strip-ansi": "^6.0.1", diff --git a/packages/plugin-commands-outdated/package.json b/packages/plugin-commands-outdated/package.json index b2025c91284..cf7b9e5191c 100644 --- a/packages/plugin-commands-outdated/package.json +++ b/packages/plugin-commands-outdated/package.json @@ -38,7 +38,7 @@ "@pnpm/plugin-commands-installation": "workspace:8.4.20", "@pnpm/plugin-commands-outdated": "workspace:5.1.18", "@pnpm/prepare": "workspace:*", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@types/lru-cache": "^5.1.1", "@types/ramda": "0.27.39", "@types/wrap-ansi": "^3.0.0", diff --git a/packages/plugin-commands-publishing/package.json b/packages/plugin-commands-publishing/package.json index 4169dc47156..ac795bb166d 100644 --- a/packages/plugin-commands-publishing/package.json +++ b/packages/plugin-commands-publishing/package.json @@ -39,7 +39,7 @@ "@pnpm/logger": "^4.0.0", "@pnpm/plugin-commands-publishing": "workspace:4.5.12", "@pnpm/prepare": "workspace:*", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@types/cross-spawn": "^6.0.2", "@types/is-ci": "^3.0.0", "@types/is-windows": "^1.0.0", diff --git a/packages/plugin-commands-rebuild/package.json b/packages/plugin-commands-rebuild/package.json index edf1a729b20..3cc4f8e409e 100644 --- a/packages/plugin-commands-rebuild/package.json +++ b/packages/plugin-commands-rebuild/package.json @@ -37,7 +37,7 @@ "@pnpm/logger": "^4.0.0", "@pnpm/plugin-commands-rebuild": "workspace:5.4.25", "@pnpm/prepare": "workspace:*", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@pnpm/test-fixtures": "workspace:*", "@types/ramda": "0.27.39", "@types/semver": "^7.3.9", diff --git a/packages/plugin-commands-script-runners/package.json b/packages/plugin-commands-script-runners/package.json index dab3142b581..dbb17988503 100644 --- a/packages/plugin-commands-script-runners/package.json +++ b/packages/plugin-commands-script-runners/package.json @@ -38,7 +38,7 @@ "@pnpm/logger": "^4.0.0", "@pnpm/plugin-commands-script-runners": "workspace:4.6.14", "@pnpm/prepare": "workspace:*", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@types/is-windows": "^1.0.0", "@types/ramda": "0.27.39", "is-windows": "^1.0.2", diff --git a/packages/plugin-commands-store/package.json b/packages/plugin-commands-store/package.json index 1063e0e77a3..8a59b88f6bf 100644 --- a/packages/plugin-commands-store/package.json +++ b/packages/plugin-commands-store/package.json @@ -38,7 +38,7 @@ "@pnpm/logger": "^4.0.0", "@pnpm/plugin-commands-store": "workspace:4.1.23", "@pnpm/prepare": "workspace:*", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@types/archy": "0.0.31", "@types/ramda": "0.27.39", "@types/ssri": "^7.1.1", diff --git a/packages/pnpm/package.json b/packages/pnpm/package.json index 7e29706f53c..7e096afea59 100644 --- a/packages/pnpm/package.json +++ b/packages/pnpm/package.json @@ -54,7 +54,7 @@ "@pnpm/prepare": "workspace:*", "@pnpm/read-package-json": "workspace:5.0.12", "@pnpm/read-project-manifest": "workspace:2.0.13", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@pnpm/run-npm": "workspace:3.1.1", "@pnpm/store-path": "^5.0.0", "@pnpm/tabtab": "^0.1.2", diff --git a/packages/resolve-dependencies/src/resolveDependencies.ts b/packages/resolve-dependencies/src/resolveDependencies.ts index d4b533e73ea..cbba12ce208 100644 --- a/packages/resolve-dependencies/src/resolveDependencies.ts +++ b/packages/resolve-dependencies/src/resolveDependencies.ts @@ -148,6 +148,10 @@ export interface ResolutionContext { updateMatching?: (pkgName: string) => boolean } +export type MissingPeers = Record + +export type ResolvedPeers = Record + export type PkgAddress = { alias: string depIsLinked: boolean @@ -162,7 +166,8 @@ export type PkgAddress = { version?: string updated: boolean rootDir: string - missingPeers: Record + missingPeers: MissingPeers + resolvedPeers: ResolvedPeers } & ({ isLinkedDependency: true version: string @@ -205,7 +210,7 @@ export interface ResolvedPackage { type ParentPkg = Pick -type ParentPkgAliases = Record +type ParentPkgAliases = Record interface ResolvedDependenciesOptions { currentDepth: number @@ -221,47 +226,88 @@ interface ResolvedDependenciesOptions { workspacePackages?: WorkspacePackages } -type PostponedResolutionFunction = (preferredVersions: PreferredVersions, parentPkgAliases: ParentPkgAliases) => Promise +type PostponedResolutionFunction = (preferredVersions: PreferredVersions, parentPkgAliases: ParentPkgAliases) => Promise<{ + missingPeers: MissingPeers + resolvedPeers: ResolvedPeers +}> -export default async function resolveDependencies ( +export async function resolveRootDependencies ( ctx: ResolutionContext, preferredVersions: PreferredVersions, wantedDependencies: Array, options: ResolvedDependenciesOptions ): Promise> { - let extendedWantedDeps: ExtendedWantedDependency[] = [] - const postponedResolutionsQueue: PostponedResolutionFunction[] = [] - const pkgAddresses: PkgAddress[] = [] + const pkgAddresses: Array = [] + const parentPkgAliases: ParentPkgAliases = {} + for (const wantedDep of wantedDependencies) { + if (wantedDep.alias) { + parentPkgAliases[wantedDep.alias] = true + } + } while (true) { - extendedWantedDeps = getDepsToResolve(wantedDependencies, ctx.wantedLockfile, { - preferredDependencies: options.preferredDependencies, - prefix: ctx.prefix, - proceed: options.proceed || ctx.forceFullResolution, - registries: ctx.registries, - resolvedDependencies: options.resolvedDependencies, + const result = await resolveDependencies(ctx, preferredVersions, wantedDependencies, { + ...options, + parentPkgAliases, }) - const newPkgAddresses = ( - await Promise.all( - extendedWantedDeps.map(async (extendedWantedDep) => resolveDependenciesOfDependency( - postponedResolutionsQueue, - ctx, - preferredVersions, - options, - extendedWantedDep - )) - ) - ).filter(Boolean) as PkgAddress[] - pkgAddresses.push(...newPkgAddresses) + pkgAddresses.push(...result.pkgAddresses) if (!ctx.autoInstallPeers) break - const allMissingPeers = mergePkgsDeps(newPkgAddresses.map(({ missingPeers }) => missingPeers).filter(Boolean)) - if (!Object.keys(allMissingPeers).length) break - wantedDependencies = getNonDevWantedDependencies({ dependencies: allMissingPeers }) + for (const pkgAddress of result.pkgAddresses) { + parentPkgAliases[pkgAddress.alias] = true + } + for (const missingPeerName of Object.keys(result.missingPeers ?? {})) { + parentPkgAliases[missingPeerName] = true + } + // All the missing peers should get installed in the root. + // Otherwise, pending nodes will not work. + // even those peers should be hoisted that are not autoinstalled + for (const [resolvedPeerName, resolvedPeerAddress] of Object.entries(result.resolvedPeers ?? {})) { + if (!parentPkgAliases[resolvedPeerName]) { + pkgAddresses.push(resolvedPeerAddress) + } + } + if (!Object.keys(result.missingPeers).length) break + wantedDependencies = getNonDevWantedDependencies({ dependencies: result.missingPeers }) } + return pkgAddresses +} +interface ResolvedDependenciesResult { + pkgAddresses: Array + missingPeers: MissingPeers + resolvedPeers: ResolvedPeers +} + +export async function resolveDependencies ( + ctx: ResolutionContext, + preferredVersions: PreferredVersions, + wantedDependencies: Array, + options: ResolvedDependenciesOptions +): Promise { + const postponedResolutionsQueue: PostponedResolutionFunction[] = [] + const extendedWantedDeps = getDepsToResolve(wantedDependencies, ctx.wantedLockfile, { + preferredDependencies: options.preferredDependencies, + prefix: ctx.prefix, + proceed: options.proceed || ctx.forceFullResolution, + registries: ctx.registries, + resolvedDependencies: options.resolvedDependencies, + }) + const pkgAddresses = ( + await Promise.all( + extendedWantedDeps.map(async (extendedWantedDep) => resolveDependenciesOfDependency( + postponedResolutionsQueue, + ctx, + preferredVersions, + options, + extendedWantedDep + )) + ) + ).filter(Boolean) as PkgAddress[] const newPreferredVersions = { ...preferredVersions } const newParentPkgAliases = { ...options.parentPkgAliases } for (const pkgAddress of pkgAddresses) { - newParentPkgAliases[pkgAddress.alias] = true + if (newParentPkgAliases[pkgAddress.alias] !== true) { + newParentPkgAliases[pkgAddress.alias] = pkgAddress + } if (pkgAddress.updated) { ctx.updatedSet.add(pkgAddress.alias) } @@ -272,9 +318,25 @@ export default async function resolveDependencies ( } newPreferredVersions[resolvedPackage.name][resolvedPackage.version] = 'version' } - await Promise.all(postponedResolutionsQueue.map(async (postponedResolution) => postponedResolution(newPreferredVersions, newParentPkgAliases))) - - return pkgAddresses + const childrenResults = await Promise.all(postponedResolutionsQueue.map(async (postponedResolution) => postponedResolution(newPreferredVersions, newParentPkgAliases))) + if (!ctx.autoInstallPeers) { + return { + missingPeers: {}, + pkgAddresses, + resolvedPeers: {}, + } + } + const allMissingPeers = mergePkgsDeps( + [ + ...pkgAddresses, + ...childrenResults, + ].map(({ missingPeers }) => missingPeers).filter(Boolean) + ) + return { + missingPeers: allMissingPeers, + pkgAddresses, + resolvedPeers: [...pkgAddresses, ...childrenResults].reduce((acc, { resolvedPeers }) => Object.assign(acc, resolvedPeers), {}), + } } function mergePkgsDeps (pkgsDeps: Array>): Record { @@ -401,7 +463,11 @@ async function resolveChildren ( ).length ) const wantedDependencies = getNonDevWantedDependencies(parentPkg.pkg) - const children = await resolveDependencies(ctx, preferredVersions, wantedDependencies, + const { + pkgAddresses, + missingPeers, + resolvedPeers, + } = await resolveDependencies(ctx, preferredVersions, wantedDependencies, { currentDepth: parentDepth + 1, parentPkg, @@ -415,12 +481,12 @@ async function resolveChildren ( workspacePackages, } ) - ctx.childrenByParentDepPath[parentPkg.depPath] = children.map((child) => ({ + ctx.childrenByParentDepPath[parentPkg.depPath] = pkgAddresses.map((child) => ({ alias: child.alias, depPath: child.depPath, })) ctx.dependenciesTree[parentPkg.nodeId] = { - children: children.reduce((chn, child) => { + children: pkgAddresses.reduce((chn, child) => { chn[child.alias] = child['nodeId'] ?? child.pkgId return chn }, {}), @@ -428,6 +494,10 @@ async function resolveChildren ( installable: parentPkg.installable, resolvedPackage: ctx.resolvedPackagesByDepPath[parentPkg.depPath], } + return { + missingPeers, + resolvedPeers, + } } function getDepsToResolve ( @@ -884,7 +954,7 @@ async function resolveDependency ( normalizedPref: options.currentDepth === 0 ? pkgResponse.body.normalizedPref : undefined, pkgId: pkgResponse.body.id, rootDir, - missingPeers: getMissingPeers(pkg, options.parentPkgAliases), + ...getMissingPeers(pkg, options.parentPkgAliases), // Next fields are actually only needed when isNew = true installable, @@ -906,14 +976,19 @@ async function getManifestFromResponse ( } } -function getMissingPeers (pkg: PackageManifest, parentPkgAliases: ParentPkgAliases): Record { - const missingPeers = {} as Record +function getMissingPeers (pkg: PackageManifest, parentPkgAliases: ParentPkgAliases) { + const missingPeers = {} as MissingPeers + const resolvedPeers = {} as ResolvedPeers for (const [peerName, peerVersion] of Object.entries(pkg.peerDependencies ?? {})) { - if (!parentPkgAliases[peerName] && !pkg.peerDependenciesMeta?.[peerName]?.optional) { + if (parentPkgAliases[peerName]) { + if (parentPkgAliases[peerName] !== true) { + resolvedPeers[peerName] = parentPkgAliases[peerName] as PkgAddress + } + } else if (!pkg.peerDependenciesMeta?.[peerName]?.optional) { missingPeers[peerName] = peerVersion } } - return missingPeers + return { missingPeers, resolvedPeers } } function pkgIsLeaf (pkg: PackageManifest) { diff --git a/packages/resolve-dependencies/src/resolveDependencyTree.ts b/packages/resolve-dependencies/src/resolveDependencyTree.ts index 3c10be99a6f..0335efc8c11 100644 --- a/packages/resolve-dependencies/src/resolveDependencyTree.ts +++ b/packages/resolve-dependencies/src/resolveDependencyTree.ts @@ -12,12 +12,13 @@ import { createNodeId, nodeIdContainsSequence, } from './nodeIdUtils' -import resolveDependencies, { +import { ChildrenByParentDepPath, DependenciesTree, LinkedDependency, PendingNode, PkgAddress, + resolveRootDependencies, ResolvedPackage, ResolvedPackagesByDepPath, } from './resolveDependencies' @@ -147,7 +148,7 @@ export default async function ( updateDepth: -1, workspacePackages: opts.workspacePackages, } - directDepsByImporterId[importer.id] = await resolveDependencies( + directDepsByImporterId[importer.id] = await resolveRootDependencies( resolveCtx, importer.preferredVersions ?? {}, importer.wantedDependencies, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68daf6309e4..9a37dde9d43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,7 +42,7 @@ importers: '@commitlint/prompt-cli': ^16.3.0 '@pnpm/eslint-config': workspace:* '@pnpm/meta-updater': 0.0.6 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/tsconfig': workspace:* '@types/jest': ^27.5.2 '@types/node': ^14.18.20 @@ -73,7 +73,7 @@ importers: '@commitlint/prompt-cli': 16.3.0 '@pnpm/eslint-config': link:utils/eslint-config '@pnpm/meta-updater': 0.0.6 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/tsconfig': link:utils/tsconfig '@types/jest': 27.5.2 '@types/node': 14.18.20 @@ -426,7 +426,7 @@ importers: '@pnpm/read-modules-dir': workspace:3.0.1 '@pnpm/read-package-json': workspace:5.0.12 '@pnpm/read-project-manifest': workspace:2.0.13 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/remove-bins': workspace:2.0.14 '@pnpm/resolve-dependencies': workspace:25.1.2 '@pnpm/resolver-base': workspace:8.1.6 @@ -534,7 +534,7 @@ importers: '@pnpm/logger': 4.0.0 '@pnpm/package-store': link:../package-store '@pnpm/prepare': link:../../privatePackages/prepare - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/store-path': 5.0.0 '@pnpm/test-fixtures': link:../../privatePackages/test-fixtures '@types/fs-extra': 9.0.13 @@ -1100,7 +1100,7 @@ importers: '@pnpm/read-project-manifest': workspace:2.0.13 '@pnpm/read-projects-context': workspace:5.0.19 '@pnpm/real-hoist': workspace:0.1.10 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/store-controller-types': workspace:12.0.0 '@pnpm/store-path': ^5.0.0 '@pnpm/symlink-dependency': workspace:4.0.13 @@ -1161,7 +1161,7 @@ importers: '@pnpm/package-store': link:../package-store '@pnpm/prepare': link:../../privatePackages/prepare '@pnpm/read-projects-context': link:../read-projects-context - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/store-path': 5.0.0 '@pnpm/test-fixtures': link:../../privatePackages/test-fixtures '@types/fs-extra': 9.0.13 @@ -1850,7 +1850,7 @@ importers: '@pnpm/package-requester': workspace:17.0.3 '@pnpm/package-store': workspace:12.1.15 '@pnpm/read-package-json': workspace:5.0.12 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/resolver-base': workspace:8.1.6 '@pnpm/store-controller-types': workspace:12.0.0 '@pnpm/test-fixtures': workspace:* @@ -1901,7 +1901,7 @@ importers: '@pnpm/logger': 4.0.0 '@pnpm/package-requester': 'link:' '@pnpm/package-store': link:../package-store - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/test-fixtures': link:../../privatePackages/test-fixtures '@types/normalize-path': 3.0.0 '@types/ramda': 0.27.39 @@ -2162,7 +2162,7 @@ importers: '@pnpm/pnpmfile': workspace:1.2.6 '@pnpm/prepare': workspace:* '@pnpm/read-project-manifest': workspace:2.0.13 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/resolver-base': workspace:8.1.6 '@pnpm/semver-diff': ^1.1.0 '@pnpm/sort-packages': workspace:2.1.8 @@ -2259,7 +2259,7 @@ importers: '@pnpm/modules-yaml': link:../modules-yaml '@pnpm/plugin-commands-installation': 'link:' '@pnpm/prepare': link:../../privatePackages/prepare - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/test-fixtures': link:../../privatePackages/test-fixtures '@types/is-ci': 3.0.0 '@types/proxyquire': 1.3.28 @@ -2290,7 +2290,7 @@ importers: '@pnpm/plugin-commands-installation': workspace:8.4.20 '@pnpm/plugin-commands-listing': workspace:4.1.19 '@pnpm/prepare': workspace:* - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/types': workspace:7.10.0 '@types/ramda': 0.27.39 execa: npm:safe-execa@^0.1.1 @@ -2314,7 +2314,7 @@ importers: '@pnpm/plugin-commands-installation': link:../plugin-commands-installation '@pnpm/plugin-commands-listing': 'link:' '@pnpm/prepare': link:../../privatePackages/prepare - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@types/ramda': 0.27.39 execa: /safe-execa/0.1.1 strip-ansi: 6.0.1 @@ -2338,7 +2338,7 @@ importers: '@pnpm/plugin-commands-installation': workspace:8.4.20 '@pnpm/plugin-commands-outdated': workspace:5.1.18 '@pnpm/prepare': workspace:* - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/semver-diff': ^1.1.0 '@pnpm/store-path': ^5.0.0 '@pnpm/types': workspace:7.10.0 @@ -2381,7 +2381,7 @@ importers: '@pnpm/plugin-commands-installation': link:../plugin-commands-installation '@pnpm/plugin-commands-outdated': 'link:' '@pnpm/prepare': link:../../privatePackages/prepare - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@types/lru-cache': 5.1.1 '@types/ramda': 0.27.39 '@types/wrap-ansi': 3.0.0 @@ -2401,7 +2401,7 @@ importers: '@pnpm/pick-registry-for-package': workspace:2.0.11 '@pnpm/plugin-commands-publishing': workspace:4.5.12 '@pnpm/prepare': workspace:* - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/resolver-base': workspace:8.1.6 '@pnpm/run-npm': workspace:3.1.1 '@pnpm/sort-packages': workspace:2.1.8 @@ -2464,7 +2464,7 @@ importers: '@pnpm/logger': 4.0.0 '@pnpm/plugin-commands-publishing': 'link:' '@pnpm/prepare': link:../../privatePackages/prepare - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@types/cross-spawn': 6.0.2 '@types/is-ci': 3.0.0 '@types/is-windows': 1.0.0 @@ -2501,7 +2501,7 @@ importers: '@pnpm/normalize-registries': workspace:2.0.13 '@pnpm/plugin-commands-rebuild': workspace:5.4.25 '@pnpm/prepare': workspace:* - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/sort-packages': workspace:2.1.8 '@pnpm/store-connection-manager': workspace:3.2.17 '@pnpm/store-controller-types': workspace:12.0.0 @@ -2561,7 +2561,7 @@ importers: '@pnpm/logger': 4.0.0 '@pnpm/plugin-commands-rebuild': 'link:' '@pnpm/prepare': link:../../privatePackages/prepare - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/test-fixtures': link:../../privatePackages/test-fixtures '@types/ramda': 0.27.39 '@types/semver': 7.3.9 @@ -2587,7 +2587,7 @@ importers: '@pnpm/prepare': workspace:* '@pnpm/read-package-json': workspace:5.0.12 '@pnpm/read-project-manifest': workspace:2.0.13 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/sort-packages': workspace:2.1.8 '@pnpm/store-path': ^5.0.0 '@pnpm/types': workspace:7.10.0 @@ -2630,7 +2630,7 @@ importers: '@pnpm/logger': 4.0.0 '@pnpm/plugin-commands-script-runners': 'link:' '@pnpm/prepare': link:../../privatePackages/prepare - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@types/is-windows': 1.0.0 '@types/ramda': 0.27.39 is-windows: 1.0.2 @@ -2724,7 +2724,7 @@ importers: '@pnpm/pick-registry-for-package': workspace:2.0.11 '@pnpm/plugin-commands-store': workspace:4.1.23 '@pnpm/prepare': workspace:* - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/store-connection-manager': workspace:3.2.17 '@pnpm/store-controller-types': workspace:12.0.0 '@pnpm/store-path': ^5.0.0 @@ -2771,7 +2771,7 @@ importers: '@pnpm/logger': 4.0.0 '@pnpm/plugin-commands-store': 'link:' '@pnpm/prepare': link:../../privatePackages/prepare - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@types/archy': 0.0.31 '@types/ramda': 0.27.39 '@types/ssri': 7.1.1 @@ -2818,7 +2818,7 @@ importers: '@pnpm/prepare': workspace:* '@pnpm/read-package-json': workspace:5.0.12 '@pnpm/read-project-manifest': workspace:2.0.13 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/run-npm': workspace:3.1.1 '@pnpm/store-path': ^5.0.0 '@pnpm/tabtab': ^0.1.2 @@ -2908,7 +2908,7 @@ importers: '@pnpm/prepare': link:../../privatePackages/prepare '@pnpm/read-package-json': link:../read-package-json '@pnpm/read-project-manifest': link:../read-project-manifest - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/run-npm': link:../run-npm '@pnpm/store-path': 5.0.0 '@pnpm/tabtab': 0.1.2 @@ -3478,7 +3478,7 @@ importers: '@pnpm/constants': workspace:5.0.0 '@pnpm/lockfile-types': workspace:3.2.0 '@pnpm/modules-yaml': workspace:9.1.1 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/types': workspace:7.10.0 '@types/is-windows': ^1.0.0 '@types/isexe': 2.0.0 @@ -3493,7 +3493,7 @@ importers: '@pnpm/constants': link:../../packages/constants '@pnpm/lockfile-types': link:../../packages/lockfile-types '@pnpm/modules-yaml': link:../../packages/modules-yaml - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 '@pnpm/types': link:../../packages/types is-windows: 1.0.2 isexe: 2.0.0 @@ -3510,11 +3510,11 @@ importers: specifiers: '@pnpm/assert-store': workspace:* '@pnpm/cafs': workspace:3.0.16 - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 path-exists: ^4.0.0 dependencies: '@pnpm/cafs': link:../../packages/cafs - '@pnpm/registry-mock': 2.17.0 + '@pnpm/registry-mock': 2.19.0 path-exists: 4.0.0 devDependencies: '@pnpm/assert-store': 'link:' @@ -4382,10 +4382,10 @@ packages: '@commitlint/execute-rule': 16.2.1 '@commitlint/resolve-extends': 16.2.1 '@commitlint/types': 16.2.1 - '@types/node': 14.18.20 + '@types/node': 17.0.40 chalk: 4.1.2 cosmiconfig: 7.0.1 - cosmiconfig-typescript-loader: 2.0.1_shsc4a2llmgvjch3blkloxuura + cosmiconfig-typescript-loader: 2.0.1_kpmkddh2vyhagwjrjr3dqgt7bq lodash: 4.17.21 resolve-from: 5.0.0 typescript: 4.6.4 @@ -4549,7 +4549,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 chalk: 4.1.2 jest-message-util: 28.1.0 jest-util: 28.1.0 @@ -4570,14 +4570,14 @@ packages: '@jest/test-result': 28.1.0 '@jest/transform': 28.1.0 '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.3.1 exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 28.0.2 - jest-config: 28.1.0_7ra7tfozgghv4gj6xggcq74hbe + jest-config: 28.1.0_2cdaztp7eenh32anyybg24itfi jest-haste-map: 28.1.0 jest-message-util: 28.1.0 jest-regex-util: 28.0.2 @@ -4605,7 +4605,7 @@ packages: dependencies: '@jest/fake-timers': 28.1.0 '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 jest-mock: 28.1.0 dev: true @@ -4632,7 +4632,7 @@ packages: dependencies: '@jest/types': 28.1.0 '@sinonjs/fake-timers': 9.1.2 - '@types/node': 14.18.20 + '@types/node': 17.0.40 jest-message-util: 28.1.0 jest-mock: 28.1.0 jest-util: 28.1.0 @@ -4664,7 +4664,7 @@ packages: '@jest/transform': 28.1.0 '@jest/types': 28.1.0 '@jridgewell/trace-mapping': 0.3.13 - '@types/node': 14.18.20 + '@types/node': 17.0.40 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -4752,7 +4752,7 @@ packages: '@jest/schemas': 28.0.2 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 14.18.20 + '@types/node': 17.0.40 '@types/yargs': 17.0.10 chalk: 4.1.2 dev: true @@ -5149,8 +5149,8 @@ packages: strip-bom: 4.0.0 dev: true - /@pnpm/registry-mock/2.17.0: - resolution: {integrity: sha512-vZuWSJaixugxz0Y39VIEKeyYm69TG3/8qXkgMXjLjRWtE/4EezKKGfiAEhuJasSdvVoYUQWY2Ng0nEkWihTN9w==} + /@pnpm/registry-mock/2.19.0: + resolution: {integrity: sha512-nPrpSr6PWl150NIY26FsXKqlk4NL6dR29HC+4H4pVUS6GZloQU/NUlwvLCJ6FrV16YyV6cOvbDMCxVjri1rltg==} engines: {node: '>=10.13'} hasBin: true dependencies: @@ -5300,7 +5300,7 @@ packages: /@types/adm-zip/0.4.34: resolution: {integrity: sha512-8ToYLLAYhkRfcmmljrKi22gT2pqu7hGMDtORP1emwIEGmgUTZOsaDjzWFzW5N2frcFRz/50CWt4zA1CxJ73pmQ==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.38 dev: true /@types/archy/0.0.31: @@ -5343,7 +5343,7 @@ packages: /@types/byline/4.2.33: resolution: {integrity: sha512-LJYez7wrWcJQQDknqZtrZuExMGP0IXmPl1rOOGDqLbu+H7UNNRfKNuSxCBcQMLH1EfjeWidLedC/hCc5dDfBog==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 dev: true /@types/cacheable-request/6.0.2: @@ -5351,19 +5351,19 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 17.0.39 + '@types/node': 17.0.40 '@types/responselike': 1.0.0 /@types/concat-stream/1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 dev: true /@types/cross-spawn/6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.38 dev: true /@types/emscripten/1.39.6: @@ -5372,20 +5372,20 @@ packages: /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 dev: true /@types/glob/7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 3.0.5 - '@types/node': 17.0.39 + '@types/node': 14.18.20 dev: true /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.38 dev: true /@types/hosted-git-info/3.0.2: @@ -5417,7 +5417,7 @@ packages: /@types/isexe/2.0.0: resolution: {integrity: sha512-QuPJ6xd8TLfMy6l/pJ+oeRHYG8efIzR8WeyvFr/k4zbhcRqa+SQiVgUUb3D3PG3Si+XVuxn8RToCcfNCdFqr3g==} dependencies: - '@types/node': 14.18.20 + '@types/node': 17.0.40 dev: true /@types/istanbul-lib-coverage/2.0.4: @@ -5468,7 +5468,7 @@ packages: /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 /@types/lodash/4.14.181: resolution: {integrity: sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==} @@ -5494,13 +5494,13 @@ packages: /@types/minipass/3.1.2: resolution: {integrity: sha512-foLGjgrJkUjLG/o2t2ymlZGEoBNBa/TfoUZ7oCTkOjP1T43UGBJspovJou/l3ZuHvye2ewR5cZNtp2zyWgILMA==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.38 dev: true /@types/mz/2.7.4: resolution: {integrity: sha512-Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 dev: true /@types/node/12.20.54: @@ -5514,8 +5514,12 @@ packages: resolution: {integrity: sha512-Q8KKwm9YqEmUBRsqJ2GWJDtXltBDxTdC4m5vTdXBolu2PeQh8LX+f6BTwU+OuXPu37fLxoN6gidqBmnky36FXA==} dev: true - /@types/node/17.0.39: - resolution: {integrity: sha512-JDU3YLlnPK3WDao6/DlXLOgSNpG13ct+CwIO17V8q0/9fWJyeMJJ/VyZ1lv8kDprihvZMydzVwf0tQOqGiY2Nw==} + /@types/node/17.0.38: + resolution: {integrity: sha512-5jY9RhV7c0Z4Jy09G+NIDTsCZ5G0L5n+Z+p+Y7t5VJHM30bgwzSjVtlcBxqAj+6L/swIlvtOSzr8rBk/aNyV2g==} + dev: true + + /@types/node/17.0.40: + resolution: {integrity: sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==} /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -5549,7 +5553,7 @@ packages: /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 /@types/retry/0.12.2: resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} @@ -5559,7 +5563,7 @@ packages: resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==} dependencies: '@types/glob': 7.2.0 - '@types/node': 17.0.39 + '@types/node': 17.0.40 dev: true /@types/semver/6.2.3: @@ -5585,7 +5589,7 @@ packages: /@types/ssri/7.1.1: resolution: {integrity: sha512-DPP/jkDaqGiyU75MyMURxLWyYLwKSjnAuGe9ZCsLp9QZOpXmDfuevk769F0BS86TmRuD5krnp06qw9nSoNO+0g==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 /@types/stack-utils/2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} @@ -5602,20 +5606,20 @@ packages: /@types/tar-stream/2.2.2: resolution: {integrity: sha512-1AX+Yt3icFuU6kxwmPakaiGrJUwG44MpuiqPg4dSolRFk6jmvs4b3IbUol9wKDLIgU76gevn3EwE8y/DkSJCZQ==} dependencies: - '@types/node': 14.18.20 + '@types/node': 17.0.40 dev: true /@types/tar/4.0.5: resolution: {integrity: sha512-cgwPhNEabHaZcYIy5xeMtux2EmYBitfqEceBUi2t5+ETy4dW6kswt6WX4+HqLeiiKOo42EXbGiDmVJ2x+vi37Q==} dependencies: '@types/minipass': 3.1.2 - '@types/node': 17.0.39 + '@types/node': 17.0.38 dev: true /@types/touch/3.1.2: resolution: {integrity: sha512-6YYYfTc90glAZBvyjpmz6JFLtBRyLWXckmlNgK4R2czsWg63cRCI9Rb3aKJ6LPbw8jpHf7nZdVvMd6gUg4hVsw==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 dev: true /@types/treeify/1.0.0: @@ -5644,7 +5648,7 @@ packages: /@types/write-file-atomic/3.0.3: resolution: {integrity: sha512-RfbL28ev+HeIcQyl8TDU5pxHdDQrKyuKHXfz2bKFJn4/IFa34SGDT1DDXYsIf9s/KuW6zGBR+yZoe8pAlvMPXg==} dependencies: - '@types/node': 17.0.39 + '@types/node': 17.0.40 dev: true /@types/yargs-parser/21.0.0: @@ -6743,8 +6747,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001346 - electron-to-chromium: 1.4.146 + caniuse-lite: 1.0.30001344 + electron-to-chromium: 1.4.143 escalade: 3.1.1 node-releases: 2.0.5 picocolors: 1.0.0 @@ -6928,8 +6932,8 @@ packages: dependencies: path-temp: 2.0.0 - /caniuse-lite/1.0.30001346: - resolution: {integrity: sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==} + /caniuse-lite/1.0.30001344: + resolution: {integrity: sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==} dev: true /caseless/0.12.0: @@ -7251,7 +7255,7 @@ packages: dev: false /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /concat-stream/1.6.2: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} @@ -7328,7 +7332,7 @@ packages: dev: true /cookie-signature/1.0.6: - resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} /cookie/0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} @@ -7359,16 +7363,16 @@ packages: object-assign: 4.1.1 vary: 1.1.2 - /cosmiconfig-typescript-loader/2.0.1_shsc4a2llmgvjch3blkloxuura: + /cosmiconfig-typescript-loader/2.0.1_kpmkddh2vyhagwjrjr3dqgt7bq: resolution: {integrity: sha512-B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@types/node': '*' typescript: '>=3' dependencies: - '@types/node': 14.18.20 + '@types/node': 17.0.40 cosmiconfig: 7.0.1 - ts-node: 10.8.1_shsc4a2llmgvjch3blkloxuura + ts-node: 10.8.1_kpmkddh2vyhagwjrjr3dqgt7bq typescript: 4.6.4 transitivePeerDependencies: - '@swc/core' @@ -7655,7 +7659,7 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} /deep-require-cwd/1.0.0: - resolution: {integrity: sha1-ZWmitmyT7mBlQ2dufUhqk6H3aXc=} + resolution: {integrity: sha512-4qBH4dRUw2+6MyPdJl9q7s1oMQcryAPdYyogt3gAt82CVXMixEpgcLMHeyX8AcqMhPf0sEXZ/xAD9PMAgZfVuA==} dependencies: deep-require-from: 1.0.0 dev: true @@ -7884,10 +7888,10 @@ packages: safe-buffer: 5.2.1 /ee-first/1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /electron-to-chromium/1.4.146: - resolution: {integrity: sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg==} + /electron-to-chromium/1.4.143: + resolution: {integrity: sha512-2hIgvu0+pDfXIqmVmV5X6iwMjQ2KxDsWKwM+oI1fABEOy/Dqmll0QJRmIQ3rm+XaoUa/qKrmy5h7LSTFQ6Ldzg==} dev: true /emittery/0.10.2: @@ -8578,7 +8582,7 @@ packages: dev: true /exists-link/2.0.0: - resolution: {integrity: sha1-+7H6YzLnVm5Iivh+wUSuDQPASs8=} + resolution: {integrity: sha512-YbykYxM4Xl9aCcANggu2MqOAMa7dh+5fq1HNpoqp42R2qiRWHXRhsgYSX6XQS/b2tQlg/LeZ7Jpnekl5B3M7/w==} engines: {node: '>= 4'} dev: true @@ -8906,7 +8910,7 @@ packages: pkg-dir: 4.2.0 /findup/0.1.5: - resolution: {integrity: sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=} + resolution: {integrity: sha512-Udxo3C9A6alt2GZ2MNsgnIvX7De0V3VGxeP/x98NSVgSlizcDHdmJza61LI7zJy4OEtSiJyE72s0/+tBl5/ZxA==} engines: {node: '>=0.6'} hasBin: true dependencies: @@ -8974,7 +8978,7 @@ packages: dev: true /fresh/0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} /from2/2.3.0: @@ -9225,7 +9229,7 @@ packages: assert-plus: 1.0.0 /ghooks/2.0.4: - resolution: {integrity: sha1-/VDgQP9UiQauQstReToBv+JFZ7k=} + resolution: {integrity: sha512-Ey6PSgelTufntLJBUQZsSHHeRg1PjsjM1oOS+0lpExHqXGjrL5uyQVQdOIlf2WR5EBJVdJbJlCdSHAVt+uZmNA==} requiresBuild: true dependencies: findup: 0.1.5 @@ -9249,7 +9253,7 @@ packages: dev: true /github-from-package/0.0.0: - resolution: {integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=} + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} dev: true /glob-parent/5.1.2: @@ -9290,7 +9294,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -10191,7 +10195,7 @@ packages: '@jest/expect': 28.1.0 '@jest/test-result': 28.1.0 '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -10238,6 +10242,46 @@ packages: - ts-node dev: true + /jest-config/28.1.0_2cdaztp7eenh32anyybg24itfi: + resolution: {integrity: sha512-aOV80E9LeWrmflp7hfZNn/zGA4QKv/xsn2w8QCBP0t0+YqObuCWTSgNbHJ0j9YsTuCO08ZR/wsvlxqqHX20iUA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.18.2 + '@jest/test-sequencer': 28.1.0 + '@jest/types': 28.1.0 + '@types/node': 17.0.40 + babel-jest: 28.1.0_@babel+core@7.18.2 + chalk: 4.1.2 + ci-info: 3.3.1 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + jest-circus: 28.1.0 + jest-environment-node: 28.1.0 + jest-get-type: 28.0.2 + jest-regex-util: 28.0.2 + jest-resolve: 28.1.0 + jest-runner: 28.1.0 + jest-util: 28.1.0 + jest-validate: 28.1.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 28.1.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.8.1_shsc4a2llmgvjch3blkloxuura + transitivePeerDependencies: + - supports-color + dev: true + /jest-config/28.1.0_7ra7tfozgghv4gj6xggcq74hbe: resolution: {integrity: sha512-aOV80E9LeWrmflp7hfZNn/zGA4QKv/xsn2w8QCBP0t0+YqObuCWTSgNbHJ0j9YsTuCO08ZR/wsvlxqqHX20iUA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -10323,7 +10367,7 @@ packages: '@jest/environment': 28.1.0 '@jest/fake-timers': 28.1.0 '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 jest-mock: 28.1.0 jest-util: 28.1.0 dev: true @@ -10344,7 +10388,7 @@ packages: dependencies: '@jest/types': 28.1.0 '@types/graceful-fs': 4.1.5 - '@types/node': 14.18.20 + '@types/node': 17.0.40 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -10405,7 +10449,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 dev: true /jest-pnp-resolver/1.2.2_jest-resolve@28.1.0: @@ -10459,7 +10503,7 @@ packages: '@jest/test-result': 28.1.0 '@jest/transform': 28.1.0 '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 chalk: 4.1.2 emittery: 0.10.2 graceful-fs: 4.2.10 @@ -10545,7 +10589,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 chalk: 4.1.2 ci-info: 3.3.1 graceful-fs: 4.2.10 @@ -10570,7 +10614,7 @@ packages: dependencies: '@jest/test-result': 28.1.0 '@jest/types': 28.1.0 - '@types/node': 14.18.20 + '@types/node': 17.0.40 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -10582,7 +10626,7 @@ packages: resolution: {integrity: sha512-ZHwM6mNwaWBR52Snff8ZvsCTqQsvhCxP/bT1I6T6DAnb6ygkshsyLQIMxFwHpYxht0HOoqt23JlC01viI7T03A==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 14.18.20 + '@types/node': 17.0.40 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -11132,7 +11176,7 @@ packages: dev: true /manage-path/2.0.0: - resolution: {integrity: sha1-9M+EV7km7u4qg7FzUBQUvHbrlZc=} + resolution: {integrity: sha512-NJhyB+PJYTpxhxZJ3lecIGgh4kwIY2RAh44XvAz9UlqthlQwtPBf62uBVR8XaD8CRuSjQ6TnZH2lNJkbLPZM2A==} dev: true /map-age-cleaner/0.1.3: @@ -11186,7 +11230,7 @@ packages: dev: false /media-typer/0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} /mem/6.1.1: @@ -11532,7 +11576,7 @@ packages: dev: true /mv/2.1.1: - resolution: {integrity: sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=} + resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==} engines: {node: '>=0.8.0'} dependencies: mkdirp: 0.5.6 @@ -11622,7 +11666,7 @@ packages: resolution: {integrity: sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==} dependencies: '@sinonjs/commons': 1.8.3 - '@sinonjs/fake-timers': 7.1.2 + '@sinonjs/fake-timers': 9.1.2 '@sinonjs/text-encoding': 0.7.1 just-extend: 4.2.1 path-to-regexp: 1.8.0 @@ -11689,6 +11733,7 @@ packages: resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} engines: {node: '>= 10.12.0'} hasBin: true + requiresBuild: true dependencies: env-paths: 2.2.1 glob: 7.2.3 @@ -11731,7 +11776,7 @@ packages: abbrev: 1.1.1 /normalize-newline/3.0.0: - resolution: {integrity: sha1-HL6oBKukNgAfg5OKsh7AOdaa6dM=} + resolution: {integrity: sha512-uLZbfjzZfHTlaGXMJkwc5TUEhY7/+LHvP1X/OcDt6SLkubrshIOg7hbT6rkmAhyvGpi6kJ+XcMfwM7D3/Zieqg==} engines: {node: '>=4'} dev: true @@ -11830,6 +11875,7 @@ packages: /npmlog/4.1.2: resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} + requiresBuild: true dependencies: are-we-there-yet: 1.1.7 console-control-strings: 1.1.0 @@ -11942,7 +11988,7 @@ packages: mimic-fn: 2.1.0 /opt-cli/1.5.1: - resolution: {integrity: sha1-BNtEexPJa5kusxaFJm9O0NlzbcI=} + resolution: {integrity: sha512-iRFQBiQjXZ+LX/8pis04prUhS6FOYcJiZRouofN3rUJEB282b/e0s3jp9vT7aHgXY6TUpgPwu12f0i+qF40Kjw==} hasBin: true dependencies: commander: 2.9.0 @@ -12317,7 +12363,7 @@ packages: dev: true /pify/3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} engines: {node: '>=4'} /pify/4.0.1: @@ -12417,7 +12463,7 @@ packages: resolution: {integrity: sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==} /posix-character-classes/0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} engines: {node: '>=0.10.0'} dev: true @@ -12453,7 +12499,7 @@ packages: which-pm: 2.0.0 /prelude-ls/1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} engines: {node: '>= 0.8.0'} /prelude-ls/1.2.1: @@ -12461,7 +12507,7 @@ packages: engines: {node: '>= 0.8.0'} /prettier-bytes/1.0.4: - resolution: {integrity: sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ==} + resolution: {integrity: sha1-mUsCqkb2mcULYle1+qp/4lV+YtY=} /prettier/1.19.1: resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} @@ -12470,7 +12516,7 @@ packages: dev: true /pretty-bytes/4.0.2: - resolution: {integrity: sha512-yJAF+AjbHKlxQ8eezMd/34Mnj/YTQ3i6kLzvVsH4l/BfIFtp444n0wVbnsn66JimZ9uBofv815aRp1zCppxlWw==} + resolution: {integrity: sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=} engines: {node: '>=4'} dev: true @@ -12626,7 +12672,7 @@ packages: dev: true /pseudomap/1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} dev: true /psl/1.8.0: @@ -12668,7 +12714,7 @@ packages: pump: 2.0.1 /punycode/1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + resolution: {integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4=} /punycode/2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} @@ -14260,6 +14306,37 @@ packages: yargs-parser: 20.2.9 dev: true + /ts-node/10.8.1_kpmkddh2vyhagwjrjr3dqgt7bq: + resolution: {integrity: sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.8 + '@tsconfig/node12': 1.0.9 + '@tsconfig/node14': 1.0.1 + '@tsconfig/node16': 1.0.2 + '@types/node': 17.0.40 + acorn: 8.7.1 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.6.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /ts-node/10.8.1_shsc4a2llmgvjch3blkloxuura: resolution: {integrity: sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==} hasBin: true @@ -14921,7 +14998,7 @@ packages: /wide-align/1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: - string-width: 4.2.3 + string-width: 1.0.2 /widest-line/3.1.0: resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} diff --git a/privatePackages/assert-project/package.json b/privatePackages/assert-project/package.json index d4df085356c..06c7c2b9449 100644 --- a/privatePackages/assert-project/package.json +++ b/privatePackages/assert-project/package.json @@ -45,7 +45,7 @@ "@pnpm/constants": "workspace:5.0.0", "@pnpm/lockfile-types": "workspace:3.2.0", "@pnpm/modules-yaml": "workspace:9.1.1", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "@pnpm/types": "workspace:7.10.0", "is-windows": "^1.0.2", "isexe": "2.0.0", diff --git a/privatePackages/assert-store/package.json b/privatePackages/assert-store/package.json index 74cbb4b027c..e041819eab0 100644 --- a/privatePackages/assert-store/package.json +++ b/privatePackages/assert-store/package.json @@ -42,7 +42,7 @@ }, "dependencies": { "@pnpm/cafs": "workspace:3.0.16", - "@pnpm/registry-mock": "2.17.0", + "@pnpm/registry-mock": "2.19.0", "path-exists": "^4.0.0" }, "devDependencies": {