@@ -8,40 +8,42 @@ const projectRoot = path.join(__dirname, "../");
88interface IWebpackEnv {
99 devServerHost : string ;
1010 devServerPort : string ;
11+ open : boolean ;
1112 production : boolean ;
1213 watch : boolean ;
1314}
1415
1516const defaultEnvironment : IWebpackEnv = {
1617 devServerHost : "localhost" ,
1718 devServerPort : "3014" ,
19+ open : false ,
1820 production : false ,
19- watch : false
21+ watch : false ,
2022} ;
2123
2224const getConfig = ( env : IWebpackEnv ) : webpack . Configuration => ( {
2325 context : projectRoot ,
24- ...( process . argv . some ( arg => arg . includes ( "webpack-dev-server" ) )
26+ ...( process . argv . some ( ( arg ) => arg . includes ( "webpack-dev-server" ) )
2527 ? {
2628 devServer : {
2729 contentBase : "./dist" ,
2830 host : env . devServerHost ,
2931 hot : true ,
30- open : true ,
32+ open : env . open ,
3133 port : parseInt ( env . devServerPort , 10 ) ,
32- publicPath : "/"
33- }
34+ publicPath : "/" ,
35+ } ,
3436 }
3537 : { } ) ,
3638 devtool : env . production ? "source-map" : "inline-source-map" ,
3739 entry : [
38- ...( process . argv . some ( arg => arg . includes ( "webpack-dev-server" ) )
40+ ...( process . argv . some ( ( arg ) => arg . includes ( "webpack-dev-server" ) )
3941 ? [
4042 `webpack-dev-server/client?http://${ env . devServerHost } :${ env . devServerPort } ` ,
41- "webpack/hot/dev-server"
43+ "webpack/hot/dev-server" ,
4244 ]
4345 : [ ] ) ,
44- "./src/entry.tsx"
46+ "./src/entry.tsx" ,
4547 ] ,
4648 mode : env . production ? "production" : "development" ,
4749 module : {
@@ -53,28 +55,28 @@ const getConfig = (env: IWebpackEnv): webpack.Configuration => ({
5355 loader : "babel-loader" ,
5456 options : {
5557 babelrc : true ,
56- configFile : "./.babelrc"
57- }
58- }
58+ configFile : "./.babelrc" ,
59+ } ,
60+ } ,
5961 } ,
6062 {
6163 exclude : / n o d e _ m o d u l e s / ,
6264 test : / \. t s $ / ,
6365 use : {
6466 loader : "ts-loader" ,
6567 options : {
66- configFile : "./tsconfig.json"
67- }
68- }
69- }
70- ]
68+ configFile : "./tsconfig.json" ,
69+ } ,
70+ } ,
71+ } ,
72+ ] ,
7173 } ,
7274 output : {
7375 filename : "app.js" ,
74- path : path . resolve ( projectRoot , "dist" )
76+ path : path . resolve ( projectRoot , "dist" ) ,
7577 } ,
7678 plugins : [ new HtmlWebpackPlugin ( { template : "./src/index.html" } ) ] ,
77- watch : env . watch
79+ watch : env . watch ,
7880} ) ;
7981
8082export default (
0 commit comments