fix: resolve missing peer from versions already present in other parts of the dep graph (#7812)

This commit is contained in:
Zoltan Kochan
2024-03-22 19:45:54 +01:00
committed by GitHub
parent a22bdf0e29
commit 8eddd21f07
35 changed files with 262 additions and 83 deletions

View File

@@ -0,0 +1,5 @@
---
"pnpm": major
---
When automatically installing peer dependencies, use versions of the peers already present in the dependency graph. Even if they don't satisfy the wanted peer dependency ranges.

View File

@@ -0,0 +1,5 @@
---
"@pnpm/lockfile.preferred-versions": major
---
Initial release.

View File

@@ -44,7 +44,7 @@
"@pnpm/constants": "workspace:*",
"@pnpm/lockfile-types": "workspace:*",
"@pnpm/modules-yaml": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/types": "workspace:*",
"is-windows": "^1.0.2",
"isexe": "2.0.0",

View File

@@ -40,7 +40,7 @@
"test": "pnpm pretest && pnpm run compile && jest"
},
"dependencies": {
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/store.cafs": "workspace:*",
"path-exists": "^4.0.0"
},

View File

@@ -35,7 +35,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-rebuild": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/test-fixtures": "workspace:*",
"@pnpm/test-ipc-server": "workspace:*",
"@types/ramda": "0.28.20",

View File

@@ -34,7 +34,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-script-runners": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/test-ipc-server": "workspace:*",
"@types/is-windows": "^1.0.2",
"@types/ramda": "0.28.20",

View File

@@ -0,0 +1,13 @@
# @pnpm/lockfile.preferred-versions
> Get preferred version from lockfile
## Install
```
pnpm add @pnpm/lockfile.preferred-versions
```
## License
[MIT](LICENSE)

View File

@@ -0,0 +1,46 @@
{
"name": "@pnpm/lockfile.preferred-versions",
"version": "0.0.0",
"description": "Get preferred version from lockfile",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"engines": {
"node": ">=18.12"
},
"files": [
"lib",
"!*.map"
],
"scripts": {
"lint": "eslint \"src/**/*.ts\"",
"test": "pnpm run compile",
"prepublishOnly": "pnpm run compile",
"compile": "tsc --build && pnpm run lint --fix"
},
"repository": "https://github.com/pnpm/pnpm/blob/main/lockfile/preferred-versions",
"keywords": [
"pnpm9",
"pnpm",
"shrinkwrap",
"lockfile"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/pnpm/pnpm/issues"
},
"homepage": "https://github.com/pnpm/pnpm/blob/main/lockfile/preferred-versions#readme",
"devDependencies": {
"@pnpm/lockfile.preferred-versions": "workspace:*"
},
"dependencies": {
"@pnpm/lockfile-utils": "workspace:*",
"@pnpm/manifest-utils": "workspace:*",
"@pnpm/resolver-base": "workspace:*",
"@pnpm/types": "workspace:*",
"version-selector-type": "^3.0.0"
},
"funding": "https://opencollective.com/pnpm",
"exports": {
".": "./lib/index.js"
}
}

View File

