Fix incremental emit issue where dependency relations implied by synthesized imports would not be detected (#41346)

* Fix incremental emit issue where dependency relations implies by synthesized imports would not be detected

* Update src/compiler/program.ts

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
This commit is contained in:
Wesley Wigham
2020-11-01 16:05:49 -08:00
committed by GitHub
co-authored by Daniel Rosenwasser
parent 6bef0cb0c4
commit 816af71d58
10 changed files with 1258 additions and 8 deletions
+4
View File
@@ -2207,6 +2207,10 @@ namespace ts {
addEmitFlags(importDecl, EmitFlags.NeverApplyImportHelper);
setParent(externalHelpersModuleReference, importDecl);
setParent(importDecl, file);
// explicitly unset the synthesized flag on these declarations so the checker API will answer questions about them
// (which is required to build the dependency graph for incremental emit)
(externalHelpersModuleReference as Mutable<Node>).flags &= ~NodeFlags.Synthesized;
(importDecl as Mutable<Node>).flags &= ~NodeFlags.Synthesized;
return externalHelpersModuleReference;
}
@@ -304,5 +304,51 @@ export const Fragment: unique symbol;
],
modifyFs: host => host.writeFile(configFile.path, JSON.stringify({ compilerOptions: { ...jsxImportSourceOptions, jsxImportSource: "preact" } }))
});
verifyIncrementalWatchEmit({
subScenario: "jsxImportSource backing types added",
files: () => [
{ path: libFile.path, content: libContent },
{ path: `${project}/index.tsx`, content: `export const App = () => <div propA={true}></div>;` },
{ path: configFile.path, content: JSON.stringify({ compilerOptions: jsxImportSourceOptions }) }
],
modifyFs: host => {
host.createDirectory(`${project}/node_modules`);
host.createDirectory(`${project}/node_modules/react`);
host.createDirectory(`${project}/node_modules/react/jsx-runtime`);
host.writeFile(`${project}/node_modules/react/jsx-runtime/index.d.ts`, jsxLibraryContent);
host.writeFile(`${project}/node_modules/react/package.json`, JSON.stringify({ name: "react", version: "0.0.1" }));
}
});
verifyIncrementalWatchEmit({
subScenario: "jsxImportSource backing types removed",
files: () => [
{ path: libFile.path, content: libContent },
{ path: `${project}/node_modules/react/jsx-runtime/index.d.ts`, content: jsxLibraryContent },
{ path: `${project}/node_modules/react/package.json`, content: JSON.stringify({ name: "react", version: "0.0.1" }) },
{ path: `${project}/index.tsx`, content: `export const App = () => <div propA={true}></div>;` },
{ path: configFile.path, content: JSON.stringify({ compilerOptions: jsxImportSourceOptions }) }
],
modifyFs: host => {
host.deleteFile(`${project}/node_modules/react/jsx-runtime/index.d.ts`);
host.deleteFile(`${project}/node_modules/react/package.json`);
}
});
verifyIncrementalWatchEmit({
subScenario: "importHelpers backing types removed",
files: () => [
{ path: libFile.path, content: libContent },
{ path: `${project}/node_modules/tslib/index.d.ts`, content: "export function __assign(...args: any[]): any;" },
{ path: `${project}/node_modules/tslib/package.json`, content: JSON.stringify({ name: "tslib", version: "0.0.1" }) },
{ path: `${project}/index.tsx`, content: `export const x = {...{}};` },
{ path: configFile.path, content: JSON.stringify({ compilerOptions: { importHelpers: true } }) }
],
modifyFs: host => {
host.deleteFile(`${project}/node_modules/tslib/index.d.ts`);
host.deleteFile(`${project}/node_modules/tslib/package.json`);
}
});
});
}
@@ -0,0 +1,181 @@
Input::
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/users/username/projects/project/node_modules/tslib/index.d.ts]
export function __assign(...args: any[]): any;
//// [/users/username/projects/project/node_modules/tslib/package.json]
{"name":"tslib","version":"0.0.1"}
//// [/users/username/projects/project/index.tsx]
export const x = {...{}};
//// [/users/username/projects/project/tsconfig.json]
{"compilerOptions":{"importHelpers":true}}
/a/lib/tsc.js -i
Output::
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"importHelpers":true,"incremental":true,"configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/tslib/index.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/tslib/index.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.Success
//// [/users/username/projects/project/index.js]
"use strict";
exports.__esModule = true;
exports.x = void 0;
var tslib_1 = require("tslib");
exports.x = tslib_1.__assign({});
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./node_modules/tslib/index.d.ts": {
"version": "1620578607-export function __assign(...args: any[]): any;",
"signature": "1620578607-export function __assign(...args: any[]): any;",
"affectsGlobalScope": false
},
"./index.tsx": {
"version": "-14168389096-export const x = {...{}};",
"signature": "-6508651827-export declare const x: {};\n",
"affectsGlobalScope": false
}
},
"options": {
"importHelpers": true,
"incremental": true,
"configFilePath": "./tsconfig.json"
},
"referencedMap": {
"./index.tsx": [
"./node_modules/tslib/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
"./index.tsx",
"./node_modules/tslib/index.d.ts"
]
},
"version": "FakeTSVersion"
}
Change::
Input::
//// [/users/username/projects/project/node_modules/tslib/index.d.ts] deleted
//// [/users/username/projects/project/node_modules/tslib/package.json] deleted
Output::
index.tsx:1:19 - error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found.
1 export const x = {...{}};
   ~~~~~
