Skip to content

Commit a2062f2

Browse files
committed
fix: module not found error
1 parent 858a532 commit a2062f2

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

bin/cli.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,23 @@ For more information, see https://webpack.js.org/api/cli/.`);
7171
options = require("./utils/convert-argv")(argv);
7272
} catch (err) {
7373
if (err.code === "MODULE_NOT_FOUND") {
74-
let errorMessage =
75-
"\n\u001b[31mwebpack not installed, consider installing it using \n\u001b[32mnpm install --save-dev webpack\n";
74+
const moduleName = err.message.split("'")[1];
75+
let instructions = "";
76+
let errorMessage = "";
7677

77-
if (process.env.npm_execpath !== undefined && process.env.npm_execpath.includes("yarn")) {
78-
errorMessage =
79-
"\n\u001b[31mwebpack not installed, consider installing it using \n\u001b[32myarn add webpack --dev\n";
78+
if (moduleName === "webpack") {
79+
errorMessage = `\n\u001b[31m${moduleName} not installed`;
80+
instructions = `Consider installing it using " npm install --save-dev ${moduleName} "\n`;
81+
82+
if (process.env.npm_execpath !== undefined && process.env.npm_execpath.includes("yarn")) {
83+
instructions = `Consider installing it using " yarn add ${moduleName} --dev "\n`;
84+
}
85+
} else {
86+
errorMessage = `\n\u001b[31mModule ${moduleName} is not found but is imported in configuration`;
87+
instructions = `If ${moduleName} is a package, install it using a package manager\n`;
8088
}
8189

82-
console.error(errorMessage);
90+
console.error(`${errorMessage}\n\n\u001b[32mTIP: ${instructions}`);
8391
Error.stackTraceLimit = 1;
8492
process.exitCode = 1;
8593
return;

0 commit comments

Comments
 (0)