microsoft / microsoft/TypeScript
require() is generated in JS although there's no runtime code
@andrewbranch đang làm issue này rồi.
Từ ngày 14/3/2025.
- Ngôn ngữ chính
- Go
- Star
- 111k
- Fork
- 14.3k
- Merge trung bình
- 2 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 132
Mô tả
### 🔎 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
```ts
// file1.ts
export namespace MyOtherNamespace {
export const enum Yay {
OK,
KO
}
}
```
```ts
// file2.ts
import { MyOtherNamespace } from "./file1";
export namespace MyNamespace {
export import NS2 = MyOtherNamespace;
}
```
```ts
import { MyNamespace } from "./file2.ts";
const val = MyNamespace.NS2.Yay.KO
```
```js
// 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.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Đánh giá
Issue này chưa được đánh giá.