From aa41f661e19d137da1f26ec56be0dd21a58c62a8 Mon Sep 17 00:00:00 2001 From: Ian VanSchooten Date: Fri, 30 Dec 2022 14:42:35 -0500 Subject: [PATCH 1/2] Do not use legacy-peer-deps --- .../src/js-package-manager/NPMProxy.test.ts | 12 +++------ .../cli/src/js-package-manager/NPMProxy.ts | 26 ++----------------- 2 files changed, 6 insertions(+), 32 deletions(-) diff --git a/code/lib/cli/src/js-package-manager/NPMProxy.test.ts b/code/lib/cli/src/js-package-manager/NPMProxy.test.ts index 64ccc474802c..4de3a35fed6d 100644 --- a/code/lib/cli/src/js-package-manager/NPMProxy.test.ts +++ b/code/lib/cli/src/js-package-manager/NPMProxy.test.ts @@ -47,16 +47,12 @@ describe('NPM Proxy', () => { }); }); describe('npm7', () => { - it('should run `npm install --legacy-peer-deps`', () => { + it('should run `npm install`', () => { const executeCommandSpy = jest.spyOn(npmProxy, 'executeCommand').mockReturnValue('7.1.0'); npmProxy.installDependencies(); - expect(executeCommandSpy).toHaveBeenLastCalledWith( - 'npm', - ['install', '--legacy-peer-deps'], - expect.any(String) - ); + expect(executeCommandSpy).toHaveBeenLastCalledWith('npm', ['install'], expect.any(String)); }); }); }); @@ -83,7 +79,7 @@ describe('NPM Proxy', () => { expect(executeCommandSpy).toHaveBeenLastCalledWith( 'npm', - ['install', '--legacy-peer-deps', '-D', '@storybook/preview-api'], + ['install', '-D', '@storybook/preview-api'], expect.any(String) ); }); @@ -112,7 +108,7 @@ describe('NPM Proxy', () => { expect(executeCommandSpy).toHaveBeenLastCalledWith( 'npm', - ['uninstall', '--legacy-peer-deps', '@storybook/preview-api'], + ['uninstall', '@storybook/preview-api'], expect.any(String) ); }); diff --git a/code/lib/cli/src/js-package-manager/NPMProxy.ts b/code/lib/cli/src/js-package-manager/NPMProxy.ts index 06f17e462198..f263cb73d6a9 100644 --- a/code/lib/cli/src/js-package-manager/NPMProxy.ts +++ b/code/lib/cli/src/js-package-manager/NPMProxy.ts @@ -26,38 +26,16 @@ export class NPMProxy extends JsPackageManager { return this.executeCommand('npm', ['--version']); } - hasLegacyPeerDeps() { - const result = this.executeCommand('npm', [ - 'config', - 'get', - 'legacy-peer-deps', - '--location=project', - ]); - return result.trim() === 'true'; - } - - setLegacyPeerDeps() { - this.executeCommand('npm', ['config', 'set', 'legacy-peer-deps=true', '--location=project']); - } - - needsLegacyPeerDeps(version: string) { - return semver.gte(version, '7.0.0') && !this.hasLegacyPeerDeps(); - } - getInstallArgs(): string[] { if (!this.installArgs) { - this.installArgs = this.needsLegacyPeerDeps(this.getNpmVersion()) - ? ['install', '--legacy-peer-deps'] - : ['install']; + this.installArgs = ['install']; } return this.installArgs; } getUninstallArgs(): string[] { if (!this.uninstallArgs) { - this.uninstallArgs = this.needsLegacyPeerDeps(this.getNpmVersion()) - ? ['uninstall', '--legacy-peer-deps'] - : ['uninstall']; + this.uninstallArgs = ['uninstall']; } return this.uninstallArgs; } From 1807073161e87d87d3b4ce73b267d6a2df60e8b3 Mon Sep 17 00:00:00 2001 From: Ian VanSchooten Date: Fri, 30 Dec 2022 15:57:34 -0500 Subject: [PATCH 2/2] Remove unused import --- code/lib/cli/src/js-package-manager/NPMProxy.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/lib/cli/src/js-package-manager/NPMProxy.ts b/code/lib/cli/src/js-package-manager/NPMProxy.ts index f263cb73d6a9..515e254a2ad6 100644 --- a/code/lib/cli/src/js-package-manager/NPMProxy.ts +++ b/code/lib/cli/src/js-package-manager/NPMProxy.ts @@ -1,5 +1,3 @@ -import semver from 'semver'; - import { JsPackageManager } from './JsPackageManager'; import type { PackageJson } from './PackageJson';