Skip to content

Commit 2c7b39a

Browse files
committed
Change message for import *-ing an export=. Update baselines
1 parent 1579bfd commit 2c7b39a

File tree

4 files changed

+22
-21
lines changed

4 files changed

+22
-21
lines changed

src/compiler/checker.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2269,7 +2269,8 @@ namespace ts {
22692269
const symbol = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias);
22702270
if (!dontResolveAlias && symbol) {
22712271
if (!(symbol.flags & (SymbolFlags.Module | SymbolFlags.Variable))) {
2272-
error(referencingLocation, Diagnostics.Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct, symbolToString(moduleSymbol!));
2272+
error(referencingLocation, Diagnostics.ECMAScript_imports_can_only_reference_an_export_declaration_with_the_esModuleInterop_flag_enabled_and_by_using_default_imports);
2273+
22732274
return symbol;
22742275
}
22752276
if (compilerOptions.esModuleInterop) {

src/compiler/diagnosticMessages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1744,7 +1744,7 @@
17441744
"category": "Error",
17451745
"code": 2496
17461746
},
1747-
"Module '{0}' resolves to a non-module entity and cannot be imported using this construct.": {
1747+
"ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.": {
17481748
"category": "Error",
17491749
"code": 2497
17501750
},

tests/baselines/reference/api/tsserverlibrary.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5266,7 +5266,7 @@ declare namespace ts {
52665266
Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher: DiagnosticMessage;
52675267
Type_0_is_not_an_array_type_or_a_string_type: DiagnosticMessage;
52685268
The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression: DiagnosticMessage;
5269-
Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct: DiagnosticMessage;
5269+
ECMAScript_imports_can_only_reference_an_export_declaration_with_the_esModuleInterop_flag_enabled_and_by_using_default_imports: DiagnosticMessage;
52705270
Module_0_uses_export_and_cannot_be_used_with_export_Asterisk: DiagnosticMessage;
52715271
An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments: DiagnosticMessage;
52725272
A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments: DiagnosticMessage;

tests/baselines/reference/es6ExportEqualsInterop.errors.txt

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,24 @@ tests/cases/compiler/main.ts(33,8): error TS1192: Module '"function"' has no def
1111
tests/cases/compiler/main.ts(34,8): error TS1192: Module '"function-module"' has no default export.
1212
tests/cases/compiler/main.ts(35,8): error TS1192: Module '"class"' has no default export.
1313
tests/cases/compiler/main.ts(36,8): error TS1192: Module '"class-module"' has no default export.
14-
tests/cases/compiler/main.ts(39,21): error TS2497: Module '"interface"' resolves to a non-module entity and cannot be imported using this construct.
15-
tests/cases/compiler/main.ts(45,21): error TS2497: Module '"function"' resolves to a non-module entity and cannot be imported using this construct.
16-
tests/cases/compiler/main.ts(47,21): error TS2497: Module '"class"' resolves to a non-module entity and cannot be imported using this construct.
14+
tests/cases/compiler/main.ts(39,21): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
15+
tests/cases/compiler/main.ts(45,21): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
16+
tests/cases/compiler/main.ts(47,21): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
1717
tests/cases/compiler/main.ts(50,1): error TS2693: 'y1' only refers to a type, but is being used as a value here.
1818
tests/cases/compiler/main.ts(56,4): error TS2339: Property 'a' does not exist on type '() => any'.
1919
tests/cases/compiler/main.ts(58,4): error TS2339: Property 'a' does not exist on type 'typeof Foo'.
2020
tests/cases/compiler/main.ts(62,10): error TS2305: Module '"interface"' has no exported member 'a'.
21-
tests/cases/compiler/main.ts(62,25): error TS2497: Module '"interface"' resolves to a non-module entity and cannot be imported using this construct.
21+
tests/cases/compiler/main.ts(62,25): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
2222
tests/cases/compiler/main.ts(68,10): error TS2305: Module '"function"' has no exported member 'a'.
23-
tests/cases/compiler/main.ts(68,25): error TS2497: Module '"function"' resolves to a non-module entity and cannot be imported using this construct.
23+
tests/cases/compiler/main.ts(68,25): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
2424
tests/cases/compiler/main.ts(70,10): error TS2305: Module '"class"' has no exported member 'a'.
25-
tests/cases/compiler/main.ts(70,25): error TS2497: Module '"class"' resolves to a non-module entity and cannot be imported using this construct.
25+
tests/cases/compiler/main.ts(70,25): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
2626
tests/cases/compiler/main.ts(85,10): error TS2305: Module '"interface"' has no exported member 'a'.
27-
tests/cases/compiler/main.ts(85,25): error TS2497: Module '"interface"' resolves to a non-module entity and cannot be imported using this construct.
27+
tests/cases/compiler/main.ts(85,25): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
2828
tests/cases/compiler/main.ts(91,10): error TS2305: Module '"function"' has no exported member 'a'.
29-
tests/cases/compiler/main.ts(91,25): error TS2497: Module '"function"' resolves to a non-module entity and cannot be imported using this construct.
29+
tests/cases/compiler/main.ts(91,25): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
3030
tests/cases/compiler/main.ts(93,10): error TS2305: Module '"class"' has no exported member 'a'.
31-
tests/cases/compiler/main.ts(93,25): error TS2497: Module '"class"' resolves to a non-module entity and cannot be imported using this construct.
31+
tests/cases/compiler/main.ts(93,25): error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
3232
tests/cases/compiler/main.ts(97,15): error TS2498: Module '"interface"' uses 'export =' and cannot be used with 'export *'.
3333
tests/cases/compiler/main.ts(98,15): error TS2498: Module '"variable"' uses 'export =' and cannot be used with 'export *'.
3434
tests/cases/compiler/main.ts(99,15): error TS2498: Module '"interface-variable"' uses 'export =' and cannot be used with 'export *'.
@@ -108,19 +108,19 @@ tests/cases/compiler/main.ts(106,15): error TS2498: Module '"class-module"' uses
108108
// namespace import
109109
import * as y1 from "interface";
110110
~~~~~~~~~~~
111-
!!! error TS2497: Module '"interface"' resolves to a non-module entity and cannot be imported using this construct.
111+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
112112
import * as y2 from "variable";
113113
import * as y3 from "interface-variable";
114114
import * as y4 from "module";
115115
import * as y5 from "interface-module";
116116
import * as y6 from "variable-module";
117117
import * as y7 from "function";
118118
~~~~~~~~~~
119-
!!! error TS2497: Module '"function"' resolves to a non-module entity and cannot be imported using this construct.
119+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
120120
import * as y8 from "function-module";
121121
import * as y9 from "class";
122122
~~~~~~~
123-
!!! error TS2497: Module '"class"' resolves to a non-module entity and cannot be imported using this construct.
123+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
124124
import * as y0 from "class-module";
125125

126126
y1.a;
@@ -145,7 +145,7 @@ tests/cases/compiler/main.ts(106,15): error TS2498: Module '"class-module"' uses
145145
~
146146
!!! error TS2305: Module '"interface"' has no exported member 'a'.
147147
~~~~~~~~~~~
148-
!!! error TS2497: Module '"interface"' resolves to a non-module entity and cannot be imported using this construct.
148+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
149149
import { a as a2 } from "variable";
150150
import { a as a3 } from "interface-variable";
151151
import { a as a4 } from "module";
@@ -155,13 +155,13 @@ tests/cases/compiler/main.ts(106,15): error TS2498: Module '"class-module"' uses
155155
~
156156
!!! error TS2305: Module '"function"' has no exported member 'a'.
157157
~~~~~~~~~~
158-
!!! error TS2497: Module '"function"' resolves to a non-module entity and cannot be imported using this construct.
158+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
159159
import { a as a8 } from "function-module";
160160
import { a as a9 } from "class";
161161
~
162162
!!! error TS2305: Module '"class"' has no exported member 'a'.
163163
~~~~~~~
164-
!!! error TS2497: Module '"class"' resolves to a non-module entity and cannot be imported using this construct.
164+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
165165
import { a as a0 } from "class-module";
166166

167167
a1;
@@ -180,7 +180,7 @@ tests/cases/compiler/main.ts(106,15): error TS2498: Module '"class-module"' uses
180180
~
181181
!!! error TS2305: Module '"interface"' has no exported member 'a'.
182182
~~~~~~~~~~~
183-
!!! error TS2497: Module '"interface"' resolves to a non-module entity and cannot be imported using this construct.
183+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
184184
export { a as a2 } from "variable";
185185
export { a as a3 } from "interface-variable";
186186
export { a as a4 } from "module";
@@ -190,13 +190,13 @@ tests/cases/compiler/main.ts(106,15): error TS2498: Module '"class-module"' uses
190190
~
191191
!!! error TS2305: Module '"function"' has no exported member 'a'.
192192
~~~~~~~~~~
193-
!!! error TS2497: Module '"function"' resolves to a non-module entity and cannot be imported using this construct.
193+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
194194
export { a as a8 } from "function-module";
195195
export { a as a9 } from "class";
196196
~
197197
!!! error TS2305: Module '"class"' has no exported member 'a'.
198198
~~~~~~~
199-
!!! error TS2497: Module '"class"' resolves to a non-module entity and cannot be imported using this construct.
199+
!!! error TS2497: ECMAScript imports can only reference an 'export =' declaration with the 'esModuleInterop' flag enabled and by using default imports.
200200
export { a as a0 } from "class-module";
201201

202202
// export-star

0 commit comments

Comments
 (0)