#!/usr/bin/env node /** * Module dependencies. */ var program = require('commander') , util = require('util') , dox = require('../'); // options program .version(dox.version) .option('-r, --raw', 'output "raw" comments, leaving the markdown intact') .option('-d, --debug', 'output parsed comments for debugging'); // examples program.on('--help', function(){ console.log(' Examples:'); console.log(''); console.log(' # stdin'); console.log(' $ dox > myfile.json'); console.log(''); console.log(' # operates over stdio'); console.log(' $ dox < myfile.js > myfile.json'); console.log(''); }); // parse argv program.parse(process.argv); // process stdin var buf = ''; process.stdin.setEncoding('utf8'); process.stdin.on('data', function(chunk){ buf += chunk; }); process.stdin.on('end', function(){ var obj = dox.parseComments(buf, { raw: program.raw }); if (program.debug) { process.stdout.write(util.inspect(obj, false, Infinity, true) + '\n'); } else { process.stdout.write(JSON.stringify(obj, null, 2)); } }).resume();