Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • C create-react-app
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,547
    • Issues 1,547
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 417
    • Merge requests 417
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • create-react-app
  • Merge requests
  • !6209

Run ForkTsCheckerWebpackPlugin with async when CI env is used

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/insidewhy/jp/fix-5820 into master 6 years ago
  • Overview 3
  • Commits 1
  • Pipelines 0
  • Changes 1

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.

Compare
  • master (base)

and
  • latest version
    60508afc
    1 commit, 2 years ago

1 file
+ 3
- 2

    Preferences

    File browser
    Compare changes
packages/react-scripts/config/webpack.config.js
+ 3
- 2
  • View file @ 60508afc


@@ -43,6 +43,7 @@ const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false';
@@ -43,6 +43,7 @@ const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false';
// Check if TypeScript is setup
// Check if TypeScript is setup
const useTypeScript = fs.existsSync(paths.appTsConfig);
const useTypeScript = fs.existsSync(paths.appTsConfig);
 
const asyncTsFork = useTypeScript && process.env.CI && process.env.CI !== 'false';
// style files regexes
// style files regexes
const cssRegex = /\.css$/;
const cssRegex = /\.css$/;
@@ -617,7 +618,7 @@ module.exports = function(webpackEnv) {
@@ -617,7 +618,7 @@ module.exports = function(webpackEnv) {
typescript: resolve.sync('typescript', {
typescript: resolve.sync('typescript', {
basedir: paths.appNodeModules,
basedir: paths.appNodeModules,
}),
}),
async: false,
async: asyncTsFork,
checkSyntacticErrors: true,
checkSyntacticErrors: true,
tsconfig: paths.appTsConfig,
tsconfig: paths.appTsConfig,
compilerOptions: {
compilerOptions: {
@@ -637,7 +638,7 @@ module.exports = function(webpackEnv) {
@@ -637,7 +638,7 @@ module.exports = function(webpackEnv) {
'!**/src/setupTests.*',
'!**/src/setupTests.*',
],
],
watch: paths.appSrc,
watch: paths.appSrc,
silent: true,
silent: !asyncTsFork,
formatter: typescriptFormatter,
formatter: typescriptFormatter,
}),
}),
].filter(Boolean),
].filter(Boolean),
0 Assignees
None
Assign to
0 Reviewers
None
Request review from
Labels
2
CLA Signed tag: documentation
2
CLA Signed tag: documentation
    Assign labels
  • Manage project labels

Milestone
1.1.0
1.1.0
None
Time tracking
No estimate or time spent
Lock merge request
Unlocked
0
0 participants
Reference: facebook/create-react-app!3533
Source branch: github/fork/insidewhy/jp/fix-5820

Menu

Explore Projects Groups Snippets