feat: lowest-direct resolution mode (#6004)

This commit is contained in:
Zoltan Kochan
2023-02-01 04:48:05 +02:00
committed by GitHub
parent e46db67e5e
commit 59ee536787
27 changed files with 361 additions and 134 deletions

View File

@@ -0,0 +1,8 @@
---
"@pnpm/resolve-dependencies": minor
"@pnpm/core": minor
"@pnpm/config": minor
"pnpm": minor
---
A new `resolution-mode` added: `lowest-direct`. With this resolution mode direct dependencies will be resolved to their lowest versions. So if there is `foo@^1.1.0` in the dependencies, then `1.1.0` will be installed, even if the latest version of `foo` is `1.2.0`.

View File

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

View File

@@ -41,7 +41,7 @@
},
"dependencies": {
"@pnpm/cafs": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"path-exists": "^4.0.0"
},
"devDependencies": {

View File

@@ -84,7 +84,7 @@ export interface Config {
useStderr?: boolean
nodeLinker?: 'hoisted' | 'isolated' | 'pnp'
preferSymlinkedExecutables?: boolean
resolutionMode?: 'highest' | 'time-based'
resolutionMode?: 'highest' | 'time-based' | 'lowest-direct'
registrySupportsTimeField?: boolean
failedToLoadBuiltInConfig: boolean
resolvePeersFromWorkspaceRoot?: boolean

View File

@@ -92,7 +92,7 @@ export const types = Object.assign({
'publish-branch': String,
'recursive-install': Boolean,
reporter: String,
'resolution-mode': ['highest', 'time-based'],
'resolution-mode': ['highest', 'time-based', 'lowest-direct'],
'resolve-peers-from-workspace-root': Boolean,
'aggregate-output': Boolean,
'save-peer': Boolean,

View File

@@ -38,7 +38,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-rebuild": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/ramda": "0.28.20",
"@types/semver": "7.3.13",

View File

@@ -37,7 +37,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-script-runners": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@types/is-windows": "^1.0.0",
"@types/ramda": "0.28.20",
"is-windows": "^1.0.2",

View File

@@ -39,7 +39,7 @@
"@commitlint/prompt-cli": "^17.4.1",
"@pnpm/eslint-config": "workspace:*",
"@pnpm/meta-updater": "0.2.2",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@pnpm/tsconfig": "workspace:*",
"@types/jest": "^29.2.5",
"@types/node": "^14.18.36",

View File

@@ -35,7 +35,7 @@
"devDependencies": {
"@pnpm/plugin-commands-patching": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@types/ramda": "0.28.20"
},
"dependencies": {

View File

@@ -77,7 +77,7 @@
"@pnpm/git-utils": "workspace:*",
"@pnpm/package-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@pnpm/store-path": "workspace:*",
"@pnpm/test-fixtures": "workspace:*",
"@types/fs-extra": "^9.0.13",

View File

@@ -104,7 +104,7 @@ export interface StrictInstallOptions {
allowedDeprecatedVersions: AllowedDeprecatedVersions
allowNonAppliedPatches: boolean
preferSymlinkedExecutables: boolean
resolutionMode: 'highest' | 'time-based'
resolutionMode: 'highest' | 'time-based' | 'lowest-direct'
resolvePeersFromWorkspaceRoot: boolean
publicHoistPattern: string[] | undefined

View File

@@ -64,3 +64,31 @@ test('time-based resolution mode should not fail when publishedBy date cannot be
prepareEmpty()
await install({}, await testDefaults({ resolutionMode: 'time-based' }))
})
test('the lowest version of a direct dependency is installed when resolution mode is lowest-direct', async () => {
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.1.0', distTag: 'latest' })
await addDistTag({ package: '@pnpm.e2e/dep-of-pkg-with-1-dep', version: '100.1.0', distTag: 'latest' })
const project = prepareEmpty()
let manifest = await install({
dependencies: {
'@pnpm.e2e/pkg-with-1-dep': '^100.0.0',
},
}, await testDefaults({ resolutionMode: 'lowest-direct' }))
{
const lockfile = await project.readLockfile()
expect(lockfile.packages['/@pnpm.e2e/pkg-with-1-dep/100.0.0']).toBeTruthy()
expect(lockfile.packages['/@pnpm.e2e/dep-of-pkg-with-1-dep/100.1.0']).toBeTruthy()
}
manifest = await install(manifest, await testDefaults({ resolutionMode: 'lowest-direct', update: true }))
{
const lockfile = await project.readLockfile()
expect(lockfile.packages['/@pnpm.e2e/pkg-with-1-dep/100.1.0']).toBeTruthy()
}
expect(manifest.dependencies).toStrictEqual({
'@pnpm.e2e/pkg-with-1-dep': '^100.1.0',
})
})

View File

@@ -30,6 +30,7 @@ const LOCKFILE_WARN_LOG = {
}
test('lockfile has correct format', async () => {
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
const project = prepareEmpty()
await addDependenciesToPackage({},
@@ -329,6 +330,7 @@ test(`respects ${WANTED_LOCKFILE} for top dependencies`, async () => {
test(`subdeps are updated on repeat install if outer ${WANTED_LOCKFILE} does not match the inner one`, async () => {
const project = prepareEmpty()
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
await addDistTag({ package: '@pnpm.e2e/dep-of-pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
const manifest = await addDependenciesToPackage({}, ['@pnpm.e2e/pkg-with-1-dep'], await testDefaults())
@@ -406,6 +408,7 @@ test('repeat install with lockfile should not mutate lockfile when dependency ha
test('package is not marked dev if it is also a subdep of a regular dependency', async () => {
const project = prepareEmpty()
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
await addDistTag({ package: '@pnpm.e2e/dep-of-pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
const manifest = await addDependenciesToPackage({}, ['@pnpm.e2e/pkg-with-1-dep'], await testDefaults())
@@ -424,6 +427,7 @@ test('package is not marked dev if it is also a subdep of a regular dependency',
test('package is not marked optional if it is also a subdep of a regular dependency', async () => {
const project = prepareEmpty()
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
await addDistTag({ package: '@pnpm.e2e/dep-of-pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
const manifest = await addDependenciesToPackage({}, ['@pnpm.e2e/pkg-with-1-dep'], await testDefaults())
@@ -519,6 +523,7 @@ test('repeat install with no inner lockfile should not rewrite packages in node_
test('packages are placed in devDependencies even if they are present as non-dev as well', async () => {
const project = prepareEmpty()
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
await addDistTag({ package: '@pnpm.e2e/dep-of-pkg-with-1-dep', version: '100.1.0', distTag: 'latest' })
const reporter = sinon.spy()
@@ -789,6 +794,7 @@ test('packages installed via tarball URL from the default registry are normalize
})
test('lockfile file has correct format when lockfile directory does not equal the prefix directory', async () => {
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
prepareEmpty()
const storeDir = path.resolve('..', '.store')
@@ -986,6 +992,7 @@ test(`use current ${WANTED_LOCKFILE} as initial wanted one, when wanted was remo
// Covers https://github.com/pnpm/pnpm/issues/1876
test('existing dependencies are preserved when updating a lockfile to a newer format', async () => {
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
const project = prepareEmpty()
await addDistTag({ package: '@pnpm.e2e/dep-of-pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
@@ -1037,6 +1044,7 @@ test('lockfile is not getting broken if the used registry changes', async () =>
test('broken lockfile is fixed even if it seems like up to date at first. Unless frozenLockfile option is set to true', async () => {
const project = prepareEmpty()
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
await addDistTag({ package: '@pnpm.e2e/dep-of-pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
const manifest = await addDependenciesToPackage({}, ['@pnpm.e2e/pkg-with-1-dep'], await testDefaults({ lockfileOnly: true }))
@@ -1372,7 +1380,7 @@ test('include tarball URL', async () => {
const lockfile = await project.readLockfile()
expect((lockfile.packages['/@pnpm.e2e/pkg-with-1-dep/100.0.0'].resolution as TarballResolution).tarball)
.toBe(`http://localhost:${REGISTRY_MOCK_PORT}/@pnpm.e2e%2fpkg-with-1-dep/-/pkg-with-1-dep-100.0.0.tgz`)
.toBe(`http://localhost:${REGISTRY_MOCK_PORT}/@pnpm.e2e/pkg-with-1-dep/-/pkg-with-1-dep-100.0.0.tgz`)
})
test('lockfile v6', async () => {

View File

@@ -22,7 +22,7 @@
"@pnpm/package-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/read-projects-context": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@pnpm/store-path": "workspace:*",
"@pnpm/test-fixtures": "workspace:*",
"@types/fs-extra": "^9.0.13",

View File

@@ -68,7 +68,7 @@
"@pnpm/client": "workspace:*",
"@pnpm/create-cafs-store": "workspace:*",
"@pnpm/package-requester": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/normalize-path": "^3.0.0",
"@types/ramda": "0.28.20",

View File

@@ -38,7 +38,7 @@
"@pnpm/modules-yaml": "workspace:*",
"@pnpm/plugin-commands-installation": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/proxyquire": "^1.3.28",
"@types/ramda": "0.28.20",

View File

@@ -156,7 +156,7 @@ export interface ResolutionContext {
nodeVersion: string
pnpmVersion: string
registries: Registries
resolutionMode?: 'highest' | 'time-based'
resolutionMode?: 'highest' | 'time-based' | 'lowest-direct'
virtualStoreDir: string
updateMatching?: (pkgName: string) => boolean
useLockfileV6?: boolean
@@ -350,7 +350,7 @@ async function resolveDependenciesOfImporters (
registries: ctx.registries,
resolvedDependencies: options.resolvedDependencies,
}))
const pickLowestVersion = ctx.resolutionMode === 'time-based'
const pickLowestVersion = ctx.resolutionMode === 'time-based' || ctx.resolutionMode === 'lowest-direct'
const resolveResults = await Promise.all(
zipWith(async (extendedWantedDeps, importer) => {
const postponedResolutionsQueue: PostponedResolutionFunction[] = []

View File

@@ -77,7 +77,7 @@ export interface ResolveDependenciesOptions {
pnpmVersion: string
preferredVersions?: PreferredVersions
preferWorkspacePackages?: boolean
resolutionMode?: 'highest' | 'time-based'
resolutionMode?: 'highest' | 'time-based' | 'lowest-direct'
resolvePeersFromWorkspaceRoot?: boolean
updateMatching?: (pkgName: string) => boolean
linkWorkspacePackagesDepth?: number

401
pnpm-lock.yaml generated
View File

@@ -62,8 +62,8 @@ importers:
specifier: 0.2.2
version: 0.2.2(typanion@3.12.1)
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/tsconfig':
specifier: workspace:*
version: link:__utils__/tsconfig
@@ -174,8 +174,8 @@ importers:
specifier: workspace:*
version: link:../../pkg-manager/modules-yaml
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/types':
specifier: workspace:*
version: link:../../packages/types
@@ -214,8 +214,8 @@ importers:
specifier: workspace:*
version: link:../../store/cafs
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
path-exists:
specifier: ^4.0.0
version: 4.0.0
@@ -1099,8 +1099,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -1205,8 +1205,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@types/is-windows':
specifier: ^1.0.0
version: 1.0.0
@@ -2523,8 +2523,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@types/ramda':
specifier: 0.28.20
version: 0.28.20
@@ -2756,8 +2756,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/store-path':
specifier: workspace:*
version: link:../../store/store-path
@@ -3020,8 +3020,8 @@ importers:
specifier: workspace:*
version: link:../read-projects-context
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/store-path':
specifier: workspace:*
version: link:../../store/store-path
@@ -3383,8 +3383,8 @@ importers:
specifier: workspace:*
version: 'link:'
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -3567,8 +3567,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -4096,8 +4096,8 @@ importers:
specifier: workspace:*
version: link:../pkg-manifest/read-project-manifest
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/run-npm':
specifier: workspace:*
version: link:../exec/run-npm
@@ -4344,8 +4344,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
releasing/plugin-commands-publishing:
dependencies:
@@ -4441,8 +4441,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@types/cross-spawn':
specifier: ^6.0.2
version: 6.0.2
@@ -4989,8 +4989,8 @@ importers:
specifier: workspace:*
version: link:../../pkg-manifest/read-package-json
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@types/ramda':
specifier: 0.28.20
version: 0.28.20
@@ -5053,8 +5053,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@types/ramda':
specifier: 0.28.20
version: 0.28.20
@@ -5150,8 +5150,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -5497,8 +5497,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.2.0
version: 3.2.0(typanion@3.12.1)
specifier: 3.3.0
version: 3.3.0(typanion@3.12.1)
'@types/archy':
specifier: 0.0.32
version: 0.0.32
@@ -7306,15 +7306,15 @@ packages:
dev: false
optional: true
/@pnpm/build-modules@10.1.3(@pnpm/logger@5.0.0)(typanion@3.12.1):
resolution: {integrity: sha512-nXX0cDfF9+KRMYTN6nz1WacMK9WIru9xcCuqtrKhM+AAV56CpxQmwUlPMjhN+CfcZmmsz7U9S6LrIrTzV57XIA==}
/@pnpm/build-modules@10.1.4(@pnpm/logger@5.0.0)(typanion@3.12.1):
resolution: {integrity: sha512-NZRN9MF5JWPC7DLtd3CN9mE5b9LzyyHVcvL3jQSb00RZFhTcv6OvNtTxzR1gHKJjF3cIpkdIg8uu0AeR6IQxeg==}
engines: {node: '>=14.6'}
peerDependencies:
'@pnpm/logger': ^5.0.0
dependencies:
'@pnpm/calc-dep-state': 3.0.2
'@pnpm/core-loggers': 8.0.3(@pnpm/logger@5.0.0)
'@pnpm/fs.hard-link-dir': 1.0.1
'@pnpm/fs.hard-link-dir': 1.0.2
'@pnpm/graph-sequencer': 1.0.0
'@pnpm/lifecycle': 14.1.5(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/link-bins': 8.0.8(@pnpm/logger@5.0.0)
@@ -7371,15 +7371,15 @@ packages:
load-json-file: 6.2.0
dev: true
/@pnpm/cli-utils@1.0.28(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-MetmItTfUE/3yEsek5sfegb78OvOktwnBWfulcFKUTKbLEhKN+wTIoBL34byrWy9KFOF46fGUKKveou9br1yBQ==}
/@pnpm/cli-utils@1.0.30(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-FnTn+qByq0JJKj4wAJTupYIJG0irD2yzYCh4hHf1fRaYYEUPdaO3C7vGCt5WoajCxM4p30F93frMTUMwO5kp6w==}
engines: {node: '>=14.6'}
peerDependencies:
'@pnpm/logger': ^5.0.0
dependencies:
'@pnpm/cli-meta': 4.0.3
'@pnpm/config': 16.5.2(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/default-reporter': 11.0.28(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/config': 16.5.4(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/default-reporter': 11.0.30(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/error': 4.0.1
'@pnpm/logger': 5.0.0
'@pnpm/manifest-utils': 4.1.4(@pnpm/logger@5.0.0)
@@ -7407,8 +7407,8 @@ packages:
resolution: {integrity: sha512-ZVPVDi1E8oeXlYqkGRtX0CkzLTwE2zt62bjWaWKaAvI8NZqHzlMvGeSNDpW+JB3+aKanYb4UETJOF1/CxGPemA==}
engines: {node: '>=12.22.0'}
/@pnpm/config@16.5.2(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-S5+Az1j62vjxmj0dWub4RaEhV+YjVTvkLq/0PoT3qckVV1XUa/LEM4KdrKnWLgerkrlOqwj8rmeqO2tfB6gvzw==}
/@pnpm/config@16.5.4(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-mZ9TiZJeumHscOPwtDSBPvoJDeo8bxGxxO+1gq94k8GLtwzPmwrnWsJp6gb2tAK/a8mKcVf6nzWNtBwCX5fbAQ==}
engines: {node: '>=14.6'}
dependencies:
'@pnpm/config.env-replace': 1.0.0
@@ -7417,7 +7417,7 @@ packages:
'@pnpm/git-utils': 0.1.0
'@pnpm/matcher': 4.0.1
'@pnpm/npm-conf': 2.0.4
'@pnpm/pnpmfile': 4.0.26(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/pnpmfile': 4.0.28(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/read-project-manifest': 4.1.3
'@pnpm/types': 8.10.0
camelcase: 6.3.0
@@ -7455,13 +7455,13 @@ packages:
'@pnpm/types': 8.10.0
dev: true
/@pnpm/core@7.7.0(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-XxELviWf6451i+gIBk9NzH7iyzcpD1AeM61jjFRbNII2p7RONvs9bytp2GYiikWa4SMOu9UrUSvB9Tzelk/0YA==}
/@pnpm/core@7.7.2(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-fPb06FQE+OGvPFdk7HFdqZ1whqivMrbN2KxLHabq8XONi4Q6kj210cr7TkvXClJcrGGg7yPNOkvqg62hY/qU6w==}
engines: {node: '>=14.6'}
peerDependencies:
'@pnpm/logger': ^5.0.0
dependencies:
'@pnpm/build-modules': 10.1.3(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/build-modules': 10.1.4(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/calc-dep-state': 3.0.2
'@pnpm/constants': 6.2.0
'@pnpm/core-loggers': 8.0.3(@pnpm/logger@5.0.0)
@@ -7471,7 +7471,7 @@ packages:
'@pnpm/filter-lockfile': 7.0.7(@pnpm/logger@5.0.0)
'@pnpm/get-context': 8.2.0(@pnpm/logger@5.0.0)
'@pnpm/graph-sequencer': 1.0.0
'@pnpm/headless': 19.4.7(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/headless': 19.4.9(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/hoist': 7.0.12(@pnpm/logger@5.0.0)
'@pnpm/hooks.read-package-hook': 2.0.11(@yarnpkg/core@4.0.0-rc.14)
'@pnpm/lifecycle': 14.1.5(@pnpm/logger@5.0.0)(typanion@3.12.1)
@@ -7495,7 +7495,7 @@ packages:
'@pnpm/read-package-json': 7.0.5
'@pnpm/read-project-manifest': 4.1.3
'@pnpm/remove-bins': 4.0.5(@pnpm/logger@5.0.0)
'@pnpm/resolve-dependencies': 29.2.3(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/resolve-dependencies': 29.2.4(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/resolver-base': 9.1.5
'@pnpm/store-controller-types': 14.3.0
'@pnpm/symlink-dependency': 6.0.3(@pnpm/logger@5.0.0)
@@ -7529,13 +7529,13 @@ packages:
rfc4648: 1.5.2
dev: true
/@pnpm/default-reporter@11.0.28(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-31xEk7wNQxbhMhtzdeHqCzBPntWsof1T9U1AQ6J5t6+hLmmdRT6jmpVilMigbQu0V1RqCMN1fwoAAJu39Ar+4A==}
/@pnpm/default-reporter@11.0.30(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-ifZ3ivqHFMm1YbHJJaWR0ejNw+aO6zmjzJRD8QVRm8dmuJe1l6e4TSDBNOoBlIij3GSeJwU5EdN1ldqz9EI30g==}
engines: {node: '>=14.6'}
peerDependencies:
'@pnpm/logger': ^5.0.0
dependencies:
'@pnpm/config': 16.5.2(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/config': 16.5.4(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/core-loggers': 8.0.3(@pnpm/logger@5.0.0)
'@pnpm/error': 4.0.1
'@pnpm/logger': 5.0.0
@@ -7645,11 +7645,11 @@ packages:
find-up: 5.0.0
dev: true
/@pnpm/find-workspace-packages@5.0.28(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-eslHoutbrx3eN5jfvWVt+TGYJLJ+Y1goIdJ/AtZ9yAyVANDuMyfRioyvMgDdjXemX8BzzFAqE2iyx/UKXoIxJA==}
/@pnpm/find-workspace-packages@5.0.30(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-P67I9Rfvi9rk6MhA8KX5d7L822USaAY9lb06nPAW8P1jH/EKQ4xKnC+L4mRcxlZP4XET1G3P3WXG1m2IVA7UFQ==}
engines: {node: '>=14.6'}
dependencies:
'@pnpm/cli-utils': 1.0.28(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/cli-utils': 1.0.30(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/constants': 6.2.0
'@pnpm/fs.find-packages': 1.0.2
'@pnpm/types': 8.10.0
@@ -7675,8 +7675,8 @@ packages:
p-filter: 2.1.0
dev: true
/@pnpm/fs.hard-link-dir@1.0.1:
resolution: {integrity: sha512-stuCefJVarDer2OKBUWtCorhaj0xnwHFiuLm8EC+U8+NEvig+N+UzWzdNpn/U75i7L0GceQ9LPTuhJ/6yPNZ7w==}
/@pnpm/fs.hard-link-dir@1.0.2:
resolution: {integrity: sha512-MSga26f0i3dF5HQTInKhYWIfvAOzV32hnv9bHSnuvMCLQ7DxymMddrkMGMXUIrYYaFErj3jkMGy0m6bTv82aCA==}
engines: {node: '>=14.6'}
dev: true
@@ -7717,13 +7717,13 @@ packages:
/@pnpm/graph-sequencer@1.0.0:
resolution: {integrity: sha512-iIJhmi7QjmafhijaEkh34Yxhjq3S/eiZnxww9K/SRXuDB5/30QnCyihR4R7vep8ONsGIR29hNPAtaNGd1rC/VA==}
/@pnpm/headless@19.4.7(@pnpm/logger@5.0.0)(typanion@3.12.1):
resolution: {integrity: sha512-ylsmuD/KJIR4hRn8R3B+qmrjKDb6JgteBQi5eVloDFcd5mdrj177S4yiin60eym9ViXFYWATFAN9Zy6Sibh/zQ==}
/@pnpm/headless@19.4.9(@pnpm/logger@5.0.0)(typanion@3.12.1):
resolution: {integrity: sha512-ep2EgdZrbm/RjEVTGwMhqfcWVcktlELMchD9ljzXfrw60I8D8TkEr8gRrKHW3RVa83cDrhVIn4jlMfevUZbORw==}
engines: {node: '>=14.6'}
peerDependencies:
'@pnpm/logger': ^5.0.0
dependencies:
'@pnpm/build-modules': 10.1.3(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/build-modules': 10.1.4(@pnpm/logger@5.0.0)(typanion@3.12.1)
'@pnpm/calc-dep-state': 3.0.2
'@pnpm/constants': 6.2.0
'@pnpm/core-loggers': 8.0.3(@pnpm/logger@5.0.0)
@@ -7958,7 +7958,7 @@ packages:
hasBin: true
dependencies:
'@pnpm/find-workspace-dir': 5.0.1
'@pnpm/find-workspace-packages': 5.0.28(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/find-workspace-packages': 5.0.30(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/logger': 5.0.0
'@pnpm/types': 8.10.0
'@yarnpkg/core': 4.0.0-rc.14(typanion@3.12.1)
@@ -8248,13 +8248,13 @@ packages:
resolve-link-target: 2.0.0
dev: true
/@pnpm/pnpmfile@4.0.26(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-UmnDIOSuQo6LQwzW6MV8rW7sgsYZPS//1bamLgAwl/AdpU0Rlyt5uaQVqmngPwlwMvxo4vtVZnUBHhg9YSjzGA==}
/@pnpm/pnpmfile@4.0.28(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1):
resolution: {integrity: sha512-TZwRIBl2XAZB4VIhy4Y3uiILINczY6n5DUR57dHiut+UNIo2tECCQtKLx6LRNG9RJVG4jLwkOPGinan74VjvNA==}
engines: {node: '>=14.6'}
peerDependencies:
'@pnpm/logger': ^5.0.0
dependencies:
'@pnpm/core': 7.7.0(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/core': 7.7.2(@pnpm/logger@5.0.0)(@yarnpkg/core@4.0.0-rc.14)(typanion@3.12.1)
'@pnpm/core-loggers': 8.0.3(@pnpm/logger@5.0.0)
'@pnpm/error': 4.0.1
'@pnpm/lockfile-types': 4.3.6
@@ -8347,8 +8347,8 @@ packages:
- typanion
dev: true
/@pnpm/registry-mock@3.2.0(typanion@3.12.1):
resolution: {integrity: sha512-GpFNc7wd/Ls6XiE+X9HztbSxYrkKN3snqiSpDoUR4XdFktvKiS2cIZyXzSeXrhXfbuThcybeQCoh3DTiOGsq/w==}
/@pnpm/registry-mock@3.3.0(typanion@3.12.1):
resolution: {integrity: sha512-Wi/6s3NdekAcDd/KkfziUfInjY+8+EhZrV4Ug5fjdt3b1RZnFJTmodi/i7oub9y9dZWPMKRaFQ8rFQ50Dcv0IQ==}
engines: {node: '>=10.13'}
hasBin: true
dependencies:
@@ -8358,7 +8358,7 @@ packages:
read-yaml-file: 2.1.0
rimraf: 3.0.2
tempy: 1.0.1
verdaccio: 5.19.1(typanion@3.12.1)
verdaccio: 5.20.1(typanion@3.12.1)
write-yaml-file: 4.2.0
transitivePeerDependencies:
- encoding
@@ -8391,8 +8391,8 @@ packages:
cli-columns: 4.0.0
dev: true
/@pnpm/resolve-dependencies@29.2.3(@pnpm/logger@5.0.0)(typanion@3.12.1):
resolution: {integrity: sha512-EPQz21zbq0P8iCUPgVGt2y16zzcnD0DbO9YBZvDY9IDgvgabgXPDnyz74JYb6xt2u7W+yKejxcpK27ayoLRbTQ==}
/@pnpm/resolve-dependencies@29.2.4(@pnpm/logger@5.0.0)(typanion@3.12.1):
resolution: {integrity: sha512-38YkJviVAXuF+QhG9jER+fB9hIPToldfSnZ5BrRkjmkBBQkhatGs08LQd/Yl3ALqoOS5fg4/hOonsvUgwERHzQ==}
engines: {node: '>=14.6'}
peerDependencies:
'@pnpm/logger': ^5.0.0
@@ -8756,6 +8756,9 @@ packages:
/@types/lodash@4.14.181:
resolution: {integrity: sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==}
/@types/lodash@4.14.191:
resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==}
/@types/mdast@3.0.10:
resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==}
dependencies:
@@ -9134,6 +9137,31 @@ packages:
http-errors: 2.0.0
http-status-codes: 2.2.0
/@verdaccio/config@6.0.0-6-next.55:
resolution: {integrity: sha512-fZnk9Z4BY5e77F2zZmezfpjdJa65acitOWHI5EUirQ0yaez+eHDLAqHYq4YZ04cBXyk0aF6k9QTXJqj8Y6Luww==}
engines: {node: '>=12'}
dependencies:
'@verdaccio/core': 6.0.0-6-next.55
'@verdaccio/utils': 6.0.0-6-next.23
debug: 4.3.4
lodash: 4.17.21
minimatch: 3.1.2
yaml: 2.2.0
yup: 0.32.11
transitivePeerDependencies:
- supports-color
/@verdaccio/core@6.0.0-6-next.55:
resolution: {integrity: sha512-7VNhZw3f92FzUmim3KgQAbG+IuPOtjk9QkeYoI3tvRFmcOVdjg4eh7e6ALu4GiCcTEOpZj6JJMK5PpbflmzMHQ==}
engines: {node: '>=12'}
dependencies:
ajv: 8.11.2
core-js: 3.27.0
http-errors: 1.8.1
http-status-codes: 2.2.0
process-warning: 1.0.0
semver: 7.3.8
/@verdaccio/file-locking@10.3.0:
resolution: {integrity: sha512-FE5D5H4wy/nhgR/d2J5e1Na9kScj2wMjlLPBHz7XF4XZAVSRdm45+kL3ZmrfA6b2HTADP/uH7H05/cnAYW8bhw==}
engines: {node: '>=8'}
@@ -9159,8 +9187,44 @@ packages:
resolution: {integrity: sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA==}
engines: {node: '>=8', npm: '>=5'}
/@verdaccio/tarball@11.0.0-6-next.24:
resolution: {integrity: sha512-dcXkLw/b3Elt8xzU0vWc+Yqpb+g6et8vrclgqHhRE0HdArngNMmb8KynvDlkbWpNQJNNdM/bPidCOI3nt7KEnQ==}
engines: {node: '>=12'}
dependencies:
'@verdaccio/core': 6.0.0-6-next.55
'@verdaccio/url': 11.0.0-6-next.21
'@verdaccio/utils': 6.0.0-6-next.23
debug: 4.3.4
lodash: 4.17.21
transitivePeerDependencies:
- supports-color
/@verdaccio/ui-theme@6.0.0-6-next.52:
resolution: {integrity: sha512-fbN7LYp36t17vXiIH7qmEtlNtw4LC7LvGjsUkSYhESlMYx3oCrhZdG1D8H1lvDYpn/aGYYfwUWTHGMCHKqFgLA==}
dev: true
/@verdaccio/ui-theme@6.0.0-6-next.55:
resolution: {integrity: sha512-EnMYW5vmN8z8gC3WHuS0T/wS+AK+I1/SRmY5IoLUxoaGOAnZmHCeFF7eRIuhRwSQ/qTGCdtvvV6RRT8OaUjSCw==}
/@verdaccio/url@11.0.0-6-next.21:
resolution: {integrity: sha512-ojDaaDWsq/mvIZu+fxXX+VL/8pEObtAhy0dr5wp3Zo3UrBu4m8ltLqH5RUnj2vUc/5YB/krv/FffgSjWciVPQg==}
engines: {node: '>=12'}
dependencies:
'@verdaccio/core': 6.0.0-6-next.55
debug: 4.3.4
lodash: 4.17.21
validator: 13.7.0
transitivePeerDependencies:
- supports-color
/@verdaccio/utils@6.0.0-6-next.23:
resolution: {integrity: sha512-PpKgisv6cRm43JNyFaUTTclyOy8VRubjniA3CmbEQIAImZ1YQMSAQ06nsWpZEhIx4NuRXmB5CiUHg2U4/0+oCg==}
engines: {node: '>=12'}
dependencies:
'@verdaccio/core': 6.0.0-6-next.55
lodash: 4.17.21
minimatch: 3.1.2
semver: 7.3.8
/@yarnpkg/core@4.0.0-rc.14(typanion@3.12.1):
resolution: {integrity: sha512-SWq+T56I7GiRMrMECGsvCJvQmbXi+pBexjX9sYICPj+OgTHbWDmIOh/OrSC8honE6WEE2ZzPNmwF4Y355NKgew==}
@@ -9229,39 +9293,6 @@ packages:
transitivePeerDependencies:
- typanion
/@yarnpkg/core@4.0.0-rc.36(typanion@3.12.1):
resolution: {integrity: sha512-j7KFKdrdQurr+MRk5IJyyi7mlZhpgsRvwyfYAlYMM/+uEAzGq1Qr9U4lbyppQE+KmEyj8N7FzPyYdSXz2IOX0g==}
engines: {node: '>=14.15.0'}
dependencies:
'@arcanis/slice-ansi': 1.1.1
'@types/lodash': 4.14.181
'@types/semver': 7.3.13
'@types/treeify': 1.0.0
'@yarnpkg/fslib': 3.0.0-rc.25
'@yarnpkg/libzip': 3.0.0-rc.25(@yarnpkg/fslib@3.0.0-rc.25)
'@yarnpkg/parsers': 3.0.0-rc.36
'@yarnpkg/shell': 4.0.0-rc.36(typanion@3.12.1)
camelcase: 5.3.1
chalk: 3.0.0
ci-info: 3.7.1
clipanion: 3.2.0-rc.6(typanion@3.12.1)
cross-spawn: 7.0.3
diff: 5.1.0
globby: 11.1.0
got: 11.8.6
lodash: 4.17.21
micromatch: 4.0.5
p-limit: 2.3.0
semver: 7.3.8
strip-ansi: 6.0.1
tar: 6.1.13
tinylogic: 2.0.0
treeify: 1.1.0
tslib: 2.4.1
tunnel: 0.0.6
transitivePeerDependencies:
- typanion
/@yarnpkg/extensions@2.0.0-rc.9(@yarnpkg/core@4.0.0-rc.14):
resolution: {integrity: sha512-WWXBCKyIhG4pkpS42erPUkxgPXt3NEjGb3ha+HlEKgSVdJThNFE9CmwSyDdfdiV3QhCDkZR2R0jQVmbrCrigRw==}
engines: {node: '>=14.15.0'}
@@ -9303,9 +9334,9 @@ packages:
resolution: {integrity: sha512-KfoYI38XY0PjpPu+LGvRHxg3OFO+5nwbQy/c5FuLR0ipQkXcinS3JbG+de17Mf6QdKnBTcghA7mdrUKs5JbxyA==}
engines: {node: '>=14.15.0'}
dependencies:
'@yarnpkg/core': 4.0.0-rc.36(typanion@3.12.1)
'@yarnpkg/core': 4.0.0-rc.27(typanion@3.12.1)
'@yarnpkg/fslib': 3.0.0-rc.25
'@yarnpkg/pnp': 4.0.0-rc.36
'@yarnpkg/pnp': 4.0.0-rc.37
transitivePeerDependencies:
- typanion
@@ -9339,8 +9370,8 @@ packages:
'@yarnpkg/fslib': 3.0.0-rc.25
tslib: 1.14.1
/@yarnpkg/pnp@4.0.0-rc.36:
resolution: {integrity: sha512-wZoTkXQJGmMUtk9vTfmpVUST9P5dPlrk9DEKawYo7wdQv+lQI6PK3mseb0GL7Yes5BVdzy0SmKye3RzeNAVTmQ==}
/@yarnpkg/pnp@4.0.0-rc.37:
resolution: {integrity: sha512-i77kN+zvj6QJvmr2TiWwXZu1eQCy+ijcQ2E6Xe1M/wskJn0nAJtWQy7svvDI5IWKlXnTxBGKkwQCnZJ7LvVowQ==}
engines: {node: '>=14.15.0'}
dependencies:
'@types/node': 18.11.18
@@ -9511,6 +9542,14 @@ packages:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
/ajv@8.11.2:
resolution: {integrity: sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==}
dependencies:
fast-deep-equal: 3.1.3
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
uri-js: 4.4.1
/ajv@8.12.0:
resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
dependencies:
@@ -10494,6 +10533,9 @@ packages:
depd: 2.0.0
keygrip: 1.1.0
/core-js@3.27.0:
resolution: {integrity: sha512-wY6cKosevs430KRkHUIsvepDXHGjlXOZO3hYXNyqpD6JvB0X28aXyv0t1Y1vZMwE7SoKmtfa6IASHCPN52FwBQ==}
/core-util-is@1.0.2:
resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
@@ -10636,6 +10678,7 @@ packages:
dependencies:
es5-ext: 0.10.62
type: 1.2.0
dev: true
/dargs@7.0.0:
resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
@@ -11047,6 +11090,7 @@ packages:
es6-iterator: 2.0.3
es6-symbol: 3.1.3
next-tick: 1.1.0
dev: true
/es6-iterator@2.0.3:
resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
@@ -11054,12 +11098,14 @@ packages:
d: 1.0.1
es5-ext: 0.10.62
es6-symbol: 3.1.3
dev: true
/es6-symbol@3.1.3:
resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
dependencies:
d: 1.0.1
ext: 1.7.0
dev: true
/es6-weak-map@2.0.3:
resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
@@ -11068,6 +11114,7 @@ packages:
es5-ext: 0.10.62
es6-iterator: 2.0.3
es6-symbol: 3.1.3
dev: true
/esbuild@0.16.16:
resolution: {integrity: sha512-24JyKq10KXM5EBIgPotYIJ2fInNWVVqflv3gicIyQqfmUqi4HvDW1VR790cBgLJHCl96Syy7lhoz7tLFcmuRmg==}
@@ -11176,6 +11223,7 @@ packages:
resolve: 1.22.1
transitivePeerDependencies:
- supports-color
dev: true
/eslint-import-resolver-node@0.3.7:
resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==}
@@ -11453,6 +11501,7 @@ packages:
dependencies:
d: 1.0.1
es5-ext: 0.10.62
dev: true
/eventemitter3@4.0.7:
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
@@ -11546,6 +11595,7 @@ packages:
resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
dependencies:
type: 2.7.2
dev: true
/extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -12273,6 +12323,19 @@ packages:
/http-cache-semantics@4.1.0:
resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==}
/http-cache-semantics@4.1.1:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
/http-errors@1.8.1:
resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
engines: {node: '>= 0.6'}
dependencies:
depd: 1.1.2
inherits: 2.0.4
setprototypeof: 1.2.0
statuses: 1.5.0
toidentifier: 1.0.1
/http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
engines: {node: '>= 0.8'}
@@ -13540,6 +13603,9 @@ packages:
dependencies:
signal-exit: 3.0.7
/lodash-es@4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
/lodash._baseclone@4.5.7:
resolution: {integrity: sha512-nOtLg6tdIdD+TehqBv0WI7jbkLaohHhKSwLmS/UXSFWMWWUxdJc9EVtAfD4L0mV15vV+lZVfF4LEo363VdrMBw==}
dev: true
@@ -13698,6 +13764,7 @@ packages:
resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
dependencies:
es5-ext: 0.10.62
dev: true
/lunr-mutable-indexes@2.3.2:
resolution: {integrity: sha512-Han6cdWAPPFM7C2AigS2Ofl3XjAT0yVMrUixodJEpyg71zCtZ2yzXc3s+suc/OaNt4ca6WJBEzVnEIjxCTwFMw==}
@@ -13763,7 +13830,7 @@ packages:
dependencies:
agentkeepalive: 4.2.1
cacache: 15.3.0
http-cache-semantics: 4.1.0
http-cache-semantics: 4.1.1
http-proxy-agent: 4.0.1
https-proxy-agent: 5.0.1
is-lambda: 1.0.1
@@ -13862,6 +13929,7 @@ packages:
lru-queue: 0.1.0
next-tick: 1.1.0
timers-ext: 0.1.7
dev: true
/memorystream@0.3.1:
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
@@ -14036,6 +14104,7 @@ packages:
engines: {node: '>=10'}
dependencies:
brace-expansion: 2.0.1
dev: true
/minimatch@5.1.6:
resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
@@ -14169,6 +14238,9 @@ packages:
ncp: 2.0.0
rimraf: 2.4.5
/nanoclone@0.2.1:
resolution: {integrity: sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==}
/nanoresource@1.3.0:
resolution: {integrity: sha512-OI5dswqipmlYfyL3k/YMm7mbERlh4Bd1KuKdMHpeoVD1iVxqxaTMKleB4qaA2mbQZ6/zMNSxCXv9M9P/YbqTuQ==}
dependencies:
@@ -14225,6 +14297,7 @@ packages:
/next-tick@1.1.0:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
dev: true
/nice-try@1.0.5:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
@@ -14280,6 +14353,7 @@ packages:
optional: true
dependencies:
whatwg-url: 5.0.0
dev: true
/node-fetch@2.6.8:
resolution: {integrity: sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==}
@@ -14291,7 +14365,6 @@ packages:
optional: true
dependencies:
whatwg-url: 5.0.0
dev: true
/node-fetch@3.0.0-beta.9:
resolution: {integrity: sha512-RdbZCEynH2tH46+tj0ua9caUHVWrd/RHnRfvly2EVdqGmI3ndS1Vn/xjm5KuGejDt2RNDQsVRLPNd2QPwcewVg==}
@@ -15133,6 +15206,9 @@ packages:
engines: {node: '>= 8'}
dev: true
/property-expr@2.0.5:
resolution: {integrity: sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==}
/proto-list@1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
@@ -15689,7 +15765,7 @@ packages:
/rxjs@7.8.0:
resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==}
dependencies:
tslib: 2.4.1
tslib: 2.5.0
/safe-buffer@5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
@@ -16103,6 +16179,10 @@ packages:
as-table: 1.0.55
get-source: 2.0.12
/statuses@1.5.0:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'}
/statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
@@ -16438,6 +16518,7 @@ packages:
dependencies:
es5-ext: 0.10.62
next-tick: 1.1.0
dev: true
/tiny-each-async@2.0.3:
resolution: {integrity: sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==}
@@ -16499,6 +16580,9 @@ packages:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
/toposort@2.0.2:
resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==}
/touch@3.1.0:
resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==}
hasBin: true
@@ -16671,6 +16755,9 @@ packages:
/tslib@2.4.1:
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
/tslib@2.5.0:
resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
/tsscmp@1.0.6:
resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==}
engines: {node: '>=0.6.x'}
@@ -16782,9 +16869,11 @@ packages:
/type@1.2.0:
resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
dev: true
/type@2.7.2:
resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
dev: true
/typed-array-length@1.0.4:
resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
@@ -17017,6 +17106,19 @@ packages:
transitivePeerDependencies:
- encoding
- supports-color
dev: true
/verdaccio-audit@10.2.4:
resolution: {integrity: sha512-/0H6/JFVnhHwucUfMRVjL6gtGnB5gr3dDxq93Ja1Y0ob+2jxAfpqNMHg8c6/d/ZyHFf0y4tXzHESDruXCzTiaQ==}
engines: {node: '>=8'}
dependencies:
body-parser: 1.20.1
express: 4.18.2
https-proxy-agent: 5.0.1
node-fetch: 2.6.8
transitivePeerDependencies:
- encoding
- supports-color
/verdaccio-htpasswd@10.5.1:
resolution: {integrity: sha512-DCUOITs+Ta4Hep429BjopYrUw9hEJsJ1mbMP0l9Glan1S2YvTPanhtm5Ahw/joljUlt3xawKz9Gmt1QJujfMew==}
@@ -17027,6 +17129,17 @@ packages:
bcryptjs: 2.4.3
http-errors: 2.0.0
unix-crypt-td-js: 1.1.4
dev: true
/verdaccio-htpasswd@10.5.2:
resolution: {integrity: sha512-bO5Wm8w07pWswNvwFWjNEoznuUU37CcfblcrU0Ci8c038EgTu2V47uwh4AyZ4PTK6ps9oxHqA7a1b+83sY0OkA==}
engines: {node: '>=8'}
dependencies:
'@verdaccio/file-locking': 10.3.0
apache-md5: 1.1.8
bcryptjs: 2.4.3
http-errors: 2.0.0
unix-crypt-td-js: 1.1.4
/verdaccio@5.19.1(typanion@3.12.1):
resolution: {integrity: sha512-7Ve6OW2Fjx4q84nvWMYmu2XFnIiSplLsuLIht+n36GZj8BCACT6lgUspkHTTQhda03SgR0P+JbTkXK35pUfiGg==}
@@ -17077,6 +17190,58 @@ packages:
- encoding
- supports-color
- typanion
dev: true
/verdaccio@5.20.1(typanion@3.12.1):
resolution: {integrity: sha512-zKQXYubQOfl2w09gO9BR7U9ZZkFPPby8tvV+na86/2vGZnY79kNSVnSbK8CM1bpJHTCQ80AGsmIGovg2FgXhdQ==}
engines: {node: '>=12.18'}
hasBin: true
dependencies:
'@verdaccio/config': 6.0.0-6-next.55
'@verdaccio/core': 6.0.0-6-next.55
'@verdaccio/local-storage': 10.3.1
'@verdaccio/streams': 10.2.0
'@verdaccio/tarball': 11.0.0-6-next.24
'@verdaccio/ui-theme': 6.0.0-6-next.55
'@verdaccio/url': 11.0.0-6-next.21
'@verdaccio/utils': 6.0.0-6-next.23
JSONStream: 1.3.5
async: 3.2.4
body-parser: 1.20.1
clipanion: 3.2.0-rc.6(typanion@3.12.1)
compression: 1.7.4
cookies: 0.8.0
cors: 2.8.5
dayjs: 1.11.7
debug: 4.3.4
envinfo: 7.8.1
express: 4.18.2
express-rate-limit: 5.5.1
fast-safe-stringify: 2.1.1
handlebars: 4.7.7
http-errors: 2.0.0
js-yaml: /@zkochan/js-yaml@0.0.6
jsonwebtoken: 9.0.0
kleur: 4.1.5
lodash: 4.17.21
lru-cache: 7.14.1
lunr-mutable-indexes: 2.3.2
mime: 3.0.0
mkdirp: 1.0.4
mv: 2.1.1
pino: 6.14.0
pkginfo: 0.4.1
prettier-bytes: 1.0.4
pretty-ms: 7.0.1
request: 2.88.0
semver: 7.3.8
validator: 13.7.0
verdaccio-audit: 10.2.4
verdaccio-htpasswd: 10.5.2
transitivePeerDependencies:
- encoding
- supports-color
- typanion
/verror@1.10.0:
resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
@@ -17397,6 +17562,10 @@ packages:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
engines: {node: '>= 6'}
/yaml@2.2.0:
resolution: {integrity: sha512-auf7Gi6QwO7HW//GA9seGvTXVGWl1CM/ADWh1+RxtXr6XOxnT65ovDl9fTi4e0monEyJxCHqDpF6QnFDXmJE4g==}
engines: {node: '>= 14'}
/yargs-parser@18.1.3:
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
engines: {node: '>=6'}
@@ -17467,6 +17636,18 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
/yup@0.32.11:
resolution: {integrity: sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==}
engines: {node: '>=10'}
dependencies:
'@babel/runtime': 7.20.13
'@types/lodash': 4.14.191
lodash: 4.17.21
lodash-es: 4.17.21
nanoclone: 0.2.1
property-expr: 2.0.5
toposort: 2.0.2
/zwitch@1.0.5:
resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
dev: false
@@ -17530,7 +17711,7 @@ time:
/@pnpm/npm-package-arg@1.0.0: '2022-06-28T12:48:31.287Z'
/@pnpm/os.env.path-extender@0.2.9: '2023-01-31T02:04:06.460Z'
/@pnpm/ramda@0.28.1: '2022-08-03T13:56:59.597Z'
/@pnpm/registry-mock@3.2.0: '2022-12-20T01:09:10.273Z'
/@pnpm/registry-mock@3.3.0: '2023-01-31T01:42:28.175Z'
/@pnpm/semver-diff@1.1.0: '2021-11-16T12:40:59.941Z'
/@pnpm/tabtab@0.1.2: '2021-03-05T17:31:19.932Z'
/@pnpm/types@8.9.0: '2022-11-09T23:07:02.862Z'

View File

@@ -60,7 +60,7 @@
"@pnpm/prepare": "workspace:*",
"@pnpm/read-package-json": "workspace:*",
"@pnpm/read-project-manifest": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@pnpm/run-npm": "workspace:*",
"@pnpm/tabtab": "^0.1.2",
"@pnpm/test-fixtures": "workspace:*",

View File

@@ -19,6 +19,7 @@ import tempy from 'tempy'
import symlink from 'symlink-dir'
import writeYamlFile from 'write-yaml-file'
import { execPnpm, execPnpmSync } from '../utils'
import { addDistTag } from '@pnpm/registry-mock'
test('no projects matched the filters', async () => {
preparePackages([
@@ -655,6 +656,7 @@ test('shared-workspace-lockfile: installation with --link-workspace-packages lin
})
test('recursive install with link-workspace-packages and shared-workspace-lockfile', async () => {
await addDistTag({ package: '@pnpm.e2e/pkg-with-1-dep', version: '100.0.0', distTag: 'latest' })
const projects = preparePackages([
{
name: 'is-positive',

View File

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

View File

@@ -38,7 +38,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-publishing": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@types/cross-spawn": "^6.0.2",
"@types/is-windows": "^1.0.0",
"@types/npm-packlist": "^3.0.0",

View File

@@ -38,7 +38,7 @@
"@pnpm/plugin-commands-installation": "workspace:*",
"@pnpm/plugin-commands-licenses": "workspace:*",
"@pnpm/read-package-json": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@types/ramda": "0.28.20",
"@types/wrap-ansi": "^8.0.1",
"@types/zkochan__table": "npm:@types/table@6.0.0",

View File

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

View File

@@ -38,7 +38,7 @@
"@pnpm/plugin-commands-installation": "workspace:*",
"@pnpm/plugin-commands-outdated": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/ramda": "0.28.20",
"@types/wrap-ansi": "^8.0.1",

View File

@@ -37,7 +37,7 @@
"@pnpm/lockfile-file": "workspace:*",
"@pnpm/plugin-commands-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.2.0",
"@pnpm/registry-mock": "3.3.0",
"@types/archy": "0.0.32",
"@types/ramda": "0.28.20",
"@types/ssri": "^7.1.1",