mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-07 14:13:54 -06:00
Add tests for package json edits
This commit is contained in:
parent
7de47805fe
commit
5c11252b71
@ -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) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
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"
|
||||
}
|
||||
5525
tests/baselines/reference/tsc/cacheResolutions/packageJson-edited.js
Normal file
5525
tests/baselines/reference/tsc/cacheResolutions/packageJson-edited.js
Normal file
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
Loading…
x
Reference in New Issue
Block a user