* Adds the PnP plugin for Webpack to find dependencies when working under PnP
* Adds configuration for jest
* Adds an e2e test for when using PnP
* Avoids cra from crashing at the engine check
* Avoids cra from crashing when initializing react-scripts
* Makes the ownPath portable
* Fixes linting
* Bumps to pnp-webpack-plugin@1.1.0, removes symlinks: false
* Adds a --use-pnp option
* Pin version
* Switch back to babel-loader
* Preserve existing caller options. Use Object.assign instead of object spread.
* Updated filename in package.json
* Update comment about cache identifier
* Update macro check to use a regex
* Move macro check regex out of function
* Remove runtime alias hack
* Pass absolute path to preset
* Change comment
* Give a relative path to absolute runtime
* Clean up config
* Tweak again
* Make absolute runtime the default
* Remove runtime package from error overlay
* Add workbox service worker functionality
* Remove debug
* Set workboxConfig for when there isn't a cra config file
* Remove workbox configuration options as c-r-a isn't planning on supporting optional configuration
* Remove c-r-a config path from paths
* Add workbox service worker functionality
* Remove c-r-a config path from paths
* Inline the webpack workbox config
* Use settings reccommended by @jeffposnick
https://github.com/facebook/create-react-app/pull/4169/#issuecomment-422963072
* Fallback to public url index.html, not root
* Add one comment
* Update comment
* Correct regex
The `formatter` option is incompatible with with `thread-loader`.
The `formatter` option previously accepted a function which was lost during JSON serialization.
To analyze Webpack bundles, a "stats" JSON is required.
This PR allows that file to be created and saved to the `build`
directory, so that users can use it with Webpack-specific insight
tools like `webpack-bundle-analyzer` without ejecting their
application.
Updated the README to include details for how to do this.
- [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
* Installs and adds sass loader task in webpack for dev environment.
* Uses Timer's branch of sass-loader without node-sass dependency.
* Adds method for handling SASS modules.
* Fixes extension of excluded files when looking for scss modules.
* Adds support for both .scss and .sass extensions.
* Uses ExtractTextPlugin with sass-loader to bundle styles for the production build.
* Bundles SASS modules for the production build.
* Uses the latest version of sass-loader.
* Adds function to create different rules for style loaders in dev environment.
* Abstracts style loaders to a common function to avoid repetition.
* Simplifies the common function that creates style loaders.
* Creates assets for testing SASS/SCSS support.
* Creates mock components and unit tests for SASS and SCSS with and without modules.
* Creates integration tests for SASS/SCSS support.
* Adds node-sass as a template dependency so sass-loader can be tested.
* Includes sass tests when test component is mounted.
* Fixes asserted module name for sass and scss modules tests.
* Removes tests against css imports in SCSS and SASS files.
* Updates sass-loader to v7.
* Uses getCSSModuleLocalIdent from react-dev-utils.
* Fixes tests to match the use of getCSSModuleLocalIdent.
* Improves readability of getStyleLoader function.
* Uses postcss after sass.
* Refactors dev config to simplify common function for style loaders.
* Refactors prod config to simplify common function for style loaders.
* Use importLoaders config according to css-loader docs.
* 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
* Run yarn after ejecting.
* On eject, choose to run yarn instead of npm if yarn is available.
* Move monorepo to react-dev-utils.
* Fix lint.
* Rename monorepo to workspaceUtils.
* Add react-dev-utils dep for create-react-app.
* getMonorepo -> findMonorepo
* Add named asset import for svg files via babel plugin and webpack loader.
* Fix failing e2e test
* Switched to svgr loader
* Updated SVG component test
* Disable named asset import plugin in test environment
* Added tests for including SVG in CSS
* Update tests
* Moved babel plugin config into webpack config