@philpl/buble
Version:
The blazing fast, batteries-included ES2015 compiler
59 lines (46 loc) • 1.14 kB
JavaScript
var chalk = require('chalk');
function print(msg) {
console.error(chalk.red(msg));
}
var handlers = {
MISSING_INPUT_OPTION: () => {
print('You must specify an --input (-i) option');
},
MISSING_OUTPUT_DIR: () => {
print(
'You must specify an --output (-o) option when compiling a directory of files'
);
},
MISSING_OUTPUT_FILE: () => {
print(
'You must specify an --output (-o) option when creating a file with a sourcemap'
);
},
ONE_AT_A_TIME: () => {
print('Bublé can only compile one file/directory at a time');
},
DUPLICATE_IMPORT_OPTIONS: () => {
print('use --input, or pass input path as argument – not both');
},
BAD_TARGET: () => {
print('illegal --target option');
}
};
module.exports = function handleError(err) {
var handler;
if ((handler = handlers[err && err.code])) {
handler(err);
} else {
if (err.snippet) print('---\n' + err.snippet);
print(err.message || err);
if (err.stack) {
console.error(chalk.grey(err.stack));
}
}
console.error(
'Type ' +
chalk.cyan('buble --help') +
' for help, or visit https://buble.surge.sh/guide/'
);
process.exit(1);
};