@aniyajs/rotor
Version:
基于webpack5开发的一款专注于打包、运行的工具
46 lines (41 loc) • 1.28 kB
JavaScript
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
;
const chalk = require("chalk");
module.exports = function printBuildError(err) {
const message = err != null && err.message;
const stack = err != null && err.stack;
// Add more helpful message for Terser error
if (
stack &&
typeof message === "string" &&
message.indexOf("from Terser") !== -1
) {
try {
const matched = /(.+)\[(.+):(.+),(.+)\]\[.+\]/.exec(stack);
if (!matched) {
throw new Error("Using errors for control flow is bad.");
}
const problemPath = matched[2];
const line = matched[3];
const column = matched[4];
console.log(
"Failed to minify the code from this file: \n\n",
chalk.yellow(
`\t${problemPath}:${line}${column !== "0" ? ":" + column : ""}`,
),
"\n",
);
} catch (ignored) {
console.log("Failed to minify the bundle.", err);
}
console.log("Read more here: https://cra.link/failed-to-minify");
} else {
console.log((message || err) + "\n");
}
console.log();
};