123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /**
- * 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.
- */
- 'use strict';
- 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();
- };
|