From b4289c0a2e531ecfa1cfd66dc90c71189788bc36 Mon Sep 17 00:00:00 2001 From: James George Date: Tue, 10 Nov 2020 22:20:45 +0530 Subject: [PATCH] chore: remove cross-spawn (#2097) --- packages/utils/__tests__/global-packages-path.test.ts | 10 +++------- packages/utils/package.json | 2 -- packages/utils/src/global-packages-path.ts | 4 ++-- yarn.lock | 2 +- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/packages/utils/__tests__/global-packages-path.test.ts b/packages/utils/__tests__/global-packages-path.test.ts index 5aa77543595..91bfde39677 100644 --- a/packages/utils/__tests__/global-packages-path.test.ts +++ b/packages/utils/__tests__/global-packages-path.test.ts @@ -12,7 +12,7 @@ const globalModulesNpmValue = 'test-npm'; jest.setMock('global-modules', globalModulesNpmValue); import * as path from 'path'; -import * as spawn from 'cross-spawn'; +import * as execa from 'execa'; describe('getPathToGlobalPackages', () => { it('uses global-modules if package manager is npm', () => { @@ -22,12 +22,8 @@ describe('getPathToGlobalPackages', () => { it('executes a command to find yarn global dir if package manager is yarn', () => { (getPackageManager as jest.Mock).mockReturnValue('yarn'); - (spawn.sync as jest.Mock).mockReturnValue({ - stdout: { - toString: (): string => { - return 'test-yarn'; - }, - }, + (execa.sync as jest.Mock).mockReturnValue({ + stdout: 'test-yarn', }); // after the yarn global dir is found, the node_modules directory // is added on to the path diff --git a/packages/utils/package.json b/packages/utils/package.json index 36bd4bbb257..8ceef2af2f9 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -13,7 +13,6 @@ ], "dependencies": { "colorette": "^1.2.1", - "cross-spawn": "^7.0.3", "execa": "^4.1.0", "findup-sync": "^4.0.0", "global-modules": "^2.0.0", @@ -28,7 +27,6 @@ "webpack-cli": "4.x.x" }, "devDependencies": { - "@types/cross-spawn": "^6.0.2", "@types/got": "^9.6.11", "@types/prettier": "^2.1.5", "@types/yeoman-generator": "^4.11.3" diff --git a/packages/utils/src/global-packages-path.ts b/packages/utils/src/global-packages-path.ts index feac325b6d5..8dde1dd5354 100644 --- a/packages/utils/src/global-packages-path.ts +++ b/packages/utils/src/global-packages-path.ts @@ -1,4 +1,4 @@ -import spawn from 'cross-spawn'; +import { sync } from 'execa'; import path from 'path'; import { utils } from 'webpack-cli'; @@ -16,7 +16,7 @@ export function getPathToGlobalPackages(): string { const manager: string = getPackageManager(); if (manager === 'yarn') { try { - const yarnDir = spawn.sync('yarn', ['global', 'dir']).stdout.toString().trim(); + const yarnDir = sync('yarn', ['global', 'dir']).stdout; return path.join(yarnDir, 'node_modules'); } catch (e) { // Default to the global npm path below diff --git a/yarn.lock b/yarn.lock index 3b80a4ea410..5cf56c3cfbe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4203,7 +4203,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==