microsoft / microsoft/TypeScript
JS Typedef merged with default export alias behaves strangely
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
TypeScript Version: 3.4.0-dev.201xxxxx
Search Terms:
Code
in a TS file:
import Def from "./file.js"
type Q = Def;
console.log(Def);
with file.js:
const x = 12;
export {x as default};
/**
* @typedef {string | number} default
*/
with checkJs and allowJs both on, the hover text for Def is surprisingly correct:

however the console.log is marked as an error, stating:
'Def' only refers to a type, but is being used as a value here.
Expected behavior:
Since the quickinfo shows it's clearly a value (and a value is, in fact, exported), the default import should be usable as a value.
Actual behavior:
The default import is not usable as a value without error.
cc @sandersn
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
Reproduce el problema con la configuración de TypeScript 3.4.0-dev utilizando los fragmentos .ts y .js proporcionados, con checkJs y allowJs habilitados. Sigue cómo se combinan el alias de la exportación predeterminada y el JSDoc typedef denominado default, y verifica después que el Def importado se acepta en console.log mientras conserva la información de tipos mostrada.
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
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bien especificado
- Aptitud para principiantes
- 52/100