fix: don't fail when a non-optional dep of an optional dep fails (#6847)

close #6822
This commit is contained in:
Zoltan Kochan
2023-07-22 16:53:49 +03:00
committed by GitHub
parent fe1c5f48d3
commit a13a0e8f5c
21 changed files with 118 additions and 69 deletions

View File

@@ -0,0 +1,6 @@
---
"@pnpm/resolve-dependencies": patch
"pnpm": patch
---
Installation succeeds if a non-optional dependency of an optional dependency has failing installation scripts [#6822](https://github.com/pnpm/pnpm/issues/6822).

View File

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

View File

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

View File

@@ -34,7 +34,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-rebuild": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/ramda": "0.28.20",
"@types/semver": "7.3.13",
@@ -45,7 +45,6 @@
"write-yaml-file": "^5.0.0"
},
"dependencies": {
"@pnpm/store.cafs": "workspace:*",
"@pnpm/calc-dep-state": "workspace:*",
"@pnpm/cli-utils": "workspace:*",
"@pnpm/common-cli-options-help": "workspace:*",
@@ -68,6 +67,7 @@
"@pnpm/sort-packages": "workspace:*",
"@pnpm/store-connection-manager": "workspace:*",
"@pnpm/store-controller-types": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/types": "workspace:*",
"@pnpm/workspace.find-packages": "workspace:*",
"load-json-file": "^6.2.0",

View File

@@ -34,7 +34,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-script-runners": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@types/is-windows": "^1.0.0",
"@types/ramda": "0.28.20",
"@types/which": "^2.0.2",

View File

@@ -39,7 +39,7 @@
"@commitlint/prompt-cli": "^17.6.6",
"@pnpm/eslint-config": "workspace:*",
"@pnpm/meta-updater": "0.2.3",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/tsconfig": "workspace:*",
"@types/jest": "^29.5.3",
"@types/node": "^14.18.53",

View File

@@ -34,7 +34,7 @@
"@pnpm/filter-workspace-packages": "workspace:*",
"@pnpm/plugin-commands-patching": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/normalize-path": "^3.0.0",
"@types/npm-packlist": "^3.0.0",

View File

@@ -73,15 +73,15 @@
"devDependencies": {
"@pnpm/assert-project": "workspace:*",
"@pnpm/assert-store": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/client": "workspace:*",
"@pnpm/core": "workspace:*",
"@pnpm/git-utils": "workspace:*",
"@pnpm/lockfile-types": "workspace:*",
"@pnpm/package-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/store-path": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/test-fixtures": "workspace:*",
"@types/fs-extra": "^9.0.13",
"@types/is-windows": "^1.0.0",

View File

@@ -547,3 +547,31 @@ test('fail on unsupported dependency of optional dependency', async () => {
)
).rejects.toThrow()
})
test('do not fail on an optional dependency that has a non-optional dependency with a failing postinstall script', async () => {
prepareEmpty()
await expect(
addDependenciesToPackage(
{},
['@pnpm.e2e/has-failing-postinstall-dep@1.0.0'],
await testDefaults({ targetDependenciesField: 'optionalDependencies' })
)
).resolves.toBeTruthy()
})
test('fail on a package with failing postinstall if the package is both an optional and non-optional dependency', async () => {
prepareEmpty()
await expect(
install(
{
dependencies: {
'@pnpm.e2e/failing-postinstall': '1.0.0',
},
optionalDependencies: {
'@pnpm.e2e/has-failing-postinstall-dep': '1.0.0',
},
},
await testDefaults({})
)
).rejects.toThrow()
})

View File

