Skip to content

Commit

Permalink
fix: use cause to keep original errors and warnings (#655)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait authored May 28, 2023
1 parent 7e5eaeb commit e8873f4
Showing 1 changed file with 22 additions and 22 deletions.
44 changes: 22 additions & 22 deletions src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -559,55 +559,55 @@ function reportError(loaderContext, callback, error) {
}
}

function warningFactory(obj) {
function warningFactory(warning) {
let message = "";

if (typeof obj.line !== "undefined") {
message += `(${obj.line}:${obj.column}) `;
if (typeof warning.line !== "undefined") {
message += `(${warning.line}:${warning.column}) `;
}

if (typeof obj.plugin !== "undefined") {
message += `from "${obj.plugin}" plugin: `;
if (typeof warning.plugin !== "undefined") {
message += `from "${warning.plugin}" plugin: `;
}

message += obj.text;
message += warning.text;

if (obj.node) {
message += `\n\nCode:\n ${obj.node.toString()}\n`;
if (warning.node) {
message += `\n\nCode:\n ${warning.node.toString()}\n`;
}

const warning = new Error(message);
const obj = new Error(message, { cause: warning });

warning.stack = null;
obj.stack = null;

return warning;
return obj;
}

function syntaxErrorFactory(obj) {
function syntaxErrorFactory(error) {
let message = "\nSyntaxError\n\n";

if (typeof obj.line !== "undefined") {
message += `(${obj.line}:${obj.column}) `;
if (typeof error.line !== "undefined") {
message += `(${error.line}:${error.column}) `;
}

if (typeof obj.plugin !== "undefined") {
message += `from "${obj.plugin}" plugin: `;
if (typeof error.plugin !== "undefined") {
message += `from "${error.plugin}" plugin: `;
}

message += obj.file ? `${obj.file} ` : "<css input> ";
message += `${obj.reason}`;
message += error.file ? `${error.file} ` : "<css input> ";
message += `${error.reason}`;

const code = obj.showSourceCode();
const code = error.showSourceCode();

if (code) {
message += `\n\n${code}\n`;
}

const error = new Error(message);
const obj = new Error(message, { cause: error });

error.stack = null;
obj.stack = null;

return error;
return obj;
}

export {
Expand Down

0 comments on commit e8873f4

Please sign in to comment.