microsoft / microsoft/TypeScript
`esModuleInterop` breaks circular imports
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
TypeScript Version: 3.5.2
Search Terms:
Code
./tsconfig.json:
{
"compilerOptions": {
"esModuleInterop": true
},
"files": ["./src/main.ts"]
}
./src/main.ts
import { other } from './other';
console.log(other.foo1);
./src/other.ts
export const foo1 = 1;
export const foo2 = 2;
// Import *this* module as a namespace
// Unexpected error:
// Circular definition of import alias 'other'
import * as other from './other';
// Re-export the namespace as a named export
export { other };
(For context on why you might do this: it allows you to give namespace imports a common name.)
Expected behavior:
No error
Actual behavior:
Error (see code comment)
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 diagnóstico con ./tsconfig.json, src/main.ts y src/other.ts usando TypeScript 3.5.2 o la versión actual relevante. Empieza siguiendo la comprobación de alias de importación circular para la importación de espacio de nombres en src/other.ts; se considera terminado cuando el ejemplo compila sin el error indicado y conserva el comportamiento esperado de importación y reexportación.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- compilers
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 35/100