1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00

fixes #175, no longer sets process.env.NODE_ENV='production' or runs uglify in next dev mode (#274)

This commit is contained in:
Chris Cunniff 2016-11-18 02:26:17 -05:00 committed by Naoyuki Kanezawa
parent e0455823a0
commit 880b71047b
3 changed files with 29 additions and 20 deletions

View file

@ -8,7 +8,7 @@ import WatchRemoveEventPlugin from './plugins/watch-remove-event-plugin'
import DynamicEntryPlugin from './plugins/dynamic-entry-plugin'
import DetachPlugin from './plugins/detach-plugin'
export default async function createCompiler (dir, { hotReload = false } = {}) {
export default async function createCompiler (dir, { hotReload = false, dev = false } = {}) {
dir = resolve(dir)
const pages = await glob('pages/**/*.js', { cwd: dir })
@ -34,28 +34,36 @@ export default async function createCompiler (dir, { hotReload = false } = {}) {
const nodeModulesDir = join(__dirname, '..', '..', '..', 'node_modules')
const plugins = [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
}),
new WriteFilePlugin({
exitOnErrors: false,
log: false,
// required not to cache removed files
useHashIndex: false
})
].concat(hotReload ? [
new webpack.HotModuleReplacementPlugin(),
new DetachPlugin(),
new DynamicEntryPlugin(),
new UnlinkFilePlugin(),
new WatchRemoveEventPlugin(),
new WatchPagesPlugin(dir)
] : [
new webpack.optimize.UglifyJsPlugin({
compress: { warnings: false },
sourceMap: false
})
])
]
if (!dev) {
plugins.push(
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
}),
new webpack.optimize.UglifyJsPlugin({
compress: { warnings: false },
sourceMap: false
})
)
}
if (hotReload) {
plugins.push(
new webpack.HotModuleReplacementPlugin(),
new DetachPlugin(),
new DynamicEntryPlugin(),
new UnlinkFilePlugin(),
new WatchRemoveEventPlugin(),
new WatchPagesPlugin(dir)
)
}
const babelRuntimePath = require.resolve('babel-runtime/package')
.replace(/[\\\/]package\.json$/, '')

View file

@ -4,8 +4,9 @@ import webpack from './build/webpack'
import read from './read'
export default class HotReloader {
constructor (dir) {
constructor (dir, dev = false) {
this.dir = dir
this.dev = dev
this.server = null
this.initialized = false
this.stats = null
@ -22,7 +23,7 @@ export default class HotReloader {
}
async prepareServer () {
const compiler = await webpack(this.dir, { hotReload: true })
const compiler = await webpack(this.dir, { hotReload: true, dev: this.dev })
compiler.plugin('after-emit', (compilation, callback) => {
const { assets } = compilation

View file

@ -11,7 +11,7 @@ export default class Server {
constructor ({ dir = '.', dev = false, hotReload = false }) {
this.dir = resolve(dir)
this.dev = dev
this.hotReloader = hotReload ? new HotReloader(this.dir) : null
this.hotReloader = hotReload ? new HotReloader(this.dir, this.dev) : null
this.router = new Router()
this.http = http.createServer((req, res) => {