1 | #!/usr/bin/env node
|
2 |
|
3 | var prettyjson = require('../lib/prettyjson');
|
4 | var fs=require('fs');
|
5 | var argv = require('minimist')(process.argv.slice(2));
|
6 |
|
7 | var options = {
|
8 | keysColor: argv.keys || process.env.PRETTYJSON_KEYS,
|
9 | dashColor: argv.dash || process.env.PRETTYJSON_DASH,
|
10 | defaultIndentation: argv.indent || process.env.PRETTYJSON_INDENT,
|
11 | stringColor: argv.string || process.env.PRETTYJSON_STRING,
|
12 | numberColor: argv.number || process.env.PRETTYJSON_NUMBER,
|
13 | noColor: argv['nocolor'] || process.env.PRETTYJSON_NOCOLOR,
|
14 | inlineArrays: argv['inline-arrays'] || process.env.PRETTYJSON_INLINE_ARRAYS
|
15 | };
|
16 |
|
17 | var renderInputJson = function(input){
|
18 | console.log(prettyjson.renderString(input, options));
|
19 | };
|
20 |
|
21 | if (argv._.length) {
|
22 | // First parameter is the file to read and parse
|
23 | var filename = argv._[0];
|
24 | try {
|
25 | renderInputJson(fs.readFileSync(filename, 'utf8'));
|
26 | } catch (e) {
|
27 | console.error('Error: '.red + "File '" + filename + "' does not exist");
|
28 | process.exit(1);
|
29 | }
|
30 | } else {
|
31 | // Read input stream
|
32 |
|
33 | var streamData = '';
|
34 |
|
35 | process.stdin.resume();
|
36 | process.stdin.setEncoding('utf8');
|
37 | process.stdin.on('data', function (chunk) {
|
38 | if (chunk === '\n') {
|
39 | renderInputJson(streamData);
|
40 | streamData = '';
|
41 | return;
|
42 | }
|
43 | streamData += chunk;
|
44 | });
|
45 | process.stdin.on('end', function(){
|
46 | renderInputJson(streamData);
|
47 | });
|
48 | }
|