UNPKG

1.45 kBPlain TextView Raw
1#!/usr/bin/env node
2
3process.env.NODE_NO_WARNINGS = '1';
4
5const pkg = require('../package.json');
6
7process.env.DVLP_LAUNCHER = 'cmd';
8process.env.DVLP_VERSION = pkg.version;
9
10const program = require('commander');
11const { server } = require('../dvlp.js');
12
13program
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
36program.parse(process.argv);
37
38async 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}