microsoft / microsoft/TypeScript
Enable `allowJs` with `isolatedDeclarations`
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.4k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
Acknowledgement
- I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.
Comment
Today, an error is issued when allowJs is set alongside isolatedDeclarations - js and ts .d.ts emit use the same pipeline, so it really should work, provided the error generation logic isn't making too many syntax assumptions.
Mostly, unlocking this is going to involve looking through the isolatedDeclarations tests and copying them with their cast/annotation syntaxes swapped to jsdoc and filenames swapped to .js just to give confidence things are going to work OK (and that getEffectiveTypeNode is being used over a direct .type get in enough places in the error generator). There's a few other JS-specific error cases to look at (js's unique export/expression merges, for one) that may need some new errors, but the bulk of it is just ensuring the existing type node presence checking logic generalizes to jsdoc-sourced type nodes.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza revisando las pruebas existentes de isolatedDeclarations y el error generator, especialmente los usos de getEffectiveTypeNode frente al acceso directo al tipo. Duplica los casos relevantes con anotaciones JSDoc y nombres de archivo .js; después, investiga los casos específicos de JavaScript de exportación y combinación de expresiones. Se considera terminado cuando allowJs con isolatedDeclarations ya no falla incorrectamente y las pruebas ampliadas pasan.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, typescript
- Área
- compilers
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100