UNPKG

1.49 kBJavaScriptView Raw
1#! /usr/bin/env node
2
3var _ = require("lodash")
4 , Bundle = require("../plugins/bundle")
5 , config = require("../plugins/config")
6 , program = require('commander');
7
8program
9 .version('0.1.0')
10 .option('-e, --external <modules>', 'external modules', "externals")
11 .option('-f, --factorbundle', "use factor bundle")
12 .option('-m, --minify' , 'minify scripts')
13 .option('-s, --input <name>', 'input file')
14 .option('-o, --output <name>', 'output file')
15 .option('-i, --ignore', 'ignore <modules>', "ignore", [])
16 .option('-r, --required', 'required <modules>', "required", [])
17 .option('-x, --separate', 'compile file list into separate bundles')
18 .option('-w, --watch', 'Watch scripts')
19 .option('-v, --vendors', 'Vendor Bundle')
20 .parse(process.argv);
21
22
23
24var files;
25if(program.input){
26 files = program.input;
27} else if(program.vendors) {
28 files = []
29}
30
31var options = ["external", "factorbundle", "minify", "output", "required", "separate"]
32
33options.forEach(function(op){
34 if(!_.isEmpty(program[op]) || program[op]){
35 config.set(op, program[op])
36 }
37});
38
39files = files || config.get("files");
40
41if(program.separate){
42 files.forEach(function(f){
43 Bundle(config.get("minify"), f)
44 .setOutput(f)
45 .setVendors(program.vendors)
46 .setFactor(config.get("factorbundle"))
47 .build(program.watch)
48 })
49} else {
50 Bundle(config.get("minify"), files)
51 .setVendors(program.vendors)
52 .setFactor(config.get("factorbundle"))
53 .build(program.watch)
54}
55
56
57
58