From 99f9a2278fc29f419cf525fb8424a44298f770ee Mon Sep 17 00:00:00 2001 From: ryota-murakami Date: Tue, 27 Oct 2020 15:58:30 +0900 Subject: [PATCH 1/2] 4.0.0 Fix noFallthroughCasesInSwitch/jsx object is not extensible error at TypeScript --- .../scripts/utils/verifyTypeScriptSetup.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js b/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js index 00139ee4caf..cda17752767 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 = { ...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)) { From 8d53a29fdf10e977f88103fdde95d2806044dc7f Mon Sep 17 00:00:00 2001 From: Ryota Murakami Date: Sat, 31 Oct 2020 03:18:52 +0900 Subject: [PATCH 2/2] Update packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js Co-authored-by: Konstantin Simeonov --- packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js b/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js index cda17752767..04e6e4e0020 100644 --- a/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js +++ b/packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js @@ -221,7 +221,7 @@ function verifyTypeScriptSetup() { } 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 = { ...appTsConfig.compilerOptions }; + appTsConfig.compilerOptions = JSON.parse(JSON.stringify(appTsConfig.compilerOptions)); // Original appTsConfig.compilerOptions status // Object.isExtensible(appTsConfig.compilerOptions) output: false