mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Merge pull request #11142 from nchen63/fix-export
Fix `export as namespace` error when compiling with declarations
This commit is contained in:
@@ -2746,8 +2746,9 @@ namespace ts {
|
||||
|
||||
// Type parameters are always visible
|
||||
case SyntaxKind.TypeParameter:
|
||||
// Source file is always visible
|
||||
// Source file and namespace export are always visible
|
||||
case SyntaxKind.SourceFile:
|
||||
case SyntaxKind.NamespaceExportDeclaration:
|
||||
return true;
|
||||
|
||||
// Export assignments do not create name bindings outside the module
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"scenario": "declarations_ExportNamespace",
|
||||
"projectRoot": "tests/cases/projects/declarations_ExportNamespace",
|
||||
"inputFiles": [
|
||||
"decl.d.ts",
|
||||
"useModule.ts"
|
||||
],
|
||||
"declaration": true,
|
||||
"baselineCheck": true,
|
||||
"emittedFiles": [
|
||||
"useModule.js",
|
||||
"useModule.d.ts"
|
||||
],
|
||||
"resolvedInputFiles": [
|
||||
"lib.d.ts",
|
||||
"decl.d.ts",
|
||||
"useModule.ts"
|
||||
]
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
declare module moduleB {
|
||||
interface IUseModuleA {
|
||||
a: moduleA.A;
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"scenario": "declarations_ExportNamespace",
|
||||
"projectRoot": "tests/cases/projects/declarations_ExportNamespace",
|
||||
"inputFiles": [
|
||||
"decl.d.ts",
|
||||
"useModule.ts"
|
||||
],
|
||||
"declaration": true,
|
||||
"baselineCheck": true,
|
||||
"emittedFiles": [
|
||||
"useModule.js",
|
||||
"useModule.d.ts"
|
||||
],
|
||||
"resolvedInputFiles": [
|
||||
"lib.d.ts",
|
||||
"decl.d.ts",
|
||||
"useModule.ts"
|
||||
]
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
declare module moduleB {
|
||||
interface IUseModuleA {
|
||||
a: moduleA.A;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"scenario": "declarations_ExportNamespace",
|
||||
"projectRoot": "tests/cases/projects/declarations_ExportNamespace",
|
||||
"inputFiles": [
|
||||
"decl.d.ts",
|
||||
"useModule.ts"
|
||||
],
|
||||
"declaration": true,
|
||||
"baselineCheck": true,
|
||||
"emittedFiles": [
|
||||
"useModule.js",
|
||||
"useModule.d.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export interface A {
|
||||
b: number;
|
||||
}
|
||||
export as namespace moduleA;
|
||||
@@ -0,0 +1,5 @@
|
||||
module moduleB {
|
||||
export interface IUseModuleA {
|
||||
a: moduleA.A;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user