@@ -4,24 +4,6 @@ import { DIRECT_DEP_SELECTOR_WEIGHT, type PreferredVersions } from '@pnpm/resolv
import { type DependencyManifest, type ProjectManifest } from '@pnpm/types'
import getVersionSelectorType from 'version-selector-type'
export function getAllUniqueSpecs (manifests: DependencyManifest[]) {
const allSpecs: Record<string, string> = {}
const ignored = new Set<string>()
for (const manifest of manifests) {
const specs = getAllDependenciesFromManifest(manifest)
for (const [name, spec] of Object.entries(specs)) {
if (ignored.has(name)) continue
if (allSpecs[name] != null && allSpecs[name] !== spec || spec.includes(':')) {
ignored.add(name)
delete allSpecs[name]
continue
}
allSpecs[name] = spec
}
}
return allSpecs
}
export function getPreferredVersionsFromLockfileAndManifests (
snapshots: PackageSnapshots | undefined,
manifests: Array<DependencyManifest | ProjectManifest>

View File

@@ -0,0 +1,26 @@
{
"extends": "@pnpm/tsconfig",
"compilerOptions": {
"outDir": "lib",
"rootDir": "src"
},
"include": [
"src/**/*.ts",
"../../__typings__/**/*.d.ts"
],
"references": [
{
"path": "../../packages/types"
},
{
"path": "../../pkg-manifest/manifest-utils"
},
{
"path": "../../resolving/resolver-base"
},
{
"path": "../lockfile-utils"
}
],
"composite": true
}

View File

@@ -0,0 +1,8 @@
{
"extends": "./tsconfig.json",
"include": [
"src/**/*.ts",
"test/**/*.ts",
"../../__typings__/**/*.d.ts"
]
}

View File

@@ -39,7 +39,7 @@
"@commitlint/prompt-cli": "^17.8.1",
"@pnpm/eslint-config": "workspace:*",
"@pnpm/meta-updater": "1.0.0",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/tsconfig": "workspace:*",
"@pnpm/worker": "workspace:*",
"@types/jest": "^29.5.12",

View File

@@ -34,7 +34,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-patching": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/normalize-path": "^3.0.2",
"@types/ramda": "0.28.20",

View File

@@ -37,6 +37,7 @@
"@pnpm/lockfile-to-pnp": "workspace:*",
"@pnpm/lockfile-utils": "workspace:*",
"@pnpm/lockfile-walker": "workspace:*",
"@pnpm/lockfile.preferred-versions": "workspace:*",
"@pnpm/manifest-utils": "workspace:*",
"@pnpm/matcher": "workspace:*",
"@pnpm/modules-cleaner": "workspace:*",
@@ -82,7 +83,7 @@
"@pnpm/lockfile-types": "workspace:*",
"@pnpm/package-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/store-path": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/test-fixtures": "workspace:*",

View File

@@ -1,8 +1,8 @@
import { getPreferredVersionsFromLockfileAndManifests } from '@pnpm/lockfile.preferred-versions'
import { resolveDependencies, getWantedDependencies } from '@pnpm/resolve-dependencies'
import { type PeerDependencyIssuesByProjects } from '@pnpm/types'
import { getContext, type GetContextOptions, type ProjectOptions } from '@pnpm/get-context'
import { createReadPackageHook } from '@pnpm/hooks.read-package-hook'
import { getPreferredVersionsFromLockfileAndManifests } from './install/getPreferredVersions'
import { type InstallOptions } from './install/extendInstallOptions'
import { DEFAULT_REGISTRIES } from '@pnpm/normalize-registries'

View File

@@ -34,8 +34,9 @@ import {
} from '@pnpm/lockfile-file'
import { writePnpFile } from '@pnpm/lockfile-to-pnp'
import { extendProjectsWithTargetDirs, satisfiesPackageManifest } from '@pnpm/lockfile-utils'
import { getPreferredVersionsFromLockfileAndManifests } from '@pnpm/lockfile.preferred-versions'
import { logger, globalInfo, streamParser } from '@pnpm/logger'
import { getAllDependenciesFromManifest } from '@pnpm/manifest-utils'
import { getAllDependenciesFromManifest, getAllUniqueSpecs } from '@pnpm/manifest-utils'
import { writeModulesManifest } from '@pnpm/modules-yaml'
import { readModulesDir } from '@pnpm/read-modules-dir'
import { safeReadProjectManifestOnly } from '@pnpm/read-project-manifest'
@@ -82,7 +83,6 @@ import {
type InstallOptions,
type ProcessedInstallOptions as StrictInstallOptions,
} from './extendInstallOptions'
import { getAllUniqueSpecs, getPreferredVersionsFromLockfileAndManifests } from './getPreferredVersions'
import { linkPackages } from './link'
import { reportPeerDependencyIssues } from './reportPeerDependencyIssues'

View File

@@ -602,3 +602,13 @@ test('do not override the direct dependency with an auto installed peer dependen
const lockfile = project.readLockfile()
expect(lockfile.importers['.'].dependencies?.rxjs.version).toStrictEqual('6.6.7')
})
test('auto install hoisted peer dependency', async () => {
await addDistTag({ package: '@pnpm.e2e/peer-c', version: '1.0.0', distTag: 'latest' })
const project = prepareEmpty()
await addDependenciesToPackage({}, ['@pnpm.e2e/has-peer-c-in-deps@1.0.0', '@pnpm.e2e/abc'], testDefaults({ autoInstallPeers: true }))
const lockfile = project.readLockfile()
expect(Object.keys(lockfile.snapshots).filter((depPath) => depPath.startsWith('@pnpm.e2e/peer-c@'))).toStrictEqual([
'@pnpm.e2e/peer-c@2.0.0',
])
})

