1
1
const path = require ( 'path' )
2
2
const webpack = require ( 'webpack' )
3
+ const CleanWebpackPlugin = require ( 'clean-webpack-plugin' )
3
4
const ChromeReloadPlugin = require ( 'wcer' )
4
5
const CopyWebpackPlugin = require ( 'copy-webpack-plugin' )
5
6
{ { #if components . locales } }
6
7
const GenerateLocaleJsonPlugin = require ( '../plugins/GenerateLocaleJsonPlugin' )
7
8
{ { / i f } }
8
9
const { cssLoaders, htmlPage } = require ( './tools' )
9
10
10
- let resolve = ( dir ) => path . join ( __dirname , '..' , 'src' , dir )
11
+ const rootDir = path . resolve ( __dirname , '..' )
12
+
13
+ let resolve = ( dir ) => path . join ( rootDir , 'src' , dir )
14
+
11
15
module . exports = {
12
16
entry : {
13
17
{ { #if components . popupTab} }
@@ -29,7 +33,7 @@ module.exports = {
29
33
{ { / i f } }
30
34
} ,
31
35
output : {
32
- path : path . join ( __dirname , '..' , 'dist' ) ,
36
+ path : path . join ( rootDir , 'dist' ) ,
33
37
publicPath : '/' ,
34
38
filename : 'js/[name].js' ,
35
39
chunkFilename : 'js/[id].[name].js?[hash]' ,
@@ -47,9 +51,7 @@ module.exports = {
47
51
test : / \. ( j s | v u e ) $ / ,
48
52
loader : 'eslint-loader' ,
49
53
enforce : 'pre' ,
50
- include : [
51
- path . join ( __dirname , '..' , 'src' ) , path . join ( __dirname , '..' , 'test' )
52
- ] ,
54
+ include : [ path . join ( rootDir , 'src' ) ] ,
53
55
options : { formatter : require ( 'eslint-friendly-formatter' ) }
54
56
} , {
55
57
test : / \. v u e $ / ,
@@ -71,7 +73,9 @@ module.exports = {
71
73
test : / \. j s $ / ,
72
74
loader : 'babel-loader' ,
73
75
include : [
74
- path . join ( __dirname , '..' , 'src' ) , path . join ( __dirname , '..' , 'test' )
76
+ path . join ( rootDir , 'src' ) ,
77
+ // https://github.com/sagalbot/vue-select/issues/71#issuecomment-229453096
78
+ path . join ( rootDir , 'node_modules' , 'element-ui' , 'src' , 'utils' )
75
79
]
76
80
} , {
77
81
test : / \. ( p n g | j p e ? g | g i f | s v g ) ( \? .* ) ? $ / ,
@@ -97,6 +101,7 @@ module.exports = {
97
101
} ]
98
102
} ,
99
103
plugins : [
104
+ new CleanWebpackPlugin ( [ '*' ] , { root : path . join ( rootDir , 'dist' ) } ) ,
100
105
// Customize your extension structure.
101
106
{ { #if components . popupTab} }
102
107
htmlPage ( 'home' , 'app' , [ 'manifest' , 'vendor' , 'tab' ] ) ,
@@ -113,14 +118,14 @@ module.exports = {
113
118
htmlPage ( 'background' , 'background' , [ 'manifest' , 'vendor' , 'background' ] ) ,
114
119
{ { / i f } }
115
120
// End customize
116
- new CopyWebpackPlugin ( [ { from : path . join ( __dirname , '..' , 'static' ) } ] ) ,
121
+ new CopyWebpackPlugin ( [ { from : path . join ( rootDir , 'static' ) } ] ) ,
117
122
new ChromeReloadPlugin ( {
118
123
port : 9090 ,
119
- manifest : path . join ( __dirname , '..' , 'src' , 'manifest.js' )
124
+ manifest : path . join ( rootDir , 'src' , 'manifest.js' )
120
125
} ) ,
121
126
{ { #if components . locales} }
122
127
new GenerateLocaleJsonPlugin ( {
123
- _locales : path . join ( __dirname , '..' , 'src' , '_locales' )
128
+ _locales : path . join ( rootDir , 'src' , '_locales' )
124
129
} ) ,
125
130
{ { / i f } }
126
131
new webpack . optimize . CommonsChunkPlugin ( {
0 commit comments