mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Add tests for package json edits
This commit is contained in:
@@ -10,6 +10,7 @@ import {
|
||||
getFsWithMultipleProjects,
|
||||
getFsWithNode16,
|
||||
getFsWithOut,
|
||||
getFsWithPackageJsonEdits,
|
||||
getFsWithSameResolutionFromMultiplePlaces,
|
||||
getPkgImportContent,
|
||||
getPkgTypeRefContent,
|
||||
@@ -213,4 +214,53 @@ describe("unittests:: tsbuild:: cacheResolutions::", () => {
|
||||
},
|
||||
]
|
||||
});
|
||||
|
||||
verifyTsc({
|
||||
scenario: "cacheResolutions",
|
||||
subScenario: "packageJson edited",
|
||||
commandLineArgs: ["--b", "/src/projects/project/src", "--explainFiles"],
|
||||
fs: getFsWithPackageJsonEdits,
|
||||
baselineModulesAndTypeRefs: true,
|
||||
edits: [
|
||||
{
|
||||
caption: "random edit",
|
||||
edit: fs => appendText(fs, "/src/projects/project/src/randomFile.ts", `export const y = 10;`),
|
||||
},
|
||||
{
|
||||
caption: "Modify package json file to add type module",
|
||||
edit: fs => fs.writeFileSync(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" })),
|
||||
},
|
||||
{
|
||||
caption: "Modify package.json file to remove type module and randmon edit",
|
||||
edit: fs => {
|
||||
fs.writeFileSync(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0" }));
|
||||
appendText(fs, "/src/projects/project/src/randomFile.ts", `export const z = 10;`);
|
||||
},
|
||||
discrepancyExplanation: () => [
|
||||
`Clean build and incremental build differ in emit signature and latestChangedDtsFile since incremental persists it from previous build and clean has errors`
|
||||
]
|
||||
},
|
||||
{
|
||||
caption: "Delete package.json",
|
||||
edit: fs => fs.unlinkSync(`/src/projects/project/package.json`),
|
||||
discrepancyExplanation: () => [
|
||||
`Clean build and incremental build differ in emit signature and latestChangedDtsFile since incremental persists it from previous build and clean has errors`
|
||||
]
|
||||
},
|
||||
{
|
||||
caption: "Add package json file with type module",
|
||||
edit: fs => fs.writeFileSync(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" })),
|
||||
},
|
||||
{
|
||||
caption: "Delete package.json and random edit",
|
||||
edit: fs => {
|
||||
fs.unlinkSync(`/src/projects/project/package.json`);
|
||||
appendText(fs, "/src/projects/project/src/randomFile.ts", `export const k = 10;`);
|
||||
},
|
||||
discrepancyExplanation: () => [
|
||||
`Clean build and incremental build differ in emit signature and latestChangedDtsFile since incremental persists it from previous build and clean has errors`
|
||||
]
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
@@ -361,4 +361,93 @@ export function getServerHostWithSameResolutionFromMultiplePlacesWithBuild() {
|
||||
const system = getServerHostWithSameResolutionFromMultiplePlaces();
|
||||
solutionBuildWithBaseline(system, ["/src/project"]);
|
||||
return system;
|
||||
}
|
||||
|
||||
function getFsMapWithPackageJsonEdits(): { [path: string]: string; } {
|
||||
return {
|
||||
"/src/projects/project/src/tsconfig.json": JSON.stringify({
|
||||
compilerOptions: {
|
||||
target: "es2016",
|
||||
composite: true,
|
||||
module: "node16",
|
||||
outDir: "../out",
|
||||
cacheResolutions: true,
|
||||
traceResolution: true,
|
||||
},
|
||||
files: [
|
||||
"fileA.ts",
|
||||
"fileB.mts",
|
||||
"randomFile.ts",
|
||||
"a/randomFile.ts",
|
||||
"b/ba/randomFile.ts",
|
||||
"b/randomFile.ts",
|
||||
"c/ca/randomFile.ts",
|
||||
"c/ca/caa/randomFile.ts",
|
||||
"c/ca/caa/caaa/randomFile.ts",
|
||||
"c/cb/randomFile.ts",
|
||||
"d/da/daa/daaa/x/y/z/randomFile.ts",
|
||||
"d/da/daa/daaa/randomFile.ts",
|
||||
"d/da/daa/randomFile.ts",
|
||||
"d/da/randomFile.ts",
|
||||
"e/ea/randomFile.ts",
|
||||
"e/ea/eaa/randomFile.ts",
|
||||
"e/ea/eaa/eaaa/randomFile.ts",
|
||||
"e/ea/eaa/eaaa/x/y/z/randomFile.ts",
|
||||
"f/fa/faa/x/y/z/randomFile.ts",
|
||||
"f/fa/faa/faaa/randomFile.ts",
|
||||
],
|
||||
}),
|
||||
"/src/projects/project/src/fileA.ts": Utils.dedent`
|
||||
import { foo } from "./fileB.mjs";
|
||||
foo();
|
||||
`,
|
||||
"/src/projects/project/src/fileB.mts": `export function foo() {}`,
|
||||
"/src/projects/project/src/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/a/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/b/ba/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/b/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/c/ca/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/c/ca/caa/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/c/ca/caa/caaa/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/c/cb/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/d/da/daa/daaa/x/y/z/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/d/da/daa/daaa/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/d/da/daa/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/d/da/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/e/ea/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/e/ea/eaa/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/e/ea/eaa/eaaa/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/e/ea/eaa/eaaa/x/y/z/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/f/fa/faa/faaa/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/src/f/fa/faa/x/y/z/randomFile.ts": getRandomFileContent(),
|
||||
"/src/projects/project/package.json": JSON.stringify({ name: "app", version: "1.0.0" }),
|
||||
};
|
||||
}
|
||||
|
||||
export function getFsWithPackageJsonEdits() {
|
||||
return loadProjectFromFiles(getFsMapWithPackageJsonEdits(), /*libContentsToAppend*/ undefined, "/lib/lib.es2016.full.d.ts");
|
||||
}
|
||||
|
||||
export function getWatchSystemWithPackageJsonEdits() {
|
||||
const system = createWatchedSystem(getFsMapWithPackageJsonEdits(), { currentDirectory: "/src/projects/project" });
|
||||
system.ensureFileOrFolder({ ...libFile, path: "/a/lib/lib.es2016.full.d.ts" });
|
||||
return system;
|
||||
}
|
||||
|
||||
export function getServerHostWithPackageJsonEdits() {
|
||||
const system = createServerHost(getFsMapWithPackageJsonEdits(), { currentDirectory: "/src/projects/project" });
|
||||
system.ensureFileOrFolder({ ...libFile, path: "/a/lib/lib.es2016.full.d.ts" });
|
||||
return system;
|
||||
}
|
||||
|
||||
export function getWatchSystemWithPackageJsonEditsWithBuild() {
|
||||
const system = getWatchSystemWithPackageJsonEdits();
|
||||
solutionBuildWithBaseline(system, ["/src/project/src"]);
|
||||
return system;
|
||||
}
|
||||
|
||||
export function getServerHostWithPackageJsonEditsWithBuild() {
|
||||
const system = getServerHostWithPackageJsonEdits();
|
||||
solutionBuildWithBaseline(system, ["/src/project/src"]);
|
||||
return system;
|
||||
}
|
||||
@@ -10,6 +10,8 @@ import {
|
||||
getWatchSystemWithNode16WithBuild,
|
||||
getWatchSystemWithOut,
|
||||
getWatchSystemWithOutWithBuild,
|
||||
getWatchSystemWithPackageJsonEdits,
|
||||
getWatchSystemWithPackageJsonEditsWithBuild,
|
||||
getWatchSystemWithSameResolutionFromMultiplePlaces,
|
||||
getWatchSystemWithSameResolutionFromMultiplePlacesWithBuild,
|
||||
} from "../tsbuild/cacheResolutionsHelper";
|
||||
@@ -265,4 +267,56 @@ describe("unittests:: tsbuildWatch:: watchMode:: cacheResolutions::", () => {
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
describe("packageJson edited", () => {
|
||||
verifyTscWatchPackageJsonEdits("packageJson edited", getWatchSystemWithPackageJsonEdits);
|
||||
verifyTscWatchPackageJsonEdits("packageJson edited already built", getWatchSystemWithPackageJsonEditsWithBuild);
|
||||
function verifyTscWatchPackageJsonEdits(subScenario: string, sys: () => TestServerHost) {
|
||||
verifyTscWatch({
|
||||
scenario: "cacheResolutions",
|
||||
subScenario,
|
||||
commandLineArgs: ["--b", "src", "-w", "--explainFiles", "--extendedDiagnostics"],
|
||||
baselineModulesAndTypeRefs: true,
|
||||
sys,
|
||||
edits: [
|
||||
{
|
||||
caption: "random edit",
|
||||
edit: sys => sys.appendFile("/src/projects/project/src/randomFile.ts", `export const y = 10;`),
|
||||
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
|
||||
},
|
||||
{
|
||||
caption: "Modify package json file to add type module",
|
||||
edit: sys => sys.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" })),
|
||||
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
|
||||
},
|
||||
{
|
||||
caption: "Modify package.json file to remove type module and random edit",
|
||||
edit: sys => {
|
||||
sys.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0" }));
|
||||
sys.appendFile("/src/projects/project/src/randomFile.ts", `export const z = 10;`);
|
||||
},
|
||||
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
|
||||
},
|
||||
{
|
||||
caption: "Delete package.json",
|
||||
edit: sys => sys.deleteFile(`/src/projects/project/package.json`),
|
||||
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
|
||||
},
|
||||
{
|
||||
caption: "Add package json file with type module",
|
||||
edit: sys => sys.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" })),
|
||||
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
|
||||
},
|
||||
{
|
||||
caption: "Delete package.json and random edit and random edit",
|
||||
edit: sys => {
|
||||
sys.deleteFile(`/src/projects/project/package.json`);
|
||||
sys.appendFile("/src/projects/project/src/randomFile.ts", `export const k = 10;`);
|
||||
},
|
||||
timeouts: sys => sys.runQueuedTimeoutCallbacks(),
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -6,11 +6,13 @@ import {
|
||||
import {
|
||||
getFsWithNode16,
|
||||
getFsWithOut,
|
||||
getFsWithPackageJsonEdits,
|
||||
getFsWithSameResolutionFromMultiplePlaces,
|
||||
getPkgImportContent,
|
||||
getPkgTypeRefContent,
|
||||
} from "../tsbuild/cacheResolutionsHelper";
|
||||
import {
|
||||
appendText,
|
||||
loadProjectFromFiles,
|
||||
noChangeRun,
|
||||
prependText,
|
||||
@@ -298,4 +300,38 @@ describe("unittests:: tsc:: cacheResolutions::", () => {
|
||||
},
|
||||
]
|
||||
});
|
||||
|
||||
verifyTsc({
|
||||
scenario: "cacheResolutions",
|
||||
subScenario: "packageJson edited",
|
||||
commandLineArgs: ["--p", "/src/projects/project/src", "--explainFiles"],
|
||||
baselineModulesAndTypeRefs: true,
|
||||
fs: getFsWithPackageJsonEdits,
|
||||
edits: [
|
||||
{
|
||||
caption: "random edit",
|
||||
edit: fs => appendText(fs, "/src/projects/project/src/randomFile.ts", `export const y = 10;`),
|
||||
},
|
||||
{
|
||||
caption: "Modify package json file to add type module",
|
||||
edit: fs => fs.writeFileSync(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" })),
|
||||
},
|
||||
{
|
||||
caption: "Modify package.json file to remove type module",
|
||||
edit: fs => fs.writeFileSync(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0" })),
|
||||
},
|
||||
{
|
||||
caption: "Delete package.json",
|
||||
edit: fs => fs.unlinkSync(`/src/projects/project/package.json`),
|
||||
},
|
||||
{
|
||||
caption: "Add package json file with type module",
|
||||
edit: fs => fs.writeFileSync(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" })),
|
||||
},
|
||||
{
|
||||
caption: "Delete package.json and random edit",
|
||||
edit: fs => fs.unlinkSync(`/src/projects/project/package.json`)
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
@@ -461,20 +461,21 @@ export function loadProjectFromDisk(
|
||||
*/
|
||||
export function loadProjectFromFiles(
|
||||
files: vfs.FileSet,
|
||||
libContentToAppend?: string
|
||||
libContentToAppend?: string,
|
||||
libPath?: string,
|
||||
): vfs.FileSystem {
|
||||
const fs = new vfs.FileSystem(/*ignoreCase*/ true, {
|
||||
files,
|
||||
cwd: "/",
|
||||
meta: { defaultLibLocation: "/lib" },
|
||||
});
|
||||
addLibAndMakeReadonly(fs, libContentToAppend);
|
||||
addLibAndMakeReadonly(fs, libContentToAppend, libPath);
|
||||
return fs;
|
||||
}
|
||||
|
||||
function addLibAndMakeReadonly(fs: vfs.FileSystem, libContentToAppend?: string) {
|
||||
function addLibAndMakeReadonly(fs: vfs.FileSystem, libContentToAppend?: string, libPath?: string) {
|
||||
fs.mkdirSync("/lib");
|
||||
fs.writeFileSync("/lib/lib.d.ts", libContentToAppend ? `${libContent}${libContentToAppend}` : libContent);
|
||||
fs.writeFileSync(libPath || "/lib/lib.d.ts", libContentToAppend ? `${libContent}${libContentToAppend}` : libContent);
|
||||
fs.makeReadonly();
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ import {
|
||||
getWatchSystemWithNode16WithBuild,
|
||||
getWatchSystemWithOut,
|
||||
getWatchSystemWithOutWithBuild,
|
||||
getWatchSystemWithPackageJsonEdits,
|
||||
getWatchSystemWithPackageJsonEditsWithBuild,
|
||||
getWatchSystemWithSameResolutionFromMultiplePlaces,
|
||||
getWatchSystemWithSameResolutionFromMultiplePlacesWithBuild,
|
||||
} from "../tsbuild/cacheResolutionsHelper";
|
||||
@@ -278,4 +280,68 @@ describe("unittests:: tsc-watch:: cacheResolutions::", () => {
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
describe("packageJson edited", () => {
|
||||
verifyTscWatchPackageJsonEdits("packageJson edited", getWatchSystemWithPackageJsonEdits);
|
||||
verifyTscWatchPackageJsonEdits("packageJson edited already built", getWatchSystemWithPackageJsonEditsWithBuild);
|
||||
function verifyTscWatchPackageJsonEdits(subScenario: string, sys: () => TestServerHost) {
|
||||
verifyTscWatch({
|
||||
scenario: "cacheResolutions",
|
||||
subScenario,
|
||||
commandLineArgs: ["--p", "src", "-w", "--explainFiles", "--extendedDiagnostics"],
|
||||
baselineModulesAndTypeRefs: true,
|
||||
sys,
|
||||
edits: [
|
||||
{
|
||||
caption: "random edit",
|
||||
edit: sys => sys.appendFile("/src/projects/project/src/randomFile.ts", `export const y = 10;`),
|
||||
timeouts: sys => {
|
||||
sys.runQueuedTimeoutCallbacks(); // Failed lookups
|
||||
sys.runQueuedTimeoutCallbacks(); // actual update
|
||||
},
|
||||
},
|
||||
{
|
||||
caption: "Modify package json file to add type module",
|
||||
edit: sys => sys.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" })),
|
||||
timeouts: sys => {
|
||||
sys.runQueuedTimeoutCallbacks(); // Failed lookups
|
||||
sys.runQueuedTimeoutCallbacks(); // actual update
|
||||
},
|
||||
},
|
||||
{
|
||||
caption: "Modify package.json file to remove type module",
|
||||
edit: sys => sys.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0" })),
|
||||
timeouts: sys => {
|
||||
sys.runQueuedTimeoutCallbacks(); // Failed lookups
|
||||
sys.runQueuedTimeoutCallbacks(); // actual update
|
||||
},
|
||||
},
|
||||
{
|
||||
caption: "Delete package.json",
|
||||
edit: sys => sys.deleteFile(`/src/projects/project/package.json`),
|
||||
timeouts: sys => {
|
||||
sys.runQueuedTimeoutCallbacks(); // Failed lookups
|
||||
sys.runQueuedTimeoutCallbacks(); // actual update
|
||||
},
|
||||
},
|
||||
{
|
||||
caption: "Add package json file with type module",
|
||||
edit: sys => sys.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" })),
|
||||
timeouts: sys => {
|
||||
sys.runQueuedTimeoutCallbacks(); // Failed lookups
|
||||
sys.runQueuedTimeoutCallbacks(); // actual update
|
||||
},
|
||||
},
|
||||
{
|
||||
caption: "Delete package.json",
|
||||
edit: sys => sys.deleteFile(`/src/projects/project/package.json`),
|
||||
timeouts: sys => {
|
||||
sys.runQueuedTimeoutCallbacks(); // Failed lookups
|
||||
sys.runQueuedTimeoutCallbacks(); // actual update
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -25,6 +25,8 @@ import {
|
||||
getServerHostWithNode16WithBuild,
|
||||
getServerHostWithOut,
|
||||
getServerHostWithOutWithBuild,
|
||||
getServerHostWithPackageJsonEdits,
|
||||
getServerHostWithPackageJsonEditsWithBuild,
|
||||
getServerHostWithSameResolutionFromMultiplePlaces,
|
||||
getServerHostWithSameResolutionFromMultiplePlacesWithBuild,
|
||||
} from "../tsbuild/cacheResolutionsHelper";
|
||||
@@ -411,6 +413,59 @@ describe("unittests:: tsserver:: cacheResolutions:: tsserverProjectSystem cachin
|
||||
}
|
||||
});
|
||||
|
||||
describe("packageJson edited", () => {
|
||||
verifyTscWatchPackageJsonEdits("packageJson edited", getServerHostWithPackageJsonEdits);
|
||||
verifyTscWatchPackageJsonEdits("packageJson edited already built", getServerHostWithPackageJsonEditsWithBuild);
|
||||
function verifyTscWatchPackageJsonEdits(scenario: string, createHost: () => TestServerHost) {
|
||||
it(scenario, () => {
|
||||
const host = fakes.patchHostForBuildInfoReadWrite(createHost());
|
||||
const session = createSession(host, { logger: createLoggerWithInMemoryLogs(host) });
|
||||
openFilesForSession(["/src/projects/project/src/randomFile.ts"], session);
|
||||
|
||||
session.logger.info("random edit");
|
||||
session.executeCommandSeq<ts.server.protocol.ChangeRequest>({
|
||||
command: ts.server.protocol.CommandTypes.Change,
|
||||
arguments: {
|
||||
file: "/src/projects/project/src/randomFile.ts",
|
||||
line: 1,
|
||||
offset: 1,
|
||||
endLine: 1,
|
||||
endOffset: 1,
|
||||
insertString: `export cont y = 10;\n`,
|
||||
}
|
||||
});
|
||||
ts.server.updateProjectIfDirty(session.getProjectService().configuredProjects.get("/src/projects/project/src/tsconfig.json")!);
|
||||
|
||||
session.logger.info("Modify package json file to add type module");
|
||||
host.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" }));
|
||||
host.runQueuedTimeoutCallbacks(); // failed lookup
|
||||
host.runQueuedTimeoutCallbacks(); // actual update
|
||||
|
||||
session.logger.info("Modify package.json file to remove type module");
|
||||
host.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0" }));
|
||||
host.runQueuedTimeoutCallbacks(); // failed lookup
|
||||
host.runQueuedTimeoutCallbacks(); // actual update
|
||||
|
||||
session.logger.info("Delete package.json");
|
||||
host.deleteFile(`/src/projects/project/package.json`);
|
||||
host.runQueuedTimeoutCallbacks(); // failed lookup
|
||||
host.runQueuedTimeoutCallbacks(); // actual update
|
||||
|
||||
session.logger.info("Add package json file with type module");
|
||||
host.writeFile(`/src/projects/project/package.json`, JSON.stringify({ name: "app", version: "1.0.0", type: "module" }));
|
||||
host.runQueuedTimeoutCallbacks(); // failed lookup
|
||||
host.runQueuedTimeoutCallbacks(); // actual update
|
||||
|
||||
session.logger.info("Delete package.json");
|
||||
host.deleteFile(`/src/projects/project/package.json`);
|
||||
host.runQueuedTimeoutCallbacks(); // failed lookup
|
||||
host.runQueuedTimeoutCallbacks(); // actual update
|
||||
|
||||
baselineTsserverLogs("cacheResolutions", scenario, session);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
describe("different projects", () => {
|
||||
describe("on sample project", () => {
|
||||
function cacheResolutions(file: File) {
|
||||
|
||||
+1326
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+6725
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,415 @@
|
||||
3:: Delete package.json
|
||||
*** Needs explanation
|
||||
TsBuild info text without affectedFilesPendingEmit:: /src/projects/project/out/tsconfig.tsbuildinfo.readable.baseline.txt::
|
||||
CleanBuild:
|
||||
{
|
||||
"program": {
|
||||
"fileInfos": {
|
||||
"../../../../lib/lib.es2016.full.d.ts": {
|
||||
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
|
||||
"affectsGlobalScope": true,
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/fileb.mts": {
|
||||
"version": "3524703962-export function foo() {}",
|
||||
"impliedFormat": "esnext"
|
||||
},
|
||||
"../src/filea.ts": {
|
||||
"version": "-5325347830-import { foo } from \"./fileB.mjs\";\nfoo();\n",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/randomfile.ts": {
|
||||
"version": "-9547279430-export const x = 10;export const y = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/a/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/b/ba/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/b/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/c/ca/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/c/ca/caa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/c/ca/caa/caaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/c/cb/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/d/da/daa/daaa/x/y/z/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/d/da/daa/daaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/d/da/daa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/d/da/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/e/ea/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/e/ea/eaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/e/ea/eaa/eaaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/e/ea/eaa/eaaa/x/y/z/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/f/fa/faa/x/y/z/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/f/fa/faa/faaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"cacheResolutions": true,
|
||||
"composite": true,
|
||||
"module": 100,
|
||||
"outDir": "./",
|
||||
"target": 3
|
||||
},
|
||||
"referencedMap": {
|
||||
"../src/filea.ts": [
|
||||
"../src/fileb.mts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
"../../../../lib/lib.es2016.full.d.ts",
|
||||
"../src/a/randomfile.ts",
|
||||
"../src/b/ba/randomfile.ts",
|
||||
"../src/b/randomfile.ts",
|
||||
"../src/c/ca/caa/caaa/randomfile.ts",
|
||||
"../src/c/ca/caa/randomfile.ts",
|
||||
"../src/c/ca/randomfile.ts",
|
||||
"../src/c/cb/randomfile.ts",
|
||||
"../src/d/da/daa/daaa/randomfile.ts",
|
||||
"../src/d/da/daa/daaa/x/y/z/randomfile.ts",
|
||||
"../src/d/da/daa/randomfile.ts",
|
||||
"../src/d/da/randomfile.ts",
|
||||
"../src/e/ea/eaa/eaaa/randomfile.ts",
|
||||
"../src/e/ea/eaa/eaaa/x/y/z/randomfile.ts",
|
||||
"../src/e/ea/eaa/randomfile.ts",
|
||||
"../src/e/ea/randomfile.ts",
|
||||
"../src/f/fa/faa/faaa/randomfile.ts",
|
||||
"../src/f/fa/faa/x/y/z/randomfile.ts",
|
||||
[
|
||||
"../src/filea.ts",
|
||||
[
|
||||
{
|
||||
"file": "../src/filea.ts",
|
||||
"start": 20,
|
||||
"length": 13,
|
||||
"code": 1479,
|
||||
"category": 1,
|
||||
"messageText": {
|
||||
"messageText": "The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"./fileB.mjs\")' call instead.",
|
||||
"category": 1,
|
||||
"code": 1479,
|
||||
"next": [
|
||||
{
|
||||
"messageText": "To convert this file to an ECMAScript module, change its file extension to '.mts' or create a local package.json file with `{ \"type\": \"module\" }`.",
|
||||
"category": 3,
|
||||
"code": 1480
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"../src/fileb.mts",
|
||||
"../src/randomfile.ts"
|
||||
],
|
||||
"latestChangedDtsFile": "FakeFileName",
|
||||
"cacheResolutions": {
|
||||
"resolutions": [
|
||||
{
|
||||
"original": {
|
||||
"resolvedModule": {
|
||||
"resolvedFileName": 23
|
||||
}
|
||||
},
|
||||
"resolutionId": 1,
|
||||
"resolvedModule": {
|
||||
"resolvedFileName": "../src/fileB.mts"
|
||||
}
|
||||
}
|
||||
],
|
||||
"names": [
|
||||
"./fileB.mjs"
|
||||
],
|
||||
"resolutionEntries": [
|
||||
{
|
||||
"original": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"resolutionEntryId": 1,
|
||||
"name": "./fileB.mjs",
|
||||
"resolution": {
|
||||
"resolutionId": 1,
|
||||
"resolvedModule": {
|
||||
"resolvedFileName": "../src/fileB.mts"
|
||||
}
|
||||
},
|
||||
"mode": "commonjs"
|
||||
}
|
||||
],
|
||||
"modules": [
|
||||
{
|
||||
"dir": "../src",
|
||||
"resolutions": [
|
||||
{
|
||||
"resolutionEntryId": 1,
|
||||
"name": "./fileB.mjs",
|
||||
"resolution": {
|
||||
"resolutionId": 1,
|
||||
"resolvedModule": {
|
||||
"resolvedFileName": "../src/fileB.mts"
|
||||
}
|
||||
},
|
||||
"mode": "commonjs"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": "FakeTSVersion"
|
||||
}
|
||||
IncrementalBuild:
|
||||
{
|
||||
"program": {
|
||||
"fileInfos": {
|
||||
"../../../../lib/lib.es2016.full.d.ts": {
|
||||
"version": "3858781397-/// <reference no-default-lib=\"true\"/>\ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array<T> { length: number; [n: number]: T; }\ninterface ReadonlyArray<T> {}\ndeclare const console: { log(msg: any): void; };",
|
||||
"affectsGlobalScope": true,
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/fileb.mts": {
|
||||
"version": "3524703962-export function foo() {}",
|
||||
"impliedFormat": "esnext"
|
||||
},
|
||||
"../src/filea.ts": {
|
||||
"version": "-5325347830-import { foo } from \"./fileB.mjs\";\nfoo();\n",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/randomfile.ts": {
|
||||
"version": "-9547279430-export const x = 10;export const y = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/a/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/b/ba/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/b/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/c/ca/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/c/ca/caa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/c/ca/caa/caaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/c/cb/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/d/da/daa/daaa/x/y/z/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/d/da/daa/daaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/d/da/daa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/d/da/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/e/ea/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/e/ea/eaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/e/ea/eaa/eaaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/e/ea/eaa/eaaa/x/y/z/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/f/fa/faa/x/y/z/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
},
|
||||
"../src/f/fa/faa/faaa/randomfile.ts": {
|
||||
"version": "-10726455937-export const x = 10;",
|
||||
"impliedFormat": "commonjs"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"cacheResolutions": true,
|
||||
"composite": true,
|
||||
"module": 100,
|
||||
"outDir": "./",
|
||||
"target": 3
|
||||
},
|
||||
"referencedMap": {
|
||||
"../src/filea.ts": [
|
||||
"../src/fileb.mts"
|
||||
]
|
||||
},
|
||||
"semanticDiagnosticsPerFile": [
|
||||
"../../../../lib/lib.es2016.full.d.ts",
|
||||
"../src/a/randomfile.ts",
|
||||
"../src/b/ba/randomfile.ts",
|
||||
"../src/b/randomfile.ts",
|
||||
"../src/c/ca/caa/caaa/randomfile.ts",
|
||||
"../src/c/ca/caa/randomfile.ts",
|
||||
"../src/c/ca/randomfile.ts",
|
||||
"../src/c/cb/randomfile.ts",
|
||||
"../src/d/da/daa/daaa/randomfile.ts",
|
||||
"../src/d/da/daa/daaa/x/y/z/randomfile.ts",
|
||||
"../src/d/da/daa/randomfile.ts",
|
||||
"../src/d/da/randomfile.ts",
|
||||
"../src/e/ea/eaa/eaaa/randomfile.ts",
|
||||
"../src/e/ea/eaa/eaaa/x/y/z/randomfile.ts",
|
||||
"../src/e/ea/eaa/randomfile.ts",
|
||||
"../src/e/ea/randomfile.ts",
|
||||
"../src/f/fa/faa/faaa/randomfile.ts",
|
||||
"../src/f/fa/faa/x/y/z/randomfile.ts",
|
||||
[
|
||||
"../src/filea.ts",
|
||||
[
|
||||
{
|
||||
"file": "../src/filea.ts",
|
||||
"start": 20,
|
||||
"length": 13,
|
||||
"code": 1479,
|
||||
"category": 1,
|
||||
"messageText": {
|
||||
"messageText": "The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"./fileB.mjs\")' call instead.",
|
||||
"category": 1,
|
||||
"code": 1479,
|
||||
"next": [
|
||||
{
|
||||
"messageText": "To convert this file to an ECMAScript module, change its file extension to '.mts', or add the field `\"type\": \"module\"` to '/src/projects/project/package.json'.",
|
||||
"category": 3,
|
||||
"code": 1481
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"../src/fileb.mts",
|
||||
"../src/randomfile.ts"
|
||||
],
|
||||
"latestChangedDtsFile": "FakeFileName",
|
||||
"cacheResolutions": {
|
||||
"resolutions": [
|
||||
{
|
||||
"original": {
|
||||
"resolvedModule": {
|
||||
"resolvedFileName": 23
|
||||
}
|
||||
},
|
||||
"resolutionId": 1,
|
||||
"resolvedModule": {
|
||||
"resolvedFileName": "../src/fileB.mts"
|
||||
}
|
||||
}
|
||||
],
|
||||
"names": [
|
||||
"./fileB.mjs"
|
||||
],
|
||||
"resolutionEntries": [
|
||||
{
|
||||
"original": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"resolutionEntryId": 1,
|
||||
"name": "./fileB.mjs",
|
||||
"resolution": {
|
||||
"resolutionId": 1,
|
||||
"resolvedModule": {
|
||||
"resolvedFileName": "../src/fileB.mts"
|
||||
}
|
||||
},
|
||||
"mode": "commonjs"
|
||||
}
|
||||
],
|
||||
"modules": [
|
||||
{
|
||||
"dir": "../src",
|
||||
"resolutions": [
|
||||
{
|
||||
"resolutionEntryId": 1,
|
||||
"name": "./fileB.mjs",
|
||||
"resolution": {
|
||||
"resolutionId": 1,
|
||||
"resolvedModule": {
|
||||
"resolvedFileName": "../src/fileB.mts"
|
||||
}
|
||||
},
|
||||
"mode": "commonjs"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"version": "FakeTSVersion"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
+7462
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+4521
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user