Commit Graph

109 Commits

Author SHA1 Message Date
Joe Haddad
27ac52ac2f Remove runtime alias hack (#5142)
* 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
2018-09-27 16:52:43 -04:00
Marco Fugaro
1b57f0157b Remove highlightCode:true because it's now the default (#5085) 2018-09-27 00:20:42 -04:00
XiaoYan Li
46b18d9f36 Prevent Babel config overridden (#5109) 2018-09-26 17:03:31 -04:00
Joe Haddad
deffd04130 Fix babel runtime exclude rule 2018-09-26 01:31:50 -04:00
Joe Haddad
969fb37ea9 Disable source maps for node_modules (#5096) 2018-09-25 21:24:48 -04:00
Joe Haddad
adfb20c403 Turn on Babel helpers (#5093)
* Turn on helpers and test importing something with async/await works

* Compiling babel runtime breaks itself

* Add helpers option to babel plugin with defaults

* Make helpers off by default and on in our configuration

* Hit eject and e2e

* meh

* copy'n'paste

* change again

* Turn off helpers by default in /prod, /dev, /test

* oops

* Spread undefined

* Use object assign not object spread

* Put preset in template since it's needed

* Fix e2e tests
2018-09-25 18:59:06 -04:00
Joe Haddad
5599eff861 Drop IE 11 support by default (#5090)
* Drop ie 11 support and move polyfills to a new package

* More useful directions for what entry point to use
https://github.com/facebook/create-react-app/pull/5090#discussion_r220313783

* Clear up what file this polyfill goes in
https://github.com/facebook/create-react-app/pull/5090#discussion_r220313980

* Polyfill `window`, not `global`

* Remove proxy polyfill file
2018-09-25 16:08:29 -04:00
Joe Haddad
5f381e7646 Allow stage 3 css transforms (#5091)
* Switch to stage 3 css

* Tweak default browsers, too
2018-09-25 15:21:55 -04:00
Grady Kuhnline
fb6e6f70a3 Add postcss-preset-env, remove autoprefixer (#4716)
* add postcss-preset-env, remove autoprefixer

* limit to stage 4
2018-09-25 10:33:23 -04:00
Joe Haddad
11737bc786 Prevent the cache of files using Babel Macros (#5078)
* Add new overrides option

* Add file to package.json

* Create our own loader

* Remove overrides

* We have to use a real babel option

* Add comments
2018-09-24 20:10:11 -04:00
Joe Haddad
03a709195f Revert "Add loader for .graphql files (#3909)" (#5076) 2018-09-24 12:48:58 -04:00
Joe Haddad
2150693d6f Upgrade svgr to v2 and disable Prettier/SVGO (#5062) 2018-09-21 16:00:28 -04:00
Jason Laster
78f0a96133 Switch back to cheap-module-source-map (#5059) 2018-09-21 13:47:59 -04:00
Joe Haddad
0cfe758f27 Ensure files get purged when they should (#5054) 2018-09-21 09:56:45 -04:00
Joe Haddad
74c4baebf2 Normalize babel caching across the board (#5053) 2018-09-21 09:19:29 -04:00
Jason Laster
2ed8eccf08 Switch to eval-source-map (#4930) 2018-09-20 18:54:50 -04:00
Joe Haddad
4abc5c4877 Always lint with latest React version (#5043)
This is the best behavior so people have seamless upgrades to new React majors.

This is probably a terrible default warning from the ESLint plugin, and we need to wait for https://github.com/yannickcr/eslint-plugin-react/issues/1955 before changing this hardcoded behavior.

Closes #5034
2018-09-20 11:58:27 -04:00
Joe Haddad
c1ccbbc282 Upgrade html-webpack-plugin to fix tests (#5031)
* Upgrade html webpack plugin

* Fix build
2018-09-19 12:09:18 -04:00
Joe Haddad
d55525651f Disable webpack chunk coalescing (#5030)
* Disable webpack chunk rollup

* Bump timeout

* Revert "Bump timeout"

This reverts commit 84632115d178b48e08eb75dc5e9a921ece6aa759.
2018-09-19 09:43:57 -04:00
Joe Haddad
9bbc1775bb Remove mjs support (#5027)
* Revert Lerna dependency, there's too many bugs in v3

* Remove `mjs` support
2018-09-18 17:09:27 -04:00
Joe Haddad
50b4857ff8 Revert "Add support for yarn and lerna monorepos. (#3741)"
This reverts commit b43ad04b88.
2018-09-18 14:31:19 -04:00
Joe Haddad
22353ecf02 Fix ESLint output formatting
The `formatter` option is incompatible with with `thread-loader`.
The `formatter` option previously accepted a function which was lost during JSON serialization.
2018-09-17 19:59:14 -04:00
Miguel Palau
4a87838f52 remove extra dot on devtool link comment (#4741) 2018-07-05 12:40:55 -04:00
Dmitriy Sadkovoy
3e165448a7 Added thread-loader config for application code entrypoint (#4582) 2018-06-07 01:06:47 -06:00
Dmitriy Sadkovoy
d0afe4b3b9 Configured the thread-loader to keeping workers alive in development mode (#4562) 2018-06-05 18:27:34 +02:00
Jack Zhao
76ef9fadb6 Merge pull request #4014 from viankakrisna/enable-manifest-plugin-on-dev
enable manifest plugin on dev
2018-05-31 10:26:38 -07:00
Andreas Cederström
d72678fb0c - [x] Upgrade to webpack 4.8.X (#4077)
- [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
2018-05-20 18:22:24 +01:00
Fabiano Brito
bf3d73c2c6 Add Sass loader (#4195)
* 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.
2018-04-18 10:35:55 -06:00
Ro Savage
ae2cf07249 Update CSS Modules localIndetName (#4192)
* Update CSS Modules localIndetName

* Add missing file to package

* Correct regex

* plz plz plz
2018-04-13 16:14:31 -04:00
Ade Viankakrisna Fadlil
f17914c33c enable manifest plugin on dev 2018-02-11 19:33:03 +07:00
Pete Nykänen
779dad5546 Add loader for .graphql files (#3909)
* Add graphql loader to webpack config

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Update README.md

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Update react-scripts README.md

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Add graphql jest transform

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Add integration tests, pin versions in package.json

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Tests expect regexp matchers

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Use strict equal test instead

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Escaping is hard

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Add comment for signifying a different file

* Update docs

* Fix jest config

* Remove node_modules exclusion

* Update README.md

* Inline graphql jest transform

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Update copyright header

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>

* Use .graphql extension only

Signed-off-by: petetnt <pete.a.nykanen@gmail.com>
2018-02-03 15:51:55 +00:00
Ian Sutherland
d0e17316b9 Named asset import for SVG files (#3907)
* 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
2018-02-02 12:56:57 -07:00
bradfordlemley
b43ad04b88 Add support for yarn and lerna monorepos. (#3741)
* Support for multiple source paths via package.json srcPaths entry.

Initial support for yarn workspace.

Support lerna workspace, fix for when to use template files.

Remove support for specifying srcPaths in package.json.

Re-enable transpilation caching.

* Clean up, use file matching (similar to original) in webpack configs instead of matching function.

* Remove package lock files.

* Fix for eject.
Note: monorepos won't work after eject.
Can be fixed easily with JEST 22.0.?+ which has file pattern matches against realpaths.

* Filter tests to run only tests in monorepo components included by the app.
(Not sure this is desireable, might be cool to be able to easily run all tests in monorepo from one app.)

* Fix conditions for when to use template.

* Fix eject.

* Remove code that is not needed w/ Jest 22.

* Include all cra-comp tests in monorepo instead of trying to include only tests that are dependencies of app.
(tests can be easily filtered via jest cli if desired, e.g. 'npm test -- myapp comp1')

* Pin find-pkg version.

* Hopefully fix jest test file matching on windows by removing first slash.

* E2E tests for monorepo.

* Run monorepo tests in CI.

* Fix and test post-eject build.

* Fix e2e test.

* Fix test suite names in appveyor.

* Include individual package dirs as srcPaths instead of top-level monorepo root.
Fixes build/start after eject.

* Fix running tests after eject.

* Clean up test workspace, add some verifcations.

* Cleanup.

* Try to fix hang when running test on appveyor.

* Don't write babel or lint config to package.json when ejecting.

* Incorporate review comments.
* Simply monorepo pkg finder
* Only include monorepo pkgs if app itself is included in monorepo
* Check for specific tests in e2e

* Fixes for windows.

* Fix for kitchensink mocha tests compiling.

* Add lerna monorepo test.

* Fix lerna bootstrap on windows.

* Incorporate more review comments:
* remove support for lerna w/o yarn workspace
* add react and react-dom as devDeps to comp1 and comp2

* Add monorepo info to user guide.
2018-02-01 20:58:18 +00:00
Michaël De Boey
25184c4e91 Fix links to package (#3898) 2018-01-22 22:16:22 +00:00
Dan Abramov
1cf2248c46 Don't use app node_modules folder as a resolve fallback (#3884) 2018-01-21 19:05:24 +00:00
Joe Haddad
713eec417d Babel 7 disabled code highlighting by default 😢 (#3849) 2018-01-17 22:05:45 -05:00
Andrew
c9b289b64d fix small grammatical typo in webpack config documentation (#3842) 2018-01-17 21:34:08 +00:00
Ian Sutherland
82907fd23c Import SVGs as React components (#1388) (#3718)
* Import SVGs as React components (#1388)

* Updated webpack production config and fixed tests

* Improved Jest SVG file transform

* Improved SVG tests

* Add a comment

* Update webpack.config.prod.js
2018-01-17 19:40:56 +00:00
Joe Haddad
f4988e224a Update comments for accuracy 2018-01-17 10:30:45 -05:00
Ro Savage
fc7c9915b0 Add support for CSS Modules with explicit filename (#2285)
* Add css modules with [name].modules.css file convention

* Add e2e for CSS Modules

* Updated based on feedback

* Change css modules class name to be deterministic and fix licences

* Update css modules class naming convention
2018-01-17 10:20:57 -05:00
Joe Haddad
2ed4a7034f Compile code in parallel (#3778)
* Cheap perf gains

* Whoopsie
2018-01-15 00:08:14 -05:00
Dan Abramov
3d4440812c Compile dependencies with babel-preset-env (#3776) 2018-01-15 00:08:14 -05:00
Clement Hoang
1552949a3b Switch to Babel 7 (#3522)
* 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 🤦
2018-01-15 00:07:57 -05:00
everdimension
813584ff35 Redisable require.ensure() (#3121) 2018-01-15 00:06:24 -05:00
Andrey Sitnik
0a331710aa Move browsers to cross-tool config (#3644) 2018-01-15 00:06:24 -05:00
Nils Magnus Englund
bd682de1f6 Fixed typo in webpack.config.dev.js (#3601)
Replaced `it's` with `its`
2017-12-15 13:17:33 -05:00
Ian Sutherland
af291f3cb6 Add mjs and jsx filename extensions to file-loader exclude pattern (#3537) 2017-12-07 13:20:45 -05:00
Nik Nyby
70e0c08ef7 Remove output.path from dev webpack config (#3158)
According to this parameter's comment, it's unused but webpack-dev-server crashes without it. However, webpack-dev-server is running fine for me without this parameter.
2017-10-28 21:58:09 +01:00
Joe Haddad
5c8000f300 Add .mjs support (#3239) 2017-10-28 21:48:42 +01:00
Sophie Alpert
2e82ebb337 BSD+Patents -> MIT (#3189)
* File headers BSD+Patents -> MIT

* BSD+Patents -> MIT
2017-09-26 10:30:05 +01:00