mirror of https://github.com/webpack/webpack.git
falsy checking; improve tests; fix typo
This commit is contained in:
parent
bc48785175
commit
d045d57e1f
|
@ -16,26 +16,34 @@ class ModuleBuildError extends WebpackError {
|
||||||
if(from) {
|
if(from) {
|
||||||
this.message += ` (@ ${from})`;
|
this.message += ` (@ ${from})`;
|
||||||
}
|
}
|
||||||
this.message += ": ";
|
|
||||||
|
var message;
|
||||||
if(err !== null && typeof err === "object") {
|
if(err !== null && typeof err === "object") {
|
||||||
if(typeof err.stack === "string" && err.stack) {
|
if(typeof err.stack === "string" && err.stack) {
|
||||||
var stack = cutOffLoaderExecution(err.stack);
|
var stack = cutOffLoaderExecution(err.stack);
|
||||||
if(!err.hideStack) {
|
if(!err.hideStack) {
|
||||||
this.message += stack;
|
message = stack;
|
||||||
} else {
|
} else {
|
||||||
this.details = stack;
|
this.details = stack;
|
||||||
if(typeof err.message === "string" && err.message) {
|
if(typeof err.message === "string" && err.message) {
|
||||||
this.message += err.message;
|
message = err.message;
|
||||||
} else {
|
} else {
|
||||||
this.message += err;
|
message = err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if(typeof err.message === "string" && err.message) {
|
} else if(typeof err.message === "string" && err.message) {
|
||||||
this.message += err.message;
|
message = err.message;
|
||||||
} else {
|
} else {
|
||||||
this.message += err;
|
message = err;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
message = err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(message !== "") {
|
||||||
|
this.message += `: ${message}`;
|
||||||
|
}
|
||||||
|
|
||||||
this.module = module;
|
this.module = module;
|
||||||
this.error = err;
|
this.error = err;
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,11 @@ class ModuleError extends WebpackError {
|
||||||
if(from) {
|
if(from) {
|
||||||
this.message += ` (@ ${from})`;
|
this.message += ` (@ ${from})`;
|
||||||
}
|
}
|
||||||
this.message += ": ";
|
if(err && typeof err === "object" && err.message) {
|
||||||
this.message += err && typeof err === "object" && err.message ? err.message : err;
|
this.message += `: ${err.message}`;
|
||||||
|
} else if(err) {
|
||||||
|
this.message += `: ${err}`;
|
||||||
|
}
|
||||||
this.error = err;
|
this.error = err;
|
||||||
this.details = err && typeof err === "object" && err.stack ? cleanUp(err.stack, this.message) : undefined;
|
this.details = err && typeof err === "object" && err.stack ? cleanUp(err.stack, this.message) : undefined;
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,11 @@ class ModuleWarning extends WebpackError {
|
||||||
if(from) {
|
if(from) {
|
||||||
this.message += ` (@ ${from})`;
|
this.message += ` (@ ${from})`;
|
||||||
}
|
}
|
||||||
this.message += ": ";
|
if(warning && typeof warning === "object" && warning.message) {
|
||||||
this.message += warning && typeof warning === "object" && warning.message ? warning.message : warning;
|
this.message += `: ${warning.message}`;
|
||||||
|
} else if(warning) {
|
||||||
|
this.message += `: ${warning}`;
|
||||||
|
}
|
||||||
this.warning = warning;
|
this.warning = warning;
|
||||||
this.details = warning && typeof warning === "object" && warning.stack ? cleanUp(warning.stack, this.message) : undefined;
|
this.details = warning && typeof warning === "object" && warning.stack ? cleanUp(warning.stack, this.message) : undefined;
|
||||||
|
|
||||||
|
|
|
@ -196,10 +196,10 @@ describe("Errors", () => {
|
||||||
|
|
||||||
}, (errors, warnings) => {
|
}, (errors, warnings) => {
|
||||||
warnings.length.should.be.eql(1);
|
warnings.length.should.be.eql(1);
|
||||||
warnings[0].split("\n")[1].should.match(/^Module Warning \(@ emit-error-loader\)/);
|
warnings[0].split("\n")[1].should.match(/^Module Warning \(@ emit-error-loader\): [^\s]+/);
|
||||||
errors.length.should.be.eql(2);
|
errors.length.should.be.eql(2);
|
||||||
errors[0].split("\n")[1].should.match(/^Module Error \(@ emit-error-loader\)/);
|
errors[0].split("\n")[1].should.match(/^Module Error \(@ emit-error-loader\): [^\s]+/);
|
||||||
errors[1].split("\n")[1].should.match(/^Module build failed \(@ json-loader\)/);
|
errors[1].split("\n")[1].should.match(/^Module build failed \(@ json-loader\): [^\s]+/);
|
||||||
}),
|
}),
|
||||||
getErrorsPromise({
|
getErrorsPromise({
|
||||||
mode: "development",
|
mode: "development",
|
||||||
|
@ -213,7 +213,7 @@ describe("Errors", () => {
|
||||||
|
|
||||||
}, (errors, warnings) => {
|
}, (errors, warnings) => {
|
||||||
errors.length.should.be.eql(1);
|
errors.length.should.be.eql(1);
|
||||||
errors[0].split("\n")[1].should.match(/^Module build failed \(@ async-error-loader\)/);
|
errors[0].split("\n")[1].should.match(/^Module build failed \(@ async-error-loader\): [^\s]+/);
|
||||||
}),
|
}),
|
||||||
getErrorsPromise({
|
getErrorsPromise({
|
||||||
mode: "development",
|
mode: "development",
|
||||||
|
@ -227,7 +227,27 @@ describe("Errors", () => {
|
||||||
|
|
||||||
}, (errors, warnings) => {
|
}, (errors, warnings) => {
|
||||||
errors.length.should.be.eql(1);
|
errors.length.should.be.eql(1);
|
||||||
errors[0].split("\n")[1].should.match(/^Module build failed \(@ throw-error-loader\)/);
|
errors[0].split("\n")[1].should.match(/^Module build failed \(@ throw-error-loader\): [^\s]+/);
|
||||||
|
}),
|
||||||
|
getErrorsPromise({
|
||||||
|
mode: "development",
|
||||||
|
entry: "./entry-point.js",
|
||||||
|
module: {
|
||||||
|
rules: [{
|
||||||
|
test: /entry-point\.js$/,
|
||||||
|
use: path.resolve(base, "./irregular-error-loader")
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
}, (errors, warnings) => {
|
||||||
|
warnings.length.should.be.eql(2);
|
||||||
|
warnings[0].split("\n")[1].should.match(/^Module Warning \(@ irregular-error-loader\): [^\s]+/);
|
||||||
|
warnings[1].split("\n")[1].should.match(/^Module Warning \(@ irregular-error-loader\): [^\s]+/);
|
||||||
|
|
||||||
|
errors.length.should.be.eql(3);
|
||||||
|
errors[0].split("\n")[1].should.match(/^Module Error \(@ irregular-error-loader\): [^\s]+/);
|
||||||
|
errors[1].split("\n")[1].should.match(/^Module Error \(@ irregular-error-loader\): [^\s]+/);
|
||||||
|
errors[2].split("\n")[1].should.match(/^Module build failed \(@ irregular-error-loader\): [^\s]+/);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -3,4 +3,3 @@ module.exports = function(source) {
|
||||||
const error = new Error("this is a callback error");
|
const error = new Error("this is a callback error");
|
||||||
callback(error, source);
|
callback(error, source);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
module.exports = function(source) {
|
||||||
|
var empty = null;
|
||||||
|
var emptyError = new Error();
|
||||||
|
this.emitWarning(empty);
|
||||||
|
this.emitWarning(emptyError);
|
||||||
|
this.emitError(empty);
|
||||||
|
this.emitError(emptyError);
|
||||||
|
throw "a string error";
|
||||||
|
return source;
|
||||||
|
};
|
|
@ -1,5 +1,3 @@
|
||||||
module.exports = function(source) {
|
module.exports = function(source) {
|
||||||
throw new Error("this is a threw error");
|
throw new Error("this is a thrown error");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue