UNPKG

1.11 kBPlain TextView Raw
1#!/usr/bin/env node
2
3// Load modules
4
5var Fs = require('fs');
6var Yargs = require('yargs');
7var Alce = require('alce');
8var Confidence = require('../');
9
10
11// Declare internals
12
13var internals = {};
14
15
16internals.argv = Yargs.usage('Usage: $0 -c config.json [--filter.criterion=value]')
17 .demand(['c'])
18 .argv;
19
20
21internals.getConfig = function () {
22
23 var config = null;
24 var configPath = internals.argv.c[0] !== '/' ? process.cwd() + '/' + internals.argv.c : internals.argv.c;
25
26 try {
27 config = Alce.parse(Fs.readFileSync(configPath));
28 }
29 catch (err) {
30 console.log('Failed loading configuration file: ' + internals.argv.c + ' (' + err.message + ')');
31 process.exit(1);
32 }
33
34 return config;
35}
36
37
38internals.generate = function () {
39
40 var config = internals.getConfig();
41 var store = new Confidence.Store(config);
42 var set = store.get('/', internals.argv.filter);
43
44 if (!set) {
45 process.stderr.write('Failed to generate document');
46 }
47
48 process.stdout.write(JSON.stringify(set, null, 4));
49};
50
51internals.generate();