Found 1 error.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"importHelpers":true,"incremental":true,"configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/users/username/projects/project/index.tsx
WatchedFiles::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
//// [/users/username/projects/project/index.js] file written with same contents
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./index.tsx": {
"version": "-14168389096-export const x = {...{}};",
"signature": "-6508651827-export declare const x: {};\n",
"affectsGlobalScope": false
}
},
"options": {
"importHelpers": true,
"incremental": true,
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
[
"./index.tsx",
[
{
"file": "./index.tsx",
"start": 18,
"length": 5,
"messageText": "This syntax requires an imported helper but module 'tslib' cannot be found.",
"category": 1,
"code": 2354
}
]
]
]
},
"version": "FakeTSVersion"
}
@@ -0,0 +1,133 @@
Input::
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/users/username/projects/project/node_modules/tslib/index.d.ts]
export function __assign(...args: any[]): any;
//// [/users/username/projects/project/node_modules/tslib/package.json]
{"name":"tslib","version":"0.0.1"}
//// [/users/username/projects/project/index.tsx]
export const x = {...{}};
//// [/users/username/projects/project/tsconfig.json]
{"compilerOptions":{"importHelpers":true}}
/a/lib/tsc.js -w
Output::
>> Screen clear
[12:00:29 AM] Starting compilation in watch mode...
[12:00:32 AM] Found 0 errors. Watching for file changes.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"importHelpers":true,"watch":true,"configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/tslib/index.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/tslib/index.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
/users/username/projects/project/tsconfig.json:
{"fileName":"/users/username/projects/project/tsconfig.json","pollingInterval":250}
/users/username/projects/project/index.tsx:
{"fileName":"/users/username/projects/project/index.tsx","pollingInterval":250}
/users/username/projects/project/node_modules/tslib/index.d.ts:
{"fileName":"/users/username/projects/project/node_modules/tslib/index.d.ts","pollingInterval":250}
/a/lib/lib.d.ts:
{"fileName":"/a/lib/lib.d.ts","pollingInterval":250}
FsWatches::
FsWatchesRecursive::
/users/username/projects/project/node_modules:
{"directoryName":"/users/username/projects/project/node_modules","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project/node_modules/@types:
{"directoryName":"/users/username/projects/project/node_modules/@types","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project:
{"directoryName":"/users/username/projects/project","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
exitCode:: ExitStatus.undefined
//// [/users/username/projects/project/index.js]
"use strict";
exports.__esModule = true;
exports.x = void 0;
var tslib_1 = require("tslib");
exports.x = tslib_1.__assign({});
Change::
Input::
//// [/users/username/projects/project/node_modules/tslib/index.d.ts] deleted
//// [/users/username/projects/project/node_modules/tslib/package.json] deleted
Output::
>> Screen clear
[12:00:35 AM] Starting compilation in watch mode...
index.tsx:1:19 - error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found.
1 export const x = {...{}};
   ~~~~~
[12:00:39 AM] Found 1 error. Watching for file changes.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"importHelpers":true,"watch":true,"configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
/users/username/projects/project/tsconfig.json:
{"fileName":"/users/username/projects/project/tsconfig.json","pollingInterval":250}
/users/username/projects/project/index.tsx:
{"fileName":"/users/username/projects/project/index.tsx","pollingInterval":250}
/a/lib/lib.d.ts:
{"fileName":"/a/lib/lib.d.ts","pollingInterval":250}
FsWatches::
FsWatchesRecursive::
/users/username/projects/project/node_modules:
{"directoryName":"/users/username/projects/project/node_modules","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project/node_modules/@types:
{"directoryName":"/users/username/projects/project/node_modules/@types","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project:
{"directoryName":"/users/username/projects/project","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
exitCode:: ExitStatus.undefined
//// [/users/username/projects/project/index.js] file written with same contents
@@ -0,0 +1,199 @@
Input::
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/users/username/projects/project/index.tsx]
export const App = () => <div propA={true}></div>;
//// [/users/username/projects/project/tsconfig.json]
{"compilerOptions":{"module":"commonjs","jsx":"react-jsx","incremental":true,"jsxImportSource":"react"}}
/a/lib/tsc.js -i
Output::
index.tsx:1:26 - error TS2307: Cannot find module 'react/jsx-runtime' or its corresponding type declarations.
1 export const App = () => <div propA={true}></div>;
   ~~~~~~~~~~~~~~~~~~~~~~~~
Found 1 error.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"module":1,"jsx":4,"incremental":true,"jsxImportSource":"react","configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
//// [/users/username/projects/project/index.js]
"use strict";
exports.__esModule = true;
exports.App = void 0;
var jsx_runtime_1 = require("react/jsx-runtime");
var App = function () { return jsx_runtime_1.jsx("div", { propA: true }, void 0); };
exports.App = App;
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-11175433774-export declare const App: () => any;\n",
"affectsGlobalScope": false
}
},
"options": {
"module": 1,
"jsx": 4,
"incremental": true,
"jsxImportSource": "react",
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
[
"./index.tsx",
[
{
"file": "./index.tsx",
"start": 25,
"length": 24,
"messageText": "Cannot find module 'react/jsx-runtime' or its corresponding type declarations.",
"category": 1,
"code": 2307
}
]
]
]
},
"version": "FakeTSVersion"
}
Change::
Input::
//// [/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts]
export namespace JSX {
interface Element {}
interface IntrinsicElements {
div: {
propA?: boolean;
};
}
}
export function jsx(...args: any[]): void;
export function jsxs(...args: any[]): void;
export const Fragment: unique symbol;
//// [/users/username/projects/project/node_modules/react/package.json]
{"name":"react","version":"0.0.1"}
Output::
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"module":1,"jsx":4,"incremental":true,"jsxImportSource":"react","configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.Success
//// [/users/username/projects/project/index.js] file written with same contents
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./node_modules/react/jsx-runtime/index.d.ts": {
"version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",
"signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",
"affectsGlobalScope": false
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n",
"affectsGlobalScope": false
}
},
"options": {
"module": 1,
"jsx": 4,
"incremental": true,
"jsxImportSource": "react",
"configFilePath": "./tsconfig.json"
},
"referencedMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"exportedModulesMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
"./index.tsx",
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"version": "FakeTSVersion"
}
@@ -0,0 +1,234 @@
Input::
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/users/username/projects/project/index.tsx]
export const App = () => <div propA={true}></div>;
//// [/users/username/projects/project/tsconfig.json]
{"compilerOptions":{"module":"commonjs","jsx":"react-jsx","incremental":true,"jsxImportSource":"react"}}
/a/lib/tsc.js -w
Output::
>> Screen clear
[12:00:21 AM] Starting compilation in watch mode...
index.tsx:1:26 - error TS2307: Cannot find module 'react/jsx-runtime' or its corresponding type declarations.
1 export const App = () => <div propA={true}></div>;
   ~~~~~~~~~~~~~~~~~~~~~~~~