View File

@@ -72,6 +72,9 @@
{
"path": "../../lockfile/lockfile-walker"
},
{
"path": "../../lockfile/preferred-versions"
},
{
"path": "../../lockfile/prune-lockfile"
},

View File

@@ -23,7 +23,7 @@
"@pnpm/package-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/read-projects-context": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/store-path": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/test-fixtures": "workspace:*",

View File

@@ -61,7 +61,7 @@
"@pnpm/client": "workspace:*",
"@pnpm/create-cafs-store": "workspace:*",
"@pnpm/package-requester": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/normalize-path": "^3.0.2",
"@types/ramda": "0.28.20",

View File

@@ -34,7 +34,7 @@
"@pnpm/modules-yaml": "workspace:*",
"@pnpm/plugin-commands-installation": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/test-fixtures": "workspace:*",
"@pnpm/test-ipc-server": "workspace:*",
"@types/proxyquire": "^1.3.31",

View File

@@ -35,6 +35,7 @@
"@pnpm/error": "workspace:*",
"@pnpm/lockfile-types": "workspace:*",
"@pnpm/lockfile-utils": "workspace:*",
"@pnpm/lockfile.preferred-versions": "workspace:*",
"@pnpm/manifest-utils": "workspace:*",
"@pnpm/npm-resolver": "workspace:*",
"@pnpm/pick-fetcher": "workspace:*",

View File

