From 0931ab6dfd8d9f511036bcb7c1a4ea8dde1ff1cb Mon Sep 17 00:00:00 2001 From: Nitin Kumar Date: Sun, 4 Jun 2023 06:21:58 +0530 Subject: [PATCH] fix: improve check for custom webpack and webpack-dev-server package existance --- 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 d225f47ad81..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 && fs.existsSync(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 && fs.existsSync(WEBPACK_PACKAGE)) { + if (dependency === WEBPACK_DEV_SERVER_PACKAGE && WEBPACK_DEV_SERVER_PACKAGE_IS_CUSTOM) { skipInstallation = true; }