/
build.js
40 lines (29 loc) · 914 Bytes
/
build.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
const fs = require('fs')
const execSync = require('child_process').execSync
const prettyBytes = require('pretty-bytes')
const gzipSize = require('gzip-size')
const exec = (command, extraEnv) =>
execSync(command, {
stdio: 'inherit',
env: Object.assign({}, process.env, extraEnv)
})
console.log('Building CommonJS modules ...')
exec('babel modules -d . --ignore __tests__', {
BABEL_ENV: 'cjs'
})
console.log('\nBuilding ES modules ...')
exec('babel modules -d es --ignore __tests__', {
BABEL_ENV: 'es'
})
console.log('\nBuilding history.js ...')
exec('webpack modules/index.js umd/history.js', {
NODE_ENV: 'production'
})
console.log('\nBuilding history.min.js ...')
exec('webpack -p modules/index.js umd/history.min.js', {
NODE_ENV: 'production'
})
const size = gzipSize.sync(
fs.readFileSync('umd/history.min.js')
)
console.log('\ngzipped, the UMD build is %s', prettyBytes(size))