59 lines
1.1 KiB
JavaScript
59 lines
1.1 KiB
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);
|
||
};
|