mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
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:
co-authored by
Daniel Rosenwasser
parent
6bef0cb0c4
commit
816af71d58
@@ -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`);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
+181
@@ -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::
|
||||
[96mindex.tsx[0m:[93m1[0m:[93m19[0m - [91merror[0m[90m TS2354: [0mThis syntax requires an imported helper but module 'tslib' cannot be found.
|
||||
|
||||
[7m1[0m export const x = {...{}};
|
||||
[7m [0m [91m ~~~~~[0m
|
||||
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
+133
@@ -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
|
||||
[[90m12:00:29 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
[[90m12:00:32 AM[0m] 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
|
||||
[[90m12:00:35 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
[96mindex.tsx[0m:[93m1[0m:[93m19[0m - [91merror[0m[90m TS2354: [0mThis syntax requires an imported helper but module 'tslib' cannot be found.
|
||||
|
||||
[7m1[0m export const x = {...{}};
|
||||
[7m [0m [91m ~~~~~[0m
|
||||
|
||||
[[90m12:00:39 AM[0m] 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
|
||||
+199
@@ -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::
|
||||
[96mindex.tsx[0m:[93m1[0m:[93m26[0m - [91merror[0m[90m TS2307: [0mCannot find module 'react/jsx-runtime' or its corresponding type declarations.
|
||||
|
||||
[7m1[0m export const App = () => <div propA={true}></div>;
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~~~~~~~~~~[0m
|
||||
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
+234
@@ -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
|
||||
[[90m12:00:21 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
[96mindex.tsx[0m:[93m1[0m:[93m26[0m - [91merror[0m[90m TS2307: [0mCannot find module 'react/jsx-runtime' or its corresponding type declarations.
|
||||
|
||||
[7m1[0m export const App = () => <div propA={true}></div>;
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~~~~~~~~~~[0m
|
||||
|
||||
[[90m12:00:26 AM[0m] 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
|
||||
[[90m12:00:37 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
[[90m12:00:44 AM[0m] 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"
|
||||
}
|
||||
|
||||
+201
@@ -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::
|
||||
[96mindex.tsx[0m:[93m1[0m:[93m26[0m - [91merror[0m[90m TS2307: [0mCannot find module 'react/jsx-runtime' or its corresponding type declarations.
|
||||
|
||||
[7m1[0m export const App = () => <div propA={true}></div>;
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~~~~~~~~~~[0m
|
||||
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
+236
@@ -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
|
||||
[[90m12:00:31 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
[[90m12:00:36 AM[0m] 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
|
||||
[[90m12:00:39 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
[96mindex.tsx[0m:[93m1[0m:[93m26[0m - [91merror[0m[90m TS2307: [0mCannot find module 'react/jsx-runtime' or its corresponding type declarations.
|
||||
|
||||
[7m1[0m export const App = () => <div propA={true}></div>;
|
||||
[7m [0m [91m ~~~~~~~~~~~~~~~~~~~~~~~~[0m
|
||||
|
||||
[[90m12:00:46 AM[0m] 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"
|
||||
}
|
||||
|
||||
+12
-4
@@ -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": [
|
||||
|
||||
+12
-4
@@ -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": [
|
||||
|
||||
Reference in New Issue
Block a user