prettyjson 1.3 KB

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