1- import path from 'path'
2- import webpack from 'webpack'
3- import HtmlWebpackPlugin from 'html-webpack-plugin' // eslint-disable-line import/no-extraneous-dependencies
4- import ExtractTextPlugin from 'extract-text-webpack-plugin' // eslint-disable-line import/no-extraneous-dependencies
5- import autoprefixer from 'autoprefixer' // eslint-disable-line import/no-extraneous-dependencies
1+ import path from 'path' ;
2+ import webpack from 'webpack' ;
3+ import HtmlWebpackPlugin from 'html-webpack-plugin' ; // eslint-disable-line import/no-extraneous-dependencies
4+ import ExtractTextPlugin from 'extract-text-webpack-plugin' ; // eslint-disable-line import/no-extraneous-dependencies
5+ import autoprefixer from 'autoprefixer' ; // eslint-disable-line import/no-extraneous-dependencies
66
7-
8- const port = 8080
9- const JS_REGEX = / \. j s $ | \. j s x $ | \. e s 6 $ | \. b a b e l $ /
10- const CSS_REGEX = / \. c s s $ | \. s c s s $ /
11- const context = path . join ( __dirname , '../src/js' )
12- export const outputPath = 'www'
7+ const port = 8080 ;
8+ const JS_REGEX = / \. j s $ | \. j s x $ | \. e s 6 $ | \. b a b e l $ / ;
9+ const CSS_REGEX = / \. c s s $ | \. s c s s $ / ;
10+ const context = path . join ( __dirname , '../src/js' ) ;
11+ export const outputPath = 'www' ;
1312
1413type GetRulesInputType = { useCssModules : boolean }
1514
@@ -35,14 +34,12 @@ const getRules = ({ useCssModules }: GetRulesInputType): {}[] => [
3534 {
3635 loader : 'postcss-loader' ,
3736 options : {
38- plugins : [
39- autoprefixer ( { browsers : [ 'last 4 versions' ] } ) ,
40- ] ,
37+ plugins : [ autoprefixer ( { browsers : [ 'last 4 versions' ] } ) ]
4138 }
4239 } ,
4340 { loader : 'sass-loader' , options : { } }
4441 ]
45- } ) ,
42+ } )
4643 } ,
4744 {
4845 test : / \. ( t t f | e o t | s v g ) ( \? v = [ 0 - 9 ] \. [ 0 - 9 ] \. [ 0 - 9 ] ) ? $ / ,
@@ -52,23 +49,20 @@ const getRules = ({ useCssModules }: GetRulesInputType): {}[] => [
5249 test : / \. j s o n $ / ,
5350 loader : 'json-loader'
5451 }
55- ]
56-
52+ ] ;
5753
5854const config = ( options : { } ) : { } = > {
59- const useCssModules = JSON . parse ( process . env . USE_CSS_MODULES )
60- const computedOptions = { useCssModules , ...options }
55+ const useCssModules = JSON . parse ( process . env . USE_CSS_MODULES ) ;
56+ const computedOptions = { useCssModules, ...options } ;
57+ const { moduleVersionReactFlagIconCss , moduleVersionWebpack } = computedOptions ;
6158
6259 return {
6360 context,
64- entry : [
65- `webpack-dev-server/client?http://0.0.0.0:${ port } /` ,
66- path . join ( context , 'index.js' ) ,
67- ] ,
61+ entry : [ `webpack-dev-server/client?http://0.0.0.0:${ port } /` , path . join ( context , 'index.js' ) ] ,
6862 output : {
6963 path : path . join ( __dirname , outputPath ) ,
7064 filename : 'bundle.js' ,
71- publicPath : '/' ,
65+ publicPath : '/'
7266 } ,
7367 plugins : [
7468 new webpack . HotModuleReplacementPlugin ( ) ,
@@ -81,7 +75,9 @@ const config = (options: {}): {} => {
8175 } ) ,
8276 new ExtractTextPlugin ( 'bundle.css' ) ,
8377 new webpack . DefinePlugin ( {
84- __USE_CSS_MODULES__ : JSON . stringify ( JSON . parse ( process . env . USE_CSS_MODULES || 'true' ) )
78+ __USE_CSS_MODULES__ : JSON . stringify ( JSON . parse ( process . env . USE_CSS_MODULES || 'true' ) ) ,
79+ MODULE_VERSION_REACT_FLAG_ICON_CSS : JSON . stringify ( moduleVersionReactFlagIconCss ) ,
80+ MODULE_VERSION_WEBPACK : JSON . stringify ( moduleVersionWebpack )
8581 } )
8682 ] ,
8783 // Some libraries import Node modules but don't use them in the browser.
@@ -94,7 +90,7 @@ const config = (options: {}): {} => {
9490 module : {
9591 rules : getRules ( computedOptions )
9692 }
97- }
98- }
93+ } ;
94+ } ;
9995
100- export default config
96+ export default config ;
0 commit comments