- [x] Utilize webpack 4 development and production modes
- [x] Upgrade webpack dev server
- [x] Webpack 4 compatible release of thread-loader
- [x] Webpack 4 compatible release of HtmlWebpackPlugin
- [x] Webpack 4 compatible release of SwPrecacheWebpackPlugin
- [x] Webpack 4 compatible release of WebpackManifestPlugin
- [x] Update README
- [x] Update WebpackDevServerUtils
- [x] Update InterpolateHtmlPlugin
- [x] Update ModuleScopePlugin
- [x] Update WatchMissingNodeModulesPlugin
- [x] Move UglifyJS options to webpack 4 optimize
- [x] Move InterpolateHtmlPlugin to make it tapable on HtmlWebpackPlugin
- [x] vendor splitting via splitChunks.splitChunks (https://twitter.com/wSokra/status/969633336732905474)
- [x] long term caching via splitChunks.runtimeChunk (https://twitter.com/wSokra/status/969679223278505985)
- [x] Make sure process.env.NODE_ENV is proxied correctly to `react-error-overlay`
- [x] Implicit webpack.NamedModulesPlugin in dev config as its default in webpack 4
- [x] Disable webpack performance hints as we have our own filesize reporter
- [x] Replace ExtractTextPlugin with MiniCssExtractPlugin
- [x] Switch to css whole file minification via OptimizeCSSAssetsPlugin rather than per module css minification to gain performance
* Add explicit dep on plugin-proposal-object-rest-spread to babel-preset-react-app
* Bump babel-related deps to beta.42
* Pass useBuiltIns directly to react-preset
* Update dependencies in react-scripts
* Add first pass of working dependencies for babel-preset-react-app and react-scripts
* Bump more dependency versions
* Adjust more versions and edit fix options
* Restore functionality of old preset
* Disable Uglify in iframe webpack
* Apply prettier
* Re-enable cache in dev and clean deps
* Lock packages and move babel/core to dep in preset
* Bump babel-jest
* Re-enable uglify
* Nest forceAllTransforms correctly in webpack config
* Install babel-core bridge for jest
* Add jest-cli and babel-core bridge to make tests in react-error-overlay pass
* Re-enable transform-dynamic-import
* Add dynamic import syntax support back
* Use new babel in kitchensink
* Transform modules in test
* Revert "Transform modules in test"
This reverts commit 539e46a1d77259898b7e70d778a5e43fc25edc2a.
* Attempt fix for ejected tests
* try this
* Add regenerator back
* Bump babel deps to beta.34
* Remove bad files
* Use default when requiring babel transform plugin
* Bump deps
* Try the fix?
* Oopsie
* Remove some weird things
* Run Babel on react-error-overlay tests
* Try fixing kitchensink
* Use new API for codeFrame
* Add missing (?) babelrc
* Maybe this helps?
* Maybe fix mocha
* I shouldn't have deleted this 🤦
* Bump dependencies
* Downgrade source-map back to 0.5.x
Not sure what changed there but our bundle snapshot doesn't match with minor changes.
I couldn't figure out how to update it, and also whether we need to tweak getPrettyURL in response.
* Switch to preset-env
Disables webpack modules by enabling babel modules to resolve#1638
* Bump babel-core to match babel preset versions
* Add uglify to targets
* Disable require.ensure
* Replace require.ensure with import
* Add babel plugin for parsing import()
* Get the default
* Upgrade babel-eslint to support dynamic import
* Fix dep
* Update deps
* Update `babel-plugin-transform-object-rest-spread` to v6.19.0
The `babel-plugin-transform-object-rest-spread` v6.19.0 update will
allow us to remove the `babel-plugin-transform-es2015-destructuring` and
`babel-plugin-transform-es2015-parameters` as the object rest spread
transform will now work standalone and not require additional tranforms
* Remove unnecessary babel transform plugins from babel-preset-react-app
The `babel-plugin-transform-object-rest-spread` v6.19.0 update makes
these plugins unnecessary, as v6.19.0 can be used stand-alone
* Update dependencies
* Use published version of eslint-config-react-app for development
We dogfood on our eslint-config-react-app by using it as our ESLint config,
but installing it from the local folder causes problems when its peerDependencies
are updated, because npm won't update it unless the version number changes.
Use the published version for dogfooding so it can be installed from npm.