@@ -16,14 +16,14 @@
},
"devDependencies": {
"@pnpm/assert-project": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/client": "workspace:*",
"@pnpm/headless": "workspace:*",
"@pnpm/package-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/read-projects-context": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/store-path": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/test-fixtures": "workspace:*",
"@types/fs-extra": "^9.0.13",
"@types/ramda": "0.28.20",

View File

@@ -35,7 +35,6 @@
"@pnpm/logger": "^5.0.0"
},
"dependencies": {
"@pnpm/store.cafs": "workspace:*",
"@pnpm/core-loggers": "workspace:*",
"@pnpm/dependency-path": "workspace:*",
"@pnpm/error": "workspace:*",
@@ -46,6 +45,7 @@
"@pnpm/read-package-json": "workspace:*",
"@pnpm/resolver-base": "workspace:*",
"@pnpm/store-controller-types": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/types": "workspace:*",
"load-json-file": "^6.2.0",
"p-defer": "^3.0.0",
@@ -65,7 +65,7 @@
"@pnpm/client": "workspace:*",
"@pnpm/create-cafs-store": "workspace:*",
"@pnpm/package-requester": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/normalize-path": "^3.0.0",
"@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.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/proxyquire": "^1.3.28",
"@types/ramda": "0.28.20",

View File

@@ -191,6 +191,7 @@ export type PkgAddress = {
missingPeers: MissingPeers
missingPeersOfChildren?: MissingPeersOfChildren
publishedAt?: string
optional: boolean
} & ({
isLinkedDependency: true
version: string
@@ -234,7 +235,7 @@ export interface ResolvedPackage {
parentImporterIds: Set<string>
}
type ParentPkg = Pick<PkgAddress, 'nodeId' | 'installable' | 'depPath' | 'rootDir'>
type ParentPkg = Pick<PkgAddress, 'nodeId' | 'installable' | 'depPath' | 'rootDir' | 'optional'>
export type ParentPkgAliases = Record<string, PkgAddress | true>
@@ -1249,6 +1250,7 @@ async function resolveDependency (
const isNew = !ctx.resolvedPackagesByDepPath[depPath]
const parentImporterId = options.parentPkg.nodeId.substring(0, options.parentPkg.nodeId.indexOf('>', 1) + 1)
let resolveChildren = false
const currentIsOptional = wantedDependency.optional || options.parentPkg.optional
if (isNew) {
if (
@@ -1288,11 +1290,12 @@ async function resolveDependency (
prepare,
wantedDependency,
parentImporterId,
optional: currentIsOptional,
})
} else {
ctx.resolvedPackagesByDepPath[depPath].prod = ctx.resolvedPackagesByDepPath[depPath].prod || !wantedDependency.dev && !wantedDependency.optional
ctx.resolvedPackagesByDepPath[depPath].dev = ctx.resolvedPackagesByDepPath[depPath].dev || wantedDependency.dev
ctx.resolvedPackagesByDepPath[depPath].optional = ctx.resolvedPackagesByDepPath[depPath].optional && wantedDependency.optional
ctx.resolvedPackagesByDepPath[depPath].optional = ctx.resolvedPackagesByDepPath[depPath].optional && currentIsOptional
if (ctx.autoInstallPeers) {
resolveChildren = !ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id].missingPeersOfChildren.resolved &&
!ctx.resolvedPackagesByDepPath[depPath].parentImporterIds.has(parentImporterId)
@@ -1351,6 +1354,7 @@ async function resolveDependency (
pkgId: pkgResponse.body.id,
rootDir,
missingPeers: getMissingPeers(pkg),
optional: ctx.resolvedPackagesByDepPath[depPath].optional,
// Next fields are actually only needed when isNew = true
installable,
@@ -1404,6 +1408,7 @@ function getResolvedPackage (
pkg: PackageManifest
pkgResponse: PackageResponse
prepare: boolean
optional: boolean
wantedDependency: WantedDependency
}
): ResolvedPackage {
@@ -1434,7 +1439,7 @@ function getResolvedPackage (
hasBundledDependencies: !((options.pkg.bundledDependencies ?? options.pkg.bundleDependencies) == null),
id: options.pkgResponse.body.id,
name: options.pkg.name,
optional: options.wantedDependency.optional,
optional: options.optional,
optionalDependencies: new Set(Object.keys(options.pkg.optionalDependencies ?? {})),
patchFile: options.patchFile,
peerDependencies: peerDependencies ?? {},

98
pnpm-lock.yaml generated
View File

@@ -109,8 +109,8 @@ importers:
specifier: 0.2.3
version: 0.2.3(typanion@3.13.0)
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/tsconfig':
specifier: workspace:*
version: link:__utils__/tsconfig
@@ -221,8 +221,8 @@ importers:
specifier: workspace:*
version: link:../../pkg-manager/modules-yaml
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/types':
specifier: workspace:*
version: link:../../packages/types
@@ -258,8 +258,8 @@ importers:
__utils__/assert-store:
dependencies:
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/store.cafs':
specifier: workspace:*
version: link:../../store/cafs
@@ -1262,8 +1262,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -1377,8 +1377,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@types/is-windows':
specifier: ^1.0.0
version: 1.0.0
@@ -2778,8 +2778,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -3032,8 +3032,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/store-path':
specifier: workspace:*
version: link:../../store/store-path
@@ -3302,8 +3302,8 @@ importers:
specifier: workspace:*
version: link:../read-projects-context
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/store-path':
specifier: workspace:*
version: link:../../store/store-path
@@ -3668,8 +3668,8 @@ importers:
specifier: workspace:*
version: 'link:'
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -3858,8 +3858,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -4399,8 +4399,8 @@ importers:
specifier: workspace:*
version: link:../pkg-manifest/read-project-manifest
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/run-npm':
specifier: workspace:*
version: link:../exec/run-npm
@@ -4653,8 +4653,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
releasing/plugin-commands-publishing:
dependencies:
@@ -4750,8 +4750,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@types/cross-spawn':
specifier: ^6.0.2
version: 6.0.2
@@ -5298,8 +5298,8 @@ importers:
specifier: workspace:*
version: link:../../pkg-manifest/read-package-json
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -5362,8 +5362,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@types/ramda':
specifier: 0.28.20
version: 0.28.20
@@ -5456,8 +5456,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@pnpm/test-fixtures':
specifier: workspace:*
version: link:../../__utils__/test-fixtures
@@ -5806,8 +5806,8 @@ importers:
specifier: workspace:*
version: link:../../__utils__/prepare
'@pnpm/registry-mock':
specifier: 3.10.2
version: 3.10.2(typanion@3.13.0)
specifier: 3.11.0
version: 3.11.0(typanion@3.13.0)
'@types/archy':
specifier: 0.0.32
version: 0.0.32
@@ -8762,8 +8762,8 @@ packages:
- typanion
dev: true
/@pnpm/registry-mock@3.10.2(typanion@3.13.0):
resolution: {integrity: sha512-VOdPefpvODg4bUSHKdJ6qnkgFfVLdl9erUNNBgfwc/P+eiYVF6w2ejs7tdQs3JCTKQrfpBrASGN2E6Z+yFmyoA==}
/@pnpm/registry-mock@3.11.0(typanion@3.13.0):
resolution: {integrity: sha512-Uc2h/h97YepX0Depm6/nOIUzjLz1Ny7xoL91GYcRRq/pbWJamCCGFSmZTHiBc3oX1WzremOqe4vvqE3uTkWZQg==}
engines: {node: '>=10.13'}
hasBin: true
dependencies:
@@ -9071,7 +9071,7 @@ packages:
/@types/byline@4.2.33:
resolution: {integrity: sha512-LJYez7wrWcJQQDknqZtrZuExMGP0IXmPl1rOOGDqLbu+H7UNNRfKNuSxCBcQMLH1EfjeWidLedC/hCc5dDfBog==}
dependencies:
'@types/node': 14.18.53
'@types/node': 20.4.4
dev: true
/@types/cacheable-request@6.0.3:
@@ -9079,7 +9079,7 @@ packages:
dependencies:
'@types/http-cache-semantics': 4.0.1
'@types/keyv': 3.1.4
'@types/node': 14.18.53
'@types/node': 20.4.4
'@types/responselike': 1.0.0
/@types/concat-stream@2.0.0:
@@ -9187,7 +9187,7 @@ packages:
/@types/keyv@3.1.4:
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
dependencies:
'@types/node': 14.18.53
'@types/node': 20.4.4
/@types/lodash.clonedeep@4.5.7:
resolution: {integrity: sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw==}
@@ -9236,13 +9236,17 @@ packages:
/@types/node@14.18.53:
resolution: {integrity: sha512-soGmOpVBUq+gaBMwom1M+krC/NNbWlosh4AtGA03SyWNDiqSKtwp7OulO1M6+mg8YkHMvJ/y0AkCeO8d1hNb7A==}
dev: true
/@types/node@18.16.19:
resolution: {integrity: sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==}
/@types/node@18.17.0:
resolution: {integrity: sha512-GXZxEtOxYGFchyUzxvKI14iff9KZ2DI+A6a37o6EQevtg6uO9t+aUZKcaC1Te5Ng1OnLM7K9NVVj+FbecD9cJg==}
/@types/node@20.4.2:
resolution: {integrity: sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==}
/@types/node@20.4.4:
resolution: {integrity: sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==}
/@types/normalize-package-data@2.4.1:
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
dev: true
@@ -9275,7 +9279,7 @@ packages:
/@types/responselike@1.0.0:
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
dependencies:
'@types/node': 14.18.53
'@types/node': 20.4.4
/@types/retry@0.12.2:
resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==}
@@ -9710,7 +9714,7 @@ packages:
resolution: {integrity: sha512-3m1gsj+ptDH2aAmmfP6RqVU0cyLJDNT2QUIe7yIRVs0oX1d6YK3Xkacm8d/EwOfDvwliEP0t6boRp2NQGxGB8Q==}
engines: {node: '>=14.15.0'}
dependencies:
'@types/node': 18.16.19
'@types/node': 18.17.0
'@yarnpkg/fslib': 3.0.0-rc.45
/@yarnpkg/shell@3.2.5(typanion@3.13.0):
@@ -14009,6 +14013,12 @@ packages:
resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
engines: {node: '>=8'}
/lru-cache@10.0.0:
resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==}
engines: {node: 14 || >=16.14}
dev: false
optional: true
/lru-cache@4.1.5:
resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
dependencies:
@@ -15156,7 +15166,7 @@ packages:
resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
lru-cache: 9.1.2
lru-cache: 10.0.0
minipass: 5.0.0
dev: false
optional: true

View File

@@ -59,7 +59,7 @@
"@pnpm/prepare": "workspace:*",
"@pnpm/read-package-json": "workspace:*",
"@pnpm/read-project-manifest": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/run-npm": "workspace:*",
"@pnpm/tabtab": "^0.1.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.10.2"
"@pnpm/registry-mock": "3.11.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.10.2",
"@pnpm/registry-mock": "3.11.0",
"@types/cross-spawn": "^6.0.2",
"@types/is-windows": "^1.0.0",
"@types/npm-packlist": "^3.0.0",

View File

@@ -36,7 +36,7 @@
"@pnpm/plugin-commands-licenses": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/read-package-json": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/ramda": "0.28.20",
"@types/wrap-ansi": "^8.0.1",

View File

@@ -34,7 +34,7 @@
"@pnpm/plugin-commands-installation": "workspace:*",
"@pnpm/plugin-commands-listing": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.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.10.2",
"@pnpm/registry-mock": "3.11.0",
"@pnpm/test-fixtures": "workspace:*",
"@types/ramda": "0.28.20",
"@types/wrap-ansi": "^8.0.1",

View File

@@ -34,7 +34,7 @@
"@pnpm/lockfile-file": "workspace:*",
"@pnpm/plugin-commands-store": "workspace:*",
"@pnpm/prepare": "workspace:*",
"@pnpm/registry-mock": "3.10.2",
"@pnpm/registry-mock": "3.11.0",
"@types/archy": "0.0.32",
"@types/ramda": "0.28.20",
"@types/ssri": "^7.1.1",
@@ -45,7 +45,6 @@
"tempy": "^1.0.1"
},
"dependencies": {
"@pnpm/store.cafs": "workspace:*",
"@pnpm/cli-utils": "workspace:*",
"@pnpm/config": "workspace:*",
"@pnpm/dependency-path": "workspace:*",
@@ -58,6 +57,7 @@
"@pnpm/store-connection-manager": "workspace:*",
"@pnpm/store-controller-types": "workspace:*",
"@pnpm/store-path": "workspace:*",
"@pnpm/store.cafs": "workspace:*",
"@pnpm/types": "workspace:*",
"archy": "^1.0.0",
"dint": "^5.1.0",