Skip to content

Commit ce1947b

Browse files
authored
Merge pull request microsoft#41070 from weswigham/use-minimal-endings-in-bundled-declaration-emit
Use minimal endings when generating declarations for js
2 parents 5b2fba3 + 1cdb621 commit ce1947b

5 files changed

+89
-1
lines changed

src/compiler/checker.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5479,7 +5479,7 @@ namespace ts {
54795479
specifierCompilerOptions,
54805480
contextFile,
54815481
moduleResolverHost,
5482-
{ importModuleSpecifierPreference: isBundle ? "non-relative" : "relative" },
5482+
{ importModuleSpecifierPreference: isBundle ? "non-relative" : "relative", importModuleSpecifierEnding: isBundle ? "minimal" : undefined },
54835483
));
54845484
links.specifierCache ??= new Map();
54855485
links.specifierCache.set(contextFile.path, specifier);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
//// [tests/cases/compiler/declarationEmitOutFileBundlePaths.ts] ////
2+
3+
//// [versions.static.js]
4+
export default {
5+
"@a/b": "1.0.0",
6+
"@a/c": "1.2.3"
7+
};
8+
//// [index.js]
9+
import versions from './versions.static.js';
10+
11+
export {
12+
versions
13+
};
14+
15+
16+
17+
//// [index.d.ts]
18+
declare module "mylib/versions.static" {
19+
var _default: {
20+
"@a/b": string;
21+
"@a/c": string;
22+
};
23+
export default _default;
24+
}
25+
declare module "mylib" {
26+
export { versions };
27+
import versions from "mylib/versions.static";
28+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
=== tests/cases/compiler/js/versions.static.js ===
2+
export default {
3+
"@a/b": "1.0.0",
4+
>"@a/b" : Symbol("@a/b", Decl(versions.static.js, 0, 16))
5+
6+
"@a/c": "1.2.3"
7+
>"@a/c" : Symbol("@a/c", Decl(versions.static.js, 1, 20))
8+
9+
};
10+
=== tests/cases/compiler/js/index.js ===
11+
import versions from './versions.static.js';
12+
>versions : Symbol(versions, Decl(index.js, 0, 6))
13+
14+
export {
15+
versions
16+
>versions : Symbol(versions, Decl(index.js, 2, 8))
17+
18+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
=== tests/cases/compiler/js/versions.static.js ===
2+
export default {
3+
>{ "@a/b": "1.0.0", "@a/c": "1.2.3"} : { "@a/b": string; "@a/c": string; }
4+
5+
"@a/b": "1.0.0",
6+
>"@a/b" : string
7+
>"1.0.0" : "1.0.0"
8+
9+
"@a/c": "1.2.3"
10+
>"@a/c" : string
11+
>"1.2.3" : "1.2.3"
12+
13+
};
14+
=== tests/cases/compiler/js/index.js ===
15+
import versions from './versions.static.js';
16+
>versions : { "@a/b": string; "@a/c": string; }
17+
18+
export {
19+
versions
20+
>versions : { "@a/b": string; "@a/c": string; }
21+
22+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// @allowJs: true
2+
// @checkJs: true
3+
// @emitDeclarationOnly: true
4+
// @module: commonjs
5+
// @declaration: true
6+
// @strict: true
7+
// @esModuleInterop: true
8+
// @outFile: ./js/index.js
9+
// @bundledPackageName: mylib
10+
// @filename: js/versions.static.js
11+
export default {
12+
"@a/b": "1.0.0",
13+
"@a/c": "1.2.3"
14+
};
15+
// @filename: js/index.js
16+
import versions from './versions.static.js';
17+
18+
export {
19+
versions
20+
};

0 commit comments

Comments
 (0)