Browse Source

build(webpack): update webpack to v4.x

Update all webpack packages to the latest v4.x compatible versions and
update supporting configs. This delivers noticeable performance
improvements to the DX.
renovate/lint-staged-8.x
Tom Kirkpatrick 6 years ago
parent
commit
2e32f44c74
No known key found for this signature in database GPG Key ID: 72203A8EC5967EA8
  1. 18
      package.json
  2. 8
      webpack.config.base.js
  3. 5
      webpack.config.main.prod.js
  4. 2
      webpack.config.renderer.dev.dll.js
  5. 10
      webpack.config.renderer.dev.js
  6. 8
      webpack.config.renderer.prod.js
  7. 1124
      yarn.lock

18
package.json

@ -141,7 +141,6 @@
"babel-eslint": "^8.2.3",
"babel-jest": "^23.0.1",
"babel-loader": "^7.1.4",
"babel-minify-webpack-plugin": "^0.3.1",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-dev-expression": "^0.2.1",
"babel-plugin-dynamic-import-webpack": "^1.0.2",
@ -176,13 +175,13 @@
"eslint-plugin-promise": "^3.6.0",
"eslint-plugin-react": "^7.6.1",
"express": "^4.15.3",
"extract-text-webpack-plugin": "^3.0.2",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"fbjs-scripts": "^0.8.0",
"file-loader": "^0.11.1",
"file-loader": "^1.1.11",
"flow-bin": "^0.48.0",
"flow-runtime": "^0.13.0",
"flow-typed": "^2.1.2",
"html-webpack-plugin": "^2.30.1",
"html-webpack-plugin": "^3.2.0",
"identity-obj-proxy": "^3.0.0",
"jest": "^23.1.0",
"jsdom": "^11.0.0",
@ -193,16 +192,17 @@
"react-test-renderer": "^15.6.1",
"redux-logger": "^3.0.6",
"rimraf": "^2.6.1",
"sass-loader": "^6.0.7",
"sass-loader": "^7.0.3",
"sinon": "^2.3.5",
"spectron": "^3.8.0",
"style-loader": "^0.21.0",
"stylelint": "^9.2.1",
"stylelint-config-standard": "^18.2.0",
"url-loader": "^0.5.8",
"webpack": "^3.12.0",
"url-loader": "^1.0.1",
"webpack": "^4.12.0",
"webpack-bundle-analyzer": "^2.13.1",
"webpack-dev-server": "^2.11.2",
"webpack-cli": "^3.0.7",
"webpack-dev-server": "^3.1.4",
"webpack-merge": "^4.1.3"
},
"dependencies": {
@ -238,7 +238,7 @@
"redux-thunk": "^2.2.0",
"reselect": "^3.0.1",
"satoshi-bitcoin": "^1.0.4",
"source-map-support": "^0.4.18",
"source-map-support": "^0.5.6",
"xtend": "^4.0.1"
},
"main": "webpack.config.base.js",

8
webpack.config.base.js

@ -43,8 +43,10 @@ export default {
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'production')
}),
})
],
new webpack.NamedModulesPlugin()
]
optimization: {
namedModules: true
}
}

5
webpack.config.main.prod.js

@ -4,7 +4,6 @@
import webpack from 'webpack'
import merge from 'webpack-merge'
import MinifyPlugin from 'babel-minify-webpack-plugin'
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'
import baseConfig from './webpack.config.base'
import CheckNodeEnv from './internals/scripts/CheckNodeEnv'
@ -16,6 +15,8 @@ export default merge.smart(baseConfig, {
target: 'electron-main',
mode: 'production',
entry: './app/main.dev',
// 'main.js' in root
@ -28,8 +29,6 @@ export default merge.smart(baseConfig, {
/**
* Babli is an ES6+ aware minifier based on the Babel toolchain (beta)
*/
new MinifyPlugin(),
new BundleAnalyzerPlugin({
analyzerMode: process.env.OPEN_ANALYZER === 'true' ? 'server' : 'disabled',
openAnalyzer: process.env.OPEN_ANALYZER === 'true'

2
webpack.config.renderer.dev.dll.js

@ -20,6 +20,8 @@ export default merge.smart(baseConfig, {
target: 'electron-renderer',
mode: 'development',
externals: ['fsevents', 'crypto-browserify'],
/**

10
webpack.config.renderer.dev.js

@ -37,6 +37,8 @@ export default merge.smart(baseConfig, {
target: 'electron-renderer',
mode: 'development',
entry: [
'react-hot-loader/patch',
`webpack-dev-server/client?http://localhost:${port}/`,
@ -210,8 +212,6 @@ export default merge.smart(baseConfig, {
// multiStep: true
}),
new webpack.NoEmitOnErrorsPlugin(),
/**
* Create global constants which can be configured at compile time.
*
@ -262,7 +262,7 @@ export default merge.smart(baseConfig, {
verbose: true,
disableDotRule: false
},
setup() {
before() {
if (process.env.START_HOT) {
console.log('Starting Main Process...')
spawn(
@ -274,5 +274,9 @@ export default merge.smart(baseConfig, {
.on('error', spawnError => console.error(spawnError))
}
}
},
optimization: {
noEmitOnErrors: true
}
})

8
webpack.config.renderer.prod.js

@ -7,7 +7,6 @@ import webpack from 'webpack'
import ExtractTextPlugin from 'extract-text-webpack-plugin'
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'
import merge from 'webpack-merge'
import MinifyPlugin from 'babel-minify-webpack-plugin'
import baseConfig from './webpack.config.base'
import CheckNodeEnv from './internals/scripts/CheckNodeEnv'
@ -18,6 +17,8 @@ export default merge.smart(baseConfig, {
target: 'electron-renderer',
mode: 'production',
entry: './app/index',
output: {
@ -153,11 +154,6 @@ export default merge.smart(baseConfig, {
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'production')
}),
/**
* Babli is an ES6+ aware minifier based on the Babel toolchain (beta)
*/
new MinifyPlugin(),
new ExtractTextPlugin('style.css'),
new BundleAnalyzerPlugin({

1124
yarn.lock

File diff suppressed because it is too large
Loading…
Cancel
Save