UNPKG

2.07 kBJavaScriptView Raw
1'use strict';
2
3const config = require('./config');
4const gulp = require('gulp');
5const program = require('commander');
6
7const currentBundler = process.env.BUNDLER === 'webpack' ? 'webpack' : 'rollup';
8const currentFavor = process.env.NODE_ENV === 'development' ? 'development' : 'production';
9const currentSourceMap = process.env.SOURCE_MAP === 'true' ? true : false;
10
11program
12 .allowUnknownOption()
13 .option(
14 '-b, --build <type>',
15 `Specifies the build type: "production", or "development". Will override NODE_ENV. (Current = ${ currentFavor })`,
16 /^(production|development)$/i,
17 currentFavor
18 )
19 .option(
20 '-r, --bundler <type>',
21 `Specifies the bundler: "rollup", or "webpack". Will override BUNDLER. (Current = ${ currentBundler })`,
22 /^(rollup|webpack)$/i,
23 currentBundler
24 )
25 .option(
26 '--sourcemap <true>',
27 `Specifies whether source map will be built or not. Will override SOURCE_MAP. (Current = ${ currentSourceMap })`,
28 /^(true|false)$/i,
29 currentSourceMap
30 )
31 .option('--publishsettings <publish settings file>', 'Specifies the *.PublishSettings file for deployment')
32 .parse(process.argv);
33
34const build = (program.build || '').toLowerCase();
35
36switch (build) {
37case 'development':
38 process.env.NODE_ENV = build;
39 break;
40
41default:
42 process.env.NODE_ENV = 'production';
43 break;
44}
45
46const bundler = (program.bundler || '').toLowerCase();
47
48switch (bundler) {
49case 'webpack':
50 process.env.BUNDLER = bundler;
51 break;
52
53default:
54 process.env.BUNDLER = 'rollup';
55 break;
56}
57
58const sourceMap = (program.sourcemap || '').toLowerCase();
59
60switch (sourceMap) {
61case 'true':
62 process.env.SOURCE_MAP = sourceMap === 'true' ? true : false;
63 break;
64
65default:
66 process.env.SOURCE_MAP = false;
67 break;
68}
69
70if (program.publishsettings) {
71 config.DEPLOY_PUBLISH_SETTINGS = program.publishsettings;
72}
73
74require('./scripts/build')(gulp);
75require('./scripts/clean')(gulp);
76require('./scripts/deploy')(gulp);
77require('./scripts/pack')(gulp);