mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-28 11:01:30 -04:00
fix(update): update latest should not update peer dependencies (#8615)
close #6657
This commit is contained in:
6
.changeset/afraid-wolves-obey.md
Normal file
6
.changeset/afraid-wolves-obey.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"@pnpm/resolve-dependencies": patch
|
||||||
|
"pnpm": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
`pnpm update --latest` should not update the automatically installed peer dependencies [#6657](https://github.com/pnpm/pnpm/issues/6657).
|
||||||
@@ -38,6 +38,39 @@ test('update with "*" pattern', async () => {
|
|||||||
expect(lockfile.packages['@pnpm.e2e/foo@1.0.0']).toBeTruthy()
|
expect(lockfile.packages['@pnpm.e2e/foo@1.0.0']).toBeTruthy()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('update to latest should not touch the automatically installed peer dependencies', async () => {
|
||||||
|
await addDistTag({ package: '@pnpm.e2e/peer-a', version: '1.0.0', distTag: 'latest' })
|
||||||
|
await addDistTag({ package: '@pnpm.e2e/peer-c', version: '1.0.0', distTag: 'latest' })
|
||||||
|
|
||||||
|
const project = prepare({
|
||||||
|
dependencies: {
|
||||||
|
'@pnpm.e2e/abc': '1.0.0',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
await install.handler({
|
||||||
|
...DEFAULT_OPTS,
|
||||||
|
dir: process.cwd(),
|
||||||
|
})
|
||||||
|
|
||||||
|
await addDistTag({ package: '@pnpm.e2e/peer-a', version: '1.0.1', distTag: 'latest' })
|
||||||
|
await addDistTag({ package: '@pnpm.e2e/peer-c', version: '1.0.1', distTag: 'latest' })
|
||||||
|
await addDistTag({ package: '@pnpm.e2e/abc', version: '2.0.0', distTag: 'latest' })
|
||||||
|
|
||||||
|
await update.handler({
|
||||||
|
...DEFAULT_OPTS,
|
||||||
|
dir: process.cwd(),
|
||||||
|
latest: true,
|
||||||
|
}, ['@pnpm.e2e/abc'])
|
||||||
|
|
||||||
|
const lockfile = project.readLockfile()
|
||||||
|
|
||||||
|
expect(lockfile.packages['@pnpm.e2e/peer-a@1.0.0']).toBeTruthy()
|
||||||
|
expect(lockfile.packages['@pnpm.e2e/peer-a@1.0.1']).toBeFalsy()
|
||||||
|
expect(lockfile.packages['@pnpm.e2e/peer-c@1.0.0']).toBeTruthy()
|
||||||
|
expect(lockfile.packages['@pnpm.e2e/peer-c@1.0.1']).toBeFalsy()
|
||||||
|
})
|
||||||
|
|
||||||
test('update with negation pattern', async () => {
|
test('update with negation pattern', async () => {
|
||||||
await addDistTag({ package: '@pnpm.e2e/peer-a', version: '1.0.1', distTag: 'latest' })
|
await addDistTag({ package: '@pnpm.e2e/peer-a', version: '1.0.1', distTag: 'latest' })
|
||||||
await addDistTag({ package: '@pnpm.e2e/peer-c', version: '2.0.0', distTag: 'latest' })
|
await addDistTag({ package: '@pnpm.e2e/peer-c', version: '2.0.0', distTag: 'latest' })
|
||||||
|
|||||||
@@ -349,6 +349,7 @@ export async function resolveRootDependencies (
|
|||||||
...options,
|
...options,
|
||||||
parentPkgAliases,
|
parentPkgAliases,
|
||||||
publishedBy,
|
publishedBy,
|
||||||
|
updateToLatest: false,
|
||||||
})
|
})
|
||||||
importerResolutionResult.pkgAddresses.push(...resolveDependenciesResult.pkgAddresses)
|
importerResolutionResult.pkgAddresses.push(...resolveDependenciesResult.pkgAddresses)
|
||||||
Object.assign(importerResolutionResult,
|
Object.assign(importerResolutionResult,
|
||||||
@@ -369,6 +370,7 @@ export async function resolveRootDependencies (
|
|||||||
...options,
|
...options,
|
||||||
parentPkgAliases,
|
parentPkgAliases,
|
||||||
publishedBy,
|
publishedBy,
|
||||||
|
updateToLatest: false,
|
||||||
})
|
})
|
||||||
pkgAddressesByImportersWithoutPeers[index].pkgAddresses.push(...resolveDependenciesResult.pkgAddresses)
|
pkgAddressesByImportersWithoutPeers[index].pkgAddresses.push(...resolveDependenciesResult.pkgAddresses)
|
||||||
Object.assign(pkgAddressesByImportersWithoutPeers[index],
|
Object.assign(pkgAddressesByImportersWithoutPeers[index],
|
||||||
|
|||||||
46
pnpm-lock.yaml
generated
46
pnpm-lock.yaml
generated
@@ -55,8 +55,8 @@ catalogs:
|
|||||||
specifier: 0.0.0
|
specifier: 0.0.0
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 3.41.0
|
specifier: 3.42.0
|
||||||
version: 3.41.0
|
version: 3.42.0
|
||||||
'@pnpm/semver-diff':
|
'@pnpm/semver-diff':
|
||||||
specifier: ^1.1.0
|
specifier: ^1.1.0
|
||||||
version: 1.1.0
|
version: 1.1.0
|
||||||
@@ -722,7 +722,7 @@ importers:
|
|||||||
version: 2.0.3
|
version: 2.0.3
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/tsconfig':
|
'@pnpm/tsconfig':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:__utils__/tsconfig
|
version: link:__utils__/tsconfig
|
||||||
@@ -846,7 +846,7 @@ importers:
|
|||||||
version: link:../../pkg-manager/modules-yaml
|
version: link:../../pkg-manager/modules-yaml
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/types':
|
'@pnpm/types':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../packages/types
|
version: link:../../packages/types
|
||||||
@@ -880,7 +880,7 @@ importers:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/store.cafs':
|
'@pnpm/store.cafs':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../store/cafs
|
version: link:../../store/cafs
|
||||||
@@ -1104,7 +1104,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@types/ramda':
|
'@types/ramda':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 0.29.12
|
version: 0.29.12
|
||||||
@@ -2178,7 +2178,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/test-fixtures':
|
'@pnpm/test-fixtures':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../__utils__/test-fixtures
|
version: link:../../__utils__/test-fixtures
|
||||||
@@ -2308,7 +2308,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/test-ipc-server':
|
'@pnpm/test-ipc-server':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../__utils__/test-ipc-server
|
version: link:../../__utils__/test-ipc-server
|
||||||
@@ -3967,7 +3967,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/test-fixtures':
|
'@pnpm/test-fixtures':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../__utils__/test-fixtures
|
version: link:../../__utils__/test-fixtures
|
||||||
@@ -4251,7 +4251,7 @@ importers:
|
|||||||
version: link:../../pkg-manifest/read-package-json
|
version: link:../../pkg-manifest/read-package-json
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/store-path':
|
'@pnpm/store-path':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../store/store-path
|
version: link:../../store/store-path
|
||||||
@@ -4539,7 +4539,7 @@ importers:
|
|||||||
version: link:../read-projects-context
|
version: link:../read-projects-context
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/store-path':
|
'@pnpm/store-path':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../store/store-path
|
version: link:../../store/store-path
|
||||||
@@ -4899,7 +4899,7 @@ importers:
|
|||||||
version: 'link:'
|
version: 'link:'
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/test-fixtures':
|
'@pnpm/test-fixtures':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../__utils__/test-fixtures
|
version: link:../../__utils__/test-fixtures
|
||||||
@@ -5095,7 +5095,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/test-fixtures':
|
'@pnpm/test-fixtures':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../__utils__/test-fixtures
|
version: link:../../__utils__/test-fixtures
|
||||||
@@ -5703,7 +5703,7 @@ importers:
|
|||||||
version: link:../pkg-manifest/read-project-manifest
|
version: link:../pkg-manifest/read-project-manifest
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/run-npm':
|
'@pnpm/run-npm':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../exec/run-npm
|
version: link:../exec/run-npm
|
||||||
@@ -5981,7 +5981,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/workspace.filter-packages-from-dir':
|
'@pnpm/workspace.filter-packages-from-dir':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../workspace/filter-packages-from-dir
|
version: link:../../workspace/filter-packages-from-dir
|
||||||
@@ -6090,7 +6090,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/test-ipc-server':
|
'@pnpm/test-ipc-server':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../__utils__/test-ipc-server
|
version: link:../../__utils__/test-ipc-server
|
||||||
@@ -6671,7 +6671,7 @@ importers:
|
|||||||
version: link:../../pkg-manifest/read-package-json
|
version: link:../../pkg-manifest/read-package-json
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/test-fixtures':
|
'@pnpm/test-fixtures':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../__utils__/test-fixtures
|
version: link:../../__utils__/test-fixtures
|
||||||
@@ -6738,7 +6738,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/workspace.filter-packages-from-dir':
|
'@pnpm/workspace.filter-packages-from-dir':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../workspace/filter-packages-from-dir
|
version: link:../../workspace/filter-packages-from-dir
|
||||||
@@ -6829,7 +6829,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@pnpm/test-fixtures':
|
'@pnpm/test-fixtures':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../__utils__/test-fixtures
|
version: link:../../__utils__/test-fixtures
|
||||||
@@ -7167,7 +7167,7 @@ importers:
|
|||||||
version: link:../../__utils__/prepare
|
version: link:../../__utils__/prepare
|
||||||
'@pnpm/registry-mock':
|
'@pnpm/registry-mock':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.41.0(encoding@0.1.13)(typanion@3.14.0)
|
version: 3.42.0(encoding@0.1.13)(typanion@3.14.0)
|
||||||
'@types/archy':
|
'@types/archy':
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 0.0.33
|
version: 0.0.33
|
||||||
@@ -8844,8 +8844,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-LFTWzfJbu6+l86bw/uUAsPU05n1oTqg6jzqyTXYDJPfVclqTfPnHiZoC1nvVvQlE7iVg3bhJ7SXg9IyzK7RWDQ==}
|
resolution: {integrity: sha512-LFTWzfJbu6+l86bw/uUAsPU05n1oTqg6jzqyTXYDJPfVclqTfPnHiZoC1nvVvQlE7iVg3bhJ7SXg9IyzK7RWDQ==}
|
||||||
engines: {node: '>=18.12'}
|
engines: {node: '>=18.12'}
|
||||||
|
|
||||||
'@pnpm/registry-mock@3.41.0':
|
'@pnpm/registry-mock@3.42.0':
|
||||||
resolution: {integrity: sha512-AtnFxhDGrN8tKtXyZpAqFobOVYkb1HSUPlOk6v/+WzJq2iowNDrtKYs0MKuzGNizlQr+rBWcGEXaIUcS7oNZ0Q==}
|
resolution: {integrity: sha512-L2OuizGAxl16YKFg4iAqIVX+A6KQhqoXiEuhRM5izM/THnQZwcsN5OOUSxybQOdI6nU3Ka94+gm7LlbyTKGYqw==}
|
||||||
engines: {node: '>=10.13'}
|
engines: {node: '>=10.13'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -15716,7 +15716,7 @@ snapshots:
|
|||||||
sort-keys: 4.2.0
|
sort-keys: 4.2.0
|
||||||
strip-bom: 4.0.0
|
strip-bom: 4.0.0
|
||||||
|
|
||||||
'@pnpm/registry-mock@3.41.0(encoding@0.1.13)(typanion@3.14.0)':
|
'@pnpm/registry-mock@3.42.0(encoding@0.1.13)(typanion@3.14.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
anonymous-npm-registry-client: 0.2.0
|
anonymous-npm-registry-client: 0.2.0
|
||||||
execa: 5.1.1
|
execa: 5.1.1
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ catalog:
|
|||||||
"@pnpm/npm-package-arg": ^1.0.0
|
"@pnpm/npm-package-arg": ^1.0.0
|
||||||
"@pnpm/os.env.path-extender": ^2.0.0
|
"@pnpm/os.env.path-extender": ^2.0.0
|
||||||
"@pnpm/patch-package": 0.0.0
|
"@pnpm/patch-package": 0.0.0
|
||||||
"@pnpm/registry-mock": 3.41.0
|
"@pnpm/registry-mock": 3.42.0
|
||||||
"@pnpm/semver-diff": ^1.1.0
|
"@pnpm/semver-diff": ^1.1.0
|
||||||
"@pnpm/tabtab": ^0.5.4
|
"@pnpm/tabtab": ^0.5.4
|
||||||
"@pnpm/util.lex-comparator": 3.0.0
|
"@pnpm/util.lex-comparator": 3.0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user