Sha256: 2a6f6e0c37b6b34e5469bfa8fdda132f006118831dbf4f09e95da20ed5f4654d

Contents?: true

Size: 1.13 KB

Versions: 413

Compression:

Stored size: 1.13 KB

Contents

#!/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');
});

Version data entries

413 entries across 114 versions & 15 rubygems

Version Path
immosquare-cleaner-0.1.60 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.59 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.58 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.57 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.56 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.55 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.54 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.53 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.52 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.51 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.50 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.49 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.48 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.47 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.46 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.45 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.44 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.43 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.42 node_modules/babel-core/node_modules/json5/lib/cli.js
immosquare-cleaner-0.1.41 node_modules/babel-core/node_modules/json5/lib/cli.js