reactjs - yarn create react-app con TypeScript lanzando errores
Estoy intentando crear una nueva aplicación de React:
yarn create react-app my-app --template typescript
La instalación parece funcionar bien, pero cuando intento yarn start la aplicación, obtengo un error:
C:\...\my-app\node_moduleseact-scripts\scripts\utils\verifyTypeScriptSetup.js:239 appTsConfig.compilerOptions[option]=value; ^
TypeError: No se puede asignar a la propiedad de solo lectura 'jsx' del objeto '#' en verifyTypeScriptSetup (C:\...\my-app\node_moduleseact-scripts\scripts\utils\verifyTypeScriptSetup.js:239:43) en Object. (C:\...\my-app\node_moduleseact-scripts\scripts\start.js:31:1) en Module._compile (internal/modules/cjs/loader.js:1063:30) en Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) en Module.load (internal/modules/cjs/loader.js:928:32) en Function.Module._load (internal/modules/cjs/loader.js:769:14) en Function.executeUserEntryPoint [como runMain] (internal/modules/run_main.js:72:12) en internal/main/run_main_module.js:17:47 error Comando fallido con el código de salida 1. info Visite https://yarnpkg.com/en/docs/cli/run para documentación sobre este comando.
Parece que hay un problema con las dependencias entre pares. check-peer-dependencies lista dependencias entre pares no satisfechas:
❌ @pmmmwh/[email requires type-fest ^0.13.1 (0.8.1 is installed)
❌ @pmmmwh/[email requires webpack-hot-middleware 2.x (webpack-hot-middleware is not installed)
❌ @pmmmwh/[email requires webpack-plugin-serve 0.x || 1.x (webpack-plugin-serve is not installed)
❌ [email requires ts-node >=9.0.0 (ts-node is not installed)
❌ [email requires canvas ^2.5.0 (canvas is not installed)
❌ [email requires typescript ^3.2.1 (4.1.2 is installed)
❌ [email requires fibers >= 3.1.0 (fibers is not installed)
❌ [email requires node-sass ^4.0.0 (node-sass is not installed)
❌ [email requires sass ^1.3.0 (sass is not installed)
❌ [email requires bufferutil ^4.0.1 (bufferutil is not installed)
❌ [email requires utf-8-validate ^5.0.2 (utf-8-validate is not installed)
Después de que agrego las dependencias no satisfechas, se produce otro error:
error TS6046: El argumento para la opción '--jsx' debe ser: 'preserve', 'react-native', 'react'.
Después de que cambié el valor de jsx": "react-jsx" a jsx": "react" en tsconfig.json, finalmente puedo iniciar la aplicación.
Los errores también ocurren con npx create-react-app. Intenté ejecutar los comandos en Windows 10 y Linux - sin diferencias.
¿Qué me estoy perdiendo?
Respuesta #1
donavon recomienda una solución temporal:
crea un archivo en la raíz de tu proyecto:
//verifyTypeScriptSetup.js
"use strict";
function verifyTypeScriptSetup () {}
module.exports = verifyTypeScriptSetup;
agrega un prestart en los scripts de tu package.json
"prestart": "cp verifyTypeScriptSetup.js node_modules/react-scripts/scripts/utils",
Comparto el enlace con la solución https://github.com/facebook/create-react-app/issues/9868#issuecomment-731396876
