UNPKG

2.15 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3'use strict';
4var jdists = require('./');
5var optimist = require('optimist');
6var mkdirp = require('mkdirp');
7var fs = require('fs');
8var path = require('path');
9var util = require('util');
10var colors = require('colors');
11
12var argv = optimist
13 .usage('$0 input1.js [input2.js] -o output')
14
15.alias('h', 'help')
16 .describe('h', 'show this help message and exit.')
17 .string('h')
18
19.alias('o', 'output')
20 .describe('o', 'output file.')
21 .string('o')
22
23.alias('r', 'remove')
24 .describe('r', 'remove block.')
25 .default('r', 'remove,test')
26 .string('r')
27
28.alias('t', 'trigger')
29 .describe('t', 'trigger block.')
30 .default('t', 'release')
31 .string('t')
32
33.alias('config', 'c')
34 .describe('c', 'path to config file.')
35 .default('c', '.jdistsrc')
36 .string('c')
37
38.alias('v', 'version')
39 .describe('v', 'Print version number and exit.')
40
41.wrap(80)
42 .argv;
43
44if (argv._.length < 1) {
45 if (argv.version) {
46 var json = require('./package.json');
47 console.log(json.name + ' ' + json.version);
48 return;
49 }
50
51 console.log(
52 String(function () {
53 /*
54Usage:
55
56 #{j,yellow}#{dist,green}#{s,yellow} <input list> [options]
57
58Options:
59
60 #{-r, --remove,cyan} Remove block tag name list (default "remove,test")
61 #{-o, --output,cyan} Output file (default STDOUT)
62 #{-v, --version,cyan} Output jdists version
63 #{-t, --trigger,cyan} Trigger name list (default "release")
64 #{-c, --config,cyan} Path to config file (default ".jdistsrc")
65 */
66 })
67 .replace(/[^]*\/\*!?\s*|\s*\*\/[^]*/g, '')
68 .replace(/#\{(.*?),(\w+)\}/g, function (all, text, color) {
69 return colors[color](text);
70 })
71 );
72 return;
73}
74
75var contents = [];
76var filenames = [];
77argv._.forEach(function (filename) {
78 filenames.push(filename);
79 contents.push(jdists.build(filename, argv));
80});
81var content = contents.join('\n');
82if (argv.output) {
83 mkdirp.sync(path.dirname(argv.output));
84 fs.writeFileSync(argv.output, content);
85 console.log(colors.green(util.format('%j jdists output complete.', filenames)));
86}
87else {
88 console.log(content);
89}
\No newline at end of file