Add ability to silence packager logs to stdout

Summary:We use a few different modules to output logs to stdout when building a bundle with the packager:
- ##js/react-native-github/packager/react-packager/src/Activity/index.js##
- ##js/react-native-github/local-cli/util/log.js##
- ##https://www.npmjs.com/package/progress##

This diff also adds a ##silent## option to the packager ##Server##, which, when ##true##, will not create a ##progress## instance for the transformer.

Reviewed By: martinbigio

Differential Revision: D3048739

fb-gh-sync-id: a4c6caf36f5127946593f4a0a349fa145ad0d4e6
shipit-source-id: a4c6caf36f5127946593f4a0a349fa145ad0d4e6
This commit is contained in:
Sam Swarr 2016-03-15 12:08:32 -07:00 committed by Facebook Github Bot 8
parent 09820cbe36
commit d5445d5fbc
3 changed files with 20 additions and 2 deletions

View File

@ -8,8 +8,17 @@
*/
'use strict';
var _enabled = true;
function disable() {
_enabled = false;
}
function log(stream, module) {
return function() {
if (!_enabled) {
return;
}
const message = Array.prototype.slice.call(arguments).join(' ');
stream.write(module + ': ' + message + '\n');
};
@ -17,3 +26,4 @@ function log(stream, module) {
module.exports.out = log.bind(null, process.stdout);
module.exports.err = log.bind(null, process.stderr);
module.exports.disable = disable;

View File

@ -81,6 +81,10 @@ const validateOpts = declareOpts({
type: 'number',
required: false,
},
silent: {
type: 'boolean',
default: false,
},
});
class Bundler {
@ -352,8 +356,8 @@ class Bundler {
const modulesByName = Object.create(null);
if (!resolutionResponse) {
let onProgess;
if (process.stdout.isTTY) {
let onProgess = noop;
if (process.stdout.isTTY && !this._opts.silent) {
const bar = new ProgressBar(
'transformed :current/:total (:percent)',
{complete: '=', incomplete: ' ', width: 40, total: 1},

View File

@ -73,6 +73,10 @@ const validateOpts = declareOpts({
type: 'string',
required: false,
},
silent: {
type: 'boolean',
default: false,
},
});
const bundleOpts = declareOpts({