microsoft / microsoft/TypeScript
require() is generated in JS although there's no runtime code
@andrewbranch 已經在處理了。
開始於 2025年3月14日。
- 主要語言
- Go
- 星號
- 111k
- 分支
- 14.3k
- 平均合併
- 2 天 4 小時
- 30 天內合併 PR
- 132
描述
🔎 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.
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
評估
這個 Issue 還沒有評估資料。