diff --git a/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js b/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js index 00139ee4caf..04e6e4e0020 100644 --- a/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js +++ b/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js @@ -148,7 +148,7 @@ function verifyTypeScriptSetup() { jsx: { parsedValue: hasJsxRuntime && semver.gte(ts.version, '4.1.0-beta') - ? ts.JsxEmit.ReactJsx + ? ts.JsxEmit.ReactJSX : ts.JsxEmit.React, value: hasJsxRuntime && semver.gte(ts.version, '4.1.0-beta') @@ -218,6 +218,14 @@ function verifyTypeScriptSetup() { if (appTsConfig.compilerOptions == null) { appTsConfig.compilerOptions = {}; firstTimeSetup = true; + } else { + // This is bug fix code of https://github.com/facebook/create-react-app/issues/9868 + // Bellow code release variable from non-extensible and freeze status. + appTsConfig.compilerOptions = JSON.parse(JSON.stringify(appTsConfig.compilerOptions)); + + // Original appTsConfig.compilerOptions status + // Object.isExtensible(appTsConfig.compilerOptions) output: false + // Object.isFrozen(appTsConfig.compilerOptions) output: true } for (const option of Object.keys(compilerOptions)) {