Merge branch 'dev' into feat/jest

This commit is contained in:
Pooya Parsa 2018-03-19 19:01:32 +03:30
commit 2976c575ab
2 changed files with 25 additions and 26 deletions

View File

@ -1,6 +1,6 @@
import path from 'path' import path from 'path'
import ExtractTextPlugin from 'extract-text-webpack-plugin' import FriendlyErrorsWebpackPlugin from '@nuxtjs/friendly-errors-webpack-plugin'
import TimeFixPlugin from 'time-fix-plugin' import TimeFixPlugin from 'time-fix-plugin'
import webpack from 'webpack' import webpack from 'webpack'
import _ from 'lodash' import _ from 'lodash'
@ -147,19 +147,14 @@ export default function webpackBaseConfig({ name, isServer }) {
// Hide warnings about plugins without a default export (#1179) // Hide warnings about plugins without a default export (#1179)
config.plugins.push(new WarnFixPlugin()) config.plugins.push(new WarnFixPlugin())
// CSS extraction const shouldClearConsole =
const extractCSS = this.options.build.extractCSS this.options.build.stats !== false &&
if (extractCSS) { this.options.build.stats !== 'errors-only'
config.plugins.push(new ExtractTextPlugin(Object.assign({
filename: this.getFileName('css')
// When using optimization.splitChunks and there are // Add friendly error plugin
// extracted chunks in the commons chunk, config.plugins.push(
// allChunks *must* be set to true new FriendlyErrorsWebpackPlugin({ clearConsole: shouldClearConsole })
// TODO: For nuxt this makes duplicate css assets! )
// allChunks: true
}, typeof extractCSS === 'object' ? extractCSS : {})))
}
// Clone deep avoid leaking config between Client and Server // Clone deep avoid leaking config between Client and Server
return _.cloneDeep(config) return _.cloneDeep(config)

View File

@ -2,8 +2,9 @@ import path from 'path'
import _ from 'lodash' import _ from 'lodash'
import webpack from 'webpack' import webpack from 'webpack'
import ExtractTextPlugin from 'extract-text-webpack-plugin'
import HTMLPlugin from 'html-webpack-plugin' import HTMLPlugin from 'html-webpack-plugin'
import FriendlyErrorsWebpackPlugin from '@nuxtjs/friendly-errors-webpack-plugin'
import StylishPlugin from 'webpack-stylish' import StylishPlugin from 'webpack-stylish'
import BundleAnalyzer from 'webpack-bundle-analyzer' import BundleAnalyzer from 'webpack-bundle-analyzer'
@ -78,17 +79,6 @@ export default function webpackClientConfig() {
) )
) )
const shouldClearConsole =
this.options.build.stats !== false &&
this.options.build.stats !== 'errors-only'
// Add friendly error plugin
if (!this.options.test) {
config.plugins.push(
new FriendlyErrorsWebpackPlugin({ clearConsole: shouldClearConsole })
)
}
// Optimization // Optimization
config.optimization.splitChunks = { config.optimization.splitChunks = {
chunks: 'all', chunks: 'all',
@ -130,7 +120,21 @@ export default function webpackClientConfig() {
} }
// Create additional runtime chunk for cache boosting // Create additional runtime chunk for cache boosting
// config.optimization.runtimeChunk = true config.optimization.runtimeChunk = true
// CSS extraction
const extractCSS = this.options.build.extractCSS
if (extractCSS) {
config.plugins.push(new ExtractTextPlugin(Object.assign({
filename: this.getFileName('css')
// When using optimization.splitChunks and there are
// extracted chunks in the commons chunk,
// allChunks *must* be set to true
// TODO: For nuxt this makes duplicate css assets!
// allChunks: true
}, typeof extractCSS === 'object' ? extractCSS : {})))
}
// -------------------------------------- // --------------------------------------
// Dev specific config // Dev specific config