Skip to content

Commit 09eb6fe

Browse files
authored
Merge pull request #11142 from nchen63/fix-export
Fix `export as namespace` error when compiling with declarations
2 parents 9950b98 + 832c17d commit 09eb6fe

File tree

10 files changed

+73
-1
lines changed

10 files changed

+73
-1
lines changed

src/compiler/checker.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2746,8 +2746,9 @@ namespace ts {
27462746

27472747
// Type parameters are always visible
27482748
case SyntaxKind.TypeParameter:
2749-
// Source file is always visible
2749+
// Source file and namespace export are always visible
27502750
case SyntaxKind.SourceFile:
2751+
case SyntaxKind.NamespaceExportDeclaration:
27512752
return true;
27522753

27532754
// Export assignments do not create name bindings outside the module
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"scenario": "declarations_ExportNamespace",
3+
"projectRoot": "tests/cases/projects/declarations_ExportNamespace",
4+
"inputFiles": [
5+
"decl.d.ts",
6+
"useModule.ts"
7+
],
8+
"declaration": true,
9+
"baselineCheck": true,
10+
"emittedFiles": [
11+
"useModule.js",
12+
"useModule.d.ts"
13+
],
14+
"resolvedInputFiles": [
15+
"lib.d.ts",
16+
"decl.d.ts",
17+
"useModule.ts"
18+
]
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
declare module moduleB {
2+
interface IUseModuleA {
3+
a: moduleA.A;
4+
}
5+
}

tests/baselines/reference/project/declarationsExportNamespace/amd/useModule.js

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"scenario": "declarations_ExportNamespace",
3+
"projectRoot": "tests/cases/projects/declarations_ExportNamespace",
4+
"inputFiles": [
5+
"decl.d.ts",
6+
"useModule.ts"
7+
],
8+
"declaration": true,
9+
"baselineCheck": true,
10+
"emittedFiles": [
11+
"useModule.js",
12+
"useModule.d.ts"
13+
],
14+
"resolvedInputFiles": [
15+
"lib.d.ts",
16+
"decl.d.ts",
17+
"useModule.ts"
18+
]
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
declare module moduleB {
2+
interface IUseModuleA {
3+
a: moduleA.A;
4+
}
5+
}

tests/baselines/reference/project/declarationsExportNamespace/node/useModule.js

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"scenario": "declarations_ExportNamespace",
3+
"projectRoot": "tests/cases/projects/declarations_ExportNamespace",
4+
"inputFiles": [
5+
"decl.d.ts",
6+
"useModule.ts"
7+
],
8+
"declaration": true,
9+
"baselineCheck": true,
10+
"emittedFiles": [
11+
"useModule.js",
12+
"useModule.d.ts"
13+
]
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export interface A {
2+
b: number;
3+
}
4+
export as namespace moduleA;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module moduleB {
2+
export interface IUseModuleA {
3+
a: moduleA.A;
4+
}
5+
}

0 commit comments

Comments
 (0)