fix(editor): Configurar Monaco para eliminar errores "Cannot find module 'react'"#58
Open
mfagundez-4geeks wants to merge 2 commits intomasterfrom
Open
fix(editor): Configurar Monaco para eliminar errores "Cannot find module 'react'"#58mfagundez-4geeks wants to merge 2 commits intomasterfrom
mfagundez-4geeks wants to merge 2 commits intomasterfrom
Conversation
- Add monacoTsConfig utility: setCompilerOptions (moduleResolution, jsx) and setDiagnosticsOptions (noSemanticValidation, keep syntax validation) - Use beforeMount in Editor.tsx and Markdowner.tsx so React/TSX tabs no longer show red squiggles on 'react' imports and JSX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problema
Al editar ejercicios con archivos
.tsxo.tsque importanreact(u otros módulos npm), el editor Monaco mostraba:import ... from 'react'con el error "Cannot find module 'react'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option? (2792)".El language service de TypeScript dentro de Monaco no tiene acceso a
node_modulesni a untsconfigdel proyecto, así que no puede resolver módulos comoreact.Son errores falsos, ya que no afectarán la evaluación del ejercicio, ya que la validación real se hace mediante Rigobot/tests (según el entorno), no mediante el editor.
Issue relacionado: Monaco Editor muestra error "Cannot find module 'react'" en ejercicios .tsx/.ts (no afecta la validación)
Opciones consideradas
compilerOptions, el mensaje de módulo podía seguir apareciendo en algunos casos; no cubre bien el problema de resolución.compilerOptions(moduleResolution, jsx, etc.)react, el "Cannot find module" puede seguir saliendo. Es necesaria pero no suficiente por sí sola.addExtraLib(declaraciones manuales o mínimas)@types/reactdesde un CDN y pasarlos aaddExtraLibcompilerOptions+ desactivar validación semántica (noSemanticValidation: true)Por qué se eligió B + A
monacoTsConfig.ts) ybeforeMounten Editor y Markdowner; sin dependencias nuevas.Validaciones en el editor: qué se mantiene y qué no
Validaciones que ya NO se realizan en Monaco (semántica)
Validaciones que SÍ se mantienen (sintaxis)
El autocompletado básico y la edición del código siguen funcionando con normalidad; solo se dejan de mostrar los diagnósticos semánticos (módulos, tipos).