UNPKG

1.37 kBPlain TextView Raw
1#!/usr/bin/env node
2
3var prettyjson = require('../lib/prettyjson');
4var fs=require('fs');
5var argv = require('minimist')(process.argv.slice(2));
6
7var 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
17var renderInputJson = function(input){
18 console.log(prettyjson.renderString(input, options));
19};
20
21if (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}