mirror of
https://github.com/pnpm/pnpm.git
synced 2026-05-18 22:02:53 -04:00
7
.changeset/nasty-masks-attack.md
Normal file
7
.changeset/nasty-masks-attack.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
"@pnpm/plugin-commands-installation": minor
|
||||||
|
"@pnpm/plugin-commands-deploy": patch
|
||||||
|
"pnpm": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix a bug in which `pnpm deploy` fails due to overridden dependencies having peer dependencies causing `ERR_PNPM_OUTDATED_LOCKFILE` [#9595](https://github.com/pnpm/pnpm/issues/9595).
|
||||||
@@ -317,6 +317,7 @@ export type InstallCommandOptions = Pick<Config,
|
|||||||
| 'ignoreWorkspaceCycles'
|
| 'ignoreWorkspaceCycles'
|
||||||
| 'disallowWorkspaceCycles'
|
| 'disallowWorkspaceCycles'
|
||||||
| 'updateConfig'
|
| 'updateConfig'
|
||||||
|
| 'overrides'
|
||||||
> & CreateStoreControllerOptions & {
|
> & CreateStoreControllerOptions & {
|
||||||
argv: {
|
argv: {
|
||||||
original: string[]
|
original: string[]
|
||||||
|
|||||||
@@ -120,6 +120,7 @@ export function createDeployFiles ({
|
|||||||
lockfile: {
|
lockfile: {
|
||||||
...lockfile,
|
...lockfile,
|
||||||
patchedDependencies: undefined,
|
patchedDependencies: undefined,
|
||||||
|
overrides: undefined, // the effects of the overrides should already be part of the package snapshots
|
||||||
packageExtensionsChecksum: undefined, // the effects of the package extensions should already be part of the package snapshots
|
packageExtensionsChecksum: undefined, // the effects of the package extensions should already be part of the package snapshots
|
||||||
pnpmfileChecksum: undefined, // the effects of the pnpmfile should already be part of the package snapshots
|
pnpmfileChecksum: undefined, // the effects of the pnpmfile should already be part of the package snapshots
|
||||||
importers: {
|
importers: {
|
||||||
@@ -135,6 +136,7 @@ export function createDeployFiles ({
|
|||||||
pnpm: {
|
pnpm: {
|
||||||
...rootProjectManifest?.pnpm,
|
...rootProjectManifest?.pnpm,
|
||||||
...pick(USEFUL_NON_ROOT_PNPM_FIELDS, selectedProjectManifest.pnpm ?? {}),
|
...pick(USEFUL_NON_ROOT_PNPM_FIELDS, selectedProjectManifest.pnpm ?? {}),
|
||||||
|
overrides: undefined, // the effects of the overrides should already be part of the package snapshots
|
||||||
patchedDependencies: undefined,
|
patchedDependencies: undefined,
|
||||||
packageExtensions: undefined, // the effects of the package extensions should already be part of the package snapshots
|
packageExtensions: undefined, // the effects of the package extensions should already be part of the package snapshots
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -261,6 +261,7 @@ async function deployFromSharedLockfile (
|
|||||||
modulesDir: undefined,
|
modulesDir: undefined,
|
||||||
confirmModulesPurge: false,
|
confirmModulesPurge: false,
|
||||||
frozenLockfile: true,
|
frozenLockfile: true,
|
||||||
|
overrides: undefined, // the effects of the overrides should already be part of the package snapshots
|
||||||
hooks: {
|
hooks: {
|
||||||
...opts.hooks,
|
...opts.hooks,
|
||||||
readPackage: [
|
readPackage: [
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ test('deploy with a shared lockfile after full install', async () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
test('the deploy manifest should inherit the pnpm object from the root manifest and the manifest of the selected project', async () => {
|
test('the deploy manifest should inherit some fields from the pnpm object from the root manifest and the manifest of the selected project', async () => {
|
||||||
const preparedManifests: Record<'root' | 'project-0', ProjectManifest> = {
|
const preparedManifests: Record<'root' | 'project-0', ProjectManifest> = {
|
||||||
root: {
|
root: {
|
||||||
name: 'root',
|
name: 'root',
|
||||||
@@ -337,7 +337,6 @@ test('the deploy manifest should inherit the pnpm object from the root manifest
|
|||||||
const manifest = readPackageJson('deploy') as ProjectManifest
|
const manifest = readPackageJson('deploy') as ProjectManifest
|
||||||
expect(manifest.pnpm).toStrictEqual({
|
expect(manifest.pnpm).toStrictEqual({
|
||||||
onlyBuiltDependencies: preparedManifests.root.pnpm!.onlyBuiltDependencies,
|
onlyBuiltDependencies: preparedManifests.root.pnpm!.onlyBuiltDependencies,
|
||||||
overrides: preparedManifests.root.pnpm!.overrides,
|
|
||||||
executionEnv: preparedManifests['project-0'].pnpm!.executionEnv,
|
executionEnv: preparedManifests['project-0'].pnpm!.executionEnv,
|
||||||
} as ProjectManifest['pnpm'])
|
} as ProjectManifest['pnpm'])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user