1 | #!/usr/bin/env node
|
2 | const cac = require('cac').default
|
3 | const pkg = require('../package')
|
4 |
|
5 | const { input, flags } = cac.parse(process.argv.slice(2))
|
6 |
|
7 | if (flags.version || flags.v) {
|
8 | console.log(pkg.version)
|
9 | process.exit()
|
10 | }
|
11 |
|
12 | const {
|
13 | config: configFile,
|
14 | baseDir,
|
15 | inspectWebpack,
|
16 | progress,
|
17 | debug,
|
18 | debugTrace,
|
19 | cleanOutDir,
|
20 | jsx,
|
21 | clearConsole,
|
22 | open,
|
23 | ...configData
|
24 | } = flags
|
25 |
|
26 | delete flags.help
|
27 | delete flags.version
|
28 |
|
29 |
|
30 |
|
31 | if (debugTrace) {
|
32 |
|
33 | const requireSlow = require('require-so-slow')
|
34 | process.on('exit', () => {
|
35 | console.log('Writing require-trace.trace')
|
36 | requireSlow.write('require-trace.trace')
|
37 | })
|
38 | }
|
39 |
|
40 | if (jsx) {
|
41 | process.env.POI_JSX = jsx
|
42 | }
|
43 |
|
44 | const command = input.shift()
|
45 |
|
46 |
|
47 | const config = Object.assign(
|
48 | { entry: input.length > 0 ? input : undefined },
|
49 | configData
|
50 | )
|
51 |
|
52 |
|
53 | const options = {
|
54 | configFile,
|
55 | baseDir,
|
56 | command,
|
57 | cleanOutDir,
|
58 | inspectWebpack,
|
59 | progress,
|
60 | debug,
|
61 | clearConsole,
|
62 | open
|
63 | }
|
64 |
|
65 | const poi = require('../lib')
|
66 |
|
67 | const app = poi(options, config)
|
68 | app.run().catch(err => {
|
69 | console.error(err.stack)
|
70 | process.exit(1)
|
71 | })
|