diff --git a/src/compiler/resolutionCache.ts b/src/compiler/resolutionCache.ts index 347d3458563d9..ac3a116aa9a35 100644 --- a/src/compiler/resolutionCache.ts +++ b/src/compiler/resolutionCache.ts @@ -750,7 +750,8 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD else impliedFormatPackageJsons.delete(newFile.resolvedPath); }); impliedFormatPackageJsons.forEach((existing, path) => { - if (!newProgram?.getSourceFileByPath(path)) { + const newFile = newProgram?.getSourceFileByPath(path); + if (!newFile || newFile.resolvedPath !== path) { existing.forEach(location => fileWatchesOfAffectingLocations.get(location)!.files--); impliedFormatPackageJsons.delete(path); } diff --git a/src/testRunner/unittests/helpers/contents.ts b/src/testRunner/unittests/helpers/contents.ts index 95ad33c060c47..dc5ca993c22ea 100644 --- a/src/testRunner/unittests/helpers/contents.ts +++ b/src/testRunner/unittests/helpers/contents.ts @@ -29,3 +29,7 @@ export interface FsContents { export function libPath(forLib: string) { return `${ts.getDirectoryPath(libFile.path)}/lib.${forLib}.d.ts`; } + +export function getProjectConfigWithNodeNext(withNodeNext: boolean | undefined) { + return withNodeNext ? { module: "nodenext", target: "es5" } : undefined; +} diff --git a/src/testRunner/unittests/helpers/sampleProjectReferences.ts b/src/testRunner/unittests/helpers/sampleProjectReferences.ts index 55cb4db4dc212..a9ff459f43486 100644 --- a/src/testRunner/unittests/helpers/sampleProjectReferences.ts +++ b/src/testRunner/unittests/helpers/sampleProjectReferences.ts @@ -6,6 +6,7 @@ import { } from "../helpers"; import { FsContents, + getProjectConfigWithNodeNext, } from "./contents"; import { loadProjectFromFiles, @@ -16,13 +17,10 @@ import { libFile, } from "./virtualFileSystemWithWatch"; -export function getSampleProjectConfigWithNodeNext(withNodeNext: boolean | undefined) { - return withNodeNext ? { module: "nodenext", target: "es5" } : undefined; -} export function getFsContentsForSampleProjectReferencesLogicConfig(withNodeNext?: boolean) { return jsonToReadableText({ compilerOptions: { - ...getSampleProjectConfigWithNodeNext(withNodeNext), + ...getProjectConfigWithNodeNext(withNodeNext), composite: true, declaration: true, sourceMap: true, @@ -39,7 +37,7 @@ export function getFsContentsForSampleProjectReferences(withNodeNext?: boolean): [libFile.path]: libFile.content, "/user/username/projects/sample1/core/tsconfig.json": jsonToReadableText({ compilerOptions: { - ...getSampleProjectConfigWithNodeNext(withNodeNext), + ...getProjectConfigWithNodeNext(withNodeNext), composite: true, declaration: true, declarationMap: true, @@ -69,7 +67,7 @@ export function getFsContentsForSampleProjectReferences(withNodeNext?: boolean): ], files: ["index.ts"], compilerOptions: { - ...getSampleProjectConfigWithNodeNext(withNodeNext), + ...getProjectConfigWithNodeNext(withNodeNext), composite: true, declaration: true, forceConsistentCasingInFileNames: true, diff --git a/src/testRunner/unittests/helpers/transitiveReferences.ts b/src/testRunner/unittests/helpers/transitiveReferences.ts index 291fc11b56216..8a34b6a909942 100644 --- a/src/testRunner/unittests/helpers/transitiveReferences.ts +++ b/src/testRunner/unittests/helpers/transitiveReferences.ts @@ -6,6 +6,7 @@ import { } from "../helpers"; import { FsContents, + getProjectConfigWithNodeNext, libContent, } from "./contents"; import { @@ -19,9 +20,10 @@ export function getFsContentsForTransitiveReferencesRefsAdts() { `; } -export function getFsContentsForTransitiveReferencesBConfig() { +export function getFsContentsForTransitiveReferencesBConfig(withNodeNext: boolean) { return jsonToReadableText({ compilerOptions: { + ...getProjectConfigWithNodeNext(withNodeNext), composite: true, baseUrl: "./", paths: { @@ -33,14 +35,17 @@ export function getFsContentsForTransitiveReferencesBConfig() { }); } -export function getFsContentsForTransitiveReferencesAConfig() { +export function getFsContentsForTransitiveReferencesAConfig(withNodeNext: boolean) { return jsonToReadableText({ - compilerOptions: { composite: true }, + compilerOptions: { + ...getProjectConfigWithNodeNext(withNodeNext), + composite: true, + }, files: ["a.ts"], }); } -export function getFsContentsForTransitiveReferences(): FsContents { +export function getFsContentsForTransitiveReferences(withNodeNext?: boolean): FsContents { return { "/user/username/projects/transitiveReferences/refs/a.d.ts": getFsContentsForTransitiveReferencesRefsAdts(), "/user/username/projects/transitiveReferences/a.ts": dedent` @@ -56,11 +61,12 @@ export function getFsContentsForTransitiveReferences(): FsContents { b; X; `, - "/user/username/projects/transitiveReferences/tsconfig.a.json": getFsContentsForTransitiveReferencesAConfig(), - "/user/username/projects/transitiveReferences/tsconfig.b.json": getFsContentsForTransitiveReferencesBConfig(), + "/user/username/projects/transitiveReferences/tsconfig.a.json": getFsContentsForTransitiveReferencesAConfig(!!withNodeNext), + "/user/username/projects/transitiveReferences/tsconfig.b.json": getFsContentsForTransitiveReferencesBConfig(!!withNodeNext), "/user/username/projects/transitiveReferences/tsconfig.c.json": jsonToReadableText({ files: ["c.ts"], compilerOptions: { + ...getProjectConfigWithNodeNext(withNodeNext), baseUrl: "./", paths: { "@ref/*": ["./refs/*"], diff --git a/src/testRunner/unittests/tscWatch/projectsWithReferences.ts b/src/testRunner/unittests/tscWatch/projectsWithReferences.ts index da20c7d2d8a0f..f860327328dc0 100644 --- a/src/testRunner/unittests/tscWatch/projectsWithReferences.ts +++ b/src/testRunner/unittests/tscWatch/projectsWithReferences.ts @@ -5,7 +5,9 @@ import { jsonToReadableText, } from "../helpers"; import { - getSampleProjectConfigWithNodeNext, + getProjectConfigWithNodeNext, +} from "../helpers/contents"; +import { getSysForSampleProjectReferences, } from "../helpers/sampleProjectReferences"; import { @@ -28,7 +30,7 @@ import { } from "../helpers/virtualFileSystemWithWatch"; describe("unittests:: tsc-watch:: projects with references: invoking when references are already built", () => { - function verify(withNodeNext: boolean) { + function verifySampleProject(withNodeNext: boolean) { verifyTscWatch({ scenario: "projectsWithReferences", subScenario: `on sample project${withNodeNext ? " with nodenext" : ""}`, @@ -66,7 +68,7 @@ describe("unittests:: tsc-watch:: projects with references: invoking when refere "/user/username/projects/sample1/logic/tsconfig.json", jsonToReadableText({ compilerOptions: { - ...getSampleProjectConfigWithNodeNext(withNodeNext), + ...getProjectConfigWithNodeNext(withNodeNext), composite: true, declaration: true, declarationDir: "decls", @@ -83,8 +85,8 @@ describe("unittests:: tsc-watch:: projects with references: invoking when refere baselineDependencies: true, }); } - verify(/*withNodeNext*/ false); - verify(/*withNodeNext*/ true); + verifySampleProject(/*withNodeNext*/ false); + verifySampleProject(/*withNodeNext*/ true); function changeCompilerOpitonsPaths(sys: TestServerHost, config: string, newPaths: object) { const configJson = JSON.parse(sys.readFile(config)!); @@ -92,77 +94,81 @@ describe("unittests:: tsc-watch:: projects with references: invoking when refere sys.writeFile(config, jsonToReadableText(configJson)); } - verifyTscWatch({ - scenario: "projectsWithReferences", - subScenario: "on transitive references", - sys: () => - solutionBuildWithBaseline( - createWatchedSystem( - getFsContentsForTransitiveReferences(), - { currentDirectory: `/user/username/projects/transitiveReferences` }, + function verifyTransitiveReferences(withNodeNext: boolean) { + verifyTscWatch({ + scenario: "projectsWithReferences", + subScenario: `on transitive references${withNodeNext ? " with nodenext" : ""}`, + sys: () => + solutionBuildWithBaseline( + createWatchedSystem( + getFsContentsForTransitiveReferences(withNodeNext), + { currentDirectory: `/user/username/projects/transitiveReferences` }, + ), + ["tsconfig.c.json"], ), - ["tsconfig.c.json"], - ), - commandLineArgs: ["-w", "-p", "tsconfig.c.json", "--traceResolution", "--explainFiles"], - edits: [ - { - caption: "non local edit b ts, and build b", - edit: sys => { - sys.appendFile("b.ts", `export function gfoo() { }`); - const solutionBuilder = createSolutionBuilder(sys, ["tsconfig.b.json"]); - solutionBuilder.build(); + commandLineArgs: ["-w", "-p", "tsconfig.c.json", "--traceResolution", "--explainFiles"], + edits: [ + { + caption: "non local edit b ts, and build b", + edit: sys => { + sys.appendFile("b.ts", `export function gfoo() { }`); + const solutionBuilder = createSolutionBuilder(sys, ["tsconfig.b.json"]); + solutionBuilder.build(); + }, + timeouts: sys => sys.runQueuedTimeoutCallbacks(), }, - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "edit on config file", - edit: sys => { - sys.ensureFileOrFolder({ - path: "/user/username/projects/transitiveReferences/nrefs/a.d.ts", - content: sys.readFile("/user/username/projects/transitiveReferences/refs/a.d.ts")!, - }); - changeCompilerOpitonsPaths(sys, "tsconfig.c.json", { "@ref/*": ["./nrefs/*"] }); + { + caption: "edit on config file", + edit: sys => { + sys.ensureFileOrFolder({ + path: "/user/username/projects/transitiveReferences/nrefs/a.d.ts", + content: sys.readFile("/user/username/projects/transitiveReferences/refs/a.d.ts")!, + }); + changeCompilerOpitonsPaths(sys, "tsconfig.c.json", { "@ref/*": ["./nrefs/*"] }); + }, + timeouts: sys => sys.runQueuedTimeoutCallbacks(), }, - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "Revert config file edit", - edit: sys => changeCompilerOpitonsPaths(sys, "tsconfig.c.json", { "@ref/*": ["./refs/*"] }), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "edit in referenced config file", - edit: sys => changeCompilerOpitonsPaths(sys, "tsconfig.b.json", { "@ref/*": ["./nrefs/*"] }), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "Revert referenced config file edit", - edit: sys => changeCompilerOpitonsPaths(sys, "tsconfig.b.json", { "@ref/*": ["./refs/*"] }), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "deleting referenced config file", - edit: sys => sys.deleteFile("tsconfig.b.json"), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "Revert deleting referenced config file", - edit: sys => sys.writeFile("tsconfig.b.json", getFsContentsForTransitiveReferencesBConfig()), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "deleting transitively referenced config file", - edit: sys => sys.deleteFile("tsconfig.a.json"), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "Revert deleting transitively referenced config file", - edit: sys => sys.writeFile("tsconfig.a.json", getFsContentsForTransitiveReferencesAConfig()), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - ], - baselineDependencies: true, - }); + { + caption: "Revert config file edit", + edit: sys => changeCompilerOpitonsPaths(sys, "tsconfig.c.json", { "@ref/*": ["./refs/*"] }), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "edit in referenced config file", + edit: sys => changeCompilerOpitonsPaths(sys, "tsconfig.b.json", { "@ref/*": ["./nrefs/*"] }), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "Revert referenced config file edit", + edit: sys => changeCompilerOpitonsPaths(sys, "tsconfig.b.json", { "@ref/*": ["./refs/*"] }), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "deleting referenced config file", + edit: sys => sys.deleteFile("tsconfig.b.json"), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "Revert deleting referenced config file", + edit: sys => sys.writeFile("tsconfig.b.json", getFsContentsForTransitiveReferencesBConfig(withNodeNext)), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "deleting transitively referenced config file", + edit: sys => sys.deleteFile("tsconfig.a.json"), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "Revert deleting transitively referenced config file", + edit: sys => sys.writeFile("tsconfig.a.json", getFsContentsForTransitiveReferencesAConfig(withNodeNext)), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + ], + baselineDependencies: true, + }); + } + verifyTransitiveReferences(/*withNodeNext*/ false); + verifyTransitiveReferences(/*withNodeNext*/ true); verifyTscWatch({ scenario: "projectsWithReferences", diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-with-nodenext.js b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-with-nodenext.js new file mode 100644 index 0000000000000..05928b3cb5461 --- /dev/null +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-with-nodenext.js @@ -0,0 +1,2138 @@ +currentDirectory:: /user/username/projects/transitiveReferences useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/transitiveReferences/refs/a.d.ts] +export class X {} +export class A {} + + +//// [/user/username/projects/transitiveReferences/a.ts] +export class A {} + + +//// [/user/username/projects/transitiveReferences/b.ts] +import {A} from '@ref/a'; +export const b = new A(); + + +//// [/user/username/projects/transitiveReferences/c.ts] +import {b} from './b'; +import {X} from "@ref/a"; +b; +X; + + +//// [/user/username/projects/transitiveReferences/tsconfig.a.json] +{ + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "composite": true + }, + "files": [ + "a.ts" + ] +} + +//// [/user/username/projects/transitiveReferences/tsconfig.b.json] +{ + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "composite": true, + "baseUrl": "./", + "paths": { + "@ref/*": [ + "./*" + ] + } + }, + "files": [ + "b.ts" + ], + "references": [ + { + "path": "tsconfig.a.json" + } + ] +} + +//// [/user/username/projects/transitiveReferences/tsconfig.c.json] +{ + "files": [ + "c.ts" + ], + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "baseUrl": "./", + "paths": { + "@ref/*": [ + "./refs/*" + ] + } + }, + "references": [ + { + "path": "tsconfig.b.json" + } + ] +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/transitiveReferences/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var A = /** @class */ (function () { + function A() { + } + return A; +}()); +exports.A = A; + + +//// [/user/username/projects/transitiveReferences/a.d.ts] +export declare class A { +} + + +//// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo] +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"module":199,"target":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../a/lib/lib.d.ts", + "./a.ts" + ], + "fileInfos": { + "../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-7808316224-export class A {}\n", + "signature": "-8728835846-export declare class A {\n}\n", + "impliedFormat": 1 + }, + "version": "-7808316224-export class A {}\n", + "signature": "-8728835846-export declare class A {\n}\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./a.ts" + ] + ], + "options": { + "composite": true, + "module": 199, + "target": 1 + }, + "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + "../../../../a/lib/lib.d.ts", + "./a.ts" + ], + "latestChangedDtsFile": "./a.d.ts" + }, + "version": "FakeTSVersion", + "size": 874 +} + +//// [/user/username/projects/transitiveReferences/b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.b = void 0; +var a_1 = require("@ref/a"); +exports.b = new a_1.A(); + + +//// [/user/username/projects/transitiveReferences/b.d.ts] +import { A } from '@ref/a'; +export declare const b: A; + + +//// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"module":199,"target":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../a/lib/lib.d.ts", + "./a.d.ts", + "./b.ts" + ], + "fileNamesList": [ + [ + "./a.d.ts" + ] + ], + "fileInfos": { + "../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./a.d.ts": { + "original": { + "version": "-8728835846-export declare class A {\n}\n", + "impliedFormat": 1 + }, + "version": "-8728835846-export declare class A {\n}\n", + "signature": "-8728835846-export declare class A {\n}\n", + "impliedFormat": "commonjs" + }, + "./b.ts": { + "original": { + "version": "-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n", + "signature": "-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n", + "impliedFormat": 1 + }, + "version": "-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n", + "signature": "-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 3, + "./b.ts" + ] + ], + "options": { + "composite": true, + "module": 199, + "target": 1 + }, + "referencedMap": { + "./b.ts": [ + "./a.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../../../../a/lib/lib.d.ts", + "./a.d.ts", + "./b.ts" + ], + "latestChangedDtsFile": "./b.d.ts" + }, + "version": "FakeTSVersion", + "size": 1049 +} + +//// [/user/username/projects/transitiveReferences/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b_1 = require("./b"); +var a_1 = require("@ref/a"); +b_1.b; +a_1.X; + + + +/a/lib/tsc.js -w -p tsconfig.c.json --traceResolution --explainFiles +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +File '/user/username/projects/transitiveReferences/package.json' does not exist. +File '/user/username/projects/package.json' does not exist. +File '/user/username/package.json' does not exist. +File '/user/package.json' does not exist. +File '/package.json' does not exist. +======== Resolving module './b' from '/user/username/projects/transitiveReferences/c.ts'. ======== +Module resolution kind is not specified, using 'NodeNext'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, JavaScript, Declaration. +File '/user/username/projects/transitiveReferences/b.ts' exists - use it as a name resolution result. +======== Module name './b' was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. ======== +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts'. ======== +Module resolution kind is not specified, using 'NodeNext'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'. +'paths' option is specified, looking for a pattern to match module name '@ref/a'. +Module name '@ref/a', matched pattern '@ref/*'. +Trying substitution './refs/*', candidate module location: './refs/a'. +Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, JavaScript, Declaration. +File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist. +File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist. +File '/user/username/projects/transitiveReferences/refs/a.d.ts' exists - use it as a name resolution result. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ======== +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ======== +Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'. +Module resolution kind is not specified, using 'NodeNext'. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ======== +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist. +File '/a/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../../a/lib/lib.d.ts + Default library for target 'es5' +a.d.ts + Imported via '@ref/a' from file 'b.d.ts' + File is output of project reference source 'a.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +refs/a.d.ts + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/transitiveReferences/c.js] file written with same contents + +PolledWatches:: +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/transitiveReferences/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/refs/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/transitiveReferences/a.d.ts: *new* + {} +/user/username/projects/transitiveReferences/b.d.ts: *new* + {} +/user/username/projects/transitiveReferences/c.ts: *new* + {} +/user/username/projects/transitiveReferences/refs/a.d.ts: *new* + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: *new* + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: *new* + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/refs: *new* + {} + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/transitivereferences/a.d.ts (used version) +/user/username/projects/transitivereferences/b.d.ts (used version) +/user/username/projects/transitivereferences/refs/a.d.ts (used version) +/user/username/projects/transitivereferences/c.ts (used version) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/a.d.ts: + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts + +exitCode:: ExitStatus.undefined + +Change:: non local edit b ts, and build b + +Input:: +//// [/user/username/projects/transitiveReferences/b.ts] +import {A} from '@ref/a'; +export const b = new A(); +export function gfoo() { } + +//// [/user/username/projects/transitiveReferences/b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.b = void 0; +exports.gfoo = gfoo; +var a_1 = require("@ref/a"); +exports.b = new a_1.A(); +function gfoo() { } + + +//// [/user/username/projects/transitiveReferences/b.d.ts] +import { A } from '@ref/a'; +export declare const b: A; +export declare function gfoo(): void; + + +//// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3352421102-import {A} from '@ref/a';\nexport const b = new A();\nexport function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"module":199,"target":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../a/lib/lib.d.ts", + "./a.d.ts", + "./b.ts" + ], + "fileNamesList": [ + [ + "./a.d.ts" + ] + ], + "fileInfos": { + "../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./a.d.ts": { + "original": { + "version": "-8728835846-export declare class A {\n}\n", + "impliedFormat": 1 + }, + "version": "-8728835846-export declare class A {\n}\n", + "signature": "-8728835846-export declare class A {\n}\n", + "impliedFormat": "commonjs" + }, + "./b.ts": { + "original": { + "version": "-3352421102-import {A} from '@ref/a';\nexport const b = new A();\nexport function gfoo() { }", + "signature": "4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n", + "impliedFormat": 1 + }, + "version": "-3352421102-import {A} from '@ref/a';\nexport const b = new A();\nexport function gfoo() { }", + "signature": "4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 3, + "./b.ts" + ] + ], + "options": { + "composite": true, + "module": 199, + "target": 1 + }, + "referencedMap": { + "./b.ts": [ + "./a.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../../../../a/lib/lib.d.ts", + "./a.d.ts", + "./b.ts" + ], + "latestChangedDtsFile": "./b.d.ts" + }, + "version": "FakeTSVersion", + "size": 1113 +} + + +Timeout callback:: count: 1 +1: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +1: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. +../../../../a/lib/lib.d.ts + Default library for target 'es5' +a.d.ts + Imported via '@ref/a' from file 'b.d.ts' + File is output of project reference source 'a.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +refs/a.d.ts + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/transitiveReferences/c.js] file written with same contents + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/b.d.ts (used version) +/user/username/projects/transitivereferences/c.ts (computed .d.ts) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/a.d.ts: + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts + +exitCode:: ExitStatus.undefined + +Change:: edit on config file + +Input:: +//// [/user/username/projects/transitiveReferences/tsconfig.c.json] +{ + "files": [ + "c.ts" + ], + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "baseUrl": "./", + "paths": { + "@ref/*": [ + "./nrefs/*" + ] + } + }, + "references": [ + { + "path": "tsconfig.b.json" + } + ] +} + +//// [/user/username/projects/transitiveReferences/nrefs/a.d.ts] +export class X {} +export class A {} + + + +Timeout callback:: count: 1 +2: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +2: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module './b' from '/user/username/projects/transitiveReferences/c.ts'. ======== +Module resolution kind is not specified, using 'NodeNext'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, JavaScript, Declaration. +File '/user/username/projects/transitiveReferences/b.ts' exists - use it as a name resolution result. +======== Module name './b' was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. ======== +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts'. ======== +Module resolution kind is not specified, using 'NodeNext'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'. +'paths' option is specified, looking for a pattern to match module name '@ref/a'. +Module name '@ref/a', matched pattern '@ref/*'. +Trying substitution './nrefs/*', candidate module location: './nrefs/a'. +Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/nrefs/a', target file types: TypeScript, JavaScript, Declaration. +File '/user/username/projects/transitiveReferences/nrefs/a.ts' does not exist. +File '/user/username/projects/transitiveReferences/nrefs/a.tsx' does not exist. +File '/user/username/projects/transitiveReferences/nrefs/a.d.ts' exists - use it as a name resolution result. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/nrefs/a.d.ts'. ======== +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ======== +Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'. +Module resolution kind is not specified, using 'NodeNext'. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ======== +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/nrefs/package.json' does not exist. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../../a/lib/lib.d.ts + Default library for target 'es5' +a.d.ts + Imported via '@ref/a' from file 'b.d.ts' + File is output of project reference source 'a.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +nrefs/a.d.ts + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/transitiveReferences/c.js] file written with same contents + +PolledWatches:: +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/transitiveReferences/nrefs/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/package.json: + {"pollingInterval":2000} + +PolledWatches *deleted*:: +/user/username/projects/transitiveReferences/refs/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/transitiveReferences/a.d.ts: + {} +/user/username/projects/transitiveReferences/b.d.ts: + {} +/user/username/projects/transitiveReferences/c.ts: + {} +/user/username/projects/transitiveReferences/nrefs/a.d.ts: *new* + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: + {} + +FsWatches *deleted*:: +/user/username/projects/transitiveReferences/refs/a.d.ts: + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/nrefs: *new* + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/transitiveReferences/refs: + {} + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./nrefs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/nrefs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/nrefs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/nrefs/a.d.ts (used version) +/user/username/projects/transitivereferences/c.ts (computed .d.ts) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/nrefs/a.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/a.d.ts: + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/nrefs/a.d.ts: + /user/username/projects/transitiveReferences/nrefs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/nrefs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts + +exitCode:: ExitStatus.undefined + +Change:: Revert config file edit + +Input:: +//// [/user/username/projects/transitiveReferences/tsconfig.c.json] +{ + "files": [ + "c.ts" + ], + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "baseUrl": "./", + "paths": { + "@ref/*": [ + "./refs/*" + ] + } + }, + "references": [ + { + "path": "tsconfig.b.json" + } + ] +} + + +Timeout callback:: count: 1 +3: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +3: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module './b' from '/user/username/projects/transitiveReferences/c.ts'. ======== +Module resolution kind is not specified, using 'NodeNext'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/b', target file types: TypeScript, JavaScript, Declaration. +File '/user/username/projects/transitiveReferences/b.ts' exists - use it as a name resolution result. +======== Module name './b' was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. ======== +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts'. ======== +Module resolution kind is not specified, using 'NodeNext'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'. +'paths' option is specified, looking for a pattern to match module name '@ref/a'. +Module name '@ref/a', matched pattern '@ref/*'. +Trying substitution './refs/*', candidate module location: './refs/a'. +Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, JavaScript, Declaration. +File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist. +File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist. +File '/user/username/projects/transitiveReferences/refs/a.d.ts' exists - use it as a name resolution result. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ======== +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ======== +Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'. +Module resolution kind is not specified, using 'NodeNext'. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ======== +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../../a/lib/lib.d.ts + Default library for target 'es5' +a.d.ts + Imported via '@ref/a' from file 'b.d.ts' + File is output of project reference source 'a.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +refs/a.d.ts + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/transitiveReferences/c.js] file written with same contents + +PolledWatches:: +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/transitiveReferences/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/refs/package.json: *new* + {"pollingInterval":2000} + +PolledWatches *deleted*:: +/user/username/projects/transitiveReferences/nrefs/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/transitiveReferences/a.d.ts: + {} +/user/username/projects/transitiveReferences/b.d.ts: + {} +/user/username/projects/transitiveReferences/c.ts: + {} +/user/username/projects/transitiveReferences/refs/a.d.ts: *new* + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: + {} + +FsWatches *deleted*:: +/user/username/projects/transitiveReferences/nrefs/a.d.ts: + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/refs: *new* + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/transitiveReferences/nrefs: + {} + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/refs/a.d.ts (used version) +/user/username/projects/transitivereferences/c.ts (computed .d.ts) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/a.d.ts: + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts + +exitCode:: ExitStatus.undefined + +Change:: edit in referenced config file + +Input:: +//// [/user/username/projects/transitiveReferences/tsconfig.b.json] +{ + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "composite": true, + "baseUrl": "./", + "paths": { + "@ref/*": [ + "./nrefs/*" + ] + } + }, + "files": [ + "b.ts" + ], + "references": [ + { + "path": "tsconfig.a.json" + } + ] +} + + +Timeout callback:: count: 1 +4: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +4: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ======== +Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'. +Module resolution kind is not specified, using 'NodeNext'. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/nrefs/a.d.ts'. ======== +File '/user/username/projects/transitiveReferences/nrefs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../../a/lib/lib.d.ts + Default library for target 'es5' +nrefs/a.d.ts + Imported via '@ref/a' from file 'b.d.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +refs/a.d.ts + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/transitiveReferences/nrefs/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/refs/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/transitiveReferences/b.d.ts: + {} +/user/username/projects/transitiveReferences/c.ts: + {} +/user/username/projects/transitiveReferences/nrefs/a.d.ts: *new* + {} +/user/username/projects/transitiveReferences/refs/a.d.ts: + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: + {} + +FsWatches *deleted*:: +/user/username/projects/transitiveReferences/a.d.ts: + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/nrefs: *new* + {} +/user/username/projects/transitiveReferences/refs: + {} + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/nrefs/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/nrefs/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/nrefs/a.d.ts (used version) +/user/username/projects/transitivereferences/b.d.ts (used version) +/user/username/projects/transitivereferences/c.ts (used version) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/nrefs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/nrefs/a.d.ts: + /user/username/projects/transitiveReferences/nrefs/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/nrefs/a.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/nrefs/a.d.ts + +exitCode:: ExitStatus.undefined + +Change:: Revert referenced config file edit + +Input:: +//// [/user/username/projects/transitiveReferences/tsconfig.b.json] +{ + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "composite": true, + "baseUrl": "./", + "paths": { + "@ref/*": [ + "./refs/*" + ] + } + }, + "files": [ + "b.ts" + ], + "references": [ + { + "path": "tsconfig.a.json" + } + ] +} + + +Timeout callback:: count: 1 +5: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +5: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ======== +Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'. +Module resolution kind is not specified, using 'NodeNext'. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ======== +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../../a/lib/lib.d.ts + Default library for target 'es5' +refs/a.d.ts + Imported via '@ref/a' from file 'b.d.ts' + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/transitiveReferences/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/refs/package.json: + {"pollingInterval":2000} + +PolledWatches *deleted*:: +/user/username/projects/transitiveReferences/nrefs/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/transitiveReferences/b.d.ts: + {} +/user/username/projects/transitiveReferences/c.ts: + {} +/user/username/projects/transitiveReferences/refs/a.d.ts: + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: + {} + +FsWatches *deleted*:: +/user/username/projects/transitiveReferences/nrefs/a.d.ts: + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/refs: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/transitiveReferences/nrefs: + {} + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/b.d.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/b.d.ts (used version) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + +exitCode:: ExitStatus.undefined + +Change:: deleting referenced config file + +Input:: +//// [/user/username/projects/transitiveReferences/tsconfig.b.json] deleted + +Timeout callback:: count: 1 +6: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +6: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ======== +Module resolution kind is not specified, using 'NodeNext'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +'baseUrl' option is set to '/user/username/projects/transitiveReferences', using this value to resolve non-relative module name '@ref/a'. +'paths' option is specified, looking for a pattern to match module name '@ref/a'. +Module name '@ref/a', matched pattern '@ref/*'. +Trying substitution './refs/*', candidate module location: './refs/a'. +Loading module as file / folder, candidate module location '/user/username/projects/transitiveReferences/refs/a', target file types: TypeScript, JavaScript, Declaration. +File '/user/username/projects/transitiveReferences/refs/a.ts' does not exist. +File '/user/username/projects/transitiveReferences/refs/a.tsx' does not exist. +File '/user/username/projects/transitiveReferences/refs/a.d.ts' exists - use it as a name resolution result. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. ======== +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +tsconfig.c.json:16:5 - error TS6053: File '/user/username/projects/transitiveReferences/tsconfig.b.json' not found. + +16 { +   ~ +17 "path": "tsconfig.b.json" +  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +18 } +  ~~~~~ + +../../../../a/lib/lib.d.ts + Default library for target 'es5' +refs/a.d.ts + Imported via '@ref/a' from file 'b.ts' + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +b.ts + Imported via './b' from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + +//// [/user/username/projects/transitiveReferences/b.js] file written with same contents +//// [/user/username/projects/transitiveReferences/c.js] file written with same contents + +PolledWatches:: +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/transitiveReferences/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/refs/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/transitiveReferences/b.ts: *new* + {} +/user/username/projects/transitiveReferences/c.ts: + {} +/user/username/projects/transitiveReferences/refs/a.d.ts: + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: + {} + +FsWatches *deleted*:: +/user/username/projects/transitiveReferences/b.d.ts: + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/refs: + {} + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/b.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/b.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/b.ts (computed .d.ts) +/user/username/projects/transitivereferences/c.ts (computed .d.ts) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/b.ts: + /user/username/projects/transitiveReferences/b.ts + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.ts + +exitCode:: ExitStatus.undefined + +Change:: Revert deleting referenced config file + +Input:: +//// [/user/username/projects/transitiveReferences/tsconfig.b.json] +{ + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "composite": true, + "baseUrl": "./", + "paths": { + "@ref/*": [ + "./*" + ] + } + }, + "files": [ + "b.ts" + ], + "references": [ + { + "path": "tsconfig.a.json" + } + ] +} + + +Timeout callback:: count: 1 +7: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +7: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts'. ======== +Using compiler options of project reference redirect '/user/username/projects/transitiveReferences/tsconfig.b.json'. +Module resolution kind is not specified, using 'NodeNext'. +======== Module name '@ref/a' was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. ======== +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../../a/lib/lib.d.ts + Default library for target 'es5' +a.d.ts + Imported via '@ref/a' from file 'b.d.ts' + File is output of project reference source 'a.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +refs/a.d.ts + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/transitiveReferences/c.js] file written with same contents + +PolledWatches:: +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/transitiveReferences/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/refs/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/transitiveReferences/a.d.ts: *new* + {} +/user/username/projects/transitiveReferences/b.d.ts: *new* + {} +/user/username/projects/transitiveReferences/c.ts: + {} +/user/username/projects/transitiveReferences/refs/a.d.ts: + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: *new* + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: + {} + +FsWatches *deleted*:: +/user/username/projects/transitiveReferences/b.ts: + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/refs: + {} + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/a.d.ts (used version) +/user/username/projects/transitivereferences/b.d.ts (used version) +/user/username/projects/transitivereferences/c.ts (computed .d.ts) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/a.d.ts: + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts + +exitCode:: ExitStatus.undefined + +Change:: deleting transitively referenced config file + +Input:: +//// [/user/username/projects/transitiveReferences/tsconfig.a.json] deleted + +Timeout callback:: count: 1 +8: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +8: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +tsconfig.b.json:17:5 - error TS6053: File '/user/username/projects/transitiveReferences/tsconfig.a.json' not found. + +17 { +   ~ +18 "path": "tsconfig.a.json" +  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +19 } +  ~~~~~ + +../../../../a/lib/lib.d.ts + Default library for target 'es5' +a.ts + Imported via '@ref/a' from file 'b.d.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +refs/a.d.ts + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + +//// [/user/username/projects/transitiveReferences/a.js] file written with same contents + +PolledWatches:: +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/transitiveReferences/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/refs/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/transitiveReferences/a.ts: *new* + {} +/user/username/projects/transitiveReferences/b.d.ts: + {} +/user/username/projects/transitiveReferences/c.ts: + {} +/user/username/projects/transitiveReferences/refs/a.d.ts: + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: + {} + +FsWatches *deleted*:: +/user/username/projects/transitiveReferences/a.d.ts: + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/refs: + {} + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/a.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/a.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/a.ts (computed .d.ts) +/user/username/projects/transitivereferences/b.d.ts (used version) +/user/username/projects/transitivereferences/c.ts (used version) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/a.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/a.ts: + /user/username/projects/transitiveReferences/a.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.ts + +exitCode:: ExitStatus.undefined + +Change:: Revert deleting transitively referenced config file + +Input:: +//// [/user/username/projects/transitiveReferences/tsconfig.a.json] +{ + "compilerOptions": { + "module": "nodenext", + "target": "es5", + "composite": true + }, + "files": [ + "a.ts" + ] +} + + +Timeout callback:: count: 1 +9: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +9: timerToUpdateProgram + +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module './b' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/b.ts'. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/c.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/refs/a.d.ts'. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module '@ref/a' from '/user/username/projects/transitiveReferences/b.ts' of old program, it was successfully resolved to '/user/username/projects/transitiveReferences/a.ts'. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/refs/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/transitiveReferences/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +File '/user/username/package.json' does not exist according to earlier cached lookups. +File '/user/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../../a/lib/lib.d.ts + Default library for target 'es5' +a.d.ts + Imported via '@ref/a' from file 'b.d.ts' + File is output of project reference source 'a.ts' + File is CommonJS module because 'package.json' was not found +b.d.ts + Imported via './b' from file 'c.ts' + File is output of project reference source 'b.ts' + File is CommonJS module because 'package.json' was not found +refs/a.d.ts + Imported via "@ref/a" from file 'c.ts' + File is CommonJS module because 'package.json' was not found +c.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/transitiveReferences/package.json: + {"pollingInterval":2000} +/user/username/projects/transitiveReferences/refs/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/transitiveReferences/a.d.ts: *new* + {} +/user/username/projects/transitiveReferences/b.d.ts: + {} +/user/username/projects/transitiveReferences/c.ts: + {} +/user/username/projects/transitiveReferences/refs/a.d.ts: + {} +/user/username/projects/transitiveReferences/tsconfig.a.json: + {} +/user/username/projects/transitiveReferences/tsconfig.b.json: + {} +/user/username/projects/transitiveReferences/tsconfig.c.json: + {} + +FsWatches *deleted*:: +/user/username/projects/transitiveReferences/a.ts: + {} + +FsWatchesRecursive:: +/user/username/projects/transitiveReferences/refs: + {} + + +Program root files: [ + "/user/username/projects/transitiveReferences/c.ts" +] +Program options: { + "module": 199, + "target": 1, + "baseUrl": "/user/username/projects/transitiveReferences", + "paths": { + "@ref/*": [ + "./refs/*" + ] + }, + "pathsBasePath": "/user/username/projects/transitiveReferences", + "watch": true, + "project": "/user/username/projects/transitiveReferences/tsconfig.c.json", + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/transitiveReferences/tsconfig.c.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts +/user/username/projects/transitiveReferences/c.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/transitivereferences/a.d.ts (used version) +/user/username/projects/transitivereferences/b.d.ts (used version) +/user/username/projects/transitivereferences/c.ts (used version) + +Dependencies for:: +/a/lib/lib.d.ts: + /a/lib/lib.d.ts + /user/username/projects/transitiveReferences/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/c.ts +/user/username/projects/transitiveReferences/a.d.ts: + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/b.d.ts: + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts +/user/username/projects/transitiveReferences/refs/a.d.ts: + /user/username/projects/transitiveReferences/refs/a.d.ts +/user/username/projects/transitiveReferences/c.ts: + /user/username/projects/transitiveReferences/c.ts + /user/username/projects/transitiveReferences/refs/a.d.ts + /user/username/projects/transitiveReferences/b.d.ts + /user/username/projects/transitiveReferences/a.d.ts + +exitCode:: ExitStatus.undefined