1 | #! /usr/bin/env node
|
2 |
|
3 | var _ = require("lodash")
|
4 | , Bundle = require("../plugins/bundle")
|
5 | , config = require("../plugins/config")
|
6 | , program = require('commander');
|
7 |
|
8 | program
|
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 |
|
24 | var files;
|
25 | if(program.input){
|
26 | files = program.input;
|
27 | } else if(program.vendors) {
|
28 | files = []
|
29 | }
|
30 |
|
31 | var options = ["external", "factorbundle", "minify", "output", "required", "separate"]
|
32 |
|
33 | options.forEach(function(op){
|
34 | if(!_.isEmpty(program[op]) || program[op]){
|
35 | config.set(op, program[op])
|
36 | }
|
37 | });
|
38 |
|
39 | files = files || config.get("files");
|
40 |
|
41 | if(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 |
|