<!--
Thank you for sending the PR!
If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots!
Happy contributing!
-->
* Update to jest 24
* Add notice about pnpResolver.js
* Formatting
* Fix linting
* Update to jest 24.1.0
* Update jest-pnp-resolver
* Swap create-react-app params in e2e scripts
* Add extraGlobals to supportedKeys
* Bump jest to 24.3.1
* Bump jest to 24.4.0
* Bumb jest to 24.5.0
* Update template dependencies jest to 24.5.0
* Debug failing test
* Remove jest-pnp-resolver
* Remove console.log
* Revert yarn.lock.cached
* Revert "Revert "Speed up TypeScript projects (#5903)""
This reverts commit 544a5943ce.
* Move fork-ts-checker dep to react-dev-utils
* Convert WebpackDevServerUtils.createCompiler to take in options arg
* Update README.md for react-dev-utils
As a lot of [people](https://hackernoon.com/why-i-no-longer-use-typescript-with-react-and-why-you-shouldnt-either-e744d27452b4) is complaining about TypeScript performance in CRA, I decided to enable `async` mode in TypeScript checker.
These changes basically brings the JS compilation times to TS projects. So, recompilation took less than 1 second instead of 3 seconds in medium size project.
The problem with async mode is that type-errors are reported after Webpack ends up recompilation as TypeScript could be slower than Babel. PR allows to emit files compiled by Babel immediately and then wait for TS and show type errors in terminal later. Also, if there was no compilation errors and any type error occurs, we trigger a hot-reload with new errors to show error overlay in browser.
Also, I wanted to start a discussion about `skipLibCheck: false` option in default `tsconfig.json`. This makes recompilations really slow and we should consider to set it to `true` or at least give users a big warning to let them know that it could be really slow.
The following video is showing the updated workflow with a forced 2.5 second delay for type-check to give you an idea how it works.

I'm pretty sure that PR needs some polishing and improvements but it should works as it is. Especially a "hack" with reloading the browser after type-check looks ugly to me.
cc @brunolemos as he is an initiator of an original TypeScript PR.
Should fix https://github.com/facebook/create-react-app/issues/5820
* Don't resolve TS files if it's not detected in the project
* Automatically create tsconfig.json file for user
* Remove always false check
* Add missing file
* Don't filter paths too early
Fixes#5333
printFileSizesAfterBuild calls canReadAsset with an object containing
the file name while measureFileSizesBeforeBuild calls it with just the
name. When canReadAsset only receives the name it returns false since
accessing the `name` property results in undefined.
This commit fixes that by having canReadAssset instead expect only the
file name and making printFileSizesAfterBuild just like
measureFileSizesBeforeBuild only provide the name as argument.
Clicking Error overlay should feed the correct line number for gvim.
Added `gvim` in `COMMON_EDITORS_LINUX`, launches new gvim when it is running.
Tested with gvim 8.0.707 on a Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux VM
Relates to https://github.com/facebook/create-react-app/issues/2636.
* Only install react-scripts in CI mode
* Link locally
* Re-enable all output tests
* 💄 Polish webpack output
* Test sass support message
* Add more tests, but disabled
* Format missing default export error
* Format aliased import
* Why was node-sass required? Odd
* Format webpack rejection error
* Re-enable unknown package test
* Format file not found error and catch module scope plugin error
* Re-disable case sensitive paths
* Intercept and format case sensitive path errors
* Test out of scope message formatting
* Run behavior on macOS
* Run behavior on Node 8 and 10, only Node 8 for macOS
* Add some debugging
* Update matcher
* Only check stderr
* Remove old snapshot
* More debug
* Remove debug
* Add new debug
* Disable test on linux
* Add comment for future