[12:00:26 AM] Found 1 error. Watching for file changes.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"module":1,"jsx":4,"incremental":true,"jsxImportSource":"react","watch":true,"configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
/users/username/projects/project/tsconfig.json:
{"fileName":"/users/username/projects/project/tsconfig.json","pollingInterval":250}
/users/username/projects/project/index.tsx:
{"fileName":"/users/username/projects/project/index.tsx","pollingInterval":250}
/a/lib/lib.d.ts:
{"fileName":"/a/lib/lib.d.ts","pollingInterval":250}
FsWatches::
FsWatchesRecursive::
/users/username/projects/project/node_modules:
{"directoryName":"/users/username/projects/project/node_modules","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project/node_modules/@types:
{"directoryName":"/users/username/projects/project/node_modules/@types","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project:
{"directoryName":"/users/username/projects/project","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
exitCode:: ExitStatus.undefined
//// [/users/username/projects/project/index.js]
"use strict";
exports.__esModule = true;
exports.App = void 0;
var jsx_runtime_1 = require("react/jsx-runtime");
var App = function () { return jsx_runtime_1.jsx("div", { propA: true }, void 0); };
exports.App = App;
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-11175433774-export declare const App: () => any;\n",
"affectsGlobalScope": false
}
},
"options": {
"module": 1,
"jsx": 4,
"incremental": true,
"jsxImportSource": "react",
"watch": true,
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
[
"./index.tsx",
[
{
"file": "./index.tsx",
"start": 25,
"length": 24,
"messageText": "Cannot find module 'react/jsx-runtime' or its corresponding type declarations.",
"category": 1,
"code": 2307
}
]
]
]
},
"version": "FakeTSVersion"
}
Change::
Input::
//// [/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts]
export namespace JSX {
interface Element {}
interface IntrinsicElements {
div: {
propA?: boolean;
};
}
}
export function jsx(...args: any[]): void;
export function jsxs(...args: any[]): void;
export const Fragment: unique symbol;
//// [/users/username/projects/project/node_modules/react/package.json]
{"name":"react","version":"0.0.1"}
Output::
>> Screen clear
[12:00:37 AM] Starting compilation in watch mode...
[12:00:44 AM] Found 0 errors. Watching for file changes.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"module":1,"jsx":4,"incremental":true,"jsxImportSource":"react","watch":true,"configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
/users/username/projects/project/tsconfig.json:
{"fileName":"/users/username/projects/project/tsconfig.json","pollingInterval":250}
/users/username/projects/project/index.tsx:
{"fileName":"/users/username/projects/project/index.tsx","pollingInterval":250}
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts:
{"fileName":"/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts","pollingInterval":250}
/a/lib/lib.d.ts:
{"fileName":"/a/lib/lib.d.ts","pollingInterval":250}
FsWatches::
FsWatchesRecursive::
/users/username/projects/project/node_modules:
{"directoryName":"/users/username/projects/project/node_modules","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project/node_modules/@types:
{"directoryName":"/users/username/projects/project/node_modules/@types","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project:
{"directoryName":"/users/username/projects/project","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
exitCode:: ExitStatus.undefined
//// [/users/username/projects/project/index.js] file written with same contents
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./node_modules/react/jsx-runtime/index.d.ts": {
"version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",
"signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",
"affectsGlobalScope": false
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n",
"affectsGlobalScope": false
}
},
"options": {
"module": 1,
"jsx": 4,
"incremental": true,
"jsxImportSource": "react",
"watch": true,
"configFilePath": "./tsconfig.json"
},
"referencedMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"exportedModulesMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
"./index.tsx",
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"version": "FakeTSVersion"
}
@@ -0,0 +1,201 @@
Input::
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts]
export namespace JSX {
interface Element {}
interface IntrinsicElements {
div: {
propA?: boolean;
};
}
}
export function jsx(...args: any[]): void;
export function jsxs(...args: any[]): void;
export const Fragment: unique symbol;
//// [/users/username/projects/project/node_modules/react/package.json]
{"name":"react","version":"0.0.1"}
//// [/users/username/projects/project/index.tsx]
export const App = () => <div propA={true}></div>;
//// [/users/username/projects/project/tsconfig.json]
{"compilerOptions":{"module":"commonjs","jsx":"react-jsx","incremental":true,"jsxImportSource":"react"}}
/a/lib/tsc.js -i
Output::
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"module":1,"jsx":4,"incremental":true,"jsxImportSource":"react","configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.Success
//// [/users/username/projects/project/index.js]
"use strict";
exports.__esModule = true;
exports.App = void 0;
var jsx_runtime_1 = require("react/jsx-runtime");
var App = function () { return jsx_runtime_1.jsx("div", { propA: true }, void 0); };
exports.App = App;
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./node_modules/react/jsx-runtime/index.d.ts": {
"version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",
"signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",
"affectsGlobalScope": false
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n",
"affectsGlobalScope": false
}
},
"options": {
"module": 1,
"jsx": 4,
"incremental": true,
"jsxImportSource": "react",
"configFilePath": "./tsconfig.json"
},
"referencedMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"exportedModulesMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
"./index.tsx",
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"version": "FakeTSVersion"
}
Change::
Input::
//// [/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts] deleted
//// [/users/username/projects/project/node_modules/react/package.json] deleted
Output::
index.tsx:1:26 - error TS2307: Cannot find module 'react/jsx-runtime' or its corresponding type declarations.
1 export const App = () => <div propA={true}></div>;
   ~~~~~~~~~~~~~~~~~~~~~~~~
