1 | #!/usr/bin/env node
|
2 |
|
3 | process.env.NODE_NO_WARNINGS = '1';
|
4 |
|
5 | const pkg = require('../package.json');
|
6 |
|
7 | process.env.DVLP_LAUNCHER = 'cmd';
|
8 | process.env.DVLP_VERSION = pkg.version;
|
9 |
|
10 | const program = require('commander');
|
11 | const { server } = require('../dvlp.js');
|
12 |
|
13 | program
|
14 | .usage('[options] [path...]')
|
15 | .description(
|
16 | `Start a development server, restarting and reloading connected browsers on file changes.
|
17 | Serves static files from one or more "path" directories, or a custom application
|
18 | server if "path" is a single file.`
|
19 | )
|
20 | .option('-p, --port <port>', 'port number', parseInt)
|
21 | .option(
|
22 | '-m, --mock <path>',
|
23 | 'path to mock files (directory, file, glob pattern)'
|
24 | )
|
25 | .option('-t, --transpiler <path>', 'path to optional transpiler file')
|
26 | .option(
|
27 | '-r, --rollup-config <path>',
|
28 | 'path to optional Rollup.js config file'
|
29 | )
|
30 | .option('-s, --silent', 'suppress default logging')
|
31 | .option('--no-reload', 'disable reloading connected browsers on file change')
|
32 | .arguments('[path...]')
|
33 | .action(boot)
|
34 | .version(pkg.version, '-v, --version');
|
35 |
|
36 | program.parse(process.argv);
|
37 |
|
38 | async function boot(path = [process.cwd()]) {
|
39 | try {
|
40 | await server(path, {
|
41 | mockPath: program.mock,
|
42 | port: program.port,
|
43 | reload: program.reload,
|
44 | rollupConfig: program.rollupConfig,
|
45 | silent: program.silent,
|
46 | transpiler: program.transpiler
|
47 | });
|
48 | } catch (err) {
|
49 | console.error(err);
|
50 | process.exit(1);
|
51 | }
|
52 | }
|