2018-11-30 22:54:11 +03:00
|
|
|
// this runs synchronously
|
2018-12-05 08:14:20 +03:00
|
|
|
require('./copy')
|
2018-11-30 22:54:11 +03:00
|
|
|
|
2018-12-04 02:54:04 +03:00
|
|
|
const {join, resolve} = require('path')
|
2018-11-30 22:54:11 +03:00
|
|
|
const withPlugins = require('next-compose-plugins')
|
2018-12-05 00:53:49 +03:00
|
|
|
const configure = require('./lib/config')
|
2018-12-05 03:32:55 +03:00
|
|
|
const css = require('@zeit/next-css')
|
2018-11-30 22:54:11 +03:00
|
|
|
|
|
|
|
const pageExtensions = ['js', 'jsx', 'md', 'mdx']
|
|
|
|
const assetPrefix = process.env.NOW_URL
|
|
|
|
|
2018-12-05 00:37:31 +03:00
|
|
|
module.exports = withPlugins([
|
2018-12-05 03:32:55 +03:00
|
|
|
css(),
|
2018-12-05 00:53:49 +03:00
|
|
|
configure()
|
2018-12-05 00:37:31 +03:00
|
|
|
], {
|
2018-11-30 22:54:11 +03:00
|
|
|
/*
|
|
|
|
* Note: Prefixing assets with the fully qualified deployment URL
|
|
|
|
* makes them available even when the site is served from a path alias, as in
|
|
|
|
* <https://primer.style/components>
|
|
|
|
*/
|
|
|
|
assetPrefix: process.env.NOW_URL,
|
|
|
|
pageExtensions,
|
|
|
|
publicRuntimeConfig: {
|
2018-12-04 02:54:04 +03:00
|
|
|
assetPrefix
|
2018-11-30 22:54:11 +03:00
|
|
|
},
|
|
|
|
|
|
|
|
webpack(config, {dev}) {
|
|
|
|
const {optimization} = config
|
|
|
|
if (optimization && Array.isArray(optimization.minimizer)) {
|
|
|
|
const terserPlugin = optimization.minimizer[0]
|
|
|
|
/* eslint-disable camelcase, no-console */
|
|
|
|
console.warn('*** disabling mangling in Terser plugin ***')
|
|
|
|
terserPlugin.options.terserOptions = {
|
|
|
|
keep_fnames: true
|
|
|
|
}
|
|
|
|
/* eslint-enable camelcase, no-console */
|
|
|
|
}
|
|
|
|
return config
|
|
|
|
}
|
|
|
|
})
|