packager: json reporter

Summary: The idea is to make it easier to interact with tools consuming the packager's output. For example, Nuclide. Do you think that'd work well?

Reviewed By: davidaurelio

Differential Revision: D4482041

fbshipit-source-id: 6c64d7963195a4d786ed8902640f9e9f279f5f83
This commit is contained in:
Jean Lauliac 2017-01-31 03:54:53 -08:00 committed by Facebook Github Bot
parent bce6ece5f6
commit a28f1536c8
1 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,30 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @flow
*/
'use strict';
import {Writable} from 'stream';
class JsonReporter<TEvent> {
_stream: Writable;
constructor(stream: Writable) {
this._stream = stream;
}
update(event: TEvent) {
this._stream.write(JSON.stringify(event) + '\n');
}
}
module.exports = JsonReporter;