-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.js
More file actions
45 lines (40 loc) · 887 Bytes
/
build.js
File metadata and controls
45 lines (40 loc) · 887 Bytes
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
44
45
let fs = require('fs')
build({
entryPoints: [`builds/cdn.js`],
outfile: `dist/index.min.js`,
bundle: true,
minify: true,
sourcemap: false,
platform: 'browser',
define: { CDN: true }
})
build({
entryPoints: [`builds/module.js`],
outfile: `dist/index.esm.js`,
bundle: true,
minify: true,
platform: 'neutral',
mainFields: ['main', 'module']
})
build({
entryPoints: [`builds/module.js`],
outfile: `dist/index.cjs.js`,
bundle: true,
minify: true,
target: ['node10.4'],
platform: 'node',
})
async function build(options) {
options.define || (options.define = {})
options.define['process.env.NODE_ENV'] = process.argv.includes('--watch')
? `'production'`
: `'development'`
try {
return require('esbuild').build({
watch: process.argv.includes('--watch'),
...options
})
} catch (e) {
return process.exit(1)
}
}