diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 97bfa81630db2..9020d9e47dfd9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -31848,7 +31848,7 @@ namespace ts { return false; } - return grammarErrorOnFirstToken(node, Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file); + return grammarErrorOnFirstToken(node, Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier); } function checkGrammarTopLevelElementsForRequiredDeclareModifier(file: SourceFile): boolean { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 04d8213dacbc6..befff38aee16b 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -139,7 +139,7 @@ "category": "Error", "code": 1045 }, - "A 'declare' modifier is required for a top level declaration in a .d.ts file.": { + "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.": { "category": "Error", "code": 1046 }, diff --git a/tests/baselines/reference/missingRequiredDeclare.d.errors.txt b/tests/baselines/reference/missingRequiredDeclare.d.errors.txt index a673c948a4873..079de0b022260 100644 --- a/tests/baselines/reference/missingRequiredDeclare.d.errors.txt +++ b/tests/baselines/reference/missingRequiredDeclare.d.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/missingRequiredDeclare.d.ts(1,1): error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +tests/cases/compiler/missingRequiredDeclare.d.ts(1,1): error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. tests/cases/compiler/missingRequiredDeclare.d.ts(1,9): error TS1039: Initializers are not allowed in ambient contexts. ==== tests/cases/compiler/missingRequiredDeclare.d.ts (2 errors) ==== var x = 1; ~~~ -!!! error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +!!! error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. ~ !!! error TS1039: Initializers are not allowed in ambient contexts. \ No newline at end of file diff --git a/tests/baselines/reference/parserEnumDeclaration3.d.errors.txt b/tests/baselines/reference/parserEnumDeclaration3.d.errors.txt index 03bba3492e77f..9be61012304b4 100644 --- a/tests/baselines/reference/parserEnumDeclaration3.d.errors.txt +++ b/tests/baselines/reference/parserEnumDeclaration3.d.errors.txt @@ -1,9 +1,9 @@ -tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration3.d.ts(1,1): error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration3.d.ts(1,1): error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. ==== tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration3.d.ts (1 errors) ==== enum E { ~~~~ -!!! error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +!!! error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. A = 1 } \ No newline at end of file diff --git a/tests/baselines/reference/parserFunctionDeclaration2.d.errors.txt b/tests/baselines/reference/parserFunctionDeclaration2.d.errors.txt index 6f836544efc90..b682d1b1e3fe5 100644 --- a/tests/baselines/reference/parserFunctionDeclaration2.d.errors.txt +++ b/tests/baselines/reference/parserFunctionDeclaration2.d.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration2.d.ts(1,1): error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration2.d.ts(1,1): error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration2.d.ts(1,14): error TS1183: An implementation cannot be declared in ambient contexts. ==== tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration2.d.ts (2 errors) ==== function F() { ~~~~~~~~ -!!! error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +!!! error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. ~ !!! error TS1183: An implementation cannot be declared in ambient contexts. } \ No newline at end of file diff --git a/tests/baselines/reference/parserModuleDeclaration1.d.errors.txt b/tests/baselines/reference/parserModuleDeclaration1.d.errors.txt index 4f5b3b581d18c..4c88d2a29946b 100644 --- a/tests/baselines/reference/parserModuleDeclaration1.d.errors.txt +++ b/tests/baselines/reference/parserModuleDeclaration1.d.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration1.d.ts(1,1): error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration1.d.ts(1,1): error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. ==== tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration1.d.ts (1 errors) ==== module "Foo" { ~~~~~~ -!!! error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +!!! error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. } \ No newline at end of file diff --git a/tests/baselines/reference/parserModuleDeclaration2.d.errors.txt b/tests/baselines/reference/parserModuleDeclaration2.d.errors.txt index 00c2fbb82a0cb..6ff076949570c 100644 --- a/tests/baselines/reference/parserModuleDeclaration2.d.errors.txt +++ b/tests/baselines/reference/parserModuleDeclaration2.d.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration2.d.ts(1,1): error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration2.d.ts(1,1): error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. ==== tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration2.d.ts (1 errors) ==== module M { ~~~~~~ -!!! error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +!!! error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. } \ No newline at end of file diff --git a/tests/baselines/reference/parserModuleDeclaration4.d.errors.txt b/tests/baselines/reference/parserModuleDeclaration4.d.errors.txt index 2e75c6cbc509a..107c44c453671 100644 --- a/tests/baselines/reference/parserModuleDeclaration4.d.errors.txt +++ b/tests/baselines/reference/parserModuleDeclaration4.d.errors.txt @@ -1,11 +1,11 @@ -tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.d.ts(1,1): error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.d.ts(1,1): error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.d.ts(2,3): error TS1038: A 'declare' modifier cannot be used in an already ambient context. ==== tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.d.ts (2 errors) ==== module M { ~~~~~~ -!!! error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +!!! error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. declare module M1 { ~~~~~~~ !!! error TS1038: A 'declare' modifier cannot be used in an already ambient context. diff --git a/tests/baselines/reference/parserVariableStatement1.d.errors.txt b/tests/baselines/reference/parserVariableStatement1.d.errors.txt index eb6f799df74ab..ade6a2ea338af 100644 --- a/tests/baselines/reference/parserVariableStatement1.d.errors.txt +++ b/tests/baselines/reference/parserVariableStatement1.d.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement1.d.ts(1,1): error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement1.d.ts(1,1): error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement1.d.ts(1,9): error TS1039: Initializers are not allowed in ambient contexts. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement1.d.ts (2 errors) ==== var v = 1; ~~~ -!!! error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +!!! error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. ~ !!! error TS1039: Initializers are not allowed in ambient contexts. \ No newline at end of file diff --git a/tests/baselines/reference/parserVariableStatement2.d.errors.txt b/tests/baselines/reference/parserVariableStatement2.d.errors.txt index c0cdb0e2ac4e2..fafb31d399963 100644 --- a/tests/baselines/reference/parserVariableStatement2.d.errors.txt +++ b/tests/baselines/reference/parserVariableStatement2.d.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement2.d.ts(1,1): error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. +tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement2.d.ts(1,1): error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. ==== tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement2.d.ts (1 errors) ==== var v; ~~~ -!!! error TS1046: A 'declare' modifier is required for a top level declaration in a .d.ts file. \ No newline at end of file +!!! error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier. \ No newline at end of file