UNPKG

1.45 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3/**
4 * js-builder CLI.
5 * Installed as command "jjsbuilder".
6 */
7
8// Prepend the local node_modules to NODE_PATH so as to
9// pick up peer deps. Will not work otherwise.
10const path = require('path');
11process.env.NODE_PATH='./node_modules' + path.delimiter + process.env.NODE_PATH;
12
13var args = require('./internal/args');
14var fs = require('fs');
15var cwd = process.cwd();
16var GulpRunner = require('gulp-runner');
17var gulpfilePath;
18
19if (fs.existsSync('gulpfile.js')) {
20 gulpfilePath = 'gulpfile.js';
21} else {
22 gulpfilePath = __dirname + '/res/cli-gulpfile.js';
23}
24
25var gulp = new GulpRunner(gulpfilePath);
26
27var tasks = args.argvValue('--tasks');
28if (tasks) {
29 tasks = tasks.split(',');
30} else {
31 tasks = 'default';
32}
33
34gulp.on('log', function(data) {
35 process.stdout.write(data);
36});
37
38gulp.on('error', function(err) {
39 process.stderr.write(err);
40});
41
42gulp.on('failed', function(err) {
43 process.exit(err);
44});
45
46// Lets pass on the options supplied, stripping off the
47// leading '--'.
48var options = {};
49var lastOpt;
50for (var i = 0; i < process.argv.length; i++) {
51 var opt = process.argv[i];
52 if (opt.indexOf('--') === 0) {
53 opt = opt.substring(2);
54 options[opt] = true;
55 lastOpt = opt;
56 } else if (lastOpt) {
57 options[lastOpt] = opt;
58 lastOpt = undefined; // clear it so we don't assign again.
59 }
60}
61delete options.tasks;
62options.cwd = cwd;
63
64gulp.run(tasks, options);