mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 16:38:05 -06:00
Suppress verbatimModuleSyntax error on ambient export default (#52414)
This commit is contained in:
parent
43ecac801b
commit
022516e24d
@ -43901,6 +43901,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
}
|
||||
|
||||
const isIllegalExportDefaultInCJS = !node.isExportEquals &&
|
||||
!(node.flags & NodeFlags.Ambient) &&
|
||||
compilerOptions.verbatimModuleSyntax &&
|
||||
(moduleKind === ModuleKind.CommonJS || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS);
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
/decl.d.ts(2,1): error TS1286: ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.
|
||||
/main.ts(1,8): error TS1286: ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.
|
||||
/main.ts(2,13): error TS1286: ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.
|
||||
/main.ts(3,10): error TS1286: ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.
|
||||
@ -12,13 +11,17 @@
|
||||
/main7.ts(2,1): error TS1286: ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.
|
||||
|
||||
|
||||
==== /decl.d.ts (1 errors) ====
|
||||
==== /decl.d.ts (0 errors) ====
|
||||
declare function esmy(): void;
|
||||
export default esmy;
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS1286: ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.
|
||||
export declare function funciton(): void;
|
||||
|
||||
==== /ambient.d.ts (0 errors) ====
|
||||
declare module "ambient" {
|
||||
const _default: number;
|
||||
export default _default;
|
||||
}
|
||||
|
||||
==== /main.ts (6 errors) ====
|
||||
import esmy from "./decl"; // error
|
||||
~~~~
|
||||
|
||||
@ -5,6 +5,12 @@ declare function esmy(): void;
|
||||
export default esmy;
|
||||
export declare function funciton(): void;
|
||||
|
||||
//// [ambient.d.ts]
|
||||
declare module "ambient" {
|
||||
const _default: number;
|
||||
export default _default;
|
||||
}
|
||||
|
||||
//// [main.ts]
|
||||
import esmy from "./decl"; // error
|
||||
import * as esmy2 from "./decl"; // error
|
||||
|
||||
@ -8,6 +8,17 @@ export default esmy;
|
||||
export declare function funciton(): void;
|
||||
>funciton : Symbol(funciton, Decl(decl.d.ts, 1, 20))
|
||||
|
||||
=== /ambient.d.ts ===
|
||||
declare module "ambient" {
|
||||
>"ambient" : Symbol("ambient", Decl(ambient.d.ts, 0, 0))
|
||||
|
||||
const _default: number;
|
||||
>_default : Symbol(_default, Decl(ambient.d.ts, 1, 9))
|
||||
|
||||
export default _default;
|
||||
>_default : Symbol(_default, Decl(ambient.d.ts, 1, 9))
|
||||
}
|
||||
|
||||
=== /main.ts ===
|
||||
import esmy from "./decl"; // error
|
||||
>esmy : Symbol(esmy, Decl(main.ts, 0, 6))
|
||||
|
||||
@ -8,6 +8,17 @@ export default esmy;
|
||||
export declare function funciton(): void;
|
||||
>funciton : () => void
|
||||
|
||||
=== /ambient.d.ts ===
|
||||
declare module "ambient" {
|
||||
>"ambient" : typeof import("ambient")
|
||||
|
||||
const _default: number;
|
||||
>_default : number
|
||||
|
||||
export default _default;
|
||||
>_default : number
|
||||
}
|
||||
|
||||
=== /main.ts ===
|
||||
import esmy from "./decl"; // error
|
||||
>esmy : () => void
|
||||
|
||||
@ -17,6 +17,12 @@
|
||||
declare class CJSy {}
|
||||
export = CJSy;
|
||||
|
||||
==== /ambient.d.ts (0 errors) ====
|
||||
declare module "ambient" {
|
||||
const _export: number;
|
||||
export = _export;
|
||||
}
|
||||
|
||||
==== /types.ts (0 errors) ====
|
||||
interface Typey {}
|
||||
export type { Typey };
|
||||
|
||||
@ -4,6 +4,12 @@
|
||||
declare class CJSy {}
|
||||
export = CJSy;
|
||||
|
||||
//// [ambient.d.ts]
|
||||
declare module "ambient" {
|
||||
const _export: number;
|
||||
export = _export;
|
||||
}
|
||||
|
||||
//// [types.ts]
|
||||
interface Typey {}
|
||||
export type { Typey };
|
||||
|
||||
@ -13,6 +13,12 @@
|
||||
declare class CJSy {}
|
||||
export = CJSy;
|
||||
|
||||
==== /ambient.d.ts (0 errors) ====
|
||||
declare module "ambient" {
|
||||
const _export: number;
|
||||
export = _export;
|
||||
}
|
||||
|
||||
==== /types.ts (0 errors) ====
|
||||
interface Typey {}
|
||||
export type { Typey };
|
||||
|
||||
@ -4,6 +4,12 @@
|
||||
declare class CJSy {}
|
||||
export = CJSy;
|
||||
|
||||
//// [ambient.d.ts]
|
||||
declare module "ambient" {
|
||||
const _export: number;
|
||||
export = _export;
|
||||
}
|
||||
|
||||
//// [types.ts]
|
||||
interface Typey {}
|
||||
export type { Typey };
|
||||
|
||||
@ -9,6 +9,12 @@ declare function esmy(): void;
|
||||
export default esmy;
|
||||
export declare function funciton(): void;
|
||||
|
||||
// @Filename: /ambient.d.ts
|
||||
declare module "ambient" {
|
||||
const _default: number;
|
||||
export default _default;
|
||||
}
|
||||
|
||||
// @Filename: /main.ts
|
||||
import esmy from "./decl"; // error
|
||||
import * as esmy2 from "./decl"; // error
|
||||
|
||||
@ -8,6 +8,12 @@
|
||||
declare class CJSy {}
|
||||
export = CJSy;
|
||||
|
||||
// @Filename: /ambient.d.ts
|
||||
declare module "ambient" {
|
||||
const _export: number;
|
||||
export = _export;
|
||||
}
|
||||
|
||||
// @Filename: /types.ts
|
||||
interface Typey {}
|
||||
export type { Typey };
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user