From 3f2a57a051427b5e42e979c86eb57b5fb5149cb5 Mon Sep 17 00:00:00 2001 From: Nitin Kumar Date: Sat, 6 May 2023 08:15:15 +0530 Subject: [PATCH 1/3] fix: improve check for custom webpack-dev-server package existance --- packages/webpack-cli/src/webpack-cli.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/webpack-cli/src/webpack-cli.ts b/packages/webpack-cli/src/webpack-cli.ts index d225f47ad81..8107968b42e 100644 --- a/packages/webpack-cli/src/webpack-cli.ts +++ b/packages/webpack-cli/src/webpack-cli.ts @@ -571,7 +571,10 @@ class WebpackCLI implements IWebpackCLI { } // Allow to use `./path/to/webpack-dev-server.js` outside `node_modules` - if (dependency === WEBPACK_DEV_SERVER_PACKAGE && fs.existsSync(WEBPACK_PACKAGE)) { + if ( + dependency === WEBPACK_DEV_SERVER_PACKAGE && + fs.existsSync(WEBPACK_DEV_SERVER_PACKAGE) + ) { skipInstallation = true; } From 1500796dcc32c5c8ad0c58c87e2da1ff2a6c86cd Mon Sep 17 00:00:00 2001 From: Nitin Kumar Date: Wed, 10 May 2023 15:54:50 +0530 Subject: [PATCH 2/3] fix: remove extra check --- packages/webpack-cli/src/webpack-cli.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/webpack-cli/src/webpack-cli.ts b/packages/webpack-cli/src/webpack-cli.ts index 8107968b42e..92f0721ec68 100644 --- a/packages/webpack-cli/src/webpack-cli.ts +++ b/packages/webpack-cli/src/webpack-cli.ts @@ -566,15 +566,12 @@ class WebpackCLI implements IWebpackCLI { let skipInstallation = false; // Allow to use `./path/to/webpack.js` outside `node_modules` - if (dependency === WEBPACK_PACKAGE && fs.existsSync(WEBPACK_PACKAGE)) { + if (dependency === WEBPACK_PACKAGE) { skipInstallation = true; } // Allow to use `./path/to/webpack-dev-server.js` outside `node_modules` - if ( - dependency === WEBPACK_DEV_SERVER_PACKAGE && - fs.existsSync(WEBPACK_DEV_SERVER_PACKAGE) - ) { + if (dependency === WEBPACK_DEV_SERVER_PACKAGE) { skipInstallation = true; } From f440ac378a5a51865f9bd035888a1d947b3ebefc Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Sun, 4 Jun 2023 03:22:19 +0300 Subject: [PATCH 3/3] fix: logic --- packages/webpack-cli/src/webpack-cli.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/webpack-cli/src/webpack-cli.ts b/packages/webpack-cli/src/webpack-cli.ts index 92f0721ec68..5c69dbb57a3 100644 --- a/packages/webpack-cli/src/webpack-cli.ts +++ b/packages/webpack-cli/src/webpack-cli.ts @@ -57,8 +57,14 @@ const { pathToFileURL } = require("url"); const util = require("util"); const { program, Option } = require("commander"); -const WEBPACK_PACKAGE = process.env.WEBPACK_PACKAGE || "webpack"; -const WEBPACK_DEV_SERVER_PACKAGE = process.env.WEBPACK_DEV_SERVER_PACKAGE || "webpack-dev-server"; +const WEBPACK_PACKAGE_IS_CUSTOM = !!process.env.WEBPACK_PACKAGE; +const WEBPACK_PACKAGE = WEBPACK_PACKAGE_IS_CUSTOM + ? (process.env.WEBPACK_PACKAGE as string) + : "webpack"; +const WEBPACK_DEV_SERVER_PACKAGE_IS_CUSTOM = !!process.env.WEBPACK_DEV_SERVER_PACKAGE; +const WEBPACK_DEV_SERVER_PACKAGE = WEBPACK_DEV_SERVER_PACKAGE_IS_CUSTOM + ? (process.env.WEBPACK_DEV_SERVER_PACKAGE as string) + : "webpack-dev-server"; interface Information { Binaries?: string[]; @@ -566,12 +572,12 @@ class WebpackCLI implements IWebpackCLI { let skipInstallation = false; // Allow to use `./path/to/webpack.js` outside `node_modules` - if (dependency === WEBPACK_PACKAGE) { + if (dependency === WEBPACK_PACKAGE && WEBPACK_PACKAGE_IS_CUSTOM) { skipInstallation = true; } // Allow to use `./path/to/webpack-dev-server.js` outside `node_modules` - if (dependency === WEBPACK_DEV_SERVER_PACKAGE) { + if (dependency === WEBPACK_DEV_SERVER_PACKAGE && WEBPACK_DEV_SERVER_PACKAGE_IS_CUSTOM) { skipInstallation = true; }