1 | const emoji = require('node-emoji')
|
2 | const chalk = require('chalk')
|
3 |
|
4 | const getWebpackConfig = require('../utils/getWebpackConfig')
|
5 | const createWebpackCompiler = require('../utils/createWebpackCompiler')
|
6 | const cleanWebpackOutputDir = require('../utils/cleanWebpackOutputDir')
|
7 | const writeWebpackStats = require('../utils/writeWebpackStats')
|
8 |
|
9 | module.exports = options => {
|
10 | const start = new Date()
|
11 |
|
12 | if (options.ssr) process.env.GNOLL_SERVER_RENDERING = 1
|
13 | process.env.GNOLL_TARGET = options.ssr ? 'node' : options.target
|
14 | process.env.NODE_ENV = options.env
|
15 | if (options.assetsCaching) process.env.GNOLL_ASSETS_CACHING = 1
|
16 |
|
17 | const config = getWebpackConfig(options)
|
18 | cleanWebpackOutputDir(config)
|
19 |
|
20 | const compiler = createWebpackCompiler(config, options)
|
21 | console.log(
|
22 | emoji.get('building_construction'),
|
23 | ` Creating an optimized production build...\n`
|
24 | )
|
25 |
|
26 | compiler.run((err, stats) => {
|
27 | if (stats.hasErrors()) process.exit(1)
|
28 | })
|
29 | }
|