@@ -5,13 +5,15 @@ import autoprefixer from 'autoprefixer';
55import ExtractTextPlugin from 'extract-text-webpack-plugin' ;
66import CopyWebpackPlugin from 'copy-webpack-plugin' ;
77import HtmlWebpackPlugin from 'html-webpack-plugin' ;
8+ import OptimizeJsPlugin from 'optimize-js-plugin' ;
89import config from '../config' ;
910import baseConfig from './base' ;
1011
12+ const docsPath = path . join ( config . rootPath , config . docsPath ) ;
1113
1214export default merge ( baseConfig , {
1315 output : {
14- path : path . join ( config . rootPath , 'docs' ) ,
16+ path : docsPath ,
1517 publicPath : '' ,
1618 filename : '[name].[chunkhash:8].js' ,
1719 chunkFilename : '[name].[chunkhash:8].js'
@@ -28,28 +30,32 @@ export default merge(baseConfig, {
2830 ]
2931 } ,
3032 plugins : [
33+ new webpack . optimize . DedupePlugin ( ) ,
3134 new webpack . optimize . UglifyJsPlugin ( {
3235 compress : {
3336 warnings : false
34- }
37+ } ,
38+ comments : false
39+ } ) ,
40+ new OptimizeJsPlugin ( {
41+ sourceMap : false
3542 } ) ,
36- new webpack . optimize . OccurenceOrderPlugin ( ) ,
3743 new ExtractTextPlugin ( '[name].[contenthash:8].css' ) ,
3844 new CopyWebpackPlugin ( [
3945 {
4046 context : config . assetsPath ,
4147 from : '**/*' ,
42- to : path . join ( config . rootPath , 'docs' , 'assets' )
48+ to : path . join ( docsPath , 'assets' )
4349 } ,
4450 {
4551 context : config . docsPath ,
4652 from : 'changelog.html' ,
47- to : path . join ( config . rootPath , 'docs' )
53+ to : docsPath
4854 } ,
4955 {
5056 context : config . docsPath ,
5157 from : 'versions.json' ,
52- to : path . join ( config . rootPath , 'docs' )
58+ to : docsPath
5359 }
5460 ] ) ,
5561 new HtmlWebpackPlugin ( {
@@ -77,15 +83,20 @@ export default merge(baseConfig, {
7783 } ) ,
7884 new webpack . optimize . CommonsChunkPlugin ( {
7985 name : 'vendor' ,
80- minChunks : ( module ) => {
86+ minChunks ( module ) {
8187 let resource = module . resource ;
8288
83- return resource && ( / \. j s $ / ) . test ( resource ) && resource . indexOf ( config . nodePath ) === 0 ;
89+ if ( resource && ( / \. j s $ / ) . test ( resource ) ) {
90+ return resource . indexOf ( config . nodePath ) >= 0 ;
91+ }
92+
93+ return false ;
8494 }
8595 } ) ,
8696 new webpack . optimize . CommonsChunkPlugin ( {
8797 name : 'manifest' ,
8898 chunks : [ 'vendor' ]
89- } )
99+ } ) ,
100+ new webpack . optimize . OccurenceOrderPlugin ( )
90101 ]
91102} ) ;
0 commit comments