Found 1 error.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"module":1,"jsx":4,"incremental":true,"jsxImportSource":"react","configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/users/username/projects/project/index.tsx
WatchedFiles::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
//// [/users/username/projects/project/index.js] file written with same contents
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-11175433774-export declare const App: () => any;\n",
"affectsGlobalScope": false
}
},
"options": {
"module": 1,
"jsx": 4,
"incremental": true,
"jsxImportSource": "react",
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
[
"./index.tsx",
[
{
"file": "./index.tsx",
"start": 25,
"length": 24,
"messageText": "Cannot find module 'react/jsx-runtime' or its corresponding type declarations.",
"category": 1,
"code": 2307
}
]
]
]
},
"version": "FakeTSVersion"
}
@@ -0,0 +1,236 @@
Input::
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts]
export namespace JSX {
interface Element {}
interface IntrinsicElements {
div: {
propA?: boolean;
};
}
}
export function jsx(...args: any[]): void;
export function jsxs(...args: any[]): void;
export const Fragment: unique symbol;
//// [/users/username/projects/project/node_modules/react/package.json]
{"name":"react","version":"0.0.1"}
//// [/users/username/projects/project/index.tsx]
export const App = () => <div propA={true}></div>;
//// [/users/username/projects/project/tsconfig.json]
{"compilerOptions":{"module":"commonjs","jsx":"react-jsx","incremental":true,"jsxImportSource":"react"}}
/a/lib/tsc.js -w
Output::
>> Screen clear
[12:00:31 AM] Starting compilation in watch mode...
[12:00:36 AM] Found 0 errors. Watching for file changes.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"module":1,"jsx":4,"incremental":true,"jsxImportSource":"react","watch":true,"configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts
/users/username/projects/project/index.tsx
WatchedFiles::
/users/username/projects/project/tsconfig.json:
{"fileName":"/users/username/projects/project/tsconfig.json","pollingInterval":250}
/users/username/projects/project/index.tsx:
{"fileName":"/users/username/projects/project/index.tsx","pollingInterval":250}
/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts:
{"fileName":"/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts","pollingInterval":250}
/a/lib/lib.d.ts:
{"fileName":"/a/lib/lib.d.ts","pollingInterval":250}
FsWatches::
FsWatchesRecursive::
/users/username/projects/project/node_modules:
{"directoryName":"/users/username/projects/project/node_modules","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project/node_modules/@types:
{"directoryName":"/users/username/projects/project/node_modules/@types","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project:
{"directoryName":"/users/username/projects/project","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
exitCode:: ExitStatus.undefined
//// [/users/username/projects/project/index.js]
"use strict";
exports.__esModule = true;
exports.App = void 0;
var jsx_runtime_1 = require("react/jsx-runtime");
var App = function () { return jsx_runtime_1.jsx("div", { propA: true }, void 0); };
exports.App = App;
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./node_modules/react/jsx-runtime/index.d.ts": {
"version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",
"signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",
"affectsGlobalScope": false
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n",
"affectsGlobalScope": false
}
},
"options": {
"module": 1,
"jsx": 4,
"incremental": true,
"jsxImportSource": "react",
"watch": true,
"configFilePath": "./tsconfig.json"
},
"referencedMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"exportedModulesMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
"./index.tsx",
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"version": "FakeTSVersion"
}
Change::
Input::
//// [/users/username/projects/project/node_modules/react/jsx-runtime/index.d.ts] deleted
//// [/users/username/projects/project/node_modules/react/package.json] deleted
Output::
>> Screen clear
[12:00:39 AM] Starting compilation in watch mode...
index.tsx:1:26 - error TS2307: Cannot find module 'react/jsx-runtime' or its corresponding type declarations.
1 export const App = () => <div propA={true}></div>;
   ~~~~~~~~~~~~~~~~~~~~~~~~
