| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- #!/usr/bin/env node
 
- // cli.js
 
- // JSON5 command-line interface.
 
- //
 
- // This is pretty minimal for now; just supports compiling files via `-c`.
 
- // TODO More useful functionality, like output path, watch, etc.?
 
- var FS = require('fs');
 
- var JSON5 = require('./json5');
 
- var Path = require('path');
 
- var USAGE = [
 
-     'Usage: json5 -c path/to/file.json5 ...',
 
-     'Compiles JSON5 files into sibling JSON files with the same basenames.',
 
- ].join('\n');
 
- // if valid, args look like [node, json5, -c, file1, file2, ...]
 
- var args = process.argv;
 
- if (args.length < 4 || args[2] !== '-c') {
 
-     console.error(USAGE);
 
-     process.exit(1);
 
- }
 
- var cwd = process.cwd();
 
- var files = args.slice(3);
 
- // iterate over each file and convert JSON5 files to JSON:
 
- files.forEach(function (file) {
 
-     var path = Path.resolve(cwd, file);
 
-     var basename = Path.basename(path, '.json5');
 
-     var dirname = Path.dirname(path);
 
-     var json5 = FS.readFileSync(path, 'utf8');
 
-     var obj = JSON5.parse(json5);
 
-     var json = JSON.stringify(obj, null, 4); // 4 spaces; TODO configurable?
 
-     path = Path.join(dirname, basename + '.json');
 
-     FS.writeFileSync(path, json, 'utf8');
 
- });
 
 
  |