microsoft / microsoft/TypeScript
require() is generated in JS although there's no runtime code
@andrewbranch ya está trabajando en esto.
Desde el 14/3/2025.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 132
Descripción
🔎 Search Terms
require generated const enum
namespace require generated
namespace require const enum
namespace require
"export import" require
⏯ Playground Link
Multiple files, so can't use playground
💻 Code
// file1.ts
export namespace MyOtherNamespace {
export const enum Yay {
OK,
KO
}
}
// file2.ts
import { MyOtherNamespace } from "./file1";
export namespace MyNamespace {
export import NS2 = MyOtherNamespace;
}
import { MyNamespace } from "./file2.ts";
const val = MyNamespace.NS2.Yay.KO
// Compiled code
const file2_1 = require("./file2"); // notice the variable name which is just "filename_1", as it is not used anywhere
const val = 1;
🙁 Actual behavior
Compiling an unused const file2_1 = require("./file2"); line
🙂 Expected behavior
Do not compile unused line.
Additional information about the issue
The problem is that this file is a types file, so it is installed only in develpment environment (npm install -D xxx) so in runtime it is failing because it can't find the required module.
If I modify the MyNamespace namespace to directly export a namespace instead of doing an export import it works, but we have a lot of namespaces so we have them separated into files, and couldn't find another way to export an imported namespace inside another namespace.
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.
Evaluación
Este issue todavía no se ha evaluado.