diff --git a/cli/pbjs.js b/cli/pbjs.js index 1af431364..b062125bd 100644 --- a/cli/pbjs.js +++ b/cli/pbjs.js @@ -275,15 +275,19 @@ exports.main = function main(args, callback) { return callback(err); throw err; } - if (output !== "") { + try { if (argv.out) fs.writeFileSync(argv.out, output, { encoding: "utf8" }); else if (!callback) process.stdout.write(output, "utf8"); + return callback + ? callback(null, output) + : undefined; + } catch (err) { + if (callback) + return callback(err); + throw err; } - return callback - ? callback(null, output) - : undefined; }); } diff --git a/cli/pbts.js b/cli/pbts.js index 4d373bd2c..d74404ed5 100644 --- a/cli/pbts.js +++ b/cli/pbts.js @@ -140,16 +140,15 @@ exports.main = function(args, callback) { try { if (argv.out) - fs.writeFileSync(argv.out, output); - else + fs.writeFileSync(argv.out, output, { encoding: "utf8" }); + else if (!callback) process.stdout.write(output, "utf8"); - if (callback) - callback(null); // eslint-disable-line callback-return + return callback + ? callback(null, output) + : undefined; } catch (err) { - if (callback) { - callback(err); - return; - } + if (callback) + return callback(err); throw err; } });