@@ -38,6 +38,7 @@ import {
type Registries,
} from '@pnpm/types'
import * as dp from '@pnpm/dependency-path'
import { getPreferredVersionsFromLockfileAndManifests } from '@pnpm/lockfile.preferred-versions'
import normalizePath from 'normalize-path'
import exists from 'path-exists'
import pDefer from 'p-defer'
@@ -131,6 +132,7 @@ export interface ResolutionContext {
autoInstallPeersFromHighestMatch: boolean
allowBuild?: (pkgName: string) => boolean
allowedDeprecatedVersions: AllowedDeprecatedVersions
allPreferredVersions?: PreferredVersions
appliedPatches: Set<string>
updatedSet: Set<string>
defaultTag: string
@@ -287,6 +289,9 @@ export async function resolveRootDependencies (
ctx: ResolutionContext,
importers: ImporterToResolve[]
): Promise<ResolvedRootDependenciesResult> {
if (ctx.autoInstallPeers) {
ctx.allPreferredVersions = getPreferredVersionsFromLockfileAndManifests(ctx.wantedLockfile.packages, [])
}
const { pkgAddressesByImportersWithoutPeers, publishedBy, time } = await resolveDependenciesOfImporters(ctx, importers)
const pkgAddressesByImporters = await Promise.all(zipWith(async (importerResolutionResult, { parentPkgAliases, preferredVersions, options }) => {
const pkgAddresses = importerResolutionResult.pkgAddresses
@@ -307,7 +312,14 @@ export async function resolveRootDependencies (
}
}
if (!Object.keys(importerResolutionResult.missingPeers).length) break
const wantedDependencies = getNonDevWantedDependencies({ dependencies: importerResolutionResult.missingPeers })
const dependencies = Object.fromEntries(
Object.entries(importerResolutionResult.missingPeers)
.map(([peerName, peerRange]) => {
if (!ctx.allPreferredVersions![peerName]) return [peerName, peerRange]
return [peerName, Object.keys(ctx.allPreferredVersions![peerName]).join(' || ')]
})
)
const wantedDependencies = getNonDevWantedDependencies({ dependencies })
// eslint-disable-next-line no-await-in-loop
const resolveDependenciesResult = await resolveDependencies(ctx, preferredVersions, wantedDependencies, {
@@ -1152,6 +1164,13 @@ async function resolveDependency (
pkgResponse.body.id = encodePkgId(pkgResponse.body.id)
if (ctx.allPreferredVersions && pkgResponse.body.manifest?.version) {
if (!ctx.allPreferredVersions[pkgResponse.body.manifest.name]) {
ctx.allPreferredVersions[pkgResponse.body.manifest.name] = {}
}
ctx.allPreferredVersions[pkgResponse.body.manifest.name][pkgResponse.body.manifest.version] = 'version'
}
if (
!pkgResponse.body.updated &&
options.currentDepth === Math.max(0, options.updateDepth) &&

View File

@@ -21,6 +21,9 @@
{
"path": "../../lockfile/lockfile-utils"
},
{
"path": "../../lockfile/preferred-versions"
},
{
"path": "../../lockfile/prune-lockfile"
},

View File

@@ -0,0 +1,20 @@
import { type DependencyManifest } from '@pnpm/types'
import { getAllDependenciesFromManifest } from './getAllDependenciesFromManifest'
export function getAllUniqueSpecs (manifests: DependencyManifest[]) {
const allSpecs: Record<string, string> = {}
const ignored = new Set<string>()
for (const manifest of manifests) {
const specs = getAllDependenciesFromManifest(manifest)
for (const [name, spec] of Object.entries(specs)) {
if (ignored.has(name)) continue
if (allSpecs[name] != null && allSpecs[name] !== spec || spec.includes(':')) {
ignored.add(name)
delete allSpecs[name]
continue
}
allSpecs[name] = spec
}
}
return allSpecs
}

View File

@@ -3,13 +3,14 @@ import {
type IncludedDependencies,
type ProjectManifest,
} from '@pnpm/types'
import { getAllUniqueSpecs } from './getAllUniqueSpecs'
import { getSpecFromPackageManifest } from './getSpecFromPackageManifest'
export * from './getPref'
export * from './updateProjectManifestObject'
export * from './getDependencyTypeFromManifest'
export { getSpecFromPackageManifest }
export { getSpecFromPackageManifest, getAllUniqueSpecs }
export function filterDependenciesByType (
manifest: ProjectManifest,

View File

@@ -1,4 +1,4 @@
import { getAllUniqueSpecs } from './getPreferredVersions'
import { getAllUniqueSpecs } from '@pnpm/manifest-utils'
test('getAllUniqueSpecs()', () => {
expect(getAllUniqueSpecs([

120
pnpm-lock.yaml generated
View File

@@ -72,8 +72,8 @@ importers:
specifier: 1.0.0
version: 1.0.0
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/tsconfig':
specifier: workspace:*
version: link:__utils__/tsconfig
@@ -190,8 +190,8 @@ importers:
specifier: workspace:*
version: link:../../pkg-manager/modules-yaml
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/types':
specifier: workspace:*
version: link:../../packages/types
@@ -224,8 +224,8 @@ importers:
__utils__/assert-store:
dependencies:
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/store.cafs':
specifier: workspace:*
version: link:../../store/cafs
@@ -1337,8 +1337,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -1458,8 +1458,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/test-ipc-server':
specifier: workspace:*
version: link:../../__utils__/test-ipc-server
@@ -2408,6 +2408,28 @@ importers:
specifier: ^1.0.1
version: 1.0.1
lockfile/preferred-versions:
dependencies:
'@pnpm/lockfile-utils':
specifier: workspace:*
version: link:../lockfile-utils
'@pnpm/manifest-utils':
specifier: workspace:*
version: link:../../pkg-manifest/manifest-utils
'@pnpm/resolver-base':
specifier: workspace:*
version: link:../../resolving/resolver-base
'@pnpm/types':
specifier: workspace:*
version: link:../../packages/types
version-selector-type:
specifier: ^3.0.0
version: 3.0.0
devDependencies:
'@pnpm/lockfile.preferred-versions':
specifier: workspace:*
version: 'link:'
lockfile/prune-lockfile:
dependencies:
'@pnpm/constants':
@@ -2957,8 +2979,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -3083,6 +3105,9 @@ importers:
'@pnpm/lockfile-walker':
specifier: workspace:*
version: link:../../lockfile/lockfile-walker
'@pnpm/lockfile.preferred-versions':
specifier: workspace:*
version: link:../../lockfile/preferred-versions
'@pnpm/logger':
specifier: ^5.0.0
version: 5.0.0
@@ -3220,8 +3245,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/store-path':
specifier: workspace:*
version: link:../../store/store-path
@@ -3502,8 +3527,8 @@ importers:
specifier: workspace:*
version: link:../read-projects-context
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/store-path':
specifier: workspace:*
version: link:../../store/store-path
@@ -3859,8 +3884,8 @@ importers:
specifier: workspace:*
version: 'link:'
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -4052,8 +4077,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -4216,6 +4241,9 @@ importers:
'@pnpm/lockfile-utils':
specifier: workspace:*
version: link:../../lockfile/lockfile-utils
'@pnpm/lockfile.preferred-versions':
specifier: workspace:*
version: link:../../lockfile/preferred-versions
'@pnpm/logger':
specifier: ^5.0.0
version: 5.0.0
@@ -4615,8 +4643,8 @@ importers:
specifier: workspace:*
version: link:../pkg-manifest/read-project-manifest
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/run-npm':
specifier: workspace:*
version: link:../exec/run-npm
@@ -4875,8 +4903,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
releasing/plugin-commands-publishing:
dependencies:
@@ -4975,8 +5003,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/test-ipc-server':
specifier: workspace:*
version: link:../../__utils__/test-ipc-server
@@ -5544,8 +5572,8 @@ importers:
specifier: workspace:*
version: link:../../pkg-manifest/read-package-json
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -5611,8 +5639,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@types/ramda':
specifier: 0.28.20
version: 0.28.20
@@ -5705,8 +5733,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -6040,8 +6068,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.25.0
version: 3.25.0(typanion@3.14.0)
specifier: 3.27.0
version: 3.27.0(typanion@3.14.0)
'@types/archy':
specifier: 0.0.33
version: 0.0.33
@@ -6750,6 +6778,10 @@ packages:
resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==}
engines: {node: '>=6.9.0'}
'@babel/runtime@7.24.1':
resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==}
engines: {node: '>=6.9.0'}
'@babel/template@7.24.0':
resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
engines: {node: '>=6.9.0'}
@@ -7595,8 +7627,8 @@ packages:
resolution: {integrity: sha512-MDXuQpYFbabSXzAnqP7VIQqBx5Z1fzOhzB/3YmIXJ+tE7Wue//IR3itMSYlWeaFLo1G5PCJklM2zBdvggRw1nw==}
engines: {node: '>=16.14'}
'@pnpm/registry-mock@3.25.0':
resolution: {integrity: sha512-rSKgbINc7T9s0hn8K/YHTJtMaUG2LWmXybzmiVNwDwrNx1SMHbLsZ+QafHz0wyktQhPQB2274BAd72jYLgFHFg==}
'@pnpm/registry-mock@3.27.0':
resolution: {integrity: sha512-z6ETaTye2uVGhMHYWVhy3SOxW7oMyAkcOZn5KauSitm3tdv/kt51tMWSFKa3zmHeYDVDlUzhmxLyq1u7lDFVzg==}
engines: {node: '>=10.13'}
hasBin: true
@@ -9437,8 +9469,8 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
fast-redact@3.4.0:
resolution: {integrity: sha512-2gwPvyna0zwBdxKnng1suu/dTL5s8XEy2ZqH8mwDUwJdDkV8w5kp+JV26mupdK68HmPMbm6yjW9m7/Ys/BHEHg==}
fast-redact@3.5.0:
resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
engines: {node: '>=6'}
fast-safe-stringify@2.1.1:
@@ -13171,6 +13203,10 @@ snapshots:
dependencies:
regenerator-runtime: 0.14.1
'@babel/runtime@7.24.1':
dependencies:
regenerator-runtime: 0.14.1
'@babel/template@7.24.0':
dependencies:
'@babel/code-frame': 7.23.5
@@ -14559,7 +14595,7 @@ snapshots:
strip-bom: 4.0.0
dev: true
'@pnpm/registry-mock@3.25.0(typanion@3.14.0)':
'@pnpm/registry-mock@3.27.0(typanion@3.14.0)':
dependencies:
anonymous-npm-registry-client: 0.2.0
execa: 5.1.1
@@ -17011,7 +17047,7 @@ snapshots:
fast-levenshtein@2.0.6: {}
fast-redact@3.4.0: {}
fast-redact@3.5.0: {}
fast-safe-stringify@2.1.1: {}
@@ -19445,7 +19481,7 @@ snapshots:
pino@6.14.0:
dependencies:
fast-redact: 3.4.0
fast-redact: 3.5.0
fast-safe-stringify: 2.1.1
flatstr: 1.0.12
pino-std-serializers: 3.2.0
@@ -21391,7 +21427,7 @@ snapshots:
yup@0.32.11:
dependencies:
'@babel/runtime': 7.24.0
'@babel/runtime': 7.24.1
'@types/lodash': 4.17.0
lodash: 4.17.21
lodash-es: 4.17.21

View File

@@ -65,7 +65,7 @@
"@pnpm/prepare": "workspace:*",
"@pnpm/read-package-json": "workspace:*",
"@pnpm/read-project-manifest": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/run-npm": "workspace:*",
"@pnpm/tabtab": "^0.5.2",
"@pnpm/test-fixtures": "workspace:*",

View File

@@ -39,7 +39,7 @@
"@pnpm/lockfile-types": "workspace:*",
"@pnpm/plugin-commands-deploy": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0"
"@pnpm/registry-mock": "3.27.0"
},
"dependencies": {
"@pnpm/cli-utils": "workspace:*",

View File

@@ -35,7 +35,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-publishing": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/test-ipc-server": "workspace:*",
"@types/cross-spawn": "^6.0.6",
"@types/is-windows": "^1.0.2",

View File

@@ -36,7 +36,7 @@
"@pnpm/plugin-commands-licenses": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/read-package-json": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/ramda": "0.28.20",
"@types/semver": "7.5.3",

View File

@@ -34,7 +34,7 @@
"@pnpm/plugin-commands-installation": "workspace:*",
"@pnpm/plugin-commands-listing": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@types/ramda": "0.28.20",
"execa": "npm:safe-execa@0.1.2",
"strip-ansi": "^6.0.1",

View File

@@ -35,7 +35,7 @@
"@pnpm/plugin-commands-installation": "workspace:*",
"@pnpm/plugin-commands-outdated": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/ramda": "0.28.20",
"@types/wrap-ansi": "8.0.2",

View File

@@ -34,7 +34,7 @@
"@pnpm/lockfile-file": "workspace:*",
"@pnpm/plugin-commands-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.25.0",
"@pnpm/registry-mock": "3.27.0",
"@types/archy": "0.0.33",
"@types/ramda": "0.28.20",
"@types/ssri": "^7.1.5",