-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdev.js
43 lines (37 loc) · 834 Bytes
/
dev.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
const chokidar = require('chokidar')
const { build } = require('esbuild')
const liveServer = require('live-server')
const entryPoints = ['./src/example/index.tsx']
const root = './public'
const outfile = `./${root}/script.js`
const watch = process.argv[2] === '--watch' || false
;(async () => {
const builder = await build({
bundle: true,
define: {
'process.env.NODE_ENV': JSON.stringify(
process.env.NODE_ENV || 'development'
),
},
entryPoints,
incremental: true,
minify: !watch,
outfile,
sourcemap: false,
})
if (!watch) {
process.exit(0)
}
chokidar
.watch('./src/**/*.{ts,tsx}', {
interval: 0,
})
.on('all', () => {
builder.rebuild()
})
liveServer.start({
open: true,
port: +process.env.PORT || 8080,
root,
})
})()