Microsoft/TypeScript
Auf GitHub ansehenModule names in declaration files mismatch with keys in dependencies
Open
#50.917 geöffnet am 23. Sept. 2022
BugDomain: Declaration EmitHelp Wanted
Repository-Metriken
- Stars
- (48.455 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 6T 17h) (9 gemergte PRs in 30 T)
Beschreibung
Bug Report
🔎 Search Terms
- declaration files
- module names
- dependencies
- moduleResolution
- nodenext
🕗 Version & Regression Information
- Typescript version: v4.8.3
💻 Code
File structure:
├── package1
│ ├── index.d.ts
│ └── package.json
└── package2
├── baz.ts
├── index.ts
└── package.json
TS files:
// package1/index.d.ts
export interface FOO {}
// package2/baz.ts
export const BAZ = {
foo: {} as Partial<import("pkg1").FOO>,
};
// package2/index.ts
import * as baz from "./baz";
export const BAZ = baz.BAZ;
Generated declaration files:
// package2/dist/baz.d.ts
export declare const BAZ: {
foo: Partial<import("pkg1").FOO>;
};
// package2/dist/index.d.ts
export declare const BAZ: {
// Why use the name specified in `package1/name`,
// instead of the key in `package2/dependencies`?
foo: Partial<import("package1").FOO>;
};
package.json:
// package1/package.json
{
"name": "package1",
"version": "1.0.0",
"main": "index.js",
"types": "index.d.ts",
"exports": {
".": {
"default": "./index.js",
"types": "./index.d.ts"
}
}
}
// package2/package.json
{
"name": "package2",
"version": "1.0.0",
"main": "index.js",
"types": "index.d.ts",
"devDependencies": {
"typescript": "^4.8.3"
},
"dependencies": {
"pkg1": "file:../package1"
}
}
tsconfig.json
{
"compilerOptions": {
"declaration": true,
"moduleResolution": "nodenext",
"outDir": "dist"
}
}
🙁 Actual behavior
// package2/dist/index.d.ts
export declare const BAZ: {
foo: Partial<import("package1").FOO>;
};
🙂 Expected behavior
// package2/dist/index.d.ts
export declare const BAZ: {
foo: Partial<import("pkg1").FOO>;
};