mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-20 05:17:43 -05:00
Consider module augmentations in files referenced by imports in watch/incremental (#45156)
* Consider module augmentations in files referenced by importsin watch/incremental * Accept baselines * Accept other baseline * Hooray optional chaining * Delete outdated and unuseful comment
This commit is contained in:
@@ -178,22 +178,16 @@ namespace ts {
|
||||
*/
|
||||
export type ComputeHash = ((data: string) => string) | undefined;
|
||||
|
||||
/**
|
||||
* Get the referencedFile from the imported module symbol
|
||||
*/
|
||||
function getReferencedFileFromImportedModuleSymbol(symbol: Symbol) {
|
||||
if (symbol.declarations && symbol.declarations[0]) {
|
||||
const declarationSourceFile = getSourceFileOfNode(symbol.declarations[0]);
|
||||
return declarationSourceFile && declarationSourceFile.resolvedPath;
|
||||
}
|
||||
function getReferencedFilesFromImportedModuleSymbol(symbol: Symbol): Path[] {
|
||||
return mapDefined(symbol.declarations, declaration => getSourceFileOfNode(declaration)?.resolvedPath);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the referencedFile from the import name node from file
|
||||
* Get the module source file and all augmenting files from the import name node from file
|
||||
*/
|
||||
function getReferencedFileFromImportLiteral(checker: TypeChecker, importName: StringLiteralLike) {
|
||||
function getReferencedFilesFromImportLiteral(checker: TypeChecker, importName: StringLiteralLike): Path[] | undefined {
|
||||
const symbol = checker.getSymbolAtLocation(importName);
|
||||
return symbol && getReferencedFileFromImportedModuleSymbol(symbol);
|
||||
return symbol && getReferencedFilesFromImportedModuleSymbol(symbol);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -215,10 +209,8 @@ namespace ts {
|
||||
if (sourceFile.imports && sourceFile.imports.length > 0) {
|
||||
const checker: TypeChecker = program.getTypeChecker();
|
||||
for (const importName of sourceFile.imports) {
|
||||
const declarationSourceFilePath = getReferencedFileFromImportLiteral(checker, importName);
|
||||
if (declarationSourceFilePath) {
|
||||
addReferencedFile(declarationSourceFilePath);
|
||||
}
|
||||
const declarationSourceFilePaths = getReferencedFilesFromImportLiteral(checker, importName);
|
||||
declarationSourceFilePaths?.forEach(addReferencedFile);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -458,7 +450,7 @@ namespace ts {
|
||||
}
|
||||
|
||||
let exportedModules: Set<Path> | undefined;
|
||||
exportedModulesFromDeclarationEmit.forEach(symbol => addExportedModule(getReferencedFileFromImportedModuleSymbol(symbol)));
|
||||
exportedModulesFromDeclarationEmit.forEach(symbol => addExportedModule(getReferencedFilesFromImportedModuleSymbol(symbol)));
|
||||
if (exportedModules) {
|
||||
exportedModulesMapCache.set(sourceFile.resolvedPath, exportedModules);
|
||||
}
|
||||
@@ -466,12 +458,12 @@ namespace ts {
|
||||
exportedModulesMapCache.deleteKey(sourceFile.resolvedPath);
|
||||
}
|
||||
|
||||
function addExportedModule(exportedModulePath: Path | undefined) {
|
||||
if (exportedModulePath) {
|
||||
function addExportedModule(exportedModulePaths: Path[] | undefined) {
|
||||
if (exportedModulePaths?.length) {
|
||||
if (!exportedModules) {
|
||||
exportedModules = new Set();
|
||||
}
|
||||
exportedModules.add(exportedModulePath);
|
||||
exportedModulePaths.forEach(path => exportedModules!.add(path));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,5 +355,22 @@ export const Fragment: unique symbol;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe("editing module augmentation", () => {
|
||||
verifyIncrementalWatchEmit({
|
||||
subScenario: "editing module augmentation",
|
||||
files: () => [
|
||||
{ path: libFile.path, content: libContent },
|
||||
{ path: `${project}/node_modules/classnames/index.d.ts`, content: `export interface Result {} export default function classNames(): Result;` },
|
||||
{ path: `${project}/src/types/classnames.d.ts`, content: `export {}; declare module "classnames" { interface Result { foo } }` },
|
||||
{ path: `${project}/src/index.ts`, content: `import classNames from "classnames"; classNames().foo;` },
|
||||
{ path: configFile.path, content: JSON.stringify({ compilerOptions: { module: "commonjs", incremental: true } }) },
|
||||
],
|
||||
modifyFs: host => {
|
||||
// delete 'foo'
|
||||
host.writeFile(`${project}/src/types/classnames.d.ts`, `export {}; declare module "classnames" { interface Result {} }`);
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ var x = 10;
|
||||
|
||||
|
||||
//// [/src/tsconfig.tsbuildinfo]
|
||||
{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},{"version":"-1994196675-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;","affectsGlobalScope":true},"675797797-export interface HKT<T> { }","-28387946490-import { HKT } from \"./hkt\";\r\n\r\nconst sym = Symbol();\r\n\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: { a: T }\r\n }\r\n}\r\nconst x = 10;\r\ntype A = HKT<number>[typeof sym];"],"options":{"rootDir":"./src"},"fileIdsList":[[3]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"}
|
||||
{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},{"version":"-1994196675-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;","affectsGlobalScope":true},"675797797-export interface HKT<T> { }","-28387946490-import { HKT } from \"./hkt\";\r\n\r\nconst sym = Symbol();\r\n\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: { a: T }\r\n }\r\n}\r\nconst x = 10;\r\ntype A = HKT<number>[typeof sym];"],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"}
|
||||
|
||||
//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt]
|
||||
{
|
||||
@@ -84,7 +84,8 @@ var x = 10;
|
||||
],
|
||||
"fileNamesList": [
|
||||
[
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
],
|
||||
"fileInfos": {
|
||||
@@ -112,12 +113,14 @@ var x = 10;
|
||||
},
|
||||
"referencedMap": {
|
||||
"./src/main.ts": [
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
},
|
||||
"exportedModulesMap": {
|
||||
"./src/main.ts": [
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
@@ -128,7 +131,7 @@ var x = 10;
|
||||
]
|
||||
},
|
||||
"version": "FakeTSVersion",
|
||||
"size": 1191
|
||||
"size": 1193
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +174,7 @@ var sym = Symbol();
|
||||
|
||||
|
||||
//// [/src/tsconfig.tsbuildinfo]
|
||||
{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},{"version":"-1994196675-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;","affectsGlobalScope":true},"675797797-export interface HKT<T> { }",{"version":"-27494779858-import { HKT } from \"./hkt\";\r\n\r\nconst sym = Symbol();\r\n\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: { a: T }\r\n }\r\n}\r\n\r\ntype A = HKT<number>[typeof sym];","signature":"-7779857705-declare const sym: unique symbol;\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: {\r\n a: T;\r\n };\r\n }\r\n}\r\nexport {};\r\n"}],"options":{"rootDir":"./src"},"fileIdsList":[[3]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"}
|
||||
{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},{"version":"-1994196675-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;","affectsGlobalScope":true},"675797797-export interface HKT<T> { }",{"version":"-27494779858-import { HKT } from \"./hkt\";\r\n\r\nconst sym = Symbol();\r\n\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: { a: T }\r\n }\r\n}\r\n\r\ntype A = HKT<number>[typeof sym];","signature":"-7779857705-declare const sym: unique symbol;\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: {\r\n a: T;\r\n };\r\n }\r\n}\r\nexport {};\r\n"}],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"}
|
||||
|
||||
//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt]
|
||||
{
|
||||
@@ -184,7 +187,8 @@ var sym = Symbol();
|
||||
],
|
||||
"fileNamesList": [
|
||||
[
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
],
|
||||
"fileInfos": {
|
||||
@@ -212,12 +216,14 @@ var sym = Symbol();
|
||||
},
|
||||
"referencedMap": {
|
||||
"./src/main.ts": [
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
},
|
||||
"exportedModulesMap": {
|
||||
"./src/main.ts": [
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
@@ -228,7 +234,7 @@ var sym = Symbol();
|
||||
]
|
||||
},
|
||||
"version": "FakeTSVersion",
|
||||
"size": 1393
|
||||
"size": 1395
|
||||
}
|
||||
|
||||
|
||||
@@ -272,7 +278,7 @@ var x = 10;
|
||||
|
||||
|
||||
//// [/src/tsconfig.tsbuildinfo]
|
||||
{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},{"version":"-1994196675-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;","affectsGlobalScope":true},"675797797-export interface HKT<T> { }",{"version":"-20682988154-import { HKT } from \"./hkt\";\r\n\r\nconst sym = Symbol();\r\n\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: { a: T }\r\n }\r\n}\r\n\r\ntype A = HKT<number>[typeof sym];const x = 10;","signature":"-7779857705-declare const sym: unique symbol;\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: {\r\n a: T;\r\n };\r\n }\r\n}\r\nexport {};\r\n"}],"options":{"rootDir":"./src"},"fileIdsList":[[3]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"}
|
||||
{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},{"version":"-1994196675-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;","affectsGlobalScope":true},"675797797-export interface HKT<T> { }",{"version":"-20682988154-import { HKT } from \"./hkt\";\r\n\r\nconst sym = Symbol();\r\n\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: { a: T }\r\n }\r\n}\r\n\r\ntype A = HKT<number>[typeof sym];const x = 10;","signature":"-7779857705-declare const sym: unique symbol;\r\ndeclare module \"./hkt\" {\r\n interface HKT<T> {\r\n [sym]: {\r\n a: T;\r\n };\r\n }\r\n}\r\nexport {};\r\n"}],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"}
|
||||
|
||||
//// [/src/tsconfig.tsbuildinfo.readable.baseline.txt]
|
||||
{
|
||||
@@ -285,7 +291,8 @@ var x = 10;
|
||||
],
|
||||
"fileNamesList": [
|
||||
[
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
],
|
||||
"fileInfos": {
|
||||
@@ -313,12 +320,14 @@ var x = 10;
|
||||
},
|
||||
"referencedMap": {
|
||||
"./src/main.ts": [
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
},
|
||||
"exportedModulesMap": {
|
||||
"./src/main.ts": [
|
||||
"./src/hkt.ts"
|
||||
"./src/hkt.ts",
|
||||
"./src/main.ts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
@@ -329,6 +338,6 @@ var x = 10;
|
||||
]
|
||||
},
|
||||
"version": "FakeTSVersion",
|
||||
"size": 1406
|
||||
"size": 1408
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,266 @@
|
||||
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/classnames/index.d.ts]
|
||||
export interface Result {} export default function classNames(): Result;
|
||||
|
||||
//// [/users/username/projects/project/src/types/classnames.d.ts]
|
||||
export {}; declare module "classnames" { interface Result { foo } }
|
||||
|
||||
//// [/users/username/projects/project/src/index.ts]
|
||||
import classNames from "classnames"; classNames().foo;
|
||||
|
||||
//// [/users/username/projects/project/tsconfig.json]
|
||||
{"compilerOptions":{"module":"commonjs","incremental":true}}
|
||||
|
||||
|
||||
/a/lib/tsc.js -i
|
||||
Output::
|
||||
|
||||
|
||||
Program root files: ["/users/username/projects/project/src/index.ts","/users/username/projects/project/src/types/classnames.d.ts"]
|
||||
Program options: {"module":1,"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/classnames/index.d.ts
|
||||
/users/username/projects/project/src/index.ts
|
||||
/users/username/projects/project/src/types/classnames.d.ts
|
||||
|
||||
Semantic diagnostics in builder refreshed for::
|
||||
/a/lib/lib.d.ts
|
||||
/users/username/projects/project/node_modules/classnames/index.d.ts
|
||||
/users/username/projects/project/src/index.ts
|
||||
/users/username/projects/project/src/types/classnames.d.ts
|
||||
|
||||
Shape signatures in builder refreshed for::
|
||||
/a/lib/lib.d.ts (used version)
|
||||
/users/username/projects/project/node_modules/classnames/index.d.ts (used version)
|
||||
/users/username/projects/project/src/index.ts (used version)
|
||||
/users/username/projects/project/src/types/classnames.d.ts (used version)
|
||||
|
||||
WatchedFiles::
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
exitCode:: ExitStatus.Success
|
||||
|
||||
//// [/users/username/projects/project/src/index.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var classnames_1 = require("classnames");
|
||||
(0, classnames_1["default"])().foo;
|
||||
|
||||
|
||||
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
|
||||
{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},"1239706283-export interface Result {} export default function classNames(): Result;","-5756287633-import classNames from \"classnames\"; classNames().foo;","-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }"],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"exportedModulesMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"}
|
||||
|
||||
//// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt]
|
||||
{
|
||||
"program": {
|
||||
"fileNames": [
|
||||
"../../../../a/lib/lib.d.ts",
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/index.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"fileNamesList": [
|
||||
[
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
[
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
],
|
||||
"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/classnames/index.d.ts": {
|
||||
"version": "1239706283-export interface Result {} export default function classNames(): Result;",
|
||||
"signature": "1239706283-export interface Result {} export default function classNames(): Result;"
|
||||
},
|
||||
"./src/index.ts": {
|
||||
"version": "-5756287633-import classNames from \"classnames\"; classNames().foo;",
|
||||
"signature": "-5756287633-import classNames from \"classnames\"; classNames().foo;"
|
||||
},
|
||||
"./src/types/classnames.d.ts": {
|
||||
"version": "-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }",
|
||||
"signature": "-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"module": 1
|
||||
},
|
||||
"referencedMap": {
|
||||
"./src/index.ts": [
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"./src/types/classnames.d.ts": [
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
},
|
||||
"exportedModulesMap": {
|
||||
"./src/index.ts": [
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"./src/types/classnames.d.ts": [
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
"../../../../a/lib/lib.d.ts",
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/index.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
]
|
||||
},
|
||||
"version": "FakeTSVersion",
|
||||
"size": 1056
|
||||
}
|
||||
|
||||
|
||||
Change::
|
||||
|
||||
Input::
|
||||
//// [/users/username/projects/project/src/types/classnames.d.ts]
|
||||
export {}; declare module "classnames" { interface Result {} }
|
||||
|
||||
|
||||
Output::
|
||||
[96msrc/index.ts[0m:[93m1[0m:[93m51[0m - [91merror[0m[90m TS2339: [0mProperty 'foo' does not exist on type 'Result'.
|
||||
|
||||
[7m1[0m import classNames from "classnames"; classNames().foo;
|
||||
[7m [0m [91m ~~~[0m
|
||||
|
||||
|
||||
Found 1 error.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/users/username/projects/project/src/index.ts","/users/username/projects/project/src/types/classnames.d.ts"]
|
||||
Program options: {"module":1,"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/classnames/index.d.ts
|
||||
/users/username/projects/project/src/index.ts
|
||||
/users/username/projects/project/src/types/classnames.d.ts
|
||||
|
||||
Semantic diagnostics in builder refreshed for::
|
||||
/users/username/projects/project/src/index.ts
|
||||
/users/username/projects/project/src/types/classnames.d.ts
|
||||
|
||||
Shape signatures in builder refreshed for::
|
||||
/users/username/projects/project/src/types/classnames.d.ts (used version)
|
||||
/users/username/projects/project/src/index.ts (computed .d.ts)
|
||||
|
||||
WatchedFiles::
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
|
||||
|
||||
//// [/users/username/projects/project/src/index.js] file written with same contents
|
||||
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
|
||||
{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},"1239706283-export interface Result {} export default function classNames(): Result;",{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n"},"-14890340642-export {}; declare module \"classnames\" { interface Result {} }"],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"exportedModulesMap":[[4,2]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./src/index.ts","start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]],4]},"version":"FakeTSVersion"}
|
||||
|
||||
//// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt]
|
||||
{
|
||||
"program": {
|
||||
"fileNames": [
|
||||
"../../../../a/lib/lib.d.ts",
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/index.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"fileNamesList": [
|
||||
[
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
[
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
],
|
||||
"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/classnames/index.d.ts": {
|
||||
"version": "1239706283-export interface Result {} export default function classNames(): Result;",
|
||||
"signature": "1239706283-export interface Result {} export default function classNames(): Result;"
|
||||
},
|
||||
"./src/index.ts": {
|
||||
"version": "-5756287633-import classNames from \"classnames\"; classNames().foo;",
|
||||
"signature": "-3531856636-export {};\n"
|
||||
},
|
||||
"./src/types/classnames.d.ts": {
|
||||
"version": "-14890340642-export {}; declare module \"classnames\" { interface Result {} }",
|
||||
"signature": "-14890340642-export {}; declare module \"classnames\" { interface Result {} }"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"module": 1
|
||||
},
|
||||
"referencedMap": {
|
||||
"./src/index.ts": [
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"./src/types/classnames.d.ts": [
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
},
|
||||
"exportedModulesMap": {
|
||||
"./src/types/classnames.d.ts": [
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
"../../../../a/lib/lib.d.ts",
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
[
|
||||
"./src/index.ts",
|
||||
[
|
||||
{
|
||||
"file": "./src/index.ts",
|
||||
"start": 50,
|
||||
"length": 3,
|
||||
"code": 2339,
|
||||
"category": 1,
|
||||
"messageText": "Property 'foo' does not exist on type 'Result'."
|
||||
}
|
||||
]
|
||||
],
|
||||
"./src/types/classnames.d.ts"
|
||||
]
|
||||
},
|
||||
"version": "FakeTSVersion",
|
||||
"size": 1237
|
||||
}
|
||||
|
||||
@@ -0,0 +1,314 @@
|
||||
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/classnames/index.d.ts]
|
||||
export interface Result {} export default function classNames(): Result;
|
||||
|
||||
//// [/users/username/projects/project/src/types/classnames.d.ts]
|
||||
export {}; declare module "classnames" { interface Result { foo } }
|
||||
|
||||
//// [/users/username/projects/project/src/index.ts]
|
||||
import classNames from "classnames"; classNames().foo;
|
||||
|
||||
//// [/users/username/projects/project/tsconfig.json]
|
||||
{"compilerOptions":{"module":"commonjs","incremental":true}}
|
||||
|
||||
|
||||
/a/lib/tsc.js -w
|
||||
Output::
|
||||
>> Screen clear
|
||||
[[90m12:00:33 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
[[90m12:00:38 AM[0m] Found 0 errors. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/users/username/projects/project/src/index.ts","/users/username/projects/project/src/types/classnames.d.ts"]
|
||||
Program options: {"module":1,"incremental":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/classnames/index.d.ts
|
||||
/users/username/projects/project/src/index.ts
|
||||
/users/username/projects/project/src/types/classnames.d.ts
|
||||
|
||||
Semantic diagnostics in builder refreshed for::
|
||||
/a/lib/lib.d.ts
|
||||
/users/username/projects/project/node_modules/classnames/index.d.ts
|
||||
/users/username/projects/project/src/index.ts
|
||||
/users/username/projects/project/src/types/classnames.d.ts
|
||||
|
||||
Shape signatures in builder refreshed for::
|
||||
/a/lib/lib.d.ts (used version)
|
||||
/users/username/projects/project/node_modules/classnames/index.d.ts (used version)
|
||||
/users/username/projects/project/src/index.ts (used version)
|
||||
/users/username/projects/project/src/types/classnames.d.ts (used version)
|
||||
|
||||
WatchedFiles::
|
||||
/users/username/projects/project/tsconfig.json:
|
||||
{"fileName":"/users/username/projects/project/tsconfig.json","pollingInterval":250}
|
||||
/users/username/projects/project/src/index.ts:
|
||||
{"fileName":"/users/username/projects/project/src/index.ts","pollingInterval":250}
|
||||
/users/username/projects/project/node_modules/classnames/index.d.ts:
|
||||
{"fileName":"/users/username/projects/project/node_modules/classnames/index.d.ts","pollingInterval":250}
|
||||
/users/username/projects/project/src/types/classnames.d.ts:
|
||||
{"fileName":"/users/username/projects/project/src/types/classnames.d.ts","pollingInterval":250}
|
||||
/a/lib/lib.d.ts:
|
||||
{"fileName":"/a/lib/lib.d.ts","pollingInterval":250}
|
||||
/users/username/projects/project/node_modules/classnames/package.json:
|
||||
{"fileName":"/users/username/projects/project/node_modules/classnames/package.json","pollingInterval":250}
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
/users/username/projects/project/src:
|
||||
{"directoryName":"/users/username/projects/project/src","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
|
||||
/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/src/index.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var classnames_1 = require("classnames");
|
||||
(0, classnames_1["default"])().foo;
|
||||
|
||||
|
||||
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
|
||||
{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},"1239706283-export interface Result {} export default function classNames(): Result;","-5756287633-import classNames from \"classnames\"; classNames().foo;","-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }"],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"exportedModulesMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"}
|
||||
|
||||
//// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt]
|
||||
{
|
||||
"program": {
|
||||
"fileNames": [
|
||||
"../../../../a/lib/lib.d.ts",
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/index.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"fileNamesList": [
|
||||
[
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
[
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
],
|
||||
"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/classnames/index.d.ts": {
|
||||
"version": "1239706283-export interface Result {} export default function classNames(): Result;",
|
||||
"signature": "1239706283-export interface Result {} export default function classNames(): Result;"
|
||||
},
|
||||
"./src/index.ts": {
|
||||
"version": "-5756287633-import classNames from \"classnames\"; classNames().foo;",
|
||||
"signature": "-5756287633-import classNames from \"classnames\"; classNames().foo;"
|
||||
},
|
||||
"./src/types/classnames.d.ts": {
|
||||
"version": "-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }",
|
||||
"signature": "-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"module": 1
|
||||
},
|
||||
"referencedMap": {
|
||||
"./src/index.ts": [
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"./src/types/classnames.d.ts": [
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
},
|
||||
"exportedModulesMap": {
|
||||
"./src/index.ts": [
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"./src/types/classnames.d.ts": [
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
"../../../../a/lib/lib.d.ts",
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/index.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
]
|
||||
},
|
||||
"version": "FakeTSVersion",
|
||||
"size": 1056
|
||||
}
|
||||
|
||||
|
||||
Change::
|
||||
|
||||
Input::
|
||||
//// [/users/username/projects/project/src/types/classnames.d.ts]
|
||||
export {}; declare module "classnames" { interface Result {} }
|
||||
|
||||
|
||||
Output::
|
||||
>> Screen clear
|
||||
[[90m12:00:44 AM[0m] Starting compilation in watch mode...
|
||||
|
||||
[96msrc/index.ts[0m:[93m1[0m:[93m51[0m - [91merror[0m[90m TS2339: [0mProperty 'foo' does not exist on type 'Result'.
|
||||
|
||||
[7m1[0m import classNames from "classnames"; classNames().foo;
|
||||
[7m [0m [91m ~~~[0m
|
||||
|
||||
[[90m12:00:51 AM[0m] Found 1 error. Watching for file changes.
|
||||
|
||||
|
||||
|
||||
Program root files: ["/users/username/projects/project/src/index.ts","/users/username/projects/project/src/types/classnames.d.ts"]
|
||||
Program options: {"module":1,"incremental":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/classnames/index.d.ts
|
||||
/users/username/projects/project/src/index.ts
|
||||
/users/username/projects/project/src/types/classnames.d.ts
|
||||
|
||||
Semantic diagnostics in builder refreshed for::
|
||||
/users/username/projects/project/src/index.ts
|
||||
/users/username/projects/project/src/types/classnames.d.ts
|
||||
|
||||
Shape signatures in builder refreshed for::
|
||||
/users/username/projects/project/src/types/classnames.d.ts (used version)
|
||||
/users/username/projects/project/src/index.ts (computed .d.ts)
|
||||
|
||||
WatchedFiles::
|
||||
/users/username/projects/project/node_modules/classnames/package.json:
|
||||
{"fileName":"/users/username/projects/project/node_modules/classnames/package.json","pollingInterval":250}
|
||||
{"fileName":"/users/username/projects/project/node_modules/classnames/package.json","pollingInterval":250}
|
||||
/users/username/projects/project/tsconfig.json:
|
||||
{"fileName":"/users/username/projects/project/tsconfig.json","pollingInterval":250}
|
||||
/users/username/projects/project/src/index.ts:
|
||||
{"fileName":"/users/username/projects/project/src/index.ts","pollingInterval":250}
|
||||
/users/username/projects/project/node_modules/classnames/index.d.ts:
|
||||
{"fileName":"/users/username/projects/project/node_modules/classnames/index.d.ts","pollingInterval":250}
|
||||
/users/username/projects/project/src/types/classnames.d.ts:
|
||||
{"fileName":"/users/username/projects/project/src/types/classnames.d.ts","pollingInterval":250}
|
||||
/a/lib/lib.d.ts:
|
||||
{"fileName":"/a/lib/lib.d.ts","pollingInterval":250}
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
/users/username/projects/project/src:
|
||||
{"directoryName":"/users/username/projects/project/src","fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}}
|
||||
/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/src/index.js] file written with same contents
|
||||
//// [/users/username/projects/project/tsconfig.tsbuildinfo]
|
||||
{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"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; };","affectsGlobalScope":true},"1239706283-export interface Result {} export default function classNames(): Result;",{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n"},"-14890340642-export {}; declare module \"classnames\" { interface Result {} }"],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"exportedModulesMap":[[4,2]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./src/index.ts","start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]],4]},"version":"FakeTSVersion"}
|
||||
|
||||
//// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt]
|
||||
{
|
||||
"program": {
|
||||
"fileNames": [
|
||||
"../../../../a/lib/lib.d.ts",
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/index.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"fileNamesList": [
|
||||
[
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
[
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
],
|
||||
"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/classnames/index.d.ts": {
|
||||
"version": "1239706283-export interface Result {} export default function classNames(): Result;",
|
||||
"signature": "1239706283-export interface Result {} export default function classNames(): Result;"
|
||||
},
|
||||
"./src/index.ts": {
|
||||
"version": "-5756287633-import classNames from \"classnames\"; classNames().foo;",
|
||||
"signature": "-3531856636-export {};\n"
|
||||
},
|
||||
"./src/types/classnames.d.ts": {
|
||||
"version": "-14890340642-export {}; declare module \"classnames\" { interface Result {} }",
|
||||
"signature": "-14890340642-export {}; declare module \"classnames\" { interface Result {} }"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"module": 1
|
||||
},
|
||||
"referencedMap": {
|
||||
"./src/index.ts": [
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
"./src/types/classnames.d.ts"
|
||||
],
|
||||
"./src/types/classnames.d.ts": [
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
},
|
||||
"exportedModulesMap": {
|
||||
"./src/types/classnames.d.ts": [
|
||||
"./node_modules/classnames/index.d.ts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
"../../../../a/lib/lib.d.ts",
|
||||
"./node_modules/classnames/index.d.ts",
|
||||
[
|
||||
"./src/index.ts",
|
||||
[
|
||||
{
|
||||
"file": "./src/index.ts",
|
||||
"start": 50,
|
||||
"length": 3,
|
||||
"code": 2339,
|
||||
"category": 1,
|
||||
"messageText": "Property 'foo' does not exist on type 'Result'."
|
||||
}
|
||||
]
|
||||
],
|
||||
"./src/types/classnames.d.ts"
|
||||
]
|
||||
},
|
||||
"version": "FakeTSVersion",
|
||||
"size": 1237
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user