[12:00:46 AM] Found 1 error. Watching for file changes.
Program root files: ["/users/username/projects/project/index.tsx"]
Program options: {"module":1,"jsx":4,"incremental":true,"jsxImportSource":"react","watch":true,"configFilePath":"/users/username/projects/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/users/username/projects/project/index.tsx
Semantic diagnostics in builder refreshed for::
/users/username/projects/project/index.tsx
WatchedFiles::
/users/username/projects/project/tsconfig.json:
{"fileName":"/users/username/projects/project/tsconfig.json","pollingInterval":250}
/users/username/projects/project/index.tsx:
{"fileName":"/users/username/projects/project/index.tsx","pollingInterval":250}
/a/lib/lib.d.ts:
{"fileName":"/a/lib/lib.d.ts","pollingInterval":250}
FsWatches::
FsWatchesRecursive::
/users/username/projects/project/node_modules:
{"directoryName":"/users/username/projects/project/node_modules","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project/node_modules/@types:
{"directoryName":"/users/username/projects/project/node_modules/@types","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
/users/username/projects/project:
{"directoryName":"/users/username/projects/project","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
exitCode:: ExitStatus.undefined
//// [/users/username/projects/project/index.js] file written with same contents
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
{
"program": {
"fileInfos": {
"../../../../a/lib/lib.d.ts": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-11175433774-export declare const App: () => any;\n",
"affectsGlobalScope": false
}
},
"options": {
"module": 1,
"jsx": 4,
"incremental": true,
"jsxImportSource": "react",
"watch": true,
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../../../a/lib/lib.d.ts",
[
"./index.tsx",
[
{
"file": "./index.tsx",
"start": 25,
"length": 24,
"messageText": "Cannot find module 'react/jsx-runtime' or its corresponding type declarations.",
"category": 1,
"code": 2307
}
]
]
]
},
"version": "FakeTSVersion"
}
@@ -116,7 +116,11 @@ exports.App = App;
"jsxImportSource": "react",
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"referencedMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"exportedModulesMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
@@ -197,7 +201,7 @@ exports.App = App;
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n",
"signature": "-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n",
"affectsGlobalScope": false
}
},
@@ -208,10 +212,14 @@ exports.App = App;
"jsxImportSource": "preact",
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"referencedMap": {
"./index.tsx": [
"./node_modules/preact/jsx-runtime/index.d.ts"
]
},
"exportedModulesMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
"./node_modules/preact/jsx-runtime/index.d.ts"
]
},
"semanticDiagnosticsPerFile": [
@@ -136,7 +136,11 @@ exports.App = App;
"watch": true,
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"referencedMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
]
},
"exportedModulesMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
@@ -233,7 +237,7 @@ exports.App = App;
},
"./index.tsx": {
"version": "-14760199789-export const App = () => <div propA={true}></div>;",
"signature": "-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n",
"signature": "-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n",
"affectsGlobalScope": false
}
},
@@ -245,10 +249,14 @@ exports.App = App;
"watch": true,
"configFilePath": "./tsconfig.json"
},
"referencedMap": {},
"referencedMap": {
"./index.tsx": [
"./node_modules/preact/jsx-runtime/index.d.ts"
]
},
"exportedModulesMap": {
"./index.tsx": [
"./node_modules/react/jsx-runtime/index.d.ts"
"./node_modules/preact/jsx-runtime/index.d.ts"
]
},
"semanticDiagnosticsPerFile": [