Created by: insidewhy
See https://github.com/facebook/create-react-app/issues/5820
To briefly summarise: ForkTsCheckerWebpackPlugin is run with async: false due to screen clearing issues hiding console errors, the unfortunate side-effect being that the recompilations take several seconds instead of less than 300ms.
When the CI environment variable is set the screen is not cleared so the "errors being hidden" issue cannot be present. In that case async can be set to true to have much faster compilation times. Then users who wish to use typescript and would prefer to have their development experience be drastically faster and won't mind the screen not being cleared can simply set CI in their package.json.