-
Notifications
You must be signed in to change notification settings - Fork 12.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Component commits: 755e1cb Add minimal failing test d52b9d3 Fix checker initialization crash with esModuleInterop global merges resolving to ImportEquals aliases Co-authored-by: Andrew Branch <andrew@wheream.io>
- Loading branch information
1 parent
1bc124e
commit a5ebd53
Showing
5 changed files
with
231 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
//// [tests/cases/compiler/checkerInitializationCrash.ts] //// | ||
|
||
//// [index.d.ts] | ||
import * as react from 'react'; | ||
declare global { | ||
namespace FullCalendarVDom { | ||
export import VNode = react.ReactNode; | ||
} | ||
} | ||
|
||
export default class FullCalendar { | ||
} | ||
|
||
//// [index.d.ts] | ||
import * as preact from 'preact'; | ||
declare global { | ||
namespace FullCalendarVDom { | ||
type VNode = preact.VNode<any>; | ||
} | ||
} | ||
|
||
export type EventInput = any; | ||
|
||
//// [index.d.ts] | ||
export = React; | ||
export as namespace React; | ||
declare namespace React { | ||
type ReactNode = any; | ||
function useMemo<T>(factory: () => T, deps: undefined): T; | ||
} | ||
|
||
//// [index.d.ts] | ||
export as namespace preact; | ||
export interface VNode<P = {}> {} | ||
|
||
//// [index.tsx] | ||
import FullCalendar from "@fullcalendar/react"; | ||
import { EventInput } from "@fullcalendar/core"; | ||
|
||
|
||
//// [index.js] | ||
export {}; |
78 changes: 78 additions & 0 deletions
78
tests/baselines/reference/checkerInitializationCrash.symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
=== /node_modules/@fullcalendar/react/index.d.ts === | ||
import * as react from 'react'; | ||
>react : Symbol(react, Decl(index.d.ts, 0, 6)) | ||
|
||
declare global { | ||
>global : Symbol(global, Decl(index.d.ts, 0, 31)) | ||
|
||
namespace FullCalendarVDom { | ||
>FullCalendarVDom : Symbol(FullCalendarVDom, Decl(index.d.ts, 1, 16), Decl(index.d.ts, 1, 16)) | ||
|
||
export import VNode = react.ReactNode; | ||
>VNode : Symbol(FullCalendarVDom.VNode, Decl(index.d.ts, 2, 30)) | ||
>react : Symbol(react, Decl(index.d.ts, 0, 6)) | ||
>ReactNode : Symbol(react.ReactNode, Decl(index.d.ts, 2, 25), Decl(index.d.ts, 2, 30)) | ||
} | ||
} | ||
|
||
export default class FullCalendar { | ||
>FullCalendar : Symbol(FullCalendar, Decl(index.d.ts, 5, 1)) | ||
} | ||
|
||
=== /node_modules/@fullcalendar/core/index.d.ts === | ||
import * as preact from 'preact'; | ||
>preact : Symbol(preact, Decl(index.d.ts, 0, 6)) | ||
|
||
declare global { | ||
>global : Symbol(global, Decl(index.d.ts, 0, 33)) | ||
|
||
namespace FullCalendarVDom { | ||
>FullCalendarVDom : Symbol(FullCalendarVDom, Decl(index.d.ts, 1, 16), Decl(index.d.ts, 1, 16)) | ||
|
||
type VNode = preact.VNode<any>; | ||
>VNode : Symbol(React.ReactNode, Decl(index.d.ts, 2, 25), Decl(index.d.ts, 2, 30)) | ||
>preact : Symbol(preact, Decl(index.d.ts, 0, 6)) | ||
>VNode : Symbol(preact.VNode, Decl(index.d.ts, 0, 27)) | ||
} | ||
} | ||
|
||
export type EventInput = any; | ||
>EventInput : Symbol(EventInput, Decl(index.d.ts, 5, 1)) | ||
|
||
=== /node_modules/@types/react/index.d.ts === | ||
export = React; | ||
>React : Symbol(React, Decl(index.d.ts, 1, 26)) | ||
|
||
export as namespace React; | ||
>React : Symbol(React, Decl(index.d.ts, 0, 15)) | ||
|
||
declare namespace React { | ||
>React : Symbol(React, Decl(index.d.ts, 1, 26)) | ||
|
||
type ReactNode = any; | ||
>ReactNode : Symbol(ReactNode, Decl(index.d.ts, 2, 25), Decl(index.d.ts, 2, 30)) | ||
|
||
function useMemo<T>(factory: () => T, deps: undefined): T; | ||
>useMemo : Symbol(useMemo, Decl(index.d.ts, 3, 25)) | ||
>T : Symbol(T, Decl(index.d.ts, 4, 21)) | ||
>factory : Symbol(factory, Decl(index.d.ts, 4, 24)) | ||
>T : Symbol(T, Decl(index.d.ts, 4, 21)) | ||
>deps : Symbol(deps, Decl(index.d.ts, 4, 41)) | ||
>T : Symbol(T, Decl(index.d.ts, 4, 21)) | ||
} | ||
|
||
=== /node_modules/preact/index.d.ts === | ||
export as namespace preact; | ||
>preact : Symbol(preact, Decl(index.d.ts, 0, 0)) | ||
|
||
export interface VNode<P = {}> {} | ||
>VNode : Symbol(VNode, Decl(index.d.ts, 0, 27)) | ||
>P : Symbol(P, Decl(index.d.ts, 1, 23)) | ||
|
||
=== /index.tsx === | ||
import FullCalendar from "@fullcalendar/react"; | ||
>FullCalendar : Symbol(FullCalendar, Decl(index.tsx, 0, 6)) | ||
|
||
import { EventInput } from "@fullcalendar/core"; | ||
>EventInput : Symbol(EventInput, Decl(index.tsx, 1, 8)) | ||
|
70 changes: 70 additions & 0 deletions
70
tests/baselines/reference/checkerInitializationCrash.types
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
=== /node_modules/@fullcalendar/react/index.d.ts === | ||
import * as react from 'react'; | ||
>react : typeof react | ||
|
||
declare global { | ||
>global : typeof global | ||
|
||
namespace FullCalendarVDom { | ||
>FullCalendarVDom : typeof FullCalendarVDom | ||
|
||
export import VNode = react.ReactNode; | ||
>VNode : any | ||
>react : typeof react | ||
>ReactNode : any | ||
} | ||
} | ||
|
||
export default class FullCalendar { | ||
>FullCalendar : FullCalendar | ||
} | ||
|
||
=== /node_modules/@fullcalendar/core/index.d.ts === | ||
import * as preact from 'preact'; | ||
>preact : typeof preact | ||
|
||
declare global { | ||
>global : any | ||
|
||
namespace FullCalendarVDom { | ||
type VNode = preact.VNode<any>; | ||
>VNode : any | ||
>preact : any | ||
} | ||
} | ||
|
||
export type EventInput = any; | ||
>EventInput : any | ||
|
||
=== /node_modules/@types/react/index.d.ts === | ||
export = React; | ||
>React : typeof React | ||
|
||
export as namespace React; | ||
>React : typeof React | ||
|
||
declare namespace React { | ||
>React : typeof React | ||
|
||
type ReactNode = any; | ||
>ReactNode : any | ||
|
||
function useMemo<T>(factory: () => T, deps: undefined): T; | ||
>useMemo : <T>(factory: () => T, deps: undefined) => T | ||
>factory : () => T | ||
>deps : undefined | ||
} | ||
|
||
=== /node_modules/preact/index.d.ts === | ||
export as namespace preact; | ||
>preact : typeof import("/node_modules/preact/index") | ||
|
||
export interface VNode<P = {}> {} | ||
|
||
=== /index.tsx === | ||
import FullCalendar from "@fullcalendar/react"; | ||
>FullCalendar : typeof FullCalendar | ||
|
||
import { EventInput } from "@fullcalendar/core"; | ||
>EventInput : any | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
// @module: esnext | ||
// @moduleResolution: node | ||
// @esModuleInterop: true | ||
|
||
// @Filename: /node_modules/@fullcalendar/react/index.d.ts | ||
import * as react from 'react'; | ||
declare global { | ||
namespace FullCalendarVDom { | ||
export import VNode = react.ReactNode; | ||
} | ||
} | ||
|
||
export default class FullCalendar { | ||
} | ||
|
||
// @Filename: /node_modules/@fullcalendar/core/index.d.ts | ||
import * as preact from 'preact'; | ||
declare global { | ||
namespace FullCalendarVDom { | ||
type VNode = preact.VNode<any>; | ||
} | ||
} | ||
|
||
export type EventInput = any; | ||
|
||
// @Filename: /node_modules/@types/react/index.d.ts | ||
export = React; | ||
export as namespace React; | ||
declare namespace React { | ||
type ReactNode = any; | ||
function useMemo<T>(factory: () => T, deps: undefined): T; | ||
} | ||
|
||
// @Filename: /node_modules/preact/index.d.ts | ||
export as namespace preact; | ||
export interface VNode<P = {}> {} | ||
|
||
// @Filename: /index.tsx | ||
import FullCalendar from "@fullcalendar/react"; | ||
import { EventInput } from "@fullcalendar/core"; |