Add tests

This commit is contained in:
Sheetal Nandi
2022-12-09 14:49:19 -08:00
parent e1600ab800
commit 666eece8cc
35 changed files with 49032 additions and 0 deletions
+5
View File
@@ -60,6 +60,7 @@ import "./unittests/services/preProcessFile";
import "./unittests/services/textChanges";
import "./unittests/services/transpile";
import "./unittests/tsbuild/amdModulesWithOut";
import "./unittests/tsbuild/cacheResolutions";
import "./unittests/tsbuild/clean";
import "./unittests/tsbuild/commandLine";
import "./unittests/tsbuild/configFileErrors";
@@ -85,6 +86,7 @@ import "./unittests/tsbuild/referencesWithRootDirInParent";
import "./unittests/tsbuild/resolveJsonModule";
import "./unittests/tsbuild/sample";
import "./unittests/tsbuild/transitiveReferences";
import "./unittests/tsbuildWatch/cacheResolutions";
import "./unittests/tsbuildWatch/configFileErrors";
import "./unittests/tsbuildWatch/demo";
import "./unittests/tsbuildWatch/moduleResolution";
@@ -95,6 +97,7 @@ import "./unittests/tsbuildWatch/projectsBuilding";
import "./unittests/tsbuildWatch/publicApi";
import "./unittests/tsbuildWatch/reexport";
import "./unittests/tsbuildWatch/watchEnvironment";
import "./unittests/tsc/cacheResolutions";
import "./unittests/tsc/cancellationToken";
import "./unittests/tsc/composite";
import "./unittests/tsc/declarationEmit";
@@ -104,6 +107,7 @@ import "./unittests/tsc/listFilesOnly";
import "./unittests/tsc/projectReferences";
import "./unittests/tsc/redirect";
import "./unittests/tsc/runWithoutArgs";
import "./unittests/tscWatch/cacheResolutions";
import "./unittests/tscWatch/consoleClearing";
import "./unittests/tscWatch/emit";
import "./unittests/tscWatch/nodeNextWatch";
@@ -120,6 +124,7 @@ import "./unittests/tscWatch/watchEnvironment";
import "./unittests/tsserver/applyChangesToOpenFiles";
import "./unittests/tsserver/autoImportProvider";
import "./unittests/tsserver/auxiliaryProject";
import "./unittests/tsserver/cacheResolutions";
import "./unittests/tsserver/cachingFileSystemInformation";
import "./unittests/tsserver/cancellationToken";
import "./unittests/tsserver/compileOnSave";
@@ -0,0 +1,70 @@
import {
noChangeRun,
prependText,
verifyTsc,
} from "../tsc/helpers";
import {
getFsWithNode16,
getFsWithOut,
getPkgImportContent,
getPkgTypeRefContent,
} from "./cacheResolutionsHelper";
describe("unittests:: tsbuild:: cacheResolutions::", () => {
verifyTsc({
scenario: "cacheResolutions",
subScenario: "multi file",
fs: getFsWithNode16,
commandLineArgs: ["-b", "/src/project", "--explainFiles"],
baselineModulesAndTypeRefs: true,
edits: [
noChangeRun,
{
caption: "write file not resolved by import",
edit: fs => fs.writeFileSync("/src/project/node_modules/pkg1/require.d.ts", getPkgImportContent("Require", 1)),
},
{
caption: "write file not resolved by typeRef",
edit: fs => fs.writeFileSync("/src/project/node_modules/pkg3/require.d.ts", getPkgTypeRefContent("Require", 3)),
},
{
caption: "modify randomFileForImport by adding import",
edit: fs => prependText(fs, "/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0" assert { "resolution-mode": "import" };\n`),
},
{
caption: "modify randomFileForTypeRef by adding typeRef",
edit: fs => prependText(fs, "/src/project/randomFileForTypeRef.ts", `/// <reference types="pkg2" resolution-mode="import"/>\n`),
},
]
});
verifyTsc({
scenario: "cacheResolutions",
subScenario: "bundle emit",
fs: getFsWithOut,
commandLineArgs: ["-b", "/src/project", "--explainFiles"],
baselineModulesAndTypeRefs: true,
edits: [
noChangeRun,
{
caption: "write file not resolved by import",
edit: fs => fs.writeFileSync("/src/project/pkg1.d.ts", getPkgImportContent("Require", 1)),
},
{
caption: "write file not resolved by typeRef",
edit: fs => {
fs.mkdirpSync("/src/project/node_modules/pkg3");
fs.writeFileSync("/src/project/node_modules/pkg3/index.d.ts", getPkgTypeRefContent("Require", 3));
},
},
{
caption: "modify randomFileForImport by adding import",
edit: fs => prependText(fs, "/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
},
{
caption: "modify randomFileForTypeRef by adding typeRef",
edit: fs => prependText(fs, "/src/project/randomFileForTypeRef.ts", `/// <reference types="pkg2"/>\n`),
},
]
});
});
@@ -0,0 +1,160 @@
import * as Utils from "../../_namespaces/Utils";
import {
createServerHost,
createWatchedSystem,
libFile,
TestServerHost,
} from "../virtualFileSystemWithWatch";
import {
loadProjectFromFiles,
} from "../tsc/helpers";
import {
solutionBuildWithBaseline,
} from "../tscWatch/helpers";
function getRandomFileContent() {
return `export const x = 10;`;
}
function getPkgPackageJsonContent(pkg: number) {
return JSON.stringify({
name: `pkg${pkg}`,
version: "0.0.1",
exports: {
import: "./import.js",
require: "./require.js"
}
});
}
export function getPkgImportContent(type: "Import" | "Require", pkg: number) {
return `export interface ${type}Interface${pkg} {}`;
}
export function getPkgTypeRefContent(type: "Import" | "Require", pkg: number) {
return Utils.dedent`
export {};
declare global {
interface ${type}Interface${pkg} {}
}
`;
}
export function getFsMapWithNode16(): { [path: string]: string; } {
return {
"/src/project/tsconfig.json": JSON.stringify({
compilerOptions: {
moduleResolution: "node16",
composite: true,
cacheResolutions: true,
traceResolution: true,
},
include: ["*.ts"],
exclude: ["*.d.ts"]
}),
"/src/project/fileWithImports.ts": Utils.dedent`
import type { ImportInterface0 } from "pkg0" assert { "resolution-mode": "import" };
import type { RequireInterface1 } from "pkg1" assert { "resolution-mode": "require" };
`,
"/src/project/randomFileForImport.ts": getRandomFileContent(),
"/src/project/node_modules/pkg0/package.json": getPkgPackageJsonContent(0),
"/src/project/node_modules/pkg0/import.d.ts": getPkgImportContent("Import", 0),
"/src/project/node_modules/pkg0/require.d.ts": getPkgImportContent("Require", 0),
"/src/project/node_modules/pkg1/package.json": getPkgPackageJsonContent(1),
"/src/project/node_modules/pkg1/import.d.ts": getPkgImportContent("Import", 1),
"/src/project/fileWithTypeRefs.ts": Utils.dedent`
/// <reference types="pkg2" resolution-mode="import"/>
/// <reference types="pkg3" resolution-mode="require"/>
interface LocalInterface extends ImportInterface2, RequireInterface3 {}
export {}
`,
"/src/project/randomFileForTypeRef.ts": getRandomFileContent(),
"/src/project/node_modules/pkg2/package.json": getPkgPackageJsonContent(2),
"/src/project/node_modules/pkg2/import.d.ts": getPkgTypeRefContent("Import", 2),
"/src/project/node_modules/pkg2/require.d.ts": getPkgTypeRefContent("Require", 2),
"/src/project/node_modules/pkg3/package.json": getPkgPackageJsonContent(3),
"/src/project/node_modules/pkg3/import.d.ts": getPkgTypeRefContent("Import", 3),
"/src/project/node_modules/@types/pkg4/index.d.ts": getRandomFileContent(),
};
}
export function getFsWithNode16() {
return loadProjectFromFiles(getFsMapWithNode16());
}
export function getWatchSystemWithNode16() {
const system = createWatchedSystem(getFsMapWithNode16(), { currentDirectory: "/src/project" });
system.ensureFileOrFolder(libFile);
return system;
}
export function getServerHostWithNode16() {
const system = createServerHost(getFsMapWithNode16(), { currentDirectory: "/src/project" });
system.writeFile(libFile.path, libFile.content);
return system;
}
export function getWatchSystemWithNode16WithBuild() {
return getSystemWithBuild(getWatchSystemWithNode16);
}
export function getServerHostWithNode16WithBuild() {
return getSystemWithBuild(getServerHostWithNode16);
}
function getSystemWithBuild(createSystem: () => TestServerHost) {
const system = createSystem();
solutionBuildWithBaseline(system, ["/src/project"]);
return system;
}
export function getFsMapWithOut(): { [path: string]: string; } {
return {
"/src/project/tsconfig.json": JSON.stringify({
compilerOptions: {
module: "amd",
composite: true,
cacheResolutions: true,
traceResolution: true,
out: "./out.js"
},
include: ["*.ts"],
exclude: ["*.d.ts"]
}),
"/src/project/fileWithImports.ts": Utils.dedent`
import type { ImportInterface0 } from "pkg0";
import type { RequireInterface1 } from "pkg1";
`,
"/src/project/randomFileForImport.ts": getRandomFileContent(),
"/src/project/pkg0.d.ts": getPkgImportContent("Import", 0),
"/src/project/fileWithTypeRefs.ts": Utils.dedent`
/// <reference types="pkg2"/>
/// <reference types="pkg3"/>
interface LocalInterface extends ImportInterface2, RequireInterface3 {}
export {}
`,
"/src/project/randomFileForTypeRef.ts": getRandomFileContent(),
"/src/project/node_modules/pkg2/index.d.ts": getPkgTypeRefContent("Import", 2),
"/src/project/node_modules/@types/pkg4/index.d.ts": getRandomFileContent(),
};
}
export function getFsWithOut() {
return loadProjectFromFiles(getFsMapWithOut());
}
export function getWatchSystemWithOut() {
const system = createWatchedSystem(getFsMapWithOut(), { currentDirectory: "/src/project" });
system.ensureFileOrFolder(libFile);
return system;
}
export function getServerHostWithOut() {
const system = createServerHost(getFsMapWithOut(), { currentDirectory: "/src/project" });
system.ensureFileOrFolder(libFile);
return system;
}
export function getWatchSystemWithOutWithBuild() {
return getSystemWithBuild(getWatchSystemWithOut);
}
export function getServerHostWithOutWithBuild() {
return getSystemWithBuild(getServerHostWithOut);
}
@@ -613,5 +613,28 @@ class someClass2 { }`),
fs.unlinkSync("/src/core/anotherModule.ts");
}
});
verifyTsc({
scenario: "sample1",
subScenario: "cacheResolutions",
baselinePrograms: true,
fs: () => projFs,
modifyFs: fs => {
cacheResolutions("/src/core/tsconfig.json");
cacheResolutions("/src/logic/tsconfig.json");
cacheResolutions("/src/tests/tsconfig.json");
function cacheResolutions(file: string) {
const content = JSON.parse(fs.readFileSync(file, "utf-8"));
content.compilerOptions = {
...content.compilerOptions || {},
cacheResolutions: true
};
fs.writeFileSync(file, JSON.stringify(content, /*replacer*/ undefined, 4));
}
},
commandLineArgs: ["--b", "/src/tests"],
baselineModulesAndTypeRefs: true,
edits: coreChanges,
});
});
});
@@ -0,0 +1,113 @@
import {
TestServerHost,
} from "../virtualFileSystemWithWatch";
import {
getPkgImportContent,
getPkgTypeRefContent,
getWatchSystemWithNode16,
getWatchSystemWithNode16WithBuild,
getWatchSystemWithOut,
getWatchSystemWithOutWithBuild,
} from "../tsbuild/cacheResolutionsHelper";
import {
verifyTscWatch,
} from "../tscWatch/helpers";
describe("unittests:: tsbuildWatch:: watchMode:: cacheResolutions::", () => {
describe("multi file project", () => {
verifyTscWatchMultiFile("multi file", getWatchSystemWithNode16);
verifyTscWatchMultiFile("multi file already built", getWatchSystemWithNode16WithBuild);
function verifyTscWatchMultiFile(subScenario: string, sys: () => TestServerHost) {
verifyTscWatch({
scenario: "cacheResolutions",
subScenario,
sys,
commandLineArgs: ["-b", "-w", "--explainFiles"],
baselineModulesAndTypeRefs: true,
edits: [
{
caption: "modify randomFileForImport by adding import",
edit: sys => sys.prependFile("/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0" assert { "resolution-mode": "import" };\n`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "modify randomFileForTypeRef by adding typeRef",
edit: sys => sys.prependFile("/src/project/randomFileForTypeRef.ts", `/// <reference types="pkg2" resolution-mode="import"/>\n`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "write file not resolved by import and random edit",
edit: sys => {
sys.writeFile("/src/project/node_modules/pkg1/require.d.ts", getPkgImportContent("Require", 1));
sys.appendFile("/src/project/randomFileForImport.ts", `export const y = 10;`);
},
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "write file not resolved by typeRef and random edit",
edit: sys => {
sys.writeFile("/src/project/node_modules/pkg3/require.d.ts", getPkgTypeRefContent("Require", 3));
sys.appendFile("/src/project/randomFileForImport.ts", `export const z = 10;`);
},
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "Random edit",
edit: sys => sys.appendFile("/src/project/randomFileForImport.ts", `export const k = 10;`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
]
});
}
});
describe("with bundle emit", () => {
verifyTscWatchBundleEmit("bundle emit", getWatchSystemWithOut);
verifyTscWatchBundleEmit("bundle emit already built", getWatchSystemWithOutWithBuild);
function verifyTscWatchBundleEmit(subScenario: string, sys: () => TestServerHost) {
verifyTscWatch({
scenario: "cacheResolutions",
subScenario,
sys,
commandLineArgs: ["-b", "-w", "--explainFiles"],
baselineModulesAndTypeRefs: true,
edits: [
{
caption: "modify randomFileForImport by adding import",
edit: sys => sys.prependFile("/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "modify randomFileForTypeRef by adding typeRef",
edit: sys => sys.prependFile("/src/project/randomFileForTypeRef.ts", `/// <reference types="pkg2"/>\n`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "write file not resolved by import and random edit",
edit: sys => {
sys.writeFile("/src/project/pkg1.d.ts", getPkgImportContent("Require", 1));
sys.appendFile("/src/project/randomFileForImport.ts", `export const y = 10;`);
},
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "write file not resolved by typeRef and random edit",
edit: sys => {
sys.ensureFileOrFolder({
path: "/src/project/node_modules/pkg3/index.d.ts",
content: getPkgTypeRefContent("Require", 3)
});
sys.appendFile("/src/project/randomFileForImport.ts", `export const z = 10;`);
},
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "Random edit",
edit: sys => sys.appendFile("/src/project/randomFileForImport.ts", `export const k = 10;`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
]
});
}
});
});
@@ -0,0 +1,226 @@
import * as Utils from "../../_namespaces/Utils";
import {
createWatchedSystem,
libFile,
} from "../virtualFileSystemWithWatch";
import {
getFsWithNode16,
getFsWithOut,
getPkgImportContent,
getPkgTypeRefContent,
} from "../tsbuild/cacheResolutionsHelper";
import {
loadProjectFromFiles,
noChangeRun,
prependText,
verifyTsc,
} from "./helpers";
import {
solutionBuildWithBaseline,
verifyTscWatch,
} from "../tscWatch/helpers";
describe("unittests:: tsc:: cacheResolutions::", () => {
verifyTsc({
scenario: "cacheResolutions",
subScenario: "multi file",
fs: getFsWithNode16,
commandLineArgs: ["-p", "/src/project", "--explainFiles"],
baselineModulesAndTypeRefs: true,
edits: [
noChangeRun,
{
caption: "modify randomFileForImport by adding import",
edit: fs => prependText(fs, "/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0" assert { "resolution-mode": "import" };\n`),
},
{
caption: "modify randomFileForTypeRef by adding typeRef",
edit: fs => prependText(fs, "/src/project/randomFileForTypeRef.ts", `/// <reference types="pkg2" resolution-mode="import"/>\n`),
},
{
caption: "write file not resolved by import",
edit: fs => fs.writeFileSync("/src/project/node_modules/pkg1/require.d.ts", getPkgImportContent("Require", 1)),
},
{
caption: "write file not resolved by typeRef",
edit: fs => fs.writeFileSync("/src/project/node_modules/pkg3/require.d.ts", getPkgTypeRefContent("Require", 3)),
},
{
caption: "delete file with imports",
edit: fs => fs.unlinkSync("/src/project/fileWithImports.ts"),
},
{
caption: "delete file with typeRefs",
edit: fs => fs.unlinkSync("/src/project/fileWithTypeRefs.ts"),
},
{
caption: "delete resolved import file",
edit: fs => fs.unlinkSync("/src/project/node_modules/pkg0/import.d.ts"),
},
{
caption: "delete resolved typeRef file",
edit: fs => fs.unlinkSync("/src/project/node_modules/pkg2/import.d.ts"),
},
]
});
verifyTsc({
scenario: "cacheResolutions",
subScenario: "bundle emit",
fs: getFsWithOut,
commandLineArgs: ["-p", "/src/project", "--explainFiles"],
baselineModulesAndTypeRefs: true,
edits: [
noChangeRun,
{
caption: "modify randomFileForImport by adding import",
edit: fs => prependText(fs, "/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
},
{
caption: "modify randomFileForTypeRef by adding typeRef",
edit: fs => prependText(fs, "/src/project/randomFileForTypeRef.ts", `/// <reference types="pkg2"/>\n`),
},
{
caption: "write file not resolved by import",
edit: fs => fs.writeFileSync("/src/project/pkg1.d.ts", getPkgImportContent("Require", 1)),
},
{
caption: "write file not resolved by typeRef",
edit: fs => {
fs.mkdirpSync("/src/project/node_modules/pkg3");
fs.writeFileSync("/src/project/node_modules/pkg3/index.d.ts", getPkgTypeRefContent("Require", 3));
},
},
{
caption: "delete file with imports",
edit: fs => fs.unlinkSync("/src/project/fileWithImports.ts"),
},
{
caption: "delete file with typeRefs",
edit: fs => fs.unlinkSync("/src/project/fileWithTypeRefs.ts"),
},
{
caption: "delete resolved import file",
edit: fs => fs.unlinkSync("/src/project/pkg0.d.ts"),
},
{
caption: "delete resolved typeRef file",
edit: fs => fs.unlinkSync("/src/project/node_modules/pkg2/index.d.ts"),
},
]
});
verifyTsc({
scenario: "cacheResolutions",
subScenario: "pathsBasePath",
fs: () => loadProjectFromFiles({
"/src/project/tsconfig.json": JSON.stringify({
compilerOptions: {
paths: {
"*": ["./lib/*"]
},
composite: true,
cacheResolutions: true,
traceResolution: true,
},
files: ["main.ts", "randomFileForImport.ts"],
}),
"/src/project/main.ts": Utils.dedent`
import type { ImportInterface0 } from "pkg0";
`,
"/src/project/randomFileForImport.ts": "export const x = 10;",
"/src/project/lib/pkg0/index.d.ts": getPkgImportContent("Import", 0),
}),
commandLineArgs: ["-p", "/src/project", "--explainFiles"],
baselineModulesAndTypeRefs: true,
edits: [
{
caption: "modify randomFileForImport by adding import",
edit: fs => prependText(fs, "/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
},
]
});
describe("symlinks", () => {
function verifySymLinks(preserveSymlinks: boolean, built: boolean) {
verifyTscWatch({
scenario: "cacheResolutions",
subScenario: `resolutions with symlinks${preserveSymlinks ? " with preserveSymlinks" : ""}${built ? "" : " when not built"}`,
sys: () => {
const sys = createWatchedSystem({
"/src/project/tsconfig.json": JSON.stringify({
compilerOptions: {
composite: true,
cacheResolutions: true,
traceResolution: true,
preserveSymlinks,
},
files: ["main.ts", "randomFileForImport.ts"],
}),
"/src/project/main.ts": Utils.dedent`
import type { ImportInterface0 } from "pkg0";
`,
"/src/project/randomFileForImport.ts": "export const x = 10;",
"/src/project/lib/pkg0/index.d.ts": getPkgImportContent("Import", 0),
"/src/project/node_modules/pkg0/index.d.ts": { symLink: "/src/project/lib/pkg0/index.d.ts" },
});
sys.ensureFileOrFolder(libFile);
if (built) {
solutionBuildWithBaseline(sys, ["/src/project"]);
sys.clearOutput();
sys.prependFile("/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`);
}
return sys;
},
commandLineArgs: ["-p", "/src/project", "--explainFiles"],
baselineModulesAndTypeRefs: true,
});
}
verifySymLinks(/*preserveSymlinks*/ true, /*built*/ true);
verifySymLinks(/*preserveSymlinks*/ false, /*built*/ true);
verifySymLinks(/*preserveSymlinks*/ true, /*built*/ false);
verifySymLinks(/*preserveSymlinks*/ false, /*built*/ false);
});
verifyTsc({
scenario: "cacheResolutions",
subScenario: "diagnostics from cache",
fs: () => loadProjectFromFiles({
"/src/project/tsconfig.json": JSON.stringify({
compilerOptions: {
moduleResolution: "nodenext",
outDir: "./dist",
declaration: true,
declarationDir: "./types",
cacheResolutions: true,
traceResolution: true,
},
}),
"/src/project/package.json": JSON.stringify({
name: "@this/package",
type: "module",
exports: {
".": {
default: "./dist/index.js",
types: "./types/index.d.ts"
}
}
}),
"/src/project/index.ts": Utils.dedent`
import * as me from "@this/package";
me.thing()
export function thing(): void {}
`,
"/src/project/index2.ts": Utils.dedent`
export function thing(): void {}
`,
"/src/project/randomFileForImport.ts": "export const x = 10;",
}),
commandLineArgs: ["-p", "/src/project", "--incremental", "--explainFiles"],
baselineModulesAndTypeRefs: true,
edits: [{
caption: "modify randomFileForImport by adding import",
edit: fs => prependText(fs, "/src/project/randomFileForImport.ts", `import * as me from "@this/package";\n`),
}],
});
});
@@ -0,0 +1,143 @@
import {
getPkgImportContent,
getPkgTypeRefContent,
getWatchSystemWithNode16,
getWatchSystemWithNode16WithBuild,
getWatchSystemWithOut,
getWatchSystemWithOutWithBuild,
} from "../tsbuild/cacheResolutionsHelper";
import {
TestServerHost,
} from "../virtualFileSystemWithWatch";
import {
verifyTscWatch,
} from "./helpers";
describe("unittests:: tsc-watch:: cacheResolutions::", () => {
describe("multi file project", () => {
verifyTscWatchMultiFile("multi file", getWatchSystemWithNode16);
verifyTscWatchMultiFile("multi file already built", getWatchSystemWithNode16WithBuild);
function verifyTscWatchMultiFile(subScenario: string, sys: () => TestServerHost) {
verifyTscWatch({
scenario: "cacheResolutions",
subScenario,
sys,
commandLineArgs: ["-w", "--explainFiles", "--extendedDiagnostics"],
baselineModulesAndTypeRefs: true,
edits: [
{
caption: "modify randomFileForImport by adding import",
edit: sys => sys.prependFile("/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0" assert { "resolution-mode": "import" };\n`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "modify randomFileForTypeRef by adding typeRef",
edit: sys => sys.prependFile("/src/project/randomFileForTypeRef.ts", `/// <reference types="pkg2" resolution-mode="import"/>\n`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "write file not resolved by import",
edit: sys => sys.writeFile("/src/project/node_modules/pkg1/require.d.ts", getPkgImportContent("Require", 1)),
timeouts: sys => {
sys.runQueuedTimeoutCallbacks(); // failed lookup
sys.runQueuedTimeoutCallbacks(); // actual update
}
},
{
caption: "write file not resolved by typeRef",
edit: sys => sys.writeFile("/src/project/node_modules/pkg3/require.d.ts", getPkgTypeRefContent("Require", 3)),
timeouts: sys => {
sys.runQueuedTimeoutCallbacks(); // failed lookup
sys.runQueuedTimeoutCallbacks(); // actual update
}
},
{
caption: "delete file with imports",
edit: sys => sys.deleteFile("/src/project/fileWithImports.ts"),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "delete file with typeRefs",
edit: sys => sys.deleteFile("/src/project/fileWithTypeRefs.ts"),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "delete resolved import file",
edit: sys => sys.deleteFile("/src/project/node_modules/pkg0/import.d.ts"),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "delete resolved typeRef file",
edit: sys => sys.deleteFile("/src/project/node_modules/pkg2/import.d.ts"),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
]
});
}
});
describe("with bundle emit", () => {
verifyTscWatchBundleEmit("bundle emit", getWatchSystemWithOut);
verifyTscWatchBundleEmit("bundle emit already built", getWatchSystemWithOutWithBuild);
function verifyTscWatchBundleEmit(subScenario: string, sys: () => TestServerHost) {
verifyTscWatch({
scenario: "cacheResolutions",
subScenario,
sys,
commandLineArgs: ["-w", "--explainFiles", "--extendedDiagnostics"],
baselineModulesAndTypeRefs: true,
edits: [
{
caption: "modify randomFileForImport by adding import",
edit: sys => sys.prependFile("/src/project/randomFileForImport.ts", `import type { ImportInterface0 } from "pkg0";\n`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "modify randomFileForTypeRef by adding typeRef",
edit: sys => sys.prependFile("/src/project/randomFileForTypeRef.ts", `/// <reference types="pkg2"/>\n`),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "write file not resolved by import",
edit: sys => sys.writeFile("/src/project/pkg1.d.ts", getPkgImportContent("Require", 1)),
timeouts: sys => {
sys.runQueuedTimeoutCallbacks(); // failed lookup
sys.runQueuedTimeoutCallbacks(); // actual update
}
},
{
caption: "write file not resolved by typeRef",
edit: sys => sys.ensureFileOrFolder({
path: "/src/project/node_modules/pkg3/index.d.ts",
content: getPkgTypeRefContent("Require", 3)
}),
timeouts: sys => {
sys.runQueuedTimeoutCallbacks(); // failed lookup
sys.runQueuedTimeoutCallbacks(); // actual update
}
},
{
caption: "delete file with imports",
edit: sys => sys.deleteFile("/src/project/fileWithImports.ts"),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "delete file with typeRefs",
edit: sys => sys.deleteFile("/src/project/fileWithTypeRefs.ts"),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "delete resolved import file",
edit: sys => sys.deleteFile("/src/project/pkg0.d.ts"),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
{
caption: "delete resolved typeRef file",
edit: sys => sys.deleteFile("/src/project/node_modules/pkg2/index.d.ts"),
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
},
]
});
}
});
});
@@ -0,0 +1,280 @@
import * as ts from "../../_namespaces/ts";
import * as fakes from "../../_namespaces/fakes";
import * as Utils from "../../_namespaces/Utils";
import {
createServerHost,
File,
getTsBuildProjectFile,
libFile,
TestServerHost,
} from "../virtualFileSystemWithWatch";
import {
solutionBuildWithBaseline,
} from "../tscWatch/helpers";
import {
baselineTsserverLogs,
createLoggerWithInMemoryLogs,
createSession,
openFilesForSession,
} from "./helpers";
import {
getPkgImportContent,
getServerHostWithNode16,
getServerHostWithNode16WithBuild,
getServerHostWithOut,
getServerHostWithOutWithBuild,
} from "../tsbuild/cacheResolutionsHelper";
describe("unittests:: tsserver:: cacheResolutions:: tsserverProjectSystem caching module resolutions option", () => {
describe("multi file project", () => {
verifyTsserverMultiFile("multi file not built", getServerHostWithNode16);
verifyTsserverMultiFile("multi file", getServerHostWithNode16WithBuild);
function verifyTsserverMultiFile(scenario: string, createHost: () => TestServerHost) {
it(scenario, () => {
const host = fakes.patchHostForBuildInfoReadWrite(createHost());
const session = createSession(host, { logger: createLoggerWithInMemoryLogs(host) });
openFilesForSession(["/src/project/randomFileForImport.ts", "/src/project/randomFileForTypeRef.ts"], session);
session.logger.info("modify randomFileForImport by adding import");
session.executeCommandSeq<ts.server.protocol.ChangeRequest>({
command: ts.server.protocol.CommandTypes.Change,
arguments: {
file: "/src/project/randomFileForImport.ts",
line: 1,
offset: 1,
endLine: 1,
endOffset: 1,
insertString: `import type { ImportInterface0 } from "pkg0" assert { "resolution-mode": "import" };\n`,
}
});
ts.server.updateProjectIfDirty(session.getProjectService().configuredProjects.get("/src/project/tsconfig.json")!);
session.logger.info("modify randomFileForTypeRef by adding typeRef");
session.executeCommandSeq<ts.server.protocol.ChangeRequest>({
command: ts.server.protocol.CommandTypes.Change,
arguments: {
file: "/src/project/randomFileForTypeRef.ts",
line: 1,
offset: 1,
endLine: 1,
endOffset: 1,
insertString: `/// <reference types="pkg2" resolution-mode="import"/>\n`,
}
});
ts.server.updateProjectIfDirty(session.getProjectService().configuredProjects.get("/src/project/tsconfig.json")!);
session.logger.info("write file not resolved by import");
host.writeFile("/src/project/node_modules/pkg1/require.d.ts", getPkgImportContent("Require", 1));
host.runQueuedTimeoutCallbacks(); // failed lookup
host.runQueuedTimeoutCallbacks(); // actual update
session.logger.info("write file not resolved by typeRef");
host.writeFile("/src/project/node_modules/pkg3/require.d.ts", getPkgImportContent("Require", 3));
host.runQueuedTimeoutCallbacks(); // failed lookup
host.runQueuedTimeoutCallbacks(); // actual update
session.logger.info("delete file with imports");
host.deleteFile("/src/project/fileWithImports.ts");
host.runQueuedTimeoutCallbacks();
session.logger.info("delete file with typeRefs");
host.deleteFile("/src/project/fileWithTypeRefs.ts");
host.runQueuedTimeoutCallbacks();
session.logger.info("delete resolved import file");
host.deleteFile("/src/project/node_modules/pkg0/import.d.ts");
host.runQueuedTimeoutCallbacks();
session.logger.info("delete resolved typeRef file");
host.deleteFile("/src/project/node_modules/pkg2/import.d.ts");
host.runQueuedTimeoutCallbacks();
baselineTsserverLogs("cacheResolutions", scenario, session);
});
}
});
describe("with bundle emit", () => {
verifyTsserverBundleEmit("bundle emit not built", getServerHostWithOut);
verifyTsserverBundleEmit("bundle emit", getServerHostWithOutWithBuild);
function verifyTsserverBundleEmit(scenario: string, createHost: () => TestServerHost) {
it(scenario, () => {
const host = fakes.patchHostForBuildInfoReadWrite(createHost());
const session = createSession(host, { logger: createLoggerWithInMemoryLogs(host) });
openFilesForSession(["/src/project/randomFileForImport.ts", "/src/project/randomFileForTypeRef.ts"], session);
session.logger.info("modify randomFileForImport by adding import");
session.executeCommandSeq<ts.server.protocol.ChangeRequest>({
command: ts.server.protocol.CommandTypes.Change,
arguments: {
file: "/src/project/randomFileForImport.ts",
line: 1,
offset: 1,
endLine: 1,
endOffset: 1,
insertString: `import type { ImportInterface0 } from "pkg0";\n`,
}
});
ts.server.updateProjectIfDirty(session.getProjectService().configuredProjects.get("/src/project/tsconfig.json")!);
session.logger.info("modify randomFileForTypeRef by adding typeRef");
session.executeCommandSeq<ts.server.protocol.ChangeRequest>({
command: ts.server.protocol.CommandTypes.Change,
arguments: {
file: "/src/project/randomFileForTypeRef.ts",
line: 1,
offset: 1,
endLine: 1,
endOffset: 1,
insertString: `/// <reference types="pkg2"/>\n`,
}
});
ts.server.updateProjectIfDirty(session.getProjectService().configuredProjects.get("/src/project/tsconfig.json")!);
session.logger.info("write file not resolved by import");
host.writeFile("/src/project/pkg1.d.ts", getPkgImportContent("Require", 1));
host.runQueuedTimeoutCallbacks(); // failed lookup
host.runQueuedTimeoutCallbacks(); // actual update
session.logger.info("write file not resolved by typeRef");
host.ensureFileOrFolder({
path: "/src/project/node_modules/pkg3/index.d.ts",
content: getPkgImportContent("Require", 3)
});
host.runQueuedTimeoutCallbacks(); // failed lookup
host.runQueuedTimeoutCallbacks(); // actual update
session.logger.info("delete file with imports");
host.deleteFile("/src/project/fileWithImports.ts");
host.runQueuedTimeoutCallbacks();
session.logger.info("delete file with typeRefs");
host.deleteFile("/src/project/fileWithTypeRefs.ts");
host.runQueuedTimeoutCallbacks();
session.logger.info("delete resolved import file");
host.deleteFile("/src/project/pkg0.d.ts");
host.runQueuedTimeoutCallbacks();
session.logger.info("delete resolved typeRef file");
host.deleteFile("/src/project/node_modules/pkg2/index.d.ts");
host.runQueuedTimeoutCallbacks();
baselineTsserverLogs("cacheResolutions", scenario, session);
});
}
});
describe("different projects", () => {
describe("on sample project", () => {
function cacheResolutions(file: File) {
const content = JSON.parse(file.content);
content.compilerOptions = {
...content.compilerOptions || {},
cacheResolutions: true,
traceResolution: true,
};
file.content = JSON.stringify(content, /*replacer*/ undefined, 4);
return file;
}
function setupHost() {
const coreConfig = cacheResolutions(getTsBuildProjectFile("sample1", "core/tsconfig.json"));
const coreIndex = getTsBuildProjectFile("sample1", "core/index.ts");
const coreAnotherModule = getTsBuildProjectFile("sample1", "core/anotherModule.ts");
const coreSomeDecl = getTsBuildProjectFile("sample1", "core/some_decl.d.ts");
const logicConfig = cacheResolutions(getTsBuildProjectFile("sample1", "logic/tsconfig.json"));
const logicIndex = getTsBuildProjectFile("sample1", "logic/index.ts");
const testsConfig = cacheResolutions(getTsBuildProjectFile("sample1", "tests/tsconfig.json"));
const testsIndex = getTsBuildProjectFile("sample1", "tests/index.ts");
const host = createServerHost([libFile, coreConfig, coreIndex, coreAnotherModule, coreSomeDecl, logicConfig, logicIndex, testsConfig, testsIndex]);
return { host, testsConfig, testsIndex };
}
verifyOnProject("sample project", setupHost);
});
describe("project where d.ts file contains fewer modules than original file", () => {
function setupHost() {
const coreConfig: File = {
path: `/user/username/projects/sample1/core/tsconfig.json`,
content: JSON.stringify({ compilerOptions: { composite: true, cacheResolutions: true, traceResolution: true } })
};
const coreIndex: File = {
path: `/user/username/projects/sample1/core/index.ts`,
content: `export function bar() { return 10; }`
};
const coreMyClass: File = {
path: `/user/username/projects/sample1/core/myClass.ts`,
content: `export class myClass { }`
};
const coreAnotherClass: File = {
path: `/user/username/projects/sample1/core/anotherClass.ts`,
content: `export class anotherClass { }`
};
const logicConfig: File = {
path: `/user/username/projects/sample1/logic/tsconfig.json`,
content: JSON.stringify({
compilerOptions: { composite: true, cacheResolutions: true, traceResolution: true },
references: [{ path: "../core" }]
})
};
const logicIndex: File = {
path: `/user/username/projects/sample1/logic/index.ts`,
content: Utils.dedent`
import { myClass } from "../core/myClass";
import { bar } from "../core";
import { anotherClass } from "../core/anotherClass";
export function returnMyClass() {
bar();
return new myClass();
}
export function returnAnotherClass() {
return new anotherClass();
}
`
};
const testsConfig: File = {
path: `/user/username/projects/sample1/tests/tsconfig.json`,
content: JSON.stringify({
compilerOptions: { composite: true, cacheResolutions: true, traceResolution: true },
references: [{ path: "../logic" }]
})
};
const testsIndex: File = {
path: `/user/username/projects/sample1/tests/index.ts`,
content: Utils.dedent`
import { returnMyClass } from "../logic";
returnMyClass();
`
};
const host = createServerHost([libFile, coreConfig, coreIndex, coreMyClass, coreAnotherClass, logicConfig, logicIndex, testsConfig, testsIndex]);
return { host, testsConfig, testsIndex };
}
verifyOnProject("dts has fewer resolutions than ts", setupHost);
});
function verifyOnProject(
scenario: string,
setupHost: () => {
host: TestServerHost;
testsConfig: File;
testsIndex: File;
}) {
it(scenario, () => {
const { host, testsConfig, testsIndex } = setupHost();
solutionBuildWithBaseline(host, [testsConfig.path]);
fakes.patchHostForBuildInfoReadWrite(host);
const session = createSession(host, { logger: createLoggerWithInMemoryLogs(host) });
openFilesForSession([testsIndex], session);
baselineTsserverLogs("cacheResolutions", scenario, session);
});
it(`${scenario} not built`, () => {
const { host, testsIndex } = setupHost();
fakes.patchHostForBuildInfoReadWrite(host);
const session = createSession(host, { logger: createLoggerWithInMemoryLogs(host) });
openFilesForSession([testsIndex], session);
baselineTsserverLogs("cacheResolutions", `${scenario} not built`, session);
});
}
});
});
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,976 @@
Input::
//// [/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/src/core/anotherModule.ts]
export const World = "hello";
//// [/src/core/index.ts]
export const someString: string = "HELLO WORLD";
export function leftPad(s: string, n: number) { return s + n; }
export function multiply(a: number, b: number) { return a * b; }
//// [/src/core/some_decl.d.ts]
declare const dts: any;
//// [/src/core/tsconfig.json]
{
"compilerOptions": {
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true
}
}
//// [/src/logic/index.ts]
import * as c from '../core/index';
export function getSecondsInDay() {
return c.multiply(10, 15);
}
import * as mod from '../core/anotherModule';
export const m = mod;
//// [/src/logic/tsconfig.json]
{
"compilerOptions": {
"composite": true,
"declaration": true,
"sourceMap": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true
},
"references": [
{
"path": "../core"
}
]
}
//// [/src/tests/index.ts]
import * as c from '../core/index';
import * as logic from '../logic/index';
c.leftPad("", 10);
logic.getSecondsInDay();
import * as mod from '../core/anotherModule';
export const m = mod;
//// [/src/tests/tsconfig.json]
{
"references": [
{
"path": "../core"
},
{
"path": "../logic"
}
],
"files": [
"index.ts"
],
"compilerOptions": {
"composite": true,
"declaration": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true
}
}
//// [/src/ui/index.ts]
import * as logic from '../logic';
export function run() {
console.log(logic.getSecondsInDay());
}
//// [/src/ui/tsconfig.json]
{
"compilerOptions": {
"skipDefaultLibCheck": true
},
"references": [
{ "path": "../logic/index" }
]
}
Output::
/lib/tsc --b /src/tests
exitCode:: ExitStatus.Success
Program root files: ["/src/core/anotherModule.ts","/src/core/index.ts","/src/core/some_decl.d.ts"]
Program options: {"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true,"cacheResolutions":true,"configFilePath":"/src/core/tsconfig.json"}
Program structureReused: Not
Program files::
/lib/lib.d.ts
/src/core/anotherModule.ts
/src/core/index.ts
/src/core/some_decl.d.ts
Semantic diagnostics in builder refreshed for::
/lib/lib.d.ts
/src/core/anotherModule.ts
/src/core/index.ts
/src/core/some_decl.d.ts
Shape signatures in builder refreshed for::
/lib/lib.d.ts (used version)
/src/core/anothermodule.ts (computed .d.ts during emit)
/src/core/index.ts (computed .d.ts during emit)
/src/core/some_decl.d.ts (used version)
Program root files: ["/src/logic/index.ts"]
Program options: {"composite":true,"declaration":true,"sourceMap":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"cacheResolutions":true,"configFilePath":"/src/logic/tsconfig.json"}
Program structureReused: Not
Program files::
/lib/lib.d.ts
/src/core/index.d.ts
/src/core/anotherModule.d.ts
/src/logic/index.ts
Semantic diagnostics in builder refreshed for::
/lib/lib.d.ts
/src/core/index.d.ts
/src/core/anotherModule.d.ts
/src/logic/index.ts
Shape signatures in builder refreshed for::
/lib/lib.d.ts (used version)
/src/core/index.d.ts (used version)
/src/core/anothermodule.d.ts (used version)
/src/logic/index.ts (computed .d.ts during emit)
Program root files: ["/src/tests/index.ts"]
Program options: {"composite":true,"declaration":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"cacheResolutions":true,"configFilePath":"/src/tests/tsconfig.json"}
Program structureReused: Not
Program files::
/lib/lib.d.ts
/src/core/index.d.ts
/src/core/anotherModule.d.ts
/src/logic/index.d.ts
/src/tests/index.ts
Semantic diagnostics in builder refreshed for::
/lib/lib.d.ts
/src/core/index.d.ts
/src/core/anotherModule.d.ts
/src/logic/index.d.ts
/src/tests/index.ts
Shape signatures in builder refreshed for::
/lib/lib.d.ts (used version)
/src/core/index.d.ts (used version)
/src/core/anothermodule.d.ts (used version)
/src/logic/index.d.ts (used version)
/src/tests/index.ts (computed .d.ts during emit)
//// [/src/core/anotherModule.d.ts]
export declare const World = "hello";
//# sourceMappingURL=anotherModule.d.ts.map
//// [/src/core/anotherModule.d.ts.map]
{"version":3,"file":"anotherModule.d.ts","sourceRoot":"","sources":["anotherModule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAC"}
//// [/src/core/anotherModule.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.World = void 0;
exports.World = "hello";
//// [/src/core/index.d.ts]
export declare const someString: string;
export declare function leftPad(s: string, n: number): string;
export declare function multiply(a: number, b: number): number;
//# sourceMappingURL=index.d.ts.map
//// [/src/core/index.d.ts.map]
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAsB,CAAC;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB"}
//// [/src/core/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.multiply = exports.leftPad = exports.someString = void 0;
exports.someString = "HELLO WORLD";
function leftPad(s, n) { return s + n; }
exports.leftPad = leftPad;
function multiply(a, b) { return a * b; }
exports.multiply = multiply;
//// [/src/core/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-2676574883-export const World = \"hello\";\r\n","signature":"-8396256275-export declare const World = \"hello\";\r\n"},{"version":"-18749805970-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n","signature":"1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n"},{"version":"-9253692965-declare const dts: any;\r\n","affectsGlobalScope":true}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/src/core/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"./anothermodule.ts",
"./index.ts",
"./some_decl.d.ts"
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./anothermodule.ts": {
"original": {
"version": "-2676574883-export const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"version": "-2676574883-export const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"./index.ts": {
"original": {
"version": "-18749805970-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n",
"signature": "1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n"
},
"version": "-18749805970-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n",
"signature": "1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n"
},
"./some_decl.d.ts": {
"original": {
"version": "-9253692965-declare const dts: any;\r\n",
"affectsGlobalScope": true
},
"version": "-9253692965-declare const dts: any;\r\n",
"signature": "-9253692965-declare const dts: any;\r\n",
"affectsGlobalScope": true
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"./anothermodule.ts",
"./index.ts",
"./some_decl.d.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1493
}
//// [/src/logic/index.d.ts]
export declare function getSecondsInDay(): number;
import * as mod from '../core/anotherModule';
export declare const m: typeof mod;
//// [/src/logic/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.m = exports.getSecondsInDay = void 0;
var c = require("../core/index");
function getSecondsInDay() {
return c.multiply(10, 15);
}
exports.getSecondsInDay = getSecondsInDay;
var mod = require("../core/anotherModule");
exports.m = mod;
//# sourceMappingURL=index.js.map
//// [/src/logic/index.js.map]
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAFD,0CAEC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"}
//// [/src/logic/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n","-8396256275-export declare const World = \"hello\";\r\n",{"version":"-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n","signature":"-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3],[3]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,2]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/src/logic/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"./index.ts"
],
"fileNamesList": [
[
"../core/index.d.ts",
"../core/anothermodule.d.ts"
],
[
"../core/anothermodule.d.ts"
]
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"../core/index.d.ts": {
"version": "1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n",
"signature": "1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n"
},
"../core/anothermodule.d.ts": {
"version": "-8396256275-export declare const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"./index.ts": {
"original": {
"version": "-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
},
"version": "-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"skipDefaultLibCheck": true,
"sourceMap": true
},
"referencedMap": {
"./index.ts": [
"../core/index.d.ts",
"../core/anothermodule.d.ts"
]
},
"exportedModulesMap": {
"./index.ts": [
"../core/anothermodule.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"../core/anothermodule.d.ts",
"../core/index.d.ts",
"./index.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1538
}
//// [/src/tests/index.d.ts]
import * as mod from '../core/anotherModule';
export declare const m: typeof mod;
//// [/src/tests/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.m = void 0;
var c = require("../core/index");
var logic = require("../logic/index");
c.leftPad("", 10);
logic.getSecondsInDay();
var mod = require("../core/anotherModule");
exports.m = mod;
//// [/src/tests/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n","-8396256275-export declare const World = \"hello\";\r\n","-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n",{"version":"12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n","signature":"-9209611-import * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"exportedModulesMap":[[4,1],[5,1]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/src/tests/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts",
"./index.ts"
],
"fileNamesList": [
[
"../core/anothermodule.d.ts"
],
[
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts"
]
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"../core/index.d.ts": {
"version": "1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n",
"signature": "1874987148-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\n"
},
"../core/anothermodule.d.ts": {
"version": "-8396256275-export declare const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"../logic/index.d.ts": {
"version": "-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n",
"signature": "-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
},
"./index.ts": {
"original": {
"version": "12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-9209611-import * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
},
"version": "12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-9209611-import * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"skipDefaultLibCheck": true
},
"referencedMap": {
"../logic/index.d.ts": [
"../core/anothermodule.d.ts"
],
"./index.ts": [
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts"
]
},
"exportedModulesMap": {
"../logic/index.d.ts": [
"../core/anothermodule.d.ts"
],
"./index.ts": [
"../core/anothermodule.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"../core/anothermodule.d.ts",
"../core/index.d.ts",
"../logic/index.d.ts",
"./index.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1685
}
Change:: incremental-declaration-changes
Input::
//// [/src/core/index.ts]
export const someString: string = "HELLO WORLD";
export function leftPad(s: string, n: number) { return s + n; }
export function multiply(a: number, b: number) { return a * b; }
export class someClass { }
Output::
/lib/tsc --b /src/tests
exitCode:: ExitStatus.Success
Program root files: ["/src/core/anotherModule.ts","/src/core/index.ts","/src/core/some_decl.d.ts"]
Program options: {"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true,"cacheResolutions":true,"configFilePath":"/src/core/tsconfig.json"}
Program structureReused: Not
Program files::
/lib/lib.d.ts
/src/core/anotherModule.ts
/src/core/index.ts
/src/core/some_decl.d.ts
Semantic diagnostics in builder refreshed for::
/src/core/index.ts
Shape signatures in builder refreshed for::
/src/core/index.ts (computed .d.ts)
Program root files: ["/src/logic/index.ts"]
Program options: {"composite":true,"declaration":true,"sourceMap":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"cacheResolutions":true,"configFilePath":"/src/logic/tsconfig.json"}
Program structureReused: Not
Program files::
/lib/lib.d.ts
/src/core/index.d.ts
/src/core/anotherModule.d.ts
/src/logic/index.ts
Semantic diagnostics in builder refreshed for::
/src/core/index.d.ts
/src/logic/index.ts
Shape signatures in builder refreshed for::
/src/core/index.d.ts (used version)
/src/logic/index.ts (computed .d.ts)
Program root files: ["/src/tests/index.ts"]
Program options: {"composite":true,"declaration":true,"forceConsistentCasingInFileNames":true,"skipDefaultLibCheck":true,"cacheResolutions":true,"configFilePath":"/src/tests/tsconfig.json"}
Program structureReused: Not
Program files::
/lib/lib.d.ts
/src/core/index.d.ts
/src/core/anotherModule.d.ts
/src/logic/index.d.ts
/src/tests/index.ts
Semantic diagnostics in builder refreshed for::
/src/core/index.d.ts
/src/tests/index.ts
Shape signatures in builder refreshed for::
/src/core/index.d.ts (used version)
/src/tests/index.ts (computed .d.ts)
//// [/src/core/index.d.ts]
export declare const someString: string;
export declare function leftPad(s: string, n: number): string;
export declare function multiply(a: number, b: number): number;
export declare class someClass {
}
//# sourceMappingURL=index.d.ts.map
//// [/src/core/index.d.ts.map]
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAsB,CAAC;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAEhE,qBAAa,SAAS;CAAI"}
//// [/src/core/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.someClass = exports.multiply = exports.leftPad = exports.someString = void 0;
exports.someString = "HELLO WORLD";
function leftPad(s, n) { return s + n; }
exports.leftPad = leftPad;
function multiply(a, b) { return a * b; }
exports.multiply = multiply;
var someClass = /** @class */ (function () {
function someClass() {
}
return someClass;
}());
exports.someClass = someClass;
//// [/src/core/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-2676574883-export const World = \"hello\";\r\n","signature":"-8396256275-export declare const World = \"hello\";\r\n"},{"version":"-13387000654-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n\nexport class someClass { }","signature":"-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n"},{"version":"-9253692965-declare const dts: any;\r\n","affectsGlobalScope":true}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/src/core/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"./anothermodule.ts",
"./index.ts",
"./some_decl.d.ts"
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./anothermodule.ts": {
"original": {
"version": "-2676574883-export const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"version": "-2676574883-export const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"./index.ts": {
"original": {
"version": "-13387000654-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n\nexport class someClass { }",
"signature": "-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n"
},
"version": "-13387000654-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n\nexport class someClass { }",
"signature": "-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n"
},
"./some_decl.d.ts": {
"original": {
"version": "-9253692965-declare const dts: any;\r\n",
"affectsGlobalScope": true
},
"version": "-9253692965-declare const dts: any;\r\n",
"signature": "-9253692965-declare const dts: any;\r\n",
"affectsGlobalScope": true
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"./anothermodule.ts",
"./index.ts",
"./some_decl.d.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1564
}
//// [/src/logic/index.js] file written with same contents
//// [/src/logic/index.js.map] file written with same contents
//// [/src/logic/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n","-8396256275-export declare const World = \"hello\";\r\n",{"version":"-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n","signature":"-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3],[3]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,2]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/src/logic/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"./index.ts"
],
"fileNamesList": [
[
"../core/index.d.ts",
"../core/anothermodule.d.ts"
],
[
"../core/anothermodule.d.ts"
]
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"../core/index.d.ts": {
"version": "-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n",
"signature": "-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n"
},
"../core/anothermodule.d.ts": {
"version": "-8396256275-export declare const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"./index.ts": {
"original": {
"version": "-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
},
"version": "-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"skipDefaultLibCheck": true,
"sourceMap": true
},
"referencedMap": {
"./index.ts": [
"../core/index.d.ts",
"../core/anothermodule.d.ts"
]
},
"exportedModulesMap": {
"./index.ts": [
"../core/anothermodule.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"../core/anothermodule.d.ts",
"../core/index.d.ts",
"./index.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1581
}
//// [/src/tests/index.js] file written with same contents
//// [/src/tests/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n","-8396256275-export declare const World = \"hello\";\r\n","-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n",{"version":"12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n","signature":"-9209611-import * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"exportedModulesMap":[[4,1],[5,1]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/src/tests/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts",
"./index.ts"
],
"fileNamesList": [
[
"../core/anothermodule.d.ts"
],
[
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts"
]
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"../core/index.d.ts": {
"version": "-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n",
"signature": "-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n"
},
"../core/anothermodule.d.ts": {
"version": "-8396256275-export declare const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"../logic/index.d.ts": {
"version": "-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n",
"signature": "-6548680073-export declare function getSecondsInDay(): number;\r\nimport * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
},
"./index.ts": {
"original": {
"version": "12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-9209611-import * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
},
"version": "12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-9209611-import * as mod from '../core/anotherModule';\r\nexport declare const m: typeof mod;\r\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"skipDefaultLibCheck": true
},
"referencedMap": {
"../logic/index.d.ts": [
"../core/anothermodule.d.ts"
],
"./index.ts": [
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts"
]
},
"exportedModulesMap": {
"../logic/index.d.ts": [
"../core/anothermodule.d.ts"
],
"./index.ts": [
"../core/anothermodule.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"../core/anothermodule.d.ts",
"../core/index.d.ts",
"../logic/index.d.ts",
"./index.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1728
}
Change:: incremental-declaration-doesnt-change
Input::
//// [/src/core/index.ts]
export const someString: string = "HELLO WORLD";
export function leftPad(s: string, n: number) { return s + n; }
export function multiply(a: number, b: number) { return a * b; }
export class someClass { }
class someClass2 { }
Output::
/lib/tsc --b /src/tests
exitCode:: ExitStatus.Success
Program root files: ["/src/core/anotherModule.ts","/src/core/index.ts","/src/core/some_decl.d.ts"]
Program options: {"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true,"cacheResolutions":true,"configFilePath":"/src/core/tsconfig.json"}
Program structureReused: Not
Program files::
/lib/lib.d.ts
/src/core/anotherModule.ts
/src/core/index.ts
/src/core/some_decl.d.ts
Semantic diagnostics in builder refreshed for::
/src/core/index.ts
Shape signatures in builder refreshed for::
/src/core/index.ts (computed .d.ts)
//// [/src/core/index.d.ts.map] file written with same contents
//// [/src/core/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.someClass = exports.multiply = exports.leftPad = exports.someString = void 0;
exports.someString = "HELLO WORLD";
function leftPad(s, n) { return s + n; }
exports.leftPad = leftPad;
function multiply(a, b) { return a * b; }
exports.multiply = multiply;
var someClass = /** @class */ (function () {
function someClass() {
}
return someClass;
}());
exports.someClass = someClass;
var someClass2 = /** @class */ (function () {
function someClass2() {
}
return someClass2;
}());
//// [/src/core/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-2676574883-export const World = \"hello\";\r\n","signature":"-8396256275-export declare const World = \"hello\";\r\n"},{"version":"-11293323834-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n\nexport class someClass { }\nclass someClass2 { }","signature":"-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n"},{"version":"-9253692965-declare const dts: any;\r\n","affectsGlobalScope":true}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/src/core/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"./anothermodule.ts",
"./index.ts",
"./some_decl.d.ts"
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./anothermodule.ts": {
"original": {
"version": "-2676574883-export const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"version": "-2676574883-export const World = \"hello\";\r\n",
"signature": "-8396256275-export declare const World = \"hello\";\r\n"
},
"./index.ts": {
"original": {
"version": "-11293323834-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n\nexport class someClass { }\nclass someClass2 { }",
"signature": "-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n"
},
"version": "-11293323834-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n\nexport class someClass { }\nclass someClass2 { }",
"signature": "-14636110300-export declare const someString: string;\r\nexport declare function leftPad(s: string, n: number): string;\r\nexport declare function multiply(a: number, b: number): number;\r\nexport declare class someClass {\r\n}\r\n"
},
"./some_decl.d.ts": {
"original": {
"version": "-9253692965-declare const dts: any;\r\n",
"affectsGlobalScope": true
},
"version": "-9253692965-declare const dts: any;\r\n",
"signature": "-9253692965-declare const dts: any;\r\n",
"affectsGlobalScope": true
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"./anothermodule.ts",
"./index.ts",
"./some_decl.d.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1586
}
//// [/src/logic/tsconfig.tsbuildinfo] file changed its modified time
//// [/src/tests/tsconfig.tsbuildinfo] file changed its modified time
Change:: no-change-run
Input::
Output::
/lib/tsc --b /src/tests
exitCode:: ExitStatus.Success
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,473 @@
Input::
//// [/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/src/project/index.ts]
import * as me from "@this/package";
me.thing()
export function thing(): void {}
//// [/src/project/index2.ts]
export function thing(): void {}
//// [/src/project/package.json]
{"name":"@this/package","type":"module","exports":{".":{"default":"./dist/index.js","types":"./types/index.d.ts"}}}
//// [/src/project/randomFileForImport.ts]
export const x = 10;
//// [/src/project/tsconfig.json]
{"compilerOptions":{"moduleResolution":"nodenext","outDir":"./dist","declaration":true,"declarationDir":"./types","cacheResolutions":true,"traceResolution":true}}
Output::
/lib/tsc -p /src/project --incremental --explainFiles
Found 'package.json' at '/src/project/package.json'.
======== Resolving module '@this/package' from '/src/project/index.ts'. ========
Explicitly specified module resolution kind: 'NodeNext'.
Resolving in ESM mode with conditions 'node', 'import', 'types'.
File '/src/project/package.json' exists according to earlier cached lookups.
Matched 'exports' condition 'default'.
Using 'exports' subpath '.' with target './dist/index.js'.
File '/src/project/index.ts' exist - use it as a name resolution result.
Resolving real path for '/src/project/index.ts', result '/src/project/index.ts'.
======== Module name '@this/package' was successfully resolved to '/src/project/index.ts'. ========
File '/src/project/package.json' exists according to earlier cached lookups.
File '/src/project/package.json' exists according to earlier cached lookups.
File '/lib/package.json' does not exist.
File '/package.json' does not exist.
error TS2209: The project root is ambiguous, but is required to resolve export map entry '.' in file '/src/project/package.json'. Supply the `rootDir` compiler option to disambiguate.
lib/lib.d.ts
Default library for target 'es5'
src/project/index.ts
Matched by default include pattern '**/*'
Imported via "@this/package" from file 'src/project/index.ts'
File is ECMAScript module because 'src/project/package.json' has field "type" with value "module"
src/project/index2.ts
Matched by default include pattern '**/*'
File is ECMAScript module because 'src/project/package.json' has field "type" with value "module"
src/project/randomFileForImport.ts
Matched by default include pattern '**/*'
File is ECMAScript module because 'src/project/package.json' has field "type" with value "module"
Found 1 error.
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
File: /src/project/index.ts
packageJsonScope:: {
"packageDirectory": "/src/project",
"contents": {
"packageJsonContent": {
"name": "@this/package",
"type": "module",
"exports": {
".": {
"default": "./dist/index.js",
"types": "./types/index.d.ts"
}
}
}
}
}
resolvedModules:
@this/package: esnext: {
"resolvedModule": {
"resolvedFileName": "/src/project/index.ts",
"extension": ".ts",
"isExternalLibraryImport": true
},
"affectingLocations": [
"/src/project/package.json"
],
"resolutionDiagnostics": [
{
"messageText": "The project root is ambiguous, but is required to resolve export map entry '.' in file '/src/project/package.json'. Supply the `rootDir` compiler option to disambiguate.",
"category": 1,
"code": 2209
}
]
}
File: /src/project/index2.ts
packageJsonScope:: {
"packageDirectory": "/src/project",
"contents": {
"packageJsonContent": {
"name": "@this/package",
"type": "module",
"exports": {
".": {
"default": "./dist/index.js",
"types": "./types/index.d.ts"
}
}
}
}
}
File: /src/project/randomFileForImport.ts
packageJsonScope:: {
"packageDirectory": "/src/project",
"contents": {
"packageJsonContent": {
"name": "@this/package",
"type": "module",
"exports": {
".": {
"default": "./dist/index.js",
"types": "./types/index.d.ts"
}
}
}
}
}
//// [/src/project/dist/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.thing = void 0;
var me = require("@this/package");
me.thing();
function thing() { }
exports.thing = thing;
//// [/src/project/dist/index2.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.thing = void 0;
function thing() { }
exports.thing = thing;
//// [/src/project/dist/randomFileForImport.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.x = void 0;
exports.x = 10;
//// [/src/project/dist/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../../lib/lib.d.ts","../index.ts","../index2.ts","../randomfileforimport.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5618920854-import * as me from \"@this/package\";\nme.thing()\nexport function thing(): void {}\n","signature":"-4018078458-export declare function thing(): void;\r\n","impliedFormat":99},{"version":"5871974342-export function thing(): void {}\n","signature":"-4018078458-export declare function thing(): void;\r\n","impliedFormat":99},{"version":"-10726455937-export const x = 10;","signature":"-6057683066-export declare const x = 10;\r\n","impliedFormat":99}],"options":{"cacheResolutions":true,"declaration":true,"declarationDir":"../types","outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[2,1]],"exportedModulesMap":[]},"version":"FakeTSVersion"}
//// [/src/project/dist/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../../lib/lib.d.ts",
"../index.ts",
"../index2.ts",
"../randomfileforimport.ts"
],
"fileNamesList": [
[
"../index.ts"
]
],
"fileInfos": {
"../../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true,
"impliedFormat": 1
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true,
"impliedFormat": "commonjs"
},
"../index.ts": {
"original": {
"version": "5618920854-import * as me from \"@this/package\";\nme.thing()\nexport function thing(): void {}\n",
"signature": "-4018078458-export declare function thing(): void;\r\n",
"impliedFormat": 99
},
"version": "5618920854-import * as me from \"@this/package\";\nme.thing()\nexport function thing(): void {}\n",
"signature": "-4018078458-export declare function thing(): void;\r\n",
"impliedFormat": "esnext"
},
"../index2.ts": {
"original": {
"version": "5871974342-export function thing(): void {}\n",
"signature": "-4018078458-export declare function thing(): void;\r\n",
"impliedFormat": 99
},
"version": "5871974342-export function thing(): void {}\n",
"signature": "-4018078458-export declare function thing(): void;\r\n",
"impliedFormat": "esnext"
},
"../randomfileforimport.ts": {
"original": {
"version": "-10726455937-export const x = 10;",
"signature": "-6057683066-export declare const x = 10;\r\n",
"impliedFormat": 99
},
"version": "-10726455937-export const x = 10;",
"signature": "-6057683066-export declare const x = 10;\r\n",
"impliedFormat": "esnext"
}
},
"options": {
"cacheResolutions": true,
"declaration": true,
"declarationDir": "../types",
"outDir": "./"
},
"referencedMap": {
"../index.ts": [
"../index.ts"
]
},
"exportedModulesMap": {}
},
"version": "FakeTSVersion",
"size": 1284
}
//// [/src/project/types/index.d.ts]
export declare function thing(): void;
//// [/src/project/types/index2.d.ts]
export declare function thing(): void;
//// [/src/project/types/randomFileForImport.d.ts]
export declare const x = 10;
Change:: modify randomFileForImport by adding import
Input::
//// [/src/project/randomFileForImport.ts]
import * as me from "@this/package";
export const x = 10;
Output::
/lib/tsc -p /src/project --incremental --explainFiles
Found 'package.json' at '/src/project/package.json'.
======== Resolving module '@this/package' from '/src/project/index.ts'. ========
Explicitly specified module resolution kind: 'NodeNext'.
Resolving in ESM mode with conditions 'node', 'import', 'types'.
File '/src/project/package.json' exists according to earlier cached lookups.
Matched 'exports' condition 'default'.
Using 'exports' subpath '.' with target './dist/index.js'.
File '/src/project/index.ts' exist - use it as a name resolution result.
Resolving real path for '/src/project/index.ts', result '/src/project/index.ts'.
======== Module name '@this/package' was successfully resolved to '/src/project/index.ts'. ========
File '/src/project/package.json' exists according to earlier cached lookups.
File '/src/project/package.json' exists according to earlier cached lookups.
======== Resolving module '@this/package' from '/src/project/randomFileForImport.ts'. ========
Resolution for module '@this/package' was found in cache from location '/src/project'.
======== Module name '@this/package' was successfully resolved to '/src/project/index.ts'. ========
File '/lib/package.json' does not exist.
File '/package.json' does not exist.
error TS2209: The project root is ambiguous, but is required to resolve export map entry '.' in file '/src/project/package.json'. Supply the `rootDir` compiler option to disambiguate.
lib/lib.d.ts
Default library for target 'es5'
src/project/index.ts
Matched by default include pattern '**/*'
Imported via "@this/package" from file 'src/project/index.ts'
Imported via "@this/package" from file 'src/project/randomFileForImport.ts'
File is ECMAScript module because 'src/project/package.json' has field "type" with value "module"
src/project/index2.ts
Matched by default include pattern '**/*'
File is ECMAScript module because 'src/project/package.json' has field "type" with value "module"
src/project/randomFileForImport.ts
Matched by default include pattern '**/*'
File is ECMAScript module because 'src/project/package.json' has field "type" with value "module"
Found 1 error.
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
File: /src/project/index.ts
packageJsonScope:: {
"packageDirectory": "/src/project",
"contents": {
"packageJsonContent": {
"name": "@this/package",
"type": "module",
"exports": {
".": {
"default": "./dist/index.js",
"types": "./types/index.d.ts"
}
}
}
}
}
resolvedModules:
@this/package: esnext: {
"resolvedModule": {
"resolvedFileName": "/src/project/index.ts",
"extension": ".ts",
"isExternalLibraryImport": true
},
"affectingLocations": [
"/src/project/package.json"
],
"resolutionDiagnostics": [
{
"messageText": "The project root is ambiguous, but is required to resolve export map entry '.' in file '/src/project/package.json'. Supply the `rootDir` compiler option to disambiguate.",
"category": 1,
"code": 2209
}
]
}
File: /src/project/index2.ts
packageJsonScope:: {
"packageDirectory": "/src/project",
"contents": {
"packageJsonContent": {
"name": "@this/package",
"type": "module",
"exports": {
".": {
"default": "./dist/index.js",
"types": "./types/index.d.ts"
}
}
}
}
}
File: /src/project/randomFileForImport.ts
packageJsonScope:: {
"packageDirectory": "/src/project",
"contents": {
"packageJsonContent": {
"name": "@this/package",
"type": "module",
"exports": {
".": {
"default": "./dist/index.js",
"types": "./types/index.d.ts"
}
}
}
}
}
resolvedModules:
@this/package: esnext: {
"resolvedModule": {
"resolvedFileName": "/src/project/index.ts",
"extension": ".ts",
"isExternalLibraryImport": true
},
"affectingLocations": [
"/src/project/package.json"
],
"resolutionDiagnostics": [
{
"messageText": "The project root is ambiguous, but is required to resolve export map entry '.' in file '/src/project/package.json'. Supply the `rootDir` compiler option to disambiguate.",
"category": 1,
"code": 2209
}
]
}
//// [/src/project/dist/randomFileForImport.js] file written with same contents
//// [/src/project/dist/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../../lib/lib.d.ts","../index.ts","../index2.ts","../randomfileforimport.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5618920854-import * as me from \"@this/package\";\nme.thing()\nexport function thing(): void {}\n","signature":"-4018078458-export declare function thing(): void;\r\n","impliedFormat":99},{"version":"5871974342-export function thing(): void {}\n","signature":"-4018078458-export declare function thing(): void;\r\n","impliedFormat":99},{"version":"4314805146-import * as me from \"@this/package\";\nexport const x = 10;","signature":"-6057683066-export declare const x = 10;\r\n","impliedFormat":99}],"options":{"cacheResolutions":true,"declaration":true,"declarationDir":"../types","outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[2,1],[4,1]],"exportedModulesMap":[]},"version":"FakeTSVersion"}
//// [/src/project/dist/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../../lib/lib.d.ts",
"../index.ts",
"../index2.ts",
"../randomfileforimport.ts"
],
"fileNamesList": [
[
"../index.ts"
]
],
"fileInfos": {
"../../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true,
"impliedFormat": 1
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true,
"impliedFormat": "commonjs"
},
"../index.ts": {
"original": {
"version": "5618920854-import * as me from \"@this/package\";\nme.thing()\nexport function thing(): void {}\n",
"signature": "-4018078458-export declare function thing(): void;\r\n",
"impliedFormat": 99
},
"version": "5618920854-import * as me from \"@this/package\";\nme.thing()\nexport function thing(): void {}\n",
"signature": "-4018078458-export declare function thing(): void;\r\n",
"impliedFormat": "esnext"
},
"../index2.ts": {
"original": {
"version": "5871974342-export function thing(): void {}\n",
"signature": "-4018078458-export declare function thing(): void;\r\n",
"impliedFormat": 99
},
"version": "5871974342-export function thing(): void {}\n",
"signature": "-4018078458-export declare function thing(): void;\r\n",
"impliedFormat": "esnext"
},
"../randomfileforimport.ts": {
"original": {
"version": "4314805146-import * as me from \"@this/package\";\nexport const x = 10;",
"signature": "-6057683066-export declare const x = 10;\r\n",
"impliedFormat": 99
},
"version": "4314805146-import * as me from \"@this/package\";\nexport const x = 10;",
"signature": "-6057683066-export declare const x = 10;\r\n",
"impliedFormat": "esnext"
}
},
"options": {
"cacheResolutions": true,
"declaration": true,
"declarationDir": "../types",
"outDir": "./"
},
"referencedMap": {
"../index.ts": [
"../index.ts"
],
"../randomfileforimport.ts": [
"../index.ts"
]
},
"exportedModulesMap": {}
},
"version": "FakeTSVersion",
"size": 1328
}
//// [/src/project/types/randomFileForImport.d.ts] file written with same contents
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,315 @@
Input::
//// [/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
interface ReadonlyArray<T> {}
declare const console: { log(msg: any): void; };
//// [/src/project/lib/pkg0/index.d.ts]
export interface ImportInterface0 {}
//// [/src/project/main.ts]
import type { ImportInterface0 } from "pkg0";
//// [/src/project/randomFileForImport.ts]
export const x = 10;
//// [/src/project/tsconfig.json]
{"compilerOptions":{"paths":{"*":["./lib/*"]},"composite":true,"cacheResolutions":true,"traceResolution":true},"files":["main.ts","randomFileForImport.ts"]}
Output::
/lib/tsc -p /src/project --explainFiles
======== Resolving module 'pkg0' from '/src/project/main.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
'paths' option is specified, looking for a pattern to match module name 'pkg0'.
Module name 'pkg0', matched pattern '*'.
Trying substitution './lib/*', candidate module location: './lib/pkg0'.
Loading module as file / folder, candidate module location '/src/project/lib/pkg0', target file types: TypeScript, Declaration.
File '/src/project/lib/pkg0.ts' does not exist.
File '/src/project/lib/pkg0.tsx' does not exist.
File '/src/project/lib/pkg0.d.ts' does not exist.
File '/src/project/lib/pkg0/package.json' does not exist.
File '/src/project/lib/pkg0/index.ts' does not exist.
File '/src/project/lib/pkg0/index.tsx' does not exist.
File '/src/project/lib/pkg0/index.d.ts' exist - use it as a name resolution result.
======== Module name 'pkg0' was successfully resolved to '/src/project/lib/pkg0/index.d.ts'. ========
lib/lib.d.ts
Default library for target 'es5'
src/project/lib/pkg0/index.d.ts
Imported via "pkg0" from file 'src/project/main.ts'
src/project/main.ts
Part of 'files' list in tsconfig.json
src/project/randomFileForImport.ts
Part of 'files' list in tsconfig.json
exitCode:: ExitStatus.Success
File: /src/project/main.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/lib/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": false
},
"failedLookupLocations": [
"/src/project/lib/pkg0.ts",
"/src/project/lib/pkg0.tsx",
"/src/project/lib/pkg0.d.ts",
"/src/project/lib/pkg0/package.json",
"/src/project/lib/pkg0/index.ts",
"/src/project/lib/pkg0/index.tsx"
]
}
//// [/src/project/main.d.ts]
export {};
//// [/src/project/main.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//// [/src/project/randomFileForImport.d.ts]
export declare const x = 10;
//// [/src/project/randomFileForImport.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.x = void 0;
exports.x = 10;
//// [/src/project/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","./lib/pkg0/index.d.ts","./main.ts","./randomfileforimport.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"769951468-export interface ImportInterface0 {}",{"version":"7372004325-import type { ImportInterface0 } from \"pkg0\";\n","signature":"-4882119183-export {};\r\n"},{"version":"-10726455937-export const x = 10;","signature":"-6057683066-export declare const x = 10;\r\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./randomFileForImport.d.ts"},"version":"FakeTSVersion"}
//// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"fileNamesList": [
[
"./lib/pkg0/index.d.ts"
]
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./lib/pkg0/index.d.ts": {
"version": "769951468-export interface ImportInterface0 {}",
"signature": "769951468-export interface ImportInterface0 {}"
},
"./main.ts": {
"original": {
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-4882119183-export {};\r\n"
},
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-4882119183-export {};\r\n"
},
"./randomfileforimport.ts": {
"original": {
"version": "-10726455937-export const x = 10;",
"signature": "-6057683066-export declare const x = 10;\r\n"
},
"version": "-10726455937-export const x = 10;",
"signature": "-6057683066-export declare const x = 10;\r\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./main.ts": [
"./lib/pkg0/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"latestChangedDtsFile": "./randomFileForImport.d.ts"
},
"version": "FakeTSVersion",
"size": 1114
}
Change:: modify randomFileForImport by adding import
Input::
//// [/src/project/randomFileForImport.ts]
import type { ImportInterface0 } from "pkg0";
export const x = 10;
Output::
/lib/tsc -p /src/project --explainFiles
======== Resolving module 'pkg0' from '/src/project/main.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
'paths' option is specified, looking for a pattern to match module name 'pkg0'.
Module name 'pkg0', matched pattern '*'.
Trying substitution './lib/*', candidate module location: './lib/pkg0'.
Loading module as file / folder, candidate module location '/src/project/lib/pkg0', target file types: TypeScript, Declaration.
File '/src/project/lib/pkg0.ts' does not exist.
File '/src/project/lib/pkg0.tsx' does not exist.
File '/src/project/lib/pkg0.d.ts' does not exist.
File '/src/project/lib/pkg0/package.json' does not exist.
File '/src/project/lib/pkg0/index.ts' does not exist.
File '/src/project/lib/pkg0/index.tsx' does not exist.
File '/src/project/lib/pkg0/index.d.ts' exist - use it as a name resolution result.
======== Module name 'pkg0' was successfully resolved to '/src/project/lib/pkg0/index.d.ts'. ========
======== Resolving module 'pkg0' from '/src/project/randomFileForImport.ts'. ========
Resolution for module 'pkg0' was found in cache from location '/src/project'.
======== Module name 'pkg0' was successfully resolved to '/src/project/lib/pkg0/index.d.ts'. ========
lib/lib.d.ts
Default library for target 'es5'
src/project/lib/pkg0/index.d.ts
Imported via "pkg0" from file 'src/project/main.ts'
Imported via "pkg0" from file 'src/project/randomFileForImport.ts'
src/project/main.ts
Part of 'files' list in tsconfig.json
src/project/randomFileForImport.ts
Part of 'files' list in tsconfig.json
exitCode:: ExitStatus.Success
File: /src/project/main.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/lib/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": false
},
"failedLookupLocations": [
"/src/project/lib/pkg0.ts",
"/src/project/lib/pkg0.tsx",
"/src/project/lib/pkg0.d.ts",
"/src/project/lib/pkg0/package.json",
"/src/project/lib/pkg0/index.ts",
"/src/project/lib/pkg0/index.tsx"
]
}
File: /src/project/randomFileForImport.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/lib/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": false
},
"failedLookupLocations": [
"/src/project/lib/pkg0.ts",
"/src/project/lib/pkg0.tsx",
"/src/project/lib/pkg0.d.ts",
"/src/project/lib/pkg0/package.json",
"/src/project/lib/pkg0/index.ts",
"/src/project/lib/pkg0/index.tsx"
]
}
//// [/src/project/randomFileForImport.js] file written with same contents
//// [/src/project/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../lib/lib.d.ts","./lib/pkg0/index.d.ts","./main.ts","./randomfileforimport.ts"],"fileInfos":[{"version":"3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"769951468-export interface ImportInterface0 {}",{"version":"7372004325-import type { ImportInterface0 } from \"pkg0\";\n","signature":"-4882119183-export {};\r\n"},{"version":"10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;","signature":"-6057683066-export declare const x = 10;\r\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1],[4,1]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./randomFileForImport.d.ts"},"version":"FakeTSVersion"}
//// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"fileNamesList": [
[
"./lib/pkg0/index.d.ts"
]
],
"fileInfos": {
"../../lib/lib.d.ts": {
"original": {
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"signature": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
"affectsGlobalScope": true
},
"./lib/pkg0/index.d.ts": {
"version": "769951468-export interface ImportInterface0 {}",
"signature": "769951468-export interface ImportInterface0 {}"
},
"./main.ts": {
"original": {
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-4882119183-export {};\r\n"
},
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-4882119183-export {};\r\n"
},
"./randomfileforimport.ts": {
"original": {
"version": "10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;",
"signature": "-6057683066-export declare const x = 10;\r\n"
},
"version": "10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;",
"signature": "-6057683066-export declare const x = 10;\r\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./main.ts": [
"./lib/pkg0/index.d.ts"
],
"./randomfileforimport.ts": [
"./lib/pkg0/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"latestChangedDtsFile": "./randomFileForImport.d.ts"
},
"version": "FakeTSVersion",
"size": 1168
}
@@ -0,0 +1,191 @@
Input::
//// [/src/project/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true,"preserveSymlinks":false},"files":["main.ts","randomFileForImport.ts"]}
//// [/src/project/main.ts]
import type { ImportInterface0 } from "pkg0";
//// [/src/project/randomFileForImport.ts]
export const x = 10;
//// [/src/project/lib/pkg0/index.d.ts]
export interface ImportInterface0 {}
//// [/src/project/node_modules/pkg0/index.d.ts] symlink(/src/project/lib/pkg0/index.d.ts)
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
/a/lib/tsc.js -p /src/project --explainFiles
Output::
======== Resolving module 'pkg0' from '/src/project/main.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module 'pkg0' from 'node_modules' folder, target file types: TypeScript, Declaration.
File '/src/project/node_modules/pkg0/package.json' does not exist.
File '/src/project/node_modules/pkg0.ts' does not exist.
File '/src/project/node_modules/pkg0.tsx' does not exist.
File '/src/project/node_modules/pkg0.d.ts' does not exist.
File '/src/project/node_modules/pkg0/index.ts' does not exist.
File '/src/project/node_modules/pkg0/index.tsx' does not exist.
File '/src/project/node_modules/pkg0/index.d.ts' exist - use it as a name resolution result.
Resolving real path for '/src/project/node_modules/pkg0/index.d.ts', result '/src/project/lib/pkg0/index.d.ts'.
======== Module name 'pkg0' was successfully resolved to '/src/project/lib/pkg0/index.d.ts'. ========
a/lib/lib.d.ts
Default library for target 'es5'
src/project/lib/pkg0/index.d.ts
Imported via "pkg0" from file 'src/project/main.ts'
src/project/main.ts
Part of 'files' list in tsconfig.json
src/project/randomFileForImport.ts
Part of 'files' list in tsconfig.json
Program root files: ["/src/project/main.ts","/src/project/randomFileForImport.ts"]
Program options: {"composite":true,"cacheResolutions":true,"traceResolution":true,"preserveSymlinks":false,"project":"/src/project","explainFiles":true,"configFilePath":"/src/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/src/project/lib/pkg0/index.d.ts
/src/project/main.ts
/src/project/randomFileForImport.ts
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/src/project/lib/pkg0/index.d.ts
/src/project/main.ts
/src/project/randomFileForImport.ts
Shape signatures in builder refreshed for::
/a/lib/lib.d.ts (used version)
/src/project/lib/pkg0/index.d.ts (used version)
/src/project/main.ts (computed .d.ts during emit)
/src/project/randomfileforimport.ts (computed .d.ts during emit)
File: /src/project/main.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/lib/pkg0/index.d.ts",
"originalPath": "/src/project/node_modules/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": true
},
"failedLookupLocations": [
"/src/project/node_modules/pkg0/package.json",
"/src/project/node_modules/pkg0.ts",
"/src/project/node_modules/pkg0.tsx",
"/src/project/node_modules/pkg0.d.ts",
"/src/project/node_modules/pkg0/index.ts",
"/src/project/node_modules/pkg0/index.tsx"
]
}
PolledWatches::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.Success
//// [/src/project/main.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//// [/src/project/main.d.ts]
export {};
//// [/src/project/randomFileForImport.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.x = void 0;
exports.x = 10;
//// [/src/project/randomFileForImport.d.ts]
export declare const x = 10;
//// [/src/project/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../a/lib/lib.d.ts","./lib/pkg0/index.d.ts","./main.ts","./randomfileforimport.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"769951468-export interface ImportInterface0 {}",{"version":"7372004325-import type { ImportInterface0 } from \"pkg0\";\n","signature":"-3531856636-export {};\n"},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./randomFileForImport.d.ts"},"version":"FakeTSVersion"}
//// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../a/lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"fileNamesList": [
[
"./lib/pkg0/index.d.ts"
]
],
"fileInfos": {
"../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"./lib/pkg0/index.d.ts": {
"version": "769951468-export interface ImportInterface0 {}",
"signature": "769951468-export interface ImportInterface0 {}"
},
"./main.ts": {
"original": {
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"./randomfileforimport.ts": {
"original": {
"version": "-10726455937-export const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
},
"version": "-10726455937-export const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./main.ts": [
"./lib/pkg0/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../a/lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"latestChangedDtsFile": "./randomFileForImport.d.ts"
},
"version": "FakeTSVersion",
"size": 1032
}
@@ -0,0 +1,189 @@
Input::
//// [/src/project/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true,"preserveSymlinks":true},"files":["main.ts","randomFileForImport.ts"]}
//// [/src/project/main.ts]
import type { ImportInterface0 } from "pkg0";
//// [/src/project/randomFileForImport.ts]
export const x = 10;
//// [/src/project/lib/pkg0/index.d.ts]
export interface ImportInterface0 {}
//// [/src/project/node_modules/pkg0/index.d.ts] symlink(/src/project/lib/pkg0/index.d.ts)
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
/a/lib/tsc.js -p /src/project --explainFiles
Output::
======== Resolving module 'pkg0' from '/src/project/main.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module 'pkg0' from 'node_modules' folder, target file types: TypeScript, Declaration.
File '/src/project/node_modules/pkg0/package.json' does not exist.
File '/src/project/node_modules/pkg0.ts' does not exist.
File '/src/project/node_modules/pkg0.tsx' does not exist.
File '/src/project/node_modules/pkg0.d.ts' does not exist.
File '/src/project/node_modules/pkg0/index.ts' does not exist.
File '/src/project/node_modules/pkg0/index.tsx' does not exist.
File '/src/project/node_modules/pkg0/index.d.ts' exist - use it as a name resolution result.
======== Module name 'pkg0' was successfully resolved to '/src/project/node_modules/pkg0/index.d.ts'. ========
a/lib/lib.d.ts
Default library for target 'es5'
src/project/node_modules/pkg0/index.d.ts
Imported via "pkg0" from file 'src/project/main.ts'
src/project/main.ts
Part of 'files' list in tsconfig.json
src/project/randomFileForImport.ts
Part of 'files' list in tsconfig.json
Program root files: ["/src/project/main.ts","/src/project/randomFileForImport.ts"]
Program options: {"composite":true,"cacheResolutions":true,"traceResolution":true,"preserveSymlinks":true,"project":"/src/project","explainFiles":true,"configFilePath":"/src/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/src/project/node_modules/pkg0/index.d.ts
/src/project/main.ts
/src/project/randomFileForImport.ts
Semantic diagnostics in builder refreshed for::
/a/lib/lib.d.ts
/src/project/node_modules/pkg0/index.d.ts
/src/project/main.ts
/src/project/randomFileForImport.ts
Shape signatures in builder refreshed for::
/a/lib/lib.d.ts (used version)
/src/project/node_modules/pkg0/index.d.ts (used version)
/src/project/main.ts (computed .d.ts during emit)
/src/project/randomfileforimport.ts (computed .d.ts during emit)
File: /src/project/main.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/node_modules/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": true
},
"failedLookupLocations": [
"/src/project/node_modules/pkg0/package.json",
"/src/project/node_modules/pkg0.ts",
"/src/project/node_modules/pkg0.tsx",
"/src/project/node_modules/pkg0.d.ts",
"/src/project/node_modules/pkg0/index.ts",
"/src/project/node_modules/pkg0/index.tsx"
]
}
PolledWatches::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.Success
//// [/src/project/main.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//// [/src/project/main.d.ts]
export {};
//// [/src/project/randomFileForImport.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.x = void 0;
exports.x = 10;
//// [/src/project/randomFileForImport.d.ts]
export declare const x = 10;
//// [/src/project/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../a/lib/lib.d.ts","./node_modules/pkg0/index.d.ts","./main.ts","./randomfileforimport.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"769951468-export interface ImportInterface0 {}",{"version":"7372004325-import type { ImportInterface0 } from \"pkg0\";\n","signature":"-3531856636-export {};\n"},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./randomFileForImport.d.ts"},"version":"FakeTSVersion"}
//// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../a/lib/lib.d.ts",
"./node_modules/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"fileNamesList": [
[
"./node_modules/pkg0/index.d.ts"
]
],
"fileInfos": {
"../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"./node_modules/pkg0/index.d.ts": {
"version": "769951468-export interface ImportInterface0 {}",
"signature": "769951468-export interface ImportInterface0 {}"
},
"./main.ts": {
"original": {
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"./randomfileforimport.ts": {
"original": {
"version": "-10726455937-export const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
},
"version": "-10726455937-export const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./main.ts": [
"./node_modules/pkg0/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../a/lib/lib.d.ts",
"./main.ts",
"./node_modules/pkg0/index.d.ts",
"./randomfileforimport.ts"
],
"latestChangedDtsFile": "./randomFileForImport.d.ts"
},
"version": "FakeTSVersion",
"size": 1041
}
@@ -0,0 +1,280 @@
Input::
//// [/src/project/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true,"preserveSymlinks":true},"files":["main.ts","randomFileForImport.ts"]}
//// [/src/project/main.ts]
import type { ImportInterface0 } from "pkg0";
//// [/src/project/randomFileForImport.ts]
import type { ImportInterface0 } from "pkg0";
export const x = 10;
//// [/src/project/lib/pkg0/index.d.ts]
export interface ImportInterface0 {}
//// [/src/project/node_modules/pkg0/index.d.ts] symlink(/src/project/lib/pkg0/index.d.ts)
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
//// [/src/project/main.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//// [/src/project/main.d.ts]
export {};
//// [/src/project/randomFileForImport.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.x = void 0;
exports.x = 10;
//// [/src/project/randomFileForImport.d.ts]
export declare const x = 10;
//// [/src/project/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../a/lib/lib.d.ts","./node_modules/pkg0/index.d.ts","./main.ts","./randomfileforimport.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"769951468-export interface ImportInterface0 {}",{"version":"7372004325-import type { ImportInterface0 } from \"pkg0\";\n","signature":"-3531856636-export {};\n"},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./randomFileForImport.d.ts"},"version":"FakeTSVersion"}
//// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../a/lib/lib.d.ts",
"./node_modules/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"fileNamesList": [
[
"./node_modules/pkg0/index.d.ts"
]
],
"fileInfos": {
"../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"./node_modules/pkg0/index.d.ts": {
"version": "769951468-export interface ImportInterface0 {}",
"signature": "769951468-export interface ImportInterface0 {}"
},
"./main.ts": {
"original": {
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"./randomfileforimport.ts": {
"original": {
"version": "-10726455937-export const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
},
"version": "-10726455937-export const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./main.ts": [
"./node_modules/pkg0/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../a/lib/lib.d.ts",
"./main.ts",
"./node_modules/pkg0/index.d.ts",
"./randomfileforimport.ts"
],
"latestChangedDtsFile": "./randomFileForImport.d.ts"
},
"version": "FakeTSVersion",
"size": 1041
}
/a/lib/tsc.js -p /src/project --explainFiles
Output::
======== Resolving module 'pkg0' from '/src/project/main.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module 'pkg0' from 'node_modules' folder, target file types: TypeScript, Declaration.
File '/src/project/node_modules/pkg0/package.json' does not exist.
File '/src/project/node_modules/pkg0.ts' does not exist.
File '/src/project/node_modules/pkg0.tsx' does not exist.
File '/src/project/node_modules/pkg0.d.ts' does not exist.
File '/src/project/node_modules/pkg0/index.ts' does not exist.
File '/src/project/node_modules/pkg0/index.tsx' does not exist.
File '/src/project/node_modules/pkg0/index.d.ts' exist - use it as a name resolution result.
======== Module name 'pkg0' was successfully resolved to '/src/project/node_modules/pkg0/index.d.ts'. ========
======== Resolving module 'pkg0' from '/src/project/randomFileForImport.ts'. ========
Resolution for module 'pkg0' was found in cache from location '/src/project'.
======== Module name 'pkg0' was successfully resolved to '/src/project/node_modules/pkg0/index.d.ts'. ========
a/lib/lib.d.ts
Default library for target 'es5'
src/project/node_modules/pkg0/index.d.ts
Imported via "pkg0" from file 'src/project/main.ts'
Imported via "pkg0" from file 'src/project/randomFileForImport.ts'
src/project/main.ts
Part of 'files' list in tsconfig.json
src/project/randomFileForImport.ts
Part of 'files' list in tsconfig.json
Program root files: ["/src/project/main.ts","/src/project/randomFileForImport.ts"]
Program options: {"composite":true,"cacheResolutions":true,"traceResolution":true,"preserveSymlinks":true,"project":"/src/project","explainFiles":true,"configFilePath":"/src/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/src/project/node_modules/pkg0/index.d.ts
/src/project/main.ts
/src/project/randomFileForImport.ts
Semantic diagnostics in builder refreshed for::
/src/project/randomFileForImport.ts
Shape signatures in builder refreshed for::
/src/project/randomfileforimport.ts (computed .d.ts)
File: /src/project/main.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/node_modules/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": true
},
"failedLookupLocations": [
"/src/project/node_modules/pkg0/package.json",
"/src/project/node_modules/pkg0.ts",
"/src/project/node_modules/pkg0.tsx",
"/src/project/node_modules/pkg0.d.ts",
"/src/project/node_modules/pkg0/index.ts",
"/src/project/node_modules/pkg0/index.tsx"
]
}
File: /src/project/randomFileForImport.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/node_modules/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": true
},
"failedLookupLocations": [
"/src/project/node_modules/pkg0/package.json",
"/src/project/node_modules/pkg0.ts",
"/src/project/node_modules/pkg0.tsx",
"/src/project/node_modules/pkg0.d.ts",
"/src/project/node_modules/pkg0/index.ts",
"/src/project/node_modules/pkg0/index.tsx"
]
}
PolledWatches::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.Success
//// [/src/project/randomFileForImport.js] file written with same contents
//// [/src/project/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../a/lib/lib.d.ts","./node_modules/pkg0/index.d.ts","./main.ts","./randomfileforimport.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"769951468-export interface ImportInterface0 {}",{"version":"7372004325-import type { ImportInterface0 } from \"pkg0\";\n","signature":"-3531856636-export {};\n"},{"version":"10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;","signature":"-6821242887-export declare const x = 10;\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1],[4,1]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./randomFileForImport.d.ts"},"version":"FakeTSVersion"}
//// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../a/lib/lib.d.ts",
"./node_modules/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"fileNamesList": [
[
"./node_modules/pkg0/index.d.ts"
]
],
"fileInfos": {
"../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"./node_modules/pkg0/index.d.ts": {
"version": "769951468-export interface ImportInterface0 {}",
"signature": "769951468-export interface ImportInterface0 {}"
},
"./main.ts": {
"original": {
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"./randomfileforimport.ts": {
"original": {
"version": "10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
},
"version": "10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./main.ts": [
"./node_modules/pkg0/index.d.ts"
],
"./randomfileforimport.ts": [
"./node_modules/pkg0/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../a/lib/lib.d.ts",
"./main.ts",
"./node_modules/pkg0/index.d.ts",
"./randomfileforimport.ts"
],
"latestChangedDtsFile": "./randomFileForImport.d.ts"
},
"version": "FakeTSVersion",
"size": 1095
}
@@ -0,0 +1,283 @@
Input::
//// [/src/project/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true,"preserveSymlinks":false},"files":["main.ts","randomFileForImport.ts"]}
//// [/src/project/main.ts]
import type { ImportInterface0 } from "pkg0";
//// [/src/project/randomFileForImport.ts]
import type { ImportInterface0 } from "pkg0";
export const x = 10;
//// [/src/project/lib/pkg0/index.d.ts]
export interface ImportInterface0 {}
//// [/src/project/node_modules/pkg0/index.d.ts] symlink(/src/project/lib/pkg0/index.d.ts)
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
//// [/src/project/main.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//// [/src/project/main.d.ts]
export {};
//// [/src/project/randomFileForImport.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.x = void 0;
exports.x = 10;
//// [/src/project/randomFileForImport.d.ts]
export declare const x = 10;
//// [/src/project/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../a/lib/lib.d.ts","./lib/pkg0/index.d.ts","./main.ts","./randomfileforimport.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"769951468-export interface ImportInterface0 {}",{"version":"7372004325-import type { ImportInterface0 } from \"pkg0\";\n","signature":"-3531856636-export {};\n"},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./randomFileForImport.d.ts"},"version":"FakeTSVersion"}
//// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../a/lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"fileNamesList": [
[
"./lib/pkg0/index.d.ts"
]
],
"fileInfos": {
"../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"./lib/pkg0/index.d.ts": {
"version": "769951468-export interface ImportInterface0 {}",
"signature": "769951468-export interface ImportInterface0 {}"
},
"./main.ts": {
"original": {
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"./randomfileforimport.ts": {
"original": {
"version": "-10726455937-export const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
},
"version": "-10726455937-export const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./main.ts": [
"./lib/pkg0/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../a/lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"latestChangedDtsFile": "./randomFileForImport.d.ts"
},
"version": "FakeTSVersion",
"size": 1032
}
/a/lib/tsc.js -p /src/project --explainFiles
Output::
======== Resolving module 'pkg0' from '/src/project/main.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module 'pkg0' from 'node_modules' folder, target file types: TypeScript, Declaration.
File '/src/project/node_modules/pkg0/package.json' does not exist.
File '/src/project/node_modules/pkg0.ts' does not exist.
File '/src/project/node_modules/pkg0.tsx' does not exist.
File '/src/project/node_modules/pkg0.d.ts' does not exist.
File '/src/project/node_modules/pkg0/index.ts' does not exist.
File '/src/project/node_modules/pkg0/index.tsx' does not exist.
File '/src/project/node_modules/pkg0/index.d.ts' exist - use it as a name resolution result.
Resolving real path for '/src/project/node_modules/pkg0/index.d.ts', result '/src/project/lib/pkg0/index.d.ts'.
======== Module name 'pkg0' was successfully resolved to '/src/project/lib/pkg0/index.d.ts'. ========
======== Resolving module 'pkg0' from '/src/project/randomFileForImport.ts'. ========
Resolution for module 'pkg0' was found in cache from location '/src/project'.
======== Module name 'pkg0' was successfully resolved to '/src/project/lib/pkg0/index.d.ts'. ========
a/lib/lib.d.ts
Default library for target 'es5'
src/project/lib/pkg0/index.d.ts
Imported via "pkg0" from file 'src/project/main.ts'
Imported via "pkg0" from file 'src/project/randomFileForImport.ts'
src/project/main.ts
Part of 'files' list in tsconfig.json
src/project/randomFileForImport.ts
Part of 'files' list in tsconfig.json
Program root files: ["/src/project/main.ts","/src/project/randomFileForImport.ts"]
Program options: {"composite":true,"cacheResolutions":true,"traceResolution":true,"preserveSymlinks":false,"project":"/src/project","explainFiles":true,"configFilePath":"/src/project/tsconfig.json"}
Program structureReused: Not
Program files::
/a/lib/lib.d.ts
/src/project/lib/pkg0/index.d.ts
/src/project/main.ts
/src/project/randomFileForImport.ts
Semantic diagnostics in builder refreshed for::
/src/project/randomFileForImport.ts
Shape signatures in builder refreshed for::
/src/project/randomfileforimport.ts (computed .d.ts)
File: /src/project/main.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/lib/pkg0/index.d.ts",
"originalPath": "/src/project/node_modules/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": true
},
"failedLookupLocations": [
"/src/project/node_modules/pkg0/package.json",
"/src/project/node_modules/pkg0.ts",
"/src/project/node_modules/pkg0.tsx",
"/src/project/node_modules/pkg0.d.ts",
"/src/project/node_modules/pkg0/index.ts",
"/src/project/node_modules/pkg0/index.tsx"
]
}
File: /src/project/randomFileForImport.ts
resolvedModules:
pkg0: {
"resolvedModule": {
"resolvedFileName": "/src/project/lib/pkg0/index.d.ts",
"originalPath": "/src/project/node_modules/pkg0/index.d.ts",
"extension": ".d.ts",
"isExternalLibraryImport": true
},
"failedLookupLocations": [
"/src/project/node_modules/pkg0/package.json",
"/src/project/node_modules/pkg0.ts",
"/src/project/node_modules/pkg0.tsx",
"/src/project/node_modules/pkg0.d.ts",
"/src/project/node_modules/pkg0/index.ts",
"/src/project/node_modules/pkg0/index.tsx"
]
}
PolledWatches::
FsWatches::
FsWatchesRecursive::
exitCode:: ExitStatus.Success
//// [/src/project/randomFileForImport.js] file written with same contents
//// [/src/project/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../a/lib/lib.d.ts","./lib/pkg0/index.d.ts","./main.ts","./randomfileforimport.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"769951468-export interface ImportInterface0 {}",{"version":"7372004325-import type { ImportInterface0 } from \"pkg0\";\n","signature":"-3531856636-export {};\n"},{"version":"10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;","signature":"-6821242887-export declare const x = 10;\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1],[4,1]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./randomFileForImport.d.ts"},"version":"FakeTSVersion"}
//// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../a/lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"fileNamesList": [
[
"./lib/pkg0/index.d.ts"
]
],
"fileInfos": {
"../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"./lib/pkg0/index.d.ts": {
"version": "769951468-export interface ImportInterface0 {}",
"signature": "769951468-export interface ImportInterface0 {}"
},
"./main.ts": {
"original": {
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"version": "7372004325-import type { ImportInterface0 } from \"pkg0\";\n",
"signature": "-3531856636-export {};\n"
},
"./randomfileforimport.ts": {
"original": {
"version": "10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
},
"version": "10580737119-import type { ImportInterface0 } from \"pkg0\";\nexport const x = 10;",
"signature": "-6821242887-export declare const x = 10;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./main.ts": [
"./lib/pkg0/index.d.ts"
],
"./randomfileforimport.ts": [
"./lib/pkg0/index.d.ts"
]
},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../a/lib/lib.d.ts",
"./lib/pkg0/index.d.ts",
"./main.ts",
"./randomfileforimport.ts"
],
"latestChangedDtsFile": "./randomFileForImport.d.ts"
},
"version": "FakeTSVersion",
"size": 1086
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,247 @@
Info 0 [00:00:39.000] Provided types map file "/a/lib/typesMap.json" doesn't exist
Info 1 [00:00:40.000] request:
{
"command": "open",
"arguments": {
"file": "/user/username/projects/sample1/tests/index.ts"
},
"seq": 1,
"type": "request"
}
Before request
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
//// [/user/username/projects/sample1/core/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true}}
//// [/user/username/projects/sample1/core/index.ts]
export function bar() { return 10; }
//// [/user/username/projects/sample1/core/myClass.ts]
export class myClass { }
//// [/user/username/projects/sample1/core/anotherClass.ts]
export class anotherClass { }
//// [/user/username/projects/sample1/logic/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true},"references":[{"path":"../core"}]}
//// [/user/username/projects/sample1/logic/index.ts]
import { myClass } from "../core/myClass";
import { bar } from "../core";
import { anotherClass } from "../core/anotherClass";
export function returnMyClass() {
bar();
return new myClass();
}
export function returnAnotherClass() {
return new anotherClass();
}
//// [/user/username/projects/sample1/tests/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true},"references":[{"path":"../logic"}]}
//// [/user/username/projects/sample1/tests/index.ts]
import { returnMyClass } from "../logic";
returnMyClass();
PolledWatches::
FsWatches::
FsWatchesRecursive::
Info 2 [00:00:41.000] Search path: /user/username/projects/sample1/tests
Info 3 [00:00:42.000] For info: /user/username/projects/sample1/tests/index.ts :: Config file name: /user/username/projects/sample1/tests/tsconfig.json
Info 4 [00:00:43.000] Creating configuration project /user/username/projects/sample1/tests/tsconfig.json
Info 5 [00:00:44.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 6 [00:00:45.000] Config: /user/username/projects/sample1/tests/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/tests/index.ts"
],
"options": {
"composite": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/tests/tsconfig.json"
},
"projectReferences": [
{
"path": "/user/username/projects/sample1/logic",
"originalPath": "../logic"
}
]
}
Info 7 [00:00:46.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests 1 undefined Config: /user/username/projects/sample1/tests/tsconfig.json WatchType: Wild card directory
Info 8 [00:00:47.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests 1 undefined Config: /user/username/projects/sample1/tests/tsconfig.json WatchType: Wild card directory
Info 9 [00:00:48.000] Starting updateGraphWorker: Project: /user/username/projects/sample1/tests/tsconfig.json
Info 10 [00:00:49.000] Config: /user/username/projects/sample1/logic/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/logic/index.ts"
],
"options": {
"composite": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/logic/tsconfig.json"
},
"projectReferences": [
{
"path": "/user/username/projects/sample1/core",
"originalPath": "../core"
}
]
}
Info 11 [00:00:50.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 12 [00:00:51.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Config: /user/username/projects/sample1/logic/tsconfig.json WatchType: Wild card directory
Info 13 [00:00:52.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Config: /user/username/projects/sample1/logic/tsconfig.json WatchType: Wild card directory
Info 14 [00:00:53.000] Config: /user/username/projects/sample1/core/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/core/anotherClass.ts",
"/user/username/projects/sample1/core/index.ts",
"/user/username/projects/sample1/core/myClass.ts"
],
"options": {
"composite": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/core/tsconfig.json"
}
}
Info 15 [00:00:54.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 16 [00:00:55.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Config: /user/username/projects/sample1/core/tsconfig.json WatchType: Wild card directory
Info 17 [00:00:56.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Config: /user/username/projects/sample1/core/tsconfig.json WatchType: Wild card directory
Info 18 [00:00:57.000] ======== Resolving module '../logic' from '/user/username/projects/sample1/tests/index.ts'. ========
Info 19 [00:00:58.000] Module resolution kind is not specified, using 'NodeJs'.
Info 20 [00:00:59.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/logic', target file types: TypeScript, Declaration.
Info 21 [00:01:00.000] File '/user/username/projects/sample1/logic.ts' does not exist.
Info 22 [00:01:01.000] File '/user/username/projects/sample1/logic.tsx' does not exist.
Info 23 [00:01:02.000] File '/user/username/projects/sample1/logic.d.ts' does not exist.
Info 24 [00:01:03.000] File '/user/username/projects/sample1/logic/package.json' does not exist.
Info 25 [00:01:04.000] File '/user/username/projects/sample1/logic/index.ts' exist - use it as a name resolution result.
Info 26 [00:01:05.000] ======== Module name '../logic' was successfully resolved to '/user/username/projects/sample1/logic/index.ts'. ========
Info 27 [00:01:06.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1 0 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 28 [00:01:07.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1 0 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 29 [00:01:08.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 30 [00:01:09.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 31 [00:01:10.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic/index.ts 500 undefined WatchType: Closed Script info
Info 32 [00:01:11.000] ======== Resolving module '../core/myClass' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 33 [00:01:12.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 34 [00:01:13.000] Module resolution kind is not specified, using 'NodeJs'.
Info 35 [00:01:14.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/myClass', target file types: TypeScript, Declaration.
Info 36 [00:01:15.000] File '/user/username/projects/sample1/core/myClass.ts' exist - use it as a name resolution result.
Info 37 [00:01:16.000] ======== Module name '../core/myClass' was successfully resolved to '/user/username/projects/sample1/core/myClass.ts'. ========
Info 38 [00:01:17.000] ======== Resolving module '../core' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 39 [00:01:18.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 40 [00:01:19.000] Module resolution kind is not specified, using 'NodeJs'.
Info 41 [00:01:20.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core', target file types: TypeScript, Declaration.
Info 42 [00:01:21.000] File '/user/username/projects/sample1/core.ts' does not exist.
Info 43 [00:01:22.000] File '/user/username/projects/sample1/core.tsx' does not exist.
Info 44 [00:01:23.000] File '/user/username/projects/sample1/core.d.ts' does not exist.
Info 45 [00:01:24.000] File '/user/username/projects/sample1/core/package.json' does not exist.
Info 46 [00:01:25.000] File '/user/username/projects/sample1/core/index.ts' exist - use it as a name resolution result.
Info 47 [00:01:26.000] ======== Module name '../core' was successfully resolved to '/user/username/projects/sample1/core/index.ts'. ========
Info 48 [00:01:27.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 49 [00:01:28.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 50 [00:01:29.000] ======== Resolving module '../core/anotherClass' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 51 [00:01:30.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 52 [00:01:31.000] Module resolution kind is not specified, using 'NodeJs'.
Info 53 [00:01:32.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/anotherClass', target file types: TypeScript, Declaration.
Info 54 [00:01:33.000] File '/user/username/projects/sample1/core/anotherClass.ts' exist - use it as a name resolution result.
Info 55 [00:01:34.000] ======== Module name '../core/anotherClass' was successfully resolved to '/user/username/projects/sample1/core/anotherClass.ts'. ========
Info 56 [00:01:35.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/myClass.ts 500 undefined WatchType: Closed Script info
Info 57 [00:01:36.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/index.ts 500 undefined WatchType: Closed Script info
Info 58 [00:01:37.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/anotherClass.ts 500 undefined WatchType: Closed Script info
Info 59 [00:01:38.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
Info 60 [00:01:39.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 61 [00:01:40.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 62 [00:01:41.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 63 [00:01:42.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 64 [00:01:43.000] Finishing updateGraphWorker: Project: /user/username/projects/sample1/tests/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
Info 65 [00:01:44.000] Project '/user/username/projects/sample1/tests/tsconfig.json' (Configured)
Info 66 [00:01:45.000] Files (6)
/a/lib/lib.d.ts
/user/username/projects/sample1/core/myClass.ts
/user/username/projects/sample1/core/index.ts
/user/username/projects/sample1/core/anotherClass.ts
/user/username/projects/sample1/logic/index.ts
/user/username/projects/sample1/tests/index.ts
../../../../../a/lib/lib.d.ts
Default library for target 'es5'
../core/myClass.ts
Imported via "../core/myClass" from file '../logic/index.ts'
../core/index.ts
Imported via "../core" from file '../logic/index.ts'
../core/anotherClass.ts
Imported via "../core/anotherClass" from file '../logic/index.ts'
../logic/index.ts
Imported via "../logic" from file 'index.ts'
index.ts
Matched by default include pattern '**/*'
Info 67 [00:01:46.000] -----------------------------------------------
Info 68 [00:01:47.000] Search path: /user/username/projects/sample1/tests
Info 69 [00:01:48.000] For info: /user/username/projects/sample1/tests/tsconfig.json :: No config files found.
Info 70 [00:01:49.000] Project '/user/username/projects/sample1/tests/tsconfig.json' (Configured)
Info 70 [00:01:50.000] Files (6)
Info 70 [00:01:51.000] -----------------------------------------------
Info 70 [00:01:52.000] Open files:
Info 70 [00:01:53.000] FileName: /user/username/projects/sample1/tests/index.ts ProjectRootPath: undefined
Info 70 [00:01:54.000] Projects: /user/username/projects/sample1/tests/tsconfig.json
After request
PolledWatches::
/user/username/projects/sample1/tests/node_modules/@types:
{"pollingInterval":500}
/user/username/projects/sample1/node_modules/@types:
{"pollingInterval":500}
FsWatches::
/user/username/projects/sample1/tests/tsconfig.json:
{}
/user/username/projects/sample1/logic/tsconfig.json:
{}
/user/username/projects/sample1/core/tsconfig.json:
{}
/user/username/projects/sample1:
{}
/user/username/projects/sample1/logic/index.ts:
{}
/user/username/projects/sample1/core/myclass.ts:
{}
/user/username/projects/sample1/core/index.ts:
{}
/user/username/projects/sample1/core/anotherclass.ts:
{}
/a/lib/lib.d.ts:
{}
FsWatchesRecursive::
/user/username/projects/sample1/tests:
{}
/user/username/projects/sample1/logic:
{}
/user/username/projects/sample1/core:
{}
Info 70 [00:01:55.000] response:
{
"responseRequired": false
}
@@ -0,0 +1,564 @@
Info 0 [00:01:14.000] Provided types map file "/a/lib/typesMap.json" doesn't exist
Info 1 [00:01:15.000] request:
{
"command": "open",
"arguments": {
"file": "/user/username/projects/sample1/tests/index.ts"
},
"seq": 1,
"type": "request"
}
Before request
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
//// [/user/username/projects/sample1/core/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true}}
//// [/user/username/projects/sample1/core/index.ts]
export function bar() { return 10; }
//// [/user/username/projects/sample1/core/myClass.ts]
export class myClass { }
//// [/user/username/projects/sample1/core/anotherClass.ts]
export class anotherClass { }
//// [/user/username/projects/sample1/logic/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true},"references":[{"path":"../core"}]}
//// [/user/username/projects/sample1/logic/index.ts]
import { myClass } from "../core/myClass";
import { bar } from "../core";
import { anotherClass } from "../core/anotherClass";
export function returnMyClass() {
bar();
return new myClass();
}
export function returnAnotherClass() {
return new anotherClass();
}
//// [/user/username/projects/sample1/tests/tsconfig.json]
{"compilerOptions":{"composite":true,"cacheResolutions":true,"traceResolution":true},"references":[{"path":"../logic"}]}
//// [/user/username/projects/sample1/tests/index.ts]
import { returnMyClass } from "../logic";
returnMyClass();
//// [/user/username/projects/sample1/core/anotherClass.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.anotherClass = void 0;
var anotherClass = /** @class */ (function () {
function anotherClass() {
}
return anotherClass;
}());
exports.anotherClass = anotherClass;
//// [/user/username/projects/sample1/core/anotherClass.d.ts]
export declare class anotherClass {
}
//// [/user/username/projects/sample1/core/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.bar = void 0;
function bar() { return 10; }
exports.bar = bar;
//// [/user/username/projects/sample1/core/index.d.ts]
export declare function bar(): number;
//// [/user/username/projects/sample1/core/myClass.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.myClass = void 0;
var myClass = /** @class */ (function () {
function myClass() {
}
return myClass;
}());
exports.myClass = myClass;
//// [/user/username/projects/sample1/core/myClass.d.ts]
export declare class myClass {
}
//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anotherclass.ts","./index.ts","./myclass.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-6664885476-export class anotherClass { }","signature":"-6928009824-export declare class anotherClass {\n}\n"},{"version":"4120767815-export function bar() { return 10; }","signature":"-4193260373-export declare function bar(): number;\n"},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"options":{"cacheResolutions":true,"composite":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./myClass.d.ts"},"version":"FakeTSVersion"}
//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../../../../a/lib/lib.d.ts",
"./anotherclass.ts",
"./index.ts",
"./myclass.ts"
],
"fileInfos": {
"../../../../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"./anotherclass.ts": {
"original": {
"version": "-6664885476-export class anotherClass { }",
"signature": "-6928009824-export declare class anotherClass {\n}\n"
},
"version": "-6664885476-export class anotherClass { }",
"signature": "-6928009824-export declare class anotherClass {\n}\n"
},
"./index.ts": {
"original": {
"version": "4120767815-export function bar() { return 10; }",
"signature": "-4193260373-export declare function bar(): number;\n"
},
"version": "4120767815-export function bar() { return 10; }",
"signature": "-4193260373-export declare function bar(): number;\n"
},
"./myclass.ts": {
"original": {
"version": "-11785903855-export class myClass { }",
"signature": "-7432826827-export declare class myClass {\n}\n"
},
"version": "-11785903855-export class myClass { }",
"signature": "-7432826827-export declare class myClass {\n}\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../../../../a/lib/lib.d.ts",
"./anotherclass.ts",
"./index.ts",
"./myclass.ts"
],
"latestChangedDtsFile": "./myClass.d.ts"
},
"version": "FakeTSVersion",
"size": 1087
}
//// [/user/username/projects/sample1/logic/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.returnAnotherClass = exports.returnMyClass = void 0;
var myClass_1 = require("../core/myClass");
var core_1 = require("../core");
var anotherClass_1 = require("../core/anotherClass");
function returnMyClass() {
(0, core_1.bar)();
return new myClass_1.myClass();
}
exports.returnMyClass = returnMyClass;
function returnAnotherClass() {
return new anotherClass_1.anotherClass();
}
exports.returnAnotherClass = returnAnotherClass;
//// [/user/username/projects/sample1/logic/index.d.ts]
import { myClass } from "../core/myClass";
import { anotherClass } from "../core/anotherClass";
export declare function returnMyClass(): myClass;
export declare function returnAnotherClass(): anotherClass;
//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/myclass.d.ts","../core/index.d.ts","../core/anotherclass.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7432826827-export declare class myClass {\n}\n","-4193260373-export declare function bar(): number;\n","-6928009824-export declare class anotherClass {\n}\n",{"version":"-9720705499-import { myClass } from \"../core/myClass\";\nimport { bar } from \"../core\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport function returnMyClass() {\n bar();\n return new myClass();\n}\nexport function returnAnotherClass() {\n return new anotherClass();\n}\n","signature":"-26318514585-import { myClass } from \"../core/myClass\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport declare function returnMyClass(): myClass;\nexport declare function returnAnotherClass(): anotherClass;\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2,3,4],[2,4]],"referencedMap":[[5,1]],"exportedModulesMap":[[5,2]],"semanticDiagnosticsPerFile":[1,4,3,2,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../../../../a/lib/lib.d.ts",
"../core/myclass.d.ts",
"../core/index.d.ts",
"../core/anotherclass.d.ts",
"./index.ts"
],
"fileNamesList": [
[
"../core/myclass.d.ts",
"../core/index.d.ts",
"../core/anotherclass.d.ts"
],
[
"../core/myclass.d.ts",
"../core/anotherclass.d.ts"
]
],
"fileInfos": {
"../../../../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"../core/myclass.d.ts": {
"version": "-7432826827-export declare class myClass {\n}\n",
"signature": "-7432826827-export declare class myClass {\n}\n"
},
"../core/index.d.ts": {
"version": "-4193260373-export declare function bar(): number;\n",
"signature": "-4193260373-export declare function bar(): number;\n"
},
"../core/anotherclass.d.ts": {
"version": "-6928009824-export declare class anotherClass {\n}\n",
"signature": "-6928009824-export declare class anotherClass {\n}\n"
},
"./index.ts": {
"original": {
"version": "-9720705499-import { myClass } from \"../core/myClass\";\nimport { bar } from \"../core\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport function returnMyClass() {\n bar();\n return new myClass();\n}\nexport function returnAnotherClass() {\n return new anotherClass();\n}\n",
"signature": "-26318514585-import { myClass } from \"../core/myClass\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport declare function returnMyClass(): myClass;\nexport declare function returnAnotherClass(): anotherClass;\n"
},
"version": "-9720705499-import { myClass } from \"../core/myClass\";\nimport { bar } from \"../core\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport function returnMyClass() {\n bar();\n return new myClass();\n}\nexport function returnAnotherClass() {\n return new anotherClass();\n}\n",
"signature": "-26318514585-import { myClass } from \"../core/myClass\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport declare function returnMyClass(): myClass;\nexport declare function returnAnotherClass(): anotherClass;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"./index.ts": [
"../core/myclass.d.ts",
"../core/index.d.ts",
"../core/anotherclass.d.ts"
]
},
"exportedModulesMap": {
"./index.ts": [
"../core/myclass.d.ts",
"../core/anotherclass.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../../../../a/lib/lib.d.ts",
"../core/anotherclass.d.ts",
"../core/index.d.ts",
"../core/myclass.d.ts",
"./index.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1515
}
//// [/user/username/projects/sample1/tests/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var logic_1 = require("../logic");
(0, logic_1.returnMyClass)();
//// [/user/username/projects/sample1/tests/index.d.ts]
export {};
//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/myclass.d.ts","../core/anotherclass.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7432826827-export declare class myClass {\n}\n","-6928009824-export declare class anotherClass {\n}\n","-26318514585-import { myClass } from \"../core/myClass\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport declare function returnMyClass(): myClass;\nexport declare function returnAnotherClass(): anotherClass;\n",{"version":"-1418876836-import { returnMyClass } from \"../logic\";\nreturnMyClass();\n","signature":"-3531856636-export {};\n"}],"options":{"cacheResolutions":true,"composite":true},"fileIdsList":[[2,3],[4]],"referencedMap":[[4,1],[5,2]],"exportedModulesMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../../../../a/lib/lib.d.ts",
"../core/myclass.d.ts",
"../core/anotherclass.d.ts",
"../logic/index.d.ts",
"./index.ts"
],
"fileNamesList": [
[
"../core/myclass.d.ts",
"../core/anotherclass.d.ts"
],
[
"../logic/index.d.ts"
]
],
"fileInfos": {
"../../../../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"../core/myclass.d.ts": {
"version": "-7432826827-export declare class myClass {\n}\n",
"signature": "-7432826827-export declare class myClass {\n}\n"
},
"../core/anotherclass.d.ts": {
"version": "-6928009824-export declare class anotherClass {\n}\n",
"signature": "-6928009824-export declare class anotherClass {\n}\n"
},
"../logic/index.d.ts": {
"version": "-26318514585-import { myClass } from \"../core/myClass\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport declare function returnMyClass(): myClass;\nexport declare function returnAnotherClass(): anotherClass;\n",
"signature": "-26318514585-import { myClass } from \"../core/myClass\";\nimport { anotherClass } from \"../core/anotherClass\";\nexport declare function returnMyClass(): myClass;\nexport declare function returnAnotherClass(): anotherClass;\n"
},
"./index.ts": {
"original": {
"version": "-1418876836-import { returnMyClass } from \"../logic\";\nreturnMyClass();\n",
"signature": "-3531856636-export {};\n"
},
"version": "-1418876836-import { returnMyClass } from \"../logic\";\nreturnMyClass();\n",
"signature": "-3531856636-export {};\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true
},
"referencedMap": {
"../logic/index.d.ts": [
"../core/myclass.d.ts",
"../core/anotherclass.d.ts"
],
"./index.ts": [
"../logic/index.d.ts"
]
},
"exportedModulesMap": {
"../logic/index.d.ts": [
"../core/myclass.d.ts",
"../core/anotherclass.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../../../../a/lib/lib.d.ts",
"../core/anotherclass.d.ts",
"../core/myclass.d.ts",
"../logic/index.d.ts",
"./index.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1265
}
PolledWatches::
FsWatches::
FsWatchesRecursive::
Info 2 [00:01:16.000] Search path: /user/username/projects/sample1/tests
Info 3 [00:01:17.000] For info: /user/username/projects/sample1/tests/index.ts :: Config file name: /user/username/projects/sample1/tests/tsconfig.json
Info 4 [00:01:18.000] Creating configuration project /user/username/projects/sample1/tests/tsconfig.json
Info 5 [00:01:19.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 6 [00:01:20.000] Config: /user/username/projects/sample1/tests/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/tests/index.ts"
],
"options": {
"composite": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/tests/tsconfig.json"
},
"projectReferences": [
{
"path": "/user/username/projects/sample1/logic",
"originalPath": "../logic"
}
]
}
Info 7 [00:01:21.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests 1 undefined Config: /user/username/projects/sample1/tests/tsconfig.json WatchType: Wild card directory
Info 8 [00:01:22.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests 1 undefined Config: /user/username/projects/sample1/tests/tsconfig.json WatchType: Wild card directory
Info 9 [00:01:23.000] Starting updateGraphWorker: Project: /user/username/projects/sample1/tests/tsconfig.json
Info 10 [00:01:24.000] Config: /user/username/projects/sample1/logic/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/logic/index.ts"
],
"options": {
"composite": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/logic/tsconfig.json"
},
"projectReferences": [
{
"path": "/user/username/projects/sample1/core",
"originalPath": "../core"
}
]
}
Info 11 [00:01:25.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 12 [00:01:26.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Config: /user/username/projects/sample1/logic/tsconfig.json WatchType: Wild card directory
Info 13 [00:01:27.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Config: /user/username/projects/sample1/logic/tsconfig.json WatchType: Wild card directory
Info 14 [00:01:28.000] Config: /user/username/projects/sample1/core/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/core/anotherClass.ts",
"/user/username/projects/sample1/core/index.ts",
"/user/username/projects/sample1/core/myClass.ts"
],
"options": {
"composite": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/core/tsconfig.json"
}
}
Info 15 [00:01:29.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 16 [00:01:30.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Config: /user/username/projects/sample1/core/tsconfig.json WatchType: Wild card directory
Info 17 [00:01:31.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Config: /user/username/projects/sample1/core/tsconfig.json WatchType: Wild card directory
Info 18 [00:01:32.000] ======== Resolving module '../logic' from '/user/username/projects/sample1/tests/index.ts'. ========
Info 19 [00:01:33.000] Module resolution kind is not specified, using 'NodeJs'.
Info 20 [00:01:34.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/logic', target file types: TypeScript, Declaration.
Info 21 [00:01:35.000] File '/user/username/projects/sample1/logic.ts' does not exist.
Info 22 [00:01:36.000] File '/user/username/projects/sample1/logic.tsx' does not exist.
Info 23 [00:01:37.000] File '/user/username/projects/sample1/logic.d.ts' does not exist.
Info 24 [00:01:38.000] File '/user/username/projects/sample1/logic/package.json' does not exist.
Info 25 [00:01:39.000] File '/user/username/projects/sample1/logic/index.ts' exist - use it as a name resolution result.
Info 26 [00:01:40.000] ======== Module name '../logic' was successfully resolved to '/user/username/projects/sample1/logic/index.ts'. ========
Info 27 [00:01:41.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1 0 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 28 [00:01:42.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1 0 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 29 [00:01:43.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 30 [00:01:44.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 31 [00:01:45.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic/index.ts 500 undefined WatchType: Closed Script info
Info 32 [00:01:46.000] ======== Resolving module '../core/myClass' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 33 [00:01:47.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 34 [00:01:48.000] Module resolution kind is not specified, using 'NodeJs'.
Info 35 [00:01:49.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/myClass', target file types: TypeScript, Declaration.
Info 36 [00:01:50.000] File '/user/username/projects/sample1/core/myClass.ts' exist - use it as a name resolution result.
Info 37 [00:01:51.000] ======== Module name '../core/myClass' was successfully resolved to '/user/username/projects/sample1/core/myClass.ts'. ========
Info 38 [00:01:52.000] ======== Resolving module '../core' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 39 [00:01:53.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 40 [00:01:54.000] Module resolution kind is not specified, using 'NodeJs'.
Info 41 [00:01:55.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core', target file types: TypeScript, Declaration.
Info 42 [00:01:56.000] File '/user/username/projects/sample1/core.ts' does not exist.
Info 43 [00:01:57.000] File '/user/username/projects/sample1/core.tsx' does not exist.
Info 44 [00:01:58.000] File '/user/username/projects/sample1/core.d.ts' does not exist.
Info 45 [00:01:59.000] File '/user/username/projects/sample1/core/package.json' does not exist.
Info 46 [00:02:00.000] File '/user/username/projects/sample1/core/index.ts' exist - use it as a name resolution result.
Info 47 [00:02:01.000] ======== Module name '../core' was successfully resolved to '/user/username/projects/sample1/core/index.ts'. ========
Info 48 [00:02:02.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 49 [00:02:03.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Failed Lookup Locations
Info 50 [00:02:04.000] ======== Resolving module '../core/anotherClass' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 51 [00:02:05.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 52 [00:02:06.000] Module resolution kind is not specified, using 'NodeJs'.
Info 53 [00:02:07.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/anotherClass', target file types: TypeScript, Declaration.
Info 54 [00:02:08.000] File '/user/username/projects/sample1/core/anotherClass.ts' exist - use it as a name resolution result.
Info 55 [00:02:09.000] ======== Module name '../core/anotherClass' was successfully resolved to '/user/username/projects/sample1/core/anotherClass.ts'. ========
Info 56 [00:02:10.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/myClass.ts 500 undefined WatchType: Closed Script info
Info 57 [00:02:11.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/index.ts 500 undefined WatchType: Closed Script info
Info 58 [00:02:12.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/anotherClass.ts 500 undefined WatchType: Closed Script info
Info 59 [00:02:13.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
Info 60 [00:02:14.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 61 [00:02:15.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 62 [00:02:16.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 63 [00:02:17.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 64 [00:02:18.000] Finishing updateGraphWorker: Project: /user/username/projects/sample1/tests/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
Info 65 [00:02:19.000] Project '/user/username/projects/sample1/tests/tsconfig.json' (Configured)
Info 66 [00:02:20.000] Files (6)
/a/lib/lib.d.ts
/user/username/projects/sample1/core/myClass.ts
/user/username/projects/sample1/core/index.ts
/user/username/projects/sample1/core/anotherClass.ts
/user/username/projects/sample1/logic/index.ts
/user/username/projects/sample1/tests/index.ts
../../../../../a/lib/lib.d.ts
Default library for target 'es5'
../core/myClass.ts
Imported via "../core/myClass" from file '../logic/index.ts'
../core/index.ts
Imported via "../core" from file '../logic/index.ts'
../core/anotherClass.ts
Imported via "../core/anotherClass" from file '../logic/index.ts'
../logic/index.ts
Imported via "../logic" from file 'index.ts'
index.ts
Matched by default include pattern '**/*'
Info 67 [00:02:21.000] -----------------------------------------------
Info 68 [00:02:22.000] Search path: /user/username/projects/sample1/tests
Info 69 [00:02:23.000] For info: /user/username/projects/sample1/tests/tsconfig.json :: No config files found.
Info 70 [00:02:24.000] Project '/user/username/projects/sample1/tests/tsconfig.json' (Configured)
Info 70 [00:02:25.000] Files (6)
Info 70 [00:02:26.000] -----------------------------------------------
Info 70 [00:02:27.000] Open files:
Info 70 [00:02:28.000] FileName: /user/username/projects/sample1/tests/index.ts ProjectRootPath: undefined
Info 70 [00:02:29.000] Projects: /user/username/projects/sample1/tests/tsconfig.json
After request
PolledWatches::
/user/username/projects/sample1/tests/node_modules/@types:
{"pollingInterval":500}
/user/username/projects/sample1/node_modules/@types:
{"pollingInterval":500}
FsWatches::
/user/username/projects/sample1/tests/tsconfig.json:
{}
/user/username/projects/sample1/logic/tsconfig.json:
{}
/user/username/projects/sample1/core/tsconfig.json:
{}
/user/username/projects/sample1:
{}
/user/username/projects/sample1/logic/index.ts:
{}
/user/username/projects/sample1/core/myclass.ts:
{}
/user/username/projects/sample1/core/index.ts:
{}
/user/username/projects/sample1/core/anotherclass.ts:
{}
/a/lib/lib.d.ts:
{}
FsWatchesRecursive::
/user/username/projects/sample1/tests:
{}
/user/username/projects/sample1/logic:
{}
/user/username/projects/sample1/core:
{}
Info 70 [00:02:30.000] response:
{
"responseRequired": false
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,292 @@
Info 0 [00:00:39.000] Provided types map file "/a/lib/typesMap.json" doesn't exist
Info 1 [00:00:40.000] request:
{
"command": "open",
"arguments": {
"file": "/user/username/projects/sample1/tests/index.ts"
},
"seq": 1,
"type": "request"
}
Before request
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
//// [/user/username/projects/sample1/core/tsconfig.json]
{
"compilerOptions": {
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true
}
}
//// [/user/username/projects/sample1/core/index.ts]
export const someString: string = "HELLO WORLD";
export function leftPad(s: string, n: number) { return s + n; }
export function multiply(a: number, b: number) { return a * b; }
//// [/user/username/projects/sample1/core/anotherModule.ts]
export const World = "hello";
//// [/user/username/projects/sample1/core/some_decl.d.ts]
declare const dts: any;
//// [/user/username/projects/sample1/logic/tsconfig.json]
{
"compilerOptions": {
"composite": true,
"declaration": true,
"sourceMap": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true
},
"references": [
{
"path": "../core"
}
]
}
//// [/user/username/projects/sample1/logic/index.ts]
import * as c from '../core/index';
export function getSecondsInDay() {
return c.multiply(10, 15);
}
import * as mod from '../core/anotherModule';
export const m = mod;
//// [/user/username/projects/sample1/tests/tsconfig.json]
{
"references": [
{
"path": "../core"
},
{
"path": "../logic"
}
],
"files": [
"index.ts"
],
"compilerOptions": {
"composite": true,
"declaration": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true
}
}
//// [/user/username/projects/sample1/tests/index.ts]
import * as c from '../core/index';
import * as logic from '../logic/index';
c.leftPad("", 10);
logic.getSecondsInDay();
import * as mod from '../core/anotherModule';
export const m = mod;
PolledWatches::
FsWatches::
FsWatchesRecursive::
Info 2 [00:00:41.000] Search path: /user/username/projects/sample1/tests
Info 3 [00:00:42.000] For info: /user/username/projects/sample1/tests/index.ts :: Config file name: /user/username/projects/sample1/tests/tsconfig.json
Info 4 [00:00:43.000] Creating configuration project /user/username/projects/sample1/tests/tsconfig.json
Info 5 [00:00:44.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 6 [00:00:45.000] Config: /user/username/projects/sample1/tests/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/tests/index.ts"
],
"options": {
"composite": true,
"declaration": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/tests/tsconfig.json"
},
"projectReferences": [
{
"path": "/user/username/projects/sample1/core",
"originalPath": "../core"
},
{
"path": "/user/username/projects/sample1/logic",
"originalPath": "../logic"
}
]
}
Info 7 [00:00:46.000] Starting updateGraphWorker: Project: /user/username/projects/sample1/tests/tsconfig.json
Info 8 [00:00:47.000] Config: /user/username/projects/sample1/core/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/core/anotherModule.ts",
"/user/username/projects/sample1/core/index.ts",
"/user/username/projects/sample1/core/some_decl.d.ts"
],
"options": {
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/core/tsconfig.json"
}
}
Info 9 [00:00:48.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 10 [00:00:49.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Config: /user/username/projects/sample1/core/tsconfig.json WatchType: Wild card directory
Info 11 [00:00:50.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Config: /user/username/projects/sample1/core/tsconfig.json WatchType: Wild card directory
Info 12 [00:00:51.000] Config: /user/username/projects/sample1/logic/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/logic/index.ts"
],
"options": {
"composite": true,
"declaration": true,
"sourceMap": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/logic/tsconfig.json"
},
"projectReferences": [
{
"path": "/user/username/projects/sample1/core",
"originalPath": "../core"
}
]
}
Info 13 [00:00:52.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 14 [00:00:53.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Config: /user/username/projects/sample1/logic/tsconfig.json WatchType: Wild card directory
Info 15 [00:00:54.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Config: /user/username/projects/sample1/logic/tsconfig.json WatchType: Wild card directory
Info 16 [00:00:55.000] ======== Resolving module '../core/index' from '/user/username/projects/sample1/tests/index.ts'. ========
Info 17 [00:00:56.000] Module resolution kind is not specified, using 'NodeJs'.
Info 18 [00:00:57.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/index', target file types: TypeScript, Declaration.
Info 19 [00:00:58.000] File '/user/username/projects/sample1/core/index.ts' exist - use it as a name resolution result.
Info 20 [00:00:59.000] ======== Module name '../core/index' was successfully resolved to '/user/username/projects/sample1/core/index.ts'. ========
Info 21 [00:01:00.000] ======== Resolving module '../logic/index' from '/user/username/projects/sample1/tests/index.ts'. ========
Info 22 [00:01:01.000] Module resolution kind is not specified, using 'NodeJs'.
Info 23 [00:01:02.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/logic/index', target file types: TypeScript, Declaration.
Info 24 [00:01:03.000] File '/user/username/projects/sample1/logic/index.ts' exist - use it as a name resolution result.
Info 25 [00:01:04.000] ======== Module name '../logic/index' was successfully resolved to '/user/username/projects/sample1/logic/index.ts'. ========
Info 26 [00:01:05.000] ======== Resolving module '../core/anotherModule' from '/user/username/projects/sample1/tests/index.ts'. ========
Info 27 [00:01:06.000] Module resolution kind is not specified, using 'NodeJs'.
Info 28 [00:01:07.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/anotherModule', target file types: TypeScript, Declaration.
Info 29 [00:01:08.000] File '/user/username/projects/sample1/core/anotherModule.ts' exist - use it as a name resolution result.
Info 30 [00:01:09.000] ======== Module name '../core/anotherModule' was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'. ========
Info 31 [00:01:10.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/index.ts 500 undefined WatchType: Closed Script info
Info 32 [00:01:11.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic/index.ts 500 undefined WatchType: Closed Script info
Info 33 [00:01:12.000] ======== Resolving module '../core/index' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 34 [00:01:13.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 35 [00:01:14.000] Module resolution kind is not specified, using 'NodeJs'.
Info 36 [00:01:15.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/index', target file types: TypeScript, Declaration.
Info 37 [00:01:16.000] File '/user/username/projects/sample1/core/index.ts' exist - use it as a name resolution result.
Info 38 [00:01:17.000] ======== Module name '../core/index' was successfully resolved to '/user/username/projects/sample1/core/index.ts'. ========
Info 39 [00:01:18.000] ======== Resolving module '../core/anotherModule' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 40 [00:01:19.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 41 [00:01:20.000] Module resolution kind is not specified, using 'NodeJs'.
Info 42 [00:01:21.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/anotherModule', target file types: TypeScript, Declaration.
Info 43 [00:01:22.000] File '/user/username/projects/sample1/core/anotherModule.ts' exist - use it as a name resolution result.
Info 44 [00:01:23.000] ======== Module name '../core/anotherModule' was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'. ========
Info 45 [00:01:24.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/anotherModule.ts 500 undefined WatchType: Closed Script info
Info 46 [00:01:25.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
Info 47 [00:01:26.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 48 [00:01:27.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 49 [00:01:28.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 50 [00:01:29.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 51 [00:01:30.000] Finishing updateGraphWorker: Project: /user/username/projects/sample1/tests/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
Info 52 [00:01:31.000] Project '/user/username/projects/sample1/tests/tsconfig.json' (Configured)
Info 53 [00:01:32.000] Files (5)
/a/lib/lib.d.ts
/user/username/projects/sample1/core/index.ts
/user/username/projects/sample1/core/anotherModule.ts
/user/username/projects/sample1/logic/index.ts
/user/username/projects/sample1/tests/index.ts
../../../../../a/lib/lib.d.ts
Default library for target 'es5'
../core/index.ts
Imported via '../core/index' from file 'index.ts'
Imported via '../core/index' from file '../logic/index.ts'
../core/anotherModule.ts
Imported via '../core/anotherModule' from file '../logic/index.ts'
Imported via '../core/anotherModule' from file 'index.ts'
../logic/index.ts
Imported via '../logic/index' from file 'index.ts'
index.ts
Part of 'files' list in tsconfig.json
Info 54 [00:01:33.000] -----------------------------------------------
Info 55 [00:01:34.000] Search path: /user/username/projects/sample1/tests
Info 56 [00:01:35.000] For info: /user/username/projects/sample1/tests/tsconfig.json :: No config files found.
Info 57 [00:01:36.000] Project '/user/username/projects/sample1/tests/tsconfig.json' (Configured)
Info 57 [00:01:37.000] Files (5)
Info 57 [00:01:38.000] -----------------------------------------------
Info 57 [00:01:39.000] Open files:
Info 57 [00:01:40.000] FileName: /user/username/projects/sample1/tests/index.ts ProjectRootPath: undefined
Info 57 [00:01:41.000] Projects: /user/username/projects/sample1/tests/tsconfig.json
After request
PolledWatches::
/user/username/projects/sample1/tests/node_modules/@types:
{"pollingInterval":500}
/user/username/projects/sample1/node_modules/@types:
{"pollingInterval":500}
FsWatches::
/user/username/projects/sample1/tests/tsconfig.json:
{}
/user/username/projects/sample1/core/tsconfig.json:
{}
/user/username/projects/sample1/logic/tsconfig.json:
{}
/user/username/projects/sample1/core/index.ts:
{}
/user/username/projects/sample1/logic/index.ts:
{}
/user/username/projects/sample1/core/anothermodule.ts:
{}
/a/lib/lib.d.ts:
{}
FsWatchesRecursive::
/user/username/projects/sample1/core:
{}
/user/username/projects/sample1/logic:
{}
Info 57 [00:01:42.000] response:
{
"responseRequired": false
}
@@ -0,0 +1,603 @@
Info 0 [00:01:16.000] Provided types map file "/a/lib/typesMap.json" doesn't exist
Info 1 [00:01:17.000] request:
{
"command": "open",
"arguments": {
"file": "/user/username/projects/sample1/tests/index.ts"
},
"seq": 1,
"type": "request"
}
Before request
//// [/a/lib/lib.d.ts]
/// <reference no-default-lib="true"/>
interface Boolean {}
interface Function {}
interface CallableFunction {}
interface NewableFunction {}
interface IArguments {}
interface Number { toExponential: any; }
interface Object {}
interface RegExp {}
interface String { charAt: any; }
interface Array<T> { length: number; [n: number]: T; }
//// [/user/username/projects/sample1/core/tsconfig.json]
{
"compilerOptions": {
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true
}
}
//// [/user/username/projects/sample1/core/index.ts]
export const someString: string = "HELLO WORLD";
export function leftPad(s: string, n: number) { return s + n; }
export function multiply(a: number, b: number) { return a * b; }
//// [/user/username/projects/sample1/core/anotherModule.ts]
export const World = "hello";
//// [/user/username/projects/sample1/core/some_decl.d.ts]
declare const dts: any;
//// [/user/username/projects/sample1/logic/tsconfig.json]
{
"compilerOptions": {
"composite": true,
"declaration": true,
"sourceMap": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true
},
"references": [
{
"path": "../core"
}
]
}
//// [/user/username/projects/sample1/logic/index.ts]
import * as c from '../core/index';
export function getSecondsInDay() {
return c.multiply(10, 15);
}
import * as mod from '../core/anotherModule';
export const m = mod;
//// [/user/username/projects/sample1/tests/tsconfig.json]
{
"references": [
{
"path": "../core"
},
{
"path": "../logic"
}
],
"files": [
"index.ts"
],
"compilerOptions": {
"composite": true,
"declaration": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true
}
}
//// [/user/username/projects/sample1/tests/index.ts]
import * as c from '../core/index';
import * as logic from '../logic/index';
c.leftPad("", 10);
logic.getSecondsInDay();
import * as mod from '../core/anotherModule';
export const m = mod;
//// [/user/username/projects/sample1/core/anotherModule.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.World = void 0;
exports.World = "hello";
//// [/user/username/projects/sample1/core/anotherModule.d.ts.map]
{"version":3,"file":"anotherModule.d.ts","sourceRoot":"","sources":["anotherModule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAC"}
//// [/user/username/projects/sample1/core/anotherModule.d.ts]
export declare const World = "hello";
//# sourceMappingURL=anotherModule.d.ts.map
//// [/user/username/projects/sample1/core/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.multiply = exports.leftPad = exports.someString = void 0;
exports.someString = "HELLO WORLD";
function leftPad(s, n) { return s + n; }
exports.leftPad = leftPad;
function multiply(a, b) { return a * b; }
exports.multiply = multiply;
//// [/user/username/projects/sample1/core/index.d.ts.map]
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAsB,CAAC;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB"}
//// [/user/username/projects/sample1/core/index.d.ts]
export declare const someString: string;
export declare function leftPad(s: string, n: number): string;
export declare function multiply(a: number, b: number): number;
//# sourceMappingURL=index.d.ts.map
//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-2676574883-export const World = \"hello\";\r\n","signature":"-9234818176-export declare const World = \"hello\";\n"},{"version":"-18749805970-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n"},{"version":"-9253692965-declare const dts: any;\r\n","affectsGlobalScope":true}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../../../../a/lib/lib.d.ts",
"./anothermodule.ts",
"./index.ts",
"./some_decl.d.ts"
],
"fileInfos": {
"../../../../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"./anothermodule.ts": {
"original": {
"version": "-2676574883-export const World = \"hello\";\r\n",
"signature": "-9234818176-export declare const World = \"hello\";\n"
},
"version": "-2676574883-export const World = \"hello\";\r\n",
"signature": "-9234818176-export declare const World = \"hello\";\n"
},
"./index.ts": {
"original": {
"version": "-18749805970-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n",
"signature": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n"
},
"version": "-18749805970-export const someString: string = \"HELLO WORLD\";\r\nexport function leftPad(s: string, n: number) { return s + n; }\r\nexport function multiply(a: number, b: number) { return a * b; }\r\n",
"signature": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n"
},
"./some_decl.d.ts": {
"original": {
"version": "-9253692965-declare const dts: any;\r\n",
"affectsGlobalScope": true
},
"version": "-9253692965-declare const dts: any;\r\n",
"signature": "-9253692965-declare const dts: any;\r\n",
"affectsGlobalScope": true
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true
},
"referencedMap": {},
"exportedModulesMap": {},
"semanticDiagnosticsPerFile": [
"../../../../../a/lib/lib.d.ts",
"./anothermodule.ts",
"./index.ts",
"./some_decl.d.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1417
}
//// [/user/username/projects/sample1/logic/index.js.map]
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAFD,0CAEC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"}
//// [/user/username/projects/sample1/logic/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.m = exports.getSecondsInDay = void 0;
var c = require("../core/index");
function getSecondsInDay() {
return c.multiply(10, 15);
}
exports.getSecondsInDay = getSecondsInDay;
var mod = require("../core/anotherModule");
exports.m = mod;
//# sourceMappingURL=index.js.map
//// [/user/username/projects/sample1/logic/index.d.ts]
export declare function getSecondsInDay(): number;
import * as mod from '../core/anotherModule';
export declare const m: typeof mod;
//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n",{"version":"-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n"}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3],[3]],"referencedMap":[[4,1]],"exportedModulesMap":[[4,2]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../../../../a/lib/lib.d.ts",
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"./index.ts"
],
"fileNamesList": [
[
"../core/index.d.ts",
"../core/anothermodule.d.ts"
],
[
"../core/anothermodule.d.ts"
]
],
"fileInfos": {
"../../../../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"../core/index.d.ts": {
"version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n",
"signature": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n"
},
"../core/anothermodule.d.ts": {
"version": "-9234818176-export declare const World = \"hello\";\n",
"signature": "-9234818176-export declare const World = \"hello\";\n"
},
"./index.ts": {
"original": {
"version": "-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n"
},
"version": "-5786964698-import * as c from '../core/index';\r\nexport function getSecondsInDay() {\r\n return c.multiply(10, 15);\r\n}\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"skipDefaultLibCheck": true,
"sourceMap": true
},
"referencedMap": {
"./index.ts": [
"../core/index.d.ts",
"../core/anothermodule.d.ts"
]
},
"exportedModulesMap": {
"./index.ts": [
"../core/anothermodule.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../../../../a/lib/lib.d.ts",
"../core/anothermodule.d.ts",
"../core/index.d.ts",
"./index.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1456
}
//// [/user/username/projects/sample1/tests/index.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.m = void 0;
var c = require("../core/index");
var logic = require("../logic/index");
c.leftPad("", 10);
logic.getSecondsInDay();
var mod = require("../core/anotherModule");
exports.m = mod;
//// [/user/username/projects/sample1/tests/index.d.ts]
import * as mod from '../core/anotherModule';
export declare const m: typeof mod;
//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo]
{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n","-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n",{"version":"12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n"}],"options":{"cacheResolutions":true,"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"exportedModulesMap":[[4,1],[5,1]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"}
//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt]
{
"program": {
"fileNames": [
"../../../../../a/lib/lib.d.ts",
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts",
"./index.ts"
],
"fileNamesList": [
[
"../core/anothermodule.d.ts"
],
[
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts"
]
],
"fileInfos": {
"../../../../../a/lib/lib.d.ts": {
"original": {
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"version": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"signature": "-7698705165-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }",
"affectsGlobalScope": true
},
"../core/index.d.ts": {
"version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n",
"signature": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n"
},
"../core/anothermodule.d.ts": {
"version": "-9234818176-export declare const World = \"hello\";\n",
"signature": "-9234818176-export declare const World = \"hello\";\n"
},
"../logic/index.d.ts": {
"version": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n",
"signature": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n"
},
"./index.ts": {
"original": {
"version": "12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n"
},
"version": "12336236525-import * as c from '../core/index';\r\nimport * as logic from '../logic/index';\r\n\r\nc.leftPad(\"\", 10);\r\nlogic.getSecondsInDay();\r\n\r\nimport * as mod from '../core/anotherModule';\r\nexport const m = mod;\r\n",
"signature": "2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n"
}
},
"options": {
"cacheResolutions": true,
"composite": true,
"declaration": true,
"skipDefaultLibCheck": true
},
"referencedMap": {
"../logic/index.d.ts": [
"../core/anothermodule.d.ts"
],
"./index.ts": [
"../core/index.d.ts",
"../core/anothermodule.d.ts",
"../logic/index.d.ts"
]
},
"exportedModulesMap": {
"../logic/index.d.ts": [
"../core/anothermodule.d.ts"
],
"./index.ts": [
"../core/anothermodule.d.ts"
]
},
"semanticDiagnosticsPerFile": [
"../../../../../a/lib/lib.d.ts",
"../core/anothermodule.d.ts",
"../core/index.d.ts",
"../logic/index.d.ts",
"./index.ts"
],
"latestChangedDtsFile": "./index.d.ts"
},
"version": "FakeTSVersion",
"size": 1601
}
PolledWatches::
FsWatches::
FsWatchesRecursive::
Info 2 [00:01:18.000] Search path: /user/username/projects/sample1/tests
Info 3 [00:01:19.000] For info: /user/username/projects/sample1/tests/index.ts :: Config file name: /user/username/projects/sample1/tests/tsconfig.json
Info 4 [00:01:20.000] Creating configuration project /user/username/projects/sample1/tests/tsconfig.json
Info 5 [00:01:21.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 6 [00:01:22.000] Config: /user/username/projects/sample1/tests/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/tests/index.ts"
],
"options": {
"composite": true,
"declaration": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/tests/tsconfig.json"
},
"projectReferences": [
{
"path": "/user/username/projects/sample1/core",
"originalPath": "../core"
},
{
"path": "/user/username/projects/sample1/logic",
"originalPath": "../logic"
}
]
}
Info 7 [00:01:23.000] Starting updateGraphWorker: Project: /user/username/projects/sample1/tests/tsconfig.json
Info 8 [00:01:24.000] Config: /user/username/projects/sample1/core/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/core/anotherModule.ts",
"/user/username/projects/sample1/core/index.ts",
"/user/username/projects/sample1/core/some_decl.d.ts"
],
"options": {
"composite": true,
"declaration": true,
"declarationMap": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/core/tsconfig.json"
}
}
Info 9 [00:01:25.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 10 [00:01:26.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Config: /user/username/projects/sample1/core/tsconfig.json WatchType: Wild card directory
Info 11 [00:01:27.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core 1 undefined Config: /user/username/projects/sample1/core/tsconfig.json WatchType: Wild card directory
Info 12 [00:01:28.000] Config: /user/username/projects/sample1/logic/tsconfig.json : {
"rootNames": [
"/user/username/projects/sample1/logic/index.ts"
],
"options": {
"composite": true,
"declaration": true,
"sourceMap": true,
"forceConsistentCasingInFileNames": true,
"skipDefaultLibCheck": true,
"cacheResolutions": true,
"traceResolution": true,
"configFilePath": "/user/username/projects/sample1/logic/tsconfig.json"
},
"projectReferences": [
{
"path": "/user/username/projects/sample1/core",
"originalPath": "../core"
}
]
}
Info 13 [00:01:29.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic/tsconfig.json 2000 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Config file
Info 14 [00:01:30.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Config: /user/username/projects/sample1/logic/tsconfig.json WatchType: Wild card directory
Info 15 [00:01:31.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic 1 undefined Config: /user/username/projects/sample1/logic/tsconfig.json WatchType: Wild card directory
Info 16 [00:01:32.000] ======== Resolving module '../core/index' from '/user/username/projects/sample1/tests/index.ts'. ========
Info 17 [00:01:33.000] Module resolution kind is not specified, using 'NodeJs'.
Info 18 [00:01:34.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/index', target file types: TypeScript, Declaration.
Info 19 [00:01:35.000] File '/user/username/projects/sample1/core/index.ts' exist - use it as a name resolution result.
Info 20 [00:01:36.000] ======== Module name '../core/index' was successfully resolved to '/user/username/projects/sample1/core/index.ts'. ========
Info 21 [00:01:37.000] ======== Resolving module '../logic/index' from '/user/username/projects/sample1/tests/index.ts'. ========
Info 22 [00:01:38.000] Module resolution kind is not specified, using 'NodeJs'.
Info 23 [00:01:39.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/logic/index', target file types: TypeScript, Declaration.
Info 24 [00:01:40.000] File '/user/username/projects/sample1/logic/index.ts' exist - use it as a name resolution result.
Info 25 [00:01:41.000] ======== Module name '../logic/index' was successfully resolved to '/user/username/projects/sample1/logic/index.ts'. ========
Info 26 [00:01:42.000] ======== Resolving module '../core/anotherModule' from '/user/username/projects/sample1/tests/index.ts'. ========
Info 27 [00:01:43.000] Module resolution kind is not specified, using 'NodeJs'.
Info 28 [00:01:44.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/anotherModule', target file types: TypeScript, Declaration.
Info 29 [00:01:45.000] File '/user/username/projects/sample1/core/anotherModule.ts' exist - use it as a name resolution result.
Info 30 [00:01:46.000] ======== Module name '../core/anotherModule' was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'. ========
Info 31 [00:01:47.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/index.ts 500 undefined WatchType: Closed Script info
Info 32 [00:01:48.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/logic/index.ts 500 undefined WatchType: Closed Script info
Info 33 [00:01:49.000] ======== Resolving module '../core/index' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 34 [00:01:50.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 35 [00:01:51.000] Module resolution kind is not specified, using 'NodeJs'.
Info 36 [00:01:52.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/index', target file types: TypeScript, Declaration.
Info 37 [00:01:53.000] File '/user/username/projects/sample1/core/index.ts' exist - use it as a name resolution result.
Info 38 [00:01:54.000] ======== Module name '../core/index' was successfully resolved to '/user/username/projects/sample1/core/index.ts'. ========
Info 39 [00:01:55.000] ======== Resolving module '../core/anotherModule' from '/user/username/projects/sample1/logic/index.ts'. ========
Info 40 [00:01:56.000] Using compiler options of project reference redirect '/user/username/projects/sample1/logic/tsconfig.json'.
Info 41 [00:01:57.000] Module resolution kind is not specified, using 'NodeJs'.
Info 42 [00:01:58.000] Loading module as file / folder, candidate module location '/user/username/projects/sample1/core/anotherModule', target file types: TypeScript, Declaration.
Info 43 [00:01:59.000] File '/user/username/projects/sample1/core/anotherModule.ts' exist - use it as a name resolution result.
Info 44 [00:02:00.000] ======== Module name '../core/anotherModule' was successfully resolved to '/user/username/projects/sample1/core/anotherModule.ts'. ========
Info 45 [00:02:01.000] FileWatcher:: Added:: WatchInfo: /user/username/projects/sample1/core/anotherModule.ts 500 undefined WatchType: Closed Script info
Info 46 [00:02:02.000] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info
Info 47 [00:02:03.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 48 [00:02:04.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/tests/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 49 [00:02:05.000] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 50 [00:02:06.000] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/sample1/node_modules/@types 1 undefined Project: /user/username/projects/sample1/tests/tsconfig.json WatchType: Type roots
Info 51 [00:02:07.000] Finishing updateGraphWorker: Project: /user/username/projects/sample1/tests/tsconfig.json Version: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms
Info 52 [00:02:08.000] Project '/user/username/projects/sample1/tests/tsconfig.json' (Configured)
Info 53 [00:02:09.000] Files (5)
/a/lib/lib.d.ts
/user/username/projects/sample1/core/index.ts
/user/username/projects/sample1/core/anotherModule.ts
/user/username/projects/sample1/logic/index.ts
/user/username/projects/sample1/tests/index.ts
../../../../../a/lib/lib.d.ts
Default library for target 'es5'
../core/index.ts
Imported via '../core/index' from file 'index.ts'
Imported via '../core/index' from file '../logic/index.ts'
../core/anotherModule.ts
Imported via '../core/anotherModule' from file '../logic/index.ts'
Imported via '../core/anotherModule' from file 'index.ts'
../logic/index.ts
Imported via '../logic/index' from file 'index.ts'
index.ts
Part of 'files' list in tsconfig.json
Info 54 [00:02:10.000] -----------------------------------------------
Info 55 [00:02:11.000] Search path: /user/username/projects/sample1/tests
Info 56 [00:02:12.000] For info: /user/username/projects/sample1/tests/tsconfig.json :: No config files found.
Info 57 [00:02:13.000] Project '/user/username/projects/sample1/tests/tsconfig.json' (Configured)
Info 57 [00:02:14.000] Files (5)
Info 57 [00:02:15.000] -----------------------------------------------
Info 57 [00:02:16.000] Open files:
Info 57 [00:02:17.000] FileName: /user/username/projects/sample1/tests/index.ts ProjectRootPath: undefined
Info 57 [00:02:18.000] Projects: /user/username/projects/sample1/tests/tsconfig.json
After request
PolledWatches::
/user/username/projects/sample1/tests/node_modules/@types:
{"pollingInterval":500}
/user/username/projects/sample1/node_modules/@types:
{"pollingInterval":500}
FsWatches::
/user/username/projects/sample1/tests/tsconfig.json:
{}
/user/username/projects/sample1/core/tsconfig.json:
{}
/user/username/projects/sample1/logic/tsconfig.json:
{}
/user/username/projects/sample1/core/index.ts:
{}
/user/username/projects/sample1/logic/index.ts:
{}
/user/username/projects/sample1/core/anothermodule.ts:
{}
/a/lib/lib.d.ts:
{}
FsWatchesRecursive::
/user/username/projects/sample1/core:
{}
/user/username/projects/sample1/logic:
{}
Info 57 [00:02:19.000] response:
{
"responseRequired": false
}