mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Fix test baselining for tsserver host timeouts (#50748)
This commit is contained in:
@@ -146,7 +146,7 @@ namespace ts.projectSystem {
|
||||
logCacheAndClear(projectService.logger);
|
||||
|
||||
host.writeFile(imported.path, imported.content);
|
||||
projectService.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
logSemanticDiagnostics(projectService, project, root);
|
||||
logCacheAndClear(projectService.logger);
|
||||
baselineTsserverLogs("cachingFileSystemInformation", "loads missing files from disk", projectService);
|
||||
@@ -280,7 +280,7 @@ namespace ts.projectSystem {
|
||||
|
||||
// Create file cookie.ts
|
||||
host.writeFile(file3.path, file3.content);
|
||||
projectService.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
logCacheAndClear(projectService.logger);
|
||||
|
||||
projectService.openClientFile(file3.path);
|
||||
@@ -479,15 +479,15 @@ namespace ts.projectSystem {
|
||||
if (npmInstallComplete || timeoutDuringPartialInstallation) {
|
||||
if (timeoutQueueLengthWhenRunningTimeouts) {
|
||||
// Expected project update
|
||||
projectService.checkTimeoutQueueLengthAndRun(timeoutQueueLengthWhenRunningTimeouts + 1); // Scheduled invalidation of resolutions
|
||||
projectService.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.checkTimeoutQueueLengthAndRun(timeoutQueueLengthWhenRunningTimeouts + 1); // Scheduled invalidation of resolutions
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
}
|
||||
else {
|
||||
projectService.checkTimeoutQueueLengthAndRun(timeoutQueueLengthWhenRunningTimeouts);
|
||||
host.checkTimeoutQueueLengthAndRun(timeoutQueueLengthWhenRunningTimeouts);
|
||||
}
|
||||
}
|
||||
else {
|
||||
projectService.checkTimeoutQueueLength(3);
|
||||
host.checkTimeoutQueueLength(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace ts.projectSystem {
|
||||
|
||||
// Delete config file - should create inferred project and not configured project
|
||||
host.deleteFile(configFile.path);
|
||||
service.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
checkNumberOfProjects(service, { inferredProjects: 1 });
|
||||
baselineTsserverLogs("configFileSearch", "should use projectRootPath when searching for inferred project again", service);
|
||||
});
|
||||
@@ -73,7 +73,7 @@ namespace ts.projectSystem {
|
||||
|
||||
// Delete config file - should create inferred project with project root path set
|
||||
host.deleteFile(configFile.path);
|
||||
service.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
baselineTsserverLogs("configFileSearch", "should use projectRootPath when searching for inferred project again 2", service);
|
||||
});
|
||||
|
||||
@@ -98,10 +98,10 @@ namespace ts.projectSystem {
|
||||
const { host, projectService } = openClientFile([file, libFile, tsconfig]);
|
||||
|
||||
host.deleteFile(tsconfig.path);
|
||||
projectService.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
host.writeFile(tsconfig.path, tsconfig.content);
|
||||
projectService.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
baselineTsserverLogs("configFileSearch", "tsconfig for the file exists", projectService);
|
||||
});
|
||||
@@ -110,10 +110,10 @@ namespace ts.projectSystem {
|
||||
const { host, projectService } = openClientFile([file, libFile]);
|
||||
|
||||
host.writeFile(tsconfig.path, tsconfig.content);
|
||||
projectService.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
host.deleteFile(tsconfig.path);
|
||||
projectService.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
baselineTsserverLogs("configFileSearch", "tsconfig for the file does not exist", projectService);
|
||||
});
|
||||
|
||||
@@ -90,11 +90,11 @@ namespace ts.projectSystem {
|
||||
|
||||
// Add a tsconfig file
|
||||
host.writeFile(configFile.path, configFile.content);
|
||||
projectService.checkTimeoutQueueLengthAndRun(2); // load configured project from disk + ensureProjectsForOpenFiles
|
||||
host.checkTimeoutQueueLengthAndRun(2); // load configured project from disk + ensureProjectsForOpenFiles
|
||||
|
||||
// remove the tsconfig file
|
||||
host.deleteFile(configFile.path);
|
||||
projectService.checkTimeoutQueueLengthAndRun(1); // Refresh inferred projects
|
||||
host.checkTimeoutQueueLengthAndRun(1); // Refresh inferred projects
|
||||
|
||||
baselineTsserverLogs("configuredProjects", "add and then remove a config file in a folder with loose files", projectService);
|
||||
});
|
||||
@@ -110,7 +110,7 @@ namespace ts.projectSystem {
|
||||
|
||||
// add a new ts file
|
||||
host.writeFile(commonFile2.path, commonFile2.content);
|
||||
projectService.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("configuredProjects", "add new files to a configured project without file list", projectService);
|
||||
});
|
||||
|
||||
@@ -548,7 +548,7 @@ namespace ts.projectSystem {
|
||||
assert.isTrue(configProject1.hasOpenRef()); // file1 and file3
|
||||
|
||||
host.writeFile(configFile.path, "{}");
|
||||
projectService.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
assert.isTrue(configProject1.hasOpenRef()); // file1, file2, file3
|
||||
assert.isTrue(projectService.inferredProjects[0].isOrphan());
|
||||
@@ -1033,7 +1033,7 @@ foo();`
|
||||
strict: true
|
||||
}
|
||||
}));
|
||||
projectService.checkTimeoutQueueLengthAndRun(3);
|
||||
host.checkTimeoutQueueLengthAndRun(3);
|
||||
|
||||
host.writeFile(bravoExtendedConfig.path, JSON.stringify({
|
||||
extends: "./alpha.tsconfig.json",
|
||||
@@ -1041,15 +1041,15 @@ foo();`
|
||||
strict: false
|
||||
}
|
||||
}));
|
||||
projectService.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
host.writeFile(bConfig.path, JSON.stringify({
|
||||
extends: "../extended/alpha.tsconfig.json",
|
||||
}));
|
||||
projectService.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
host.writeFile(alphaExtendedConfig.path, "{}");
|
||||
projectService.checkTimeoutQueueLengthAndRun(3);
|
||||
host.checkTimeoutQueueLengthAndRun(3);
|
||||
baselineTsserverLogs("configuredProjects", "should watch the extended configs of multiple projects", projectService);
|
||||
});
|
||||
|
||||
@@ -1183,8 +1183,8 @@ foo();`
|
||||
projectService.openClientFile(file1.path);
|
||||
|
||||
host.writeFile(file2.path, file2.content);
|
||||
projectService.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
projectService.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
|
||||
// On next file open the files file2a should be closed and not watched any more
|
||||
projectService.openClientFile(file2.path);
|
||||
|
||||
@@ -442,7 +442,7 @@ namespace ts.projectSystem {
|
||||
|
||||
file3.content += "export class d {}";
|
||||
host.writeFile(file3.path, file3.content);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// Since this is first event
|
||||
verifyProjectsUpdatedInBackgroundEventHandler([{
|
||||
@@ -453,8 +453,8 @@ namespace ts.projectSystem {
|
||||
}]);
|
||||
|
||||
host.writeFile(file2.path, file2.content);
|
||||
session.runQueuedTimeoutCallbacks(); // For invalidation
|
||||
session.runQueuedTimeoutCallbacks(); // For actual update
|
||||
host.runQueuedTimeoutCallbacks(); // For invalidation
|
||||
host.runQueuedTimeoutCallbacks(); // For actual update
|
||||
|
||||
verifyProjectsUpdatedInBackgroundEventHandler(useSlashRootAsSomeNotRootFolderInUserDirectory ? [{
|
||||
eventName: server.ProjectsUpdatedInBackgroundEvent,
|
||||
|
||||
@@ -342,6 +342,41 @@ namespace ts.projectSystem {
|
||||
}
|
||||
}
|
||||
|
||||
function patchHostTimeouts(host: TestFSWithWatch.TestServerHostTrackingWrittenFiles, session: TestSession | TestProjectService) {
|
||||
const originalCheckTimeoutQueueLength = host.checkTimeoutQueueLength;
|
||||
const originalRunQueuedTimeoutCallbacks = host.runQueuedTimeoutCallbacks;
|
||||
const originalRunQueuedImmediateCallbacks = host.runQueuedImmediateCallbacks;
|
||||
|
||||
host.checkTimeoutQueueLengthAndRun = checkTimeoutQueueLengthAndRun;
|
||||
host.checkTimeoutQueueLength = checkTimeoutQueueLength;
|
||||
host.runQueuedTimeoutCallbacks = runQueuedTimeoutCallbacks;
|
||||
host.runQueuedImmediateCallbacks = runQueuedImmediateCallbacks;
|
||||
|
||||
function checkTimeoutQueueLengthAndRun(expected: number) {
|
||||
session.baselineHost(`Before checking timeout queue length (${expected}) and running`);
|
||||
originalCheckTimeoutQueueLength.call(host, expected);
|
||||
originalRunQueuedTimeoutCallbacks.call(host);
|
||||
session.baselineHost(`After checking timeout queue length (${expected}) and running`);
|
||||
}
|
||||
|
||||
function checkTimeoutQueueLength(expected: number) {
|
||||
session.baselineHost(`Checking timeout queue length: ${expected}`);
|
||||
originalCheckTimeoutQueueLength.call(host, expected);
|
||||
}
|
||||
|
||||
function runQueuedTimeoutCallbacks(timeoutId?: number) {
|
||||
session.baselineHost(`Before running timeout callback${timeoutId === undefined ? "s" : timeoutId}`);
|
||||
originalRunQueuedTimeoutCallbacks.call(host, timeoutId);
|
||||
session.baselineHost(`After running timeout callback${timeoutId === undefined ? "s" : timeoutId}`);
|
||||
}
|
||||
|
||||
function runQueuedImmediateCallbacks(checkCount?: number) {
|
||||
session.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`);
|
||||
originalRunQueuedImmediateCallbacks.call(host, checkCount);
|
||||
session.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`);
|
||||
}
|
||||
}
|
||||
|
||||
export interface TestSessionOptions extends server.SessionOptions {
|
||||
logger: Logger;
|
||||
}
|
||||
@@ -357,6 +392,7 @@ namespace ts.projectSystem {
|
||||
super(opts);
|
||||
this.logger = opts.logger;
|
||||
this.testhost = TestFSWithWatch.changeToHostTrackingWrittenFiles(this.host as TestServerHost);
|
||||
patchHostTimeouts(this.testhost, this);
|
||||
}
|
||||
|
||||
getProjectService() {
|
||||
@@ -408,29 +444,6 @@ namespace ts.projectSystem {
|
||||
this.hostDiff = this.testhost.snap();
|
||||
this.testhost.writtenFiles.clear();
|
||||
}
|
||||
|
||||
checkTimeoutQueueLengthAndRun(expected: number) {
|
||||
this.baselineHost(`Before checking timeout queue length (${expected}) and running`);
|
||||
this.testhost.checkTimeoutQueueLengthAndRun(expected);
|
||||
this.baselineHost(`After checking timeout queue length (${expected}) and running`);
|
||||
}
|
||||
|
||||
checkTimeoutQueueLength(expected: number) {
|
||||
this.baselineHost(`Checking timeout queue length: ${expected}`);
|
||||
this.testhost.checkTimeoutQueueLength(expected);
|
||||
}
|
||||
|
||||
runQueuedTimeoutCallbacks(timeoutId?: number) {
|
||||
this.baselineHost(`Before running timeout callback${timeoutId === undefined ? "s" : timeoutId}`);
|
||||
this.testhost.runQueuedTimeoutCallbacks(timeoutId);
|
||||
this.baselineHost(`After running timeout callback${timeoutId === undefined ? "s" : timeoutId}`);
|
||||
}
|
||||
|
||||
runQueuedImmediateCallbacks(checkCount?: number) {
|
||||
this.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`);
|
||||
this.testhost.runQueuedImmediateCallbacks(checkCount);
|
||||
this.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`);
|
||||
}
|
||||
}
|
||||
|
||||
export function createSession(host: server.ServerHost, opts: Partial<TestSessionOptions> = {}) {
|
||||
@@ -513,6 +526,7 @@ namespace ts.projectSystem {
|
||||
...opts
|
||||
});
|
||||
this.testhost = TestFSWithWatch.changeToHostTrackingWrittenFiles(this.host as TestServerHost);
|
||||
patchHostTimeouts(this.testhost, this);
|
||||
this.baselineHost("Creating project service");
|
||||
}
|
||||
|
||||
@@ -528,29 +542,6 @@ namespace ts.projectSystem {
|
||||
this.hostDiff = this.testhost.snap();
|
||||
this.testhost.writtenFiles.clear();
|
||||
}
|
||||
|
||||
checkTimeoutQueueLengthAndRun(expected: number) {
|
||||
this.baselineHost(`Before checking timeout queue length (${expected}) and running`);
|
||||
this.testhost.checkTimeoutQueueLengthAndRun(expected);
|
||||
this.baselineHost(`After checking timeout queue length (${expected}) and running`);
|
||||
}
|
||||
|
||||
checkTimeoutQueueLength(expected: number) {
|
||||
this.baselineHost(`Checking timeout queue length: ${expected}`);
|
||||
this.testhost.checkTimeoutQueueLength(expected);
|
||||
}
|
||||
|
||||
runQueuedTimeoutCallbacks(timeoutId?: number) {
|
||||
this.baselineHost(`Before running timeout callback${timeoutId === undefined ? "s" : timeoutId}`);
|
||||
this.testhost.runQueuedTimeoutCallbacks(timeoutId);
|
||||
this.baselineHost(`After running timeout callback${timeoutId === undefined ? "s" : timeoutId}`);
|
||||
}
|
||||
|
||||
runQueuedImmediateCallbacks(checkCount?: number) {
|
||||
this.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`);
|
||||
this.testhost.runQueuedImmediateCallbacks(checkCount);
|
||||
this.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`);
|
||||
}
|
||||
}
|
||||
|
||||
export function createProjectService(host: TestServerHost, options?: Partial<TestProjectServiceOptions>) {
|
||||
@@ -854,14 +845,14 @@ namespace ts.projectSystem {
|
||||
Debug.assert(session.logger.logs.length);
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
if (existingTimeouts !== undefined) {
|
||||
session.checkTimeoutQueueLength(existingTimeouts + 1);
|
||||
session.runQueuedTimeoutCallbacks(host.getNextTimeoutId() - 1);
|
||||
host.checkTimeoutQueueLength(existingTimeouts + 1);
|
||||
host.runQueuedTimeoutCallbacks(host.getNextTimeoutId() - 1);
|
||||
}
|
||||
else {
|
||||
session.checkTimeoutQueueLengthAndRun(1);
|
||||
host.checkTimeoutQueueLengthAndRun(1);
|
||||
}
|
||||
if (!skip?.[i]?.semantic) session.runQueuedImmediateCallbacks(1);
|
||||
if (!skip?.[i]?.suggestion) session.runQueuedImmediateCallbacks(1);
|
||||
if (!skip?.[i]?.semantic) host.runQueuedImmediateCallbacks(1);
|
||||
if (!skip?.[i]?.suggestion) host.runQueuedImmediateCallbacks(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,34 +46,34 @@ namespace ts.projectSystem {
|
||||
host.writeFile(packageFile.path, JSON.stringify({
|
||||
name: "app", version: "1.0.0", type: "module",
|
||||
}));
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
session.logger.info("Modify package json file to remove type module");
|
||||
host.writeFile(packageFile.path, packageFile.content);
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
session.logger.info("Delete package.json");
|
||||
host.deleteFile(packageFile.path);
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
session.logger.info("Modify package json file to add type module");
|
||||
host.writeFile(packageFile.path, JSON.stringify({
|
||||
name: "app", version: "1.0.0", type: "module",
|
||||
}));
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
session.logger.info("Delete package.json");
|
||||
host.deleteFile(packageFile.path);
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
baselineTsserverLogs("moduleResolution", "package json file is edited", session);
|
||||
@@ -86,32 +86,32 @@ namespace ts.projectSystem {
|
||||
|
||||
session.logger.info("Modify package json file to remove type module");
|
||||
host.writeFile(packageFile.path, JSON.stringify({ name: "app", version: "1.0.0" }));
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
session.logger.info("Modify package json file to add type module");
|
||||
host.writeFile(packageFile.path, packageFile.content);
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
session.logger.info("Delete package.json");
|
||||
host.deleteFile(packageFile.path);
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
session.logger.info("Modify package json file to without type module");
|
||||
host.writeFile(packageFile.path, JSON.stringify({ name: "app", version: "1.0.0" }));
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
session.logger.info("Delete package.json");
|
||||
host.deleteFile(packageFile.path);
|
||||
session.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Failed lookup updates
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
verifyErr();
|
||||
|
||||
baselineTsserverLogs("moduleResolution", "package json file is edited when package json with type module exists", session);
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace ts.projectSystem {
|
||||
// Completion at an import statement will calculate and cache module specifiers
|
||||
triggerCompletions({ file: cTs.path, line: 1, offset: cTs.content.length + 1 });
|
||||
host.writeFile("/node_modules/.staging/mobx-12345678/package.json", "{}");
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
assert.equal(moduleSpecifierCache.count(), 0);
|
||||
baselineTsserverLogs("moduleSpecifierCache", "invalidates module specifiers when changes happen in contained node_modules directories", session);
|
||||
});
|
||||
|
||||
@@ -289,8 +289,8 @@ namespace ts.projectSystem {
|
||||
verifyGetErrRequest({ session, host, files: [app] });
|
||||
|
||||
host.renameFolder(`${projectDir}/foo`, `${projectDir}/foo2`);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyGetErrRequest({ session, host, files: [app] });
|
||||
baselineTsserverLogs("projectErrors", `folder rename updates project structure and reports no errors`, session);
|
||||
});
|
||||
@@ -310,7 +310,7 @@ namespace ts.projectSystem {
|
||||
}
|
||||
});
|
||||
|
||||
session.checkTimeoutQueueLengthAndRun(1);
|
||||
host.checkTimeoutQueueLengthAndRun(1);
|
||||
baselineTsserverLogs("projectErrors", "getting errors before opening file", session);
|
||||
});
|
||||
|
||||
@@ -474,13 +474,13 @@ declare module '@custom/plugin' {
|
||||
}
|
||||
}`;
|
||||
host.writeFile(configFile.path, configFile.content);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
configFile.content = `{
|
||||
"compilerOptions": {}
|
||||
}`;
|
||||
host.writeFile(configFile.path, configFile.content);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
baselineTsserverLogs("projectErrors", "configFileDiagnostic events are generated when the config file changes", session);
|
||||
});
|
||||
|
||||
@@ -868,13 +868,13 @@ console.log(blabla);`
|
||||
function verifyWhileNpmInstall(timeouts: number) {
|
||||
filesAndFoldersToAdd.forEach(f => host.ensureFileOrFolder(f));
|
||||
if (npmInstallComplete || timeoutDuringPartialInstallation) {
|
||||
session.checkTimeoutQueueLengthAndRun(timeouts); // Invalidation of failed lookups
|
||||
host.checkTimeoutQueueLengthAndRun(timeouts); // Invalidation of failed lookups
|
||||
if (timeouts) {
|
||||
session.checkTimeoutQueueLengthAndRun(timeouts - 1); // Actual update
|
||||
host.checkTimeoutQueueLengthAndRun(timeouts - 1); // Actual update
|
||||
}
|
||||
}
|
||||
else {
|
||||
session.checkTimeoutQueueLength(timeouts ? 3 : 2);
|
||||
host.checkTimeoutQueueLength(timeouts ? 3 : 2);
|
||||
}
|
||||
verifyGetErrRequest({ session, host, files: [main], existingTimeouts: !npmInstallComplete && !timeoutDuringPartialInstallation ? timeouts ? 3 : 2 : undefined });
|
||||
}
|
||||
|
||||
@@ -1257,16 +1257,16 @@ bar;`
|
||||
// Add new class to referenced project
|
||||
const class3 = `${tscWatch.projectRoot}/projects/project1/class3.ts`;
|
||||
host.writeFile(class3, `class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// Add excluded file to referenced project
|
||||
host.ensureFileOrFolder({ path: `${tscWatch.projectRoot}/projects/project1/temp/file.d.ts`, content: `declare class file {}` });
|
||||
session.checkTimeoutQueueLengthAndRun(0);
|
||||
host.checkTimeoutQueueLengthAndRun(0);
|
||||
|
||||
// Add output from new class to referenced project
|
||||
const class3Dts = `${tscWatch.projectRoot}/projects/project1/class3.d.ts`;
|
||||
host.writeFile(class3Dts, `declare class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(0);
|
||||
host.checkTimeoutQueueLengthAndRun(0);
|
||||
baselineTsserverLogs("projectReferences", `new file is added to the referenced project when referenced project is not open`, session);
|
||||
});
|
||||
|
||||
@@ -1277,14 +1277,14 @@ bar;`
|
||||
// Add new class to referenced project
|
||||
const class3 = `${tscWatch.projectRoot}/projects/project1/class3.ts`;
|
||||
host.writeFile(class3, `class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(3);
|
||||
host.checkTimeoutQueueLengthAndRun(3);
|
||||
// Add excluded file to referenced project
|
||||
host.ensureFileOrFolder({ path: `${tscWatch.projectRoot}/projects/project1/temp/file.d.ts`, content: `declare class file {}` });
|
||||
session.checkTimeoutQueueLengthAndRun(0);
|
||||
host.checkTimeoutQueueLengthAndRun(0);
|
||||
// Add output from new class to referenced project
|
||||
const class3Dts = `${tscWatch.projectRoot}/projects/project1/class3.d.ts`;
|
||||
host.writeFile(class3Dts, `declare class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(0);
|
||||
host.checkTimeoutQueueLengthAndRun(0);
|
||||
baselineTsserverLogs("projectReferences", `new file is added to the referenced project when referenced project is open`, session);
|
||||
});
|
||||
|
||||
@@ -1294,20 +1294,20 @@ bar;`
|
||||
// Add new class to referenced project
|
||||
const class3 = `${tscWatch.projectRoot}/projects/project1/class3.ts`;
|
||||
host.writeFile(class3, `class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
// Add output of new class to referenced project
|
||||
const class3Dts = `${tscWatch.projectRoot}/projects/project1/class3.d.ts`;
|
||||
host.writeFile(class3Dts, `declare class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
// Add excluded file to referenced project
|
||||
host.ensureFileOrFolder({ path: `${tscWatch.projectRoot}/projects/project1/temp/file.d.ts`, content: `declare class file {}` });
|
||||
session.checkTimeoutQueueLengthAndRun(0);
|
||||
host.checkTimeoutQueueLengthAndRun(0);
|
||||
// Delete output from new class to referenced project
|
||||
host.deleteFile(class3Dts);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
// Write back output of new class to referenced project
|
||||
host.writeFile(class3Dts, `declare class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectReferences", `new file is added to the referenced project when referenced project is not open with disableSourceOfProjectReferenceRedirect`, session);
|
||||
});
|
||||
|
||||
@@ -1318,20 +1318,20 @@ bar;`
|
||||
// Add new class to referenced project
|
||||
const class3 = `${tscWatch.projectRoot}/projects/project1/class3.ts`;
|
||||
host.writeFile(class3, `class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(3);
|
||||
host.checkTimeoutQueueLengthAndRun(3);
|
||||
// Add output of new class to referenced project
|
||||
const class3Dts = `${tscWatch.projectRoot}/projects/project1/class3.d.ts`;
|
||||
host.writeFile(class3Dts, `declare class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
// Add excluded file to referenced project
|
||||
host.ensureFileOrFolder({ path: `${tscWatch.projectRoot}/projects/project1/temp/file.d.ts`, content: `declare class file {}` });
|
||||
session.checkTimeoutQueueLengthAndRun(0);
|
||||
host.checkTimeoutQueueLengthAndRun(0);
|
||||
// Delete output from new class to referenced project
|
||||
host.deleteFile(class3Dts);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
// Write back output of new class to referenced project
|
||||
host.writeFile(class3Dts, `declare class class3 {}`);
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectReferences", `new file is added to the referenced project when referenced project is open with disableSourceOfProjectReferenceRedirect`, session);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -311,11 +311,11 @@ fn5();
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToMainTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -355,7 +355,7 @@ fn5();
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -395,7 +395,7 @@ fn5();
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -554,11 +554,11 @@ fn5();
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToMainTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -598,7 +598,7 @@ fn5();
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -638,7 +638,7 @@ fn5();
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -778,7 +778,7 @@ fn5();
|
||||
// Make change, without rebuild of solution
|
||||
host.writeFile(dependencyTs.path, `function fooBar() { }
|
||||
${dependencyTs.content}`);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -855,11 +855,11 @@ ${dependencyTs.content}`);
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToMainTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -899,7 +899,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -939,7 +939,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1107,11 +1107,11 @@ ${dependencyTs.content}`);
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToDependencyTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1151,7 +1151,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1191,7 +1191,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1350,11 +1350,11 @@ ${dependencyTs.content}`);
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToDependencyTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1394,7 +1394,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1434,7 +1434,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1568,7 +1568,7 @@ ${dependencyTs.content}`);
|
||||
});
|
||||
it(`when defining project source changes, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
// Make change, without rebuild of solution
|
||||
@@ -1578,7 +1578,7 @@ ${dependencyTs.content}`);
|
||||
file: dependencyTs.path, line: 1, offset: 1, endLine: 1, endOffset: 1, insertString: `function fooBar() { }
|
||||
`}
|
||||
});
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1659,11 +1659,11 @@ ${dependencyTs.content}`);
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToDependencyTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1703,7 +1703,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1743,7 +1743,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1921,12 +1921,12 @@ ${dependencyTs.content}`);
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToMainTs(session);
|
||||
makeChangeToDependencyTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -1983,7 +1983,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -2039,7 +2039,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -2274,12 +2274,12 @@ ${dependencyTs.content}`);
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToMainTs(session);
|
||||
makeChangeToDependencyTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -2336,7 +2336,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -2392,7 +2392,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -2592,7 +2592,7 @@ ${dependencyTs.content}`);
|
||||
});
|
||||
it(`when defining project source changes, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
// Make change, without rebuild of solution
|
||||
@@ -2602,7 +2602,7 @@ ${dependencyTs.content}`);
|
||||
file: dependencyTs.path, line: 1, offset: 1, endLine: 1, endOffset: 1, insertString: `function fooBar() { }
|
||||
`}
|
||||
});
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -2716,12 +2716,12 @@ ${dependencyTs.content}`);
|
||||
// Edit
|
||||
it(`when usage file changes, document position mapper doesnt change, when timeout occurs before request`, () => {
|
||||
// Create DocumentPositionMapper
|
||||
const { session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
const { host, session, dependencyMap, documentPositionMapper } = setupWithAction();
|
||||
|
||||
// change
|
||||
makeChangeToMainTs(session);
|
||||
makeChangeToDependencyTs(session);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -2778,7 +2778,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
@@ -2834,7 +2834,7 @@ ${dependencyTs.content}`);
|
||||
|
||||
// change
|
||||
changeDtsMapFile(host);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
verifyDocumentPositionMapperEqual(session, dependencyMap, documentPositionMapper);
|
||||
|
||||
// action
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace ts.projectSystem {
|
||||
session.executeCommand(getErrRequest);
|
||||
|
||||
host.writeFile(commonFile2.path, commonFile2.content);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
session.executeCommand(getErrRequest);
|
||||
baselineTsserverLogs("projects", "handles the missing files added with tripleslash ref", session);
|
||||
});
|
||||
@@ -1520,24 +1520,24 @@ namespace ts.projectSystem {
|
||||
openFile(fileB);
|
||||
openFile(fileSubA);
|
||||
|
||||
session.checkTimeoutQueueLengthAndRun(0);
|
||||
host.checkTimeoutQueueLengthAndRun(0);
|
||||
|
||||
// This should schedule 2 timeouts for ensuring project structure and ensuring projects for open file
|
||||
host.deleteFile(fileSubA.path);
|
||||
host.deleteFolder(getDirectoryPath(fileSubA.path));
|
||||
host.writeFile(fileA.path, fileA.content);
|
||||
session.checkTimeoutQueueLength(2);
|
||||
host.checkTimeoutQueueLength(2);
|
||||
|
||||
closeFilesForSession([fileSubA], session);
|
||||
// This should cancel existing updates and schedule new ones
|
||||
session.checkTimeoutQueueLength(2);
|
||||
host.checkTimeoutQueueLength(2);
|
||||
|
||||
// Open the fileA (as if rename)
|
||||
// config project is updated to check if fileA is present in it
|
||||
openFile(fileA);
|
||||
|
||||
// Run the timeout for updating configured project and ensuring projects for open file
|
||||
session.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// file is deleted but watches are not yet invoked
|
||||
const originalFileExists = host.fileExists;
|
||||
@@ -1548,13 +1548,13 @@ namespace ts.projectSystem {
|
||||
// This should create inferred project since fileSubA not on the disk
|
||||
openFile(fileSubA);
|
||||
|
||||
session.checkTimeoutQueueLengthAndRun(2); // Update configured project and projects for open file
|
||||
host.checkTimeoutQueueLengthAndRun(2); // Update configured project and projects for open file
|
||||
host.fileExists = originalFileExists;
|
||||
|
||||
// Actually trigger the file move
|
||||
host.deleteFile(fileA.path);
|
||||
host.ensureFileOrFolder(fileSubA);
|
||||
session.checkTimeoutQueueLength(2);
|
||||
host.checkTimeoutQueueLength(2);
|
||||
|
||||
verifyGetErrRequest({ session, host, files: [fileB, fileSubA], existingTimeouts: 2 });
|
||||
baselineTsserverLogs("projects", "handles delayed directory watch invoke on file creation", session);
|
||||
|
||||
@@ -16,18 +16,18 @@ namespace ts.projectSystem {
|
||||
|
||||
// local edit in ts file
|
||||
host.appendFile(logicIndex.path, `function foo() {}`);
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// non local edit in ts file
|
||||
host.appendFile(logicIndex.path, `export function gfoo() {}`);
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// change in project reference config file
|
||||
host.writeFile(logicConfig.path, JSON.stringify({
|
||||
compilerOptions: { composite: true, declaration: true, declarationDir: "decls" },
|
||||
references: [{ path: "../core" }]
|
||||
}));
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectsWithReferences", "sample project", service);
|
||||
});
|
||||
|
||||
@@ -89,7 +89,7 @@ export class A {}`
|
||||
|
||||
// non local edit
|
||||
host.appendFile(bTs.path, `export function gFoo() { }`);
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectsWithReferences", "transitive references with non local edit", service);
|
||||
});
|
||||
|
||||
@@ -103,11 +103,11 @@ export class A {}`
|
||||
host.ensureFileOrFolder(nRefsTs);
|
||||
cTsConfigJson.compilerOptions.paths = { "@ref/*": ["../nrefs/*"] };
|
||||
host.writeFile(cConfig.path, JSON.stringify(cTsConfigJson));
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// revert the edit on config file
|
||||
host.writeFile(cConfig.path, cConfig.content);
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectsWithReferences", "transitive references with edit on config file", service);
|
||||
});
|
||||
|
||||
@@ -121,33 +121,33 @@ export class A {}`
|
||||
host.ensureFileOrFolder(nRefsTs);
|
||||
bTsConfigJson.compilerOptions.paths = { "@ref/*": ["../nrefs/*"] };
|
||||
host.writeFile(bConfig.path, JSON.stringify(bTsConfigJson));
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// revert the edit on config file
|
||||
host.writeFile(bConfig.path, bConfig.content);
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectsWithReferences", "transitive references with edit in referenced config file", service);
|
||||
});
|
||||
|
||||
it("deleting referenced config file", () => {
|
||||
const { host, service, bConfig } = createService();
|
||||
host.deleteFile(bConfig.path);
|
||||
service.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
host.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
|
||||
// revert
|
||||
host.writeFile(bConfig.path, bConfig.content);
|
||||
service.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
host.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
baselineTsserverLogs("projectsWithReferences", "transitive references with deleting referenced config file", service);
|
||||
});
|
||||
|
||||
it("deleting transitively referenced config file", () => {
|
||||
const { host, service, aConfig } = createService();
|
||||
host.deleteFile(aConfig.path);
|
||||
service.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
host.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
|
||||
// revert
|
||||
host.writeFile(aConfig.path, aConfig.content);
|
||||
service.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
host.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
baselineTsserverLogs("projectsWithReferences", "transitive references with deleting transitively referenced config file", service);
|
||||
});
|
||||
});
|
||||
@@ -204,7 +204,7 @@ export class A {}`
|
||||
|
||||
// non local edit
|
||||
host.appendFile(bTs.path, `export function gFoo() { }`);
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectsWithReferences", "trasitive references without files with non local edit", service);
|
||||
});
|
||||
|
||||
@@ -218,11 +218,11 @@ export class A {}`
|
||||
host.ensureFileOrFolder(nRefsTs);
|
||||
cTsConfigJson.compilerOptions.paths = { "@ref/*": ["../nrefs/*"] };
|
||||
host.writeFile(cConfig.path, JSON.stringify(cTsConfigJson));
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// revert the edit on config file
|
||||
host.writeFile(cConfig.path, cConfig.content);
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectsWithReferences", "trasitive references without files with edit on config file", service);
|
||||
});
|
||||
|
||||
@@ -236,33 +236,33 @@ export class A {}`
|
||||
host.ensureFileOrFolder(nRefsTs);
|
||||
bTsConfigJson.compilerOptions.paths = { "@ref/*": ["../nrefs/*"] };
|
||||
host.writeFile(bConfig.path, JSON.stringify(bTsConfigJson));
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
|
||||
// revert the edit on config file
|
||||
host.writeFile(bConfig.path, bConfig.content);
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("projectsWithReferences", "trasitive references without files with edit in referenced config file", service);
|
||||
});
|
||||
|
||||
it("deleting referenced config file", () => {
|
||||
const { host, service, bConfig } = createService();
|
||||
host.deleteFile(bConfig.path);
|
||||
service.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
host.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
|
||||
// revert
|
||||
host.writeFile(bConfig.path, bConfig.content);
|
||||
service.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
host.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
baselineTsserverLogs("projectsWithReferences", "trasitive references without files with deleting referenced config file", service);
|
||||
});
|
||||
|
||||
it("deleting transitively referenced config file", () => {
|
||||
const { host, service, aConfig } = createService();
|
||||
host.deleteFile(aConfig.path);
|
||||
service.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
host.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
|
||||
// revert
|
||||
host.writeFile(aConfig.path, aConfig.content);
|
||||
service.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
host.checkTimeoutQueueLengthAndRun(3); // Schedules failed lookup invalidation
|
||||
baselineTsserverLogs("projectsWithReferences", "trasitive references without files with deleting transitively referenced config file", service);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -87,7 +87,7 @@ namespace ts.projectSystem {
|
||||
session.executeCommand(getErrRequest);
|
||||
|
||||
host.writeFile(moduleFile.path, moduleFile.content);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
// Make a change to trigger the program rebuild
|
||||
const changeRequest = makeSessionRequest<server.protocol.ChangeRequestArgs>(
|
||||
@@ -126,10 +126,10 @@ namespace ts.projectSystem {
|
||||
content: "export = pad;declare function pad(length: number, text: string, char ?: string): string;"
|
||||
};
|
||||
host.ensureFileOrFolder(padIndex, /*ignoreWatchInvokedWithTriggerAsFileCreate*/ true);
|
||||
session.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
session.runQueuedImmediateCallbacks();
|
||||
host.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedImmediateCallbacks();
|
||||
baselineTsserverLogs("resolutionCache", `npm install @types works`, session);
|
||||
});
|
||||
|
||||
@@ -210,7 +210,7 @@ namespace ts.projectSystem {
|
||||
}
|
||||
});
|
||||
|
||||
session.checkTimeoutQueueLength(0);
|
||||
host.checkTimeoutQueueLength(0);
|
||||
baselineTsserverLogs("resolutionCache", "suppressed diagnostic events", session);
|
||||
});
|
||||
});
|
||||
@@ -237,11 +237,11 @@ namespace ts.projectSystem {
|
||||
|
||||
const moduleFileNewPath = "/a/b/moduleFile1.ts";
|
||||
host.renameFile(moduleFile.path, moduleFileNewPath);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
session.executeCommand(getErrRequest);
|
||||
|
||||
host.renameFile(moduleFileNewPath, moduleFile.path);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
// Make a change to trigger the program rebuild
|
||||
const changeRequest = makeSessionRequest<server.protocol.ChangeRequestArgs>(
|
||||
@@ -249,7 +249,7 @@ namespace ts.projectSystem {
|
||||
{ file: file1.path, line: 1, offset: 44, endLine: 1, endOffset: 44, insertString: "\n" }
|
||||
);
|
||||
session.executeCommand(changeRequest);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
session.executeCommand(getErrRequest);
|
||||
baselineTsserverLogs("resolutionCache", "renaming module should restore the states for inferred projects", session);
|
||||
@@ -280,11 +280,11 @@ namespace ts.projectSystem {
|
||||
|
||||
const moduleFileNewPath = "/a/b/moduleFile1.ts";
|
||||
host.renameFile(moduleFile.path, moduleFileNewPath);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
session.executeCommand(getErrRequest);
|
||||
|
||||
host.renameFile(moduleFileNewPath, moduleFile.path);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
session.executeCommand(getErrRequest);
|
||||
baselineTsserverLogs("resolutionCache", "renaming module should restore the states for configured projects", session);
|
||||
});
|
||||
@@ -377,7 +377,7 @@ namespace ts.projectSystem {
|
||||
|
||||
host.writeFile(file1.path, file1.content + fileContent);
|
||||
host.writeFile(file2.path, file2.content + fileContent);
|
||||
service.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
|
||||
baselineTsserverLogs("resolutionCache", "relative module name from files in same folder", service);
|
||||
});
|
||||
@@ -393,7 +393,7 @@ namespace ts.projectSystem {
|
||||
|
||||
host.writeFile(file1.path, file1.content + fileContent);
|
||||
host.writeFile(file2.path, file2.content + fileContent);
|
||||
service.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
baselineTsserverLogs("resolutionCache", "non relative module name from files in same folder", service);
|
||||
});
|
||||
});
|
||||
@@ -435,7 +435,7 @@ namespace ts.projectSystem {
|
||||
host.writeFile(file2.path, file2.content + fileContent2);
|
||||
host.writeFile(file3.path, file3.content + fileContent3);
|
||||
host.writeFile(file4.path, file4.content + fileContent4);
|
||||
service.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
baselineTsserverLogs("resolutionCache", "relative module name from files in different folders", service);
|
||||
});
|
||||
|
||||
@@ -452,7 +452,7 @@ namespace ts.projectSystem {
|
||||
host.writeFile(file2.path, file2.content + fileContent);
|
||||
host.writeFile(file3.path, file3.content + fileContent);
|
||||
host.writeFile(file4.path, file4.content + fileContent);
|
||||
service.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
baselineTsserverLogs("resolutionCache", "non relative module name from files in different folders", service);
|
||||
});
|
||||
|
||||
@@ -474,7 +474,7 @@ namespace ts.projectSystem {
|
||||
host.writeFile(file2.path, file2.content + importModuleContent);
|
||||
host.writeFile(file3.path, file3.content + importModuleContent);
|
||||
host.writeFile(file4.path, file4.content + importModuleContent);
|
||||
service.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
baselineTsserverLogs("resolutionCache", "non relative module name from inferred project", service);
|
||||
});
|
||||
});
|
||||
@@ -595,7 +595,7 @@ export const x = 10;`
|
||||
|
||||
// invoke callback to simulate saving
|
||||
host.modifyFile(file1.path, file1.content, { invokeFileDeleteCreateAsPartInsteadOfChange: true });
|
||||
service.checkTimeoutQueueLengthAndRun(0);
|
||||
host.checkTimeoutQueueLengthAndRun(0);
|
||||
baselineTsserverLogs("resolutionCache", "avoid unnecessary lookup invalidation on save", service);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -127,8 +127,8 @@ new C();`
|
||||
|
||||
host.ensureFileOrFolder(nodeModulesRecorgnizersText);
|
||||
host.writeFile(recongnizerTextDistTypingFile.path, recongnizerTextDistTypingFile.content);
|
||||
session.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
|
||||
verifyGetErrRequest({ session, host, files: [recognizersDateTimeSrcFile] });
|
||||
|
||||
@@ -138,8 +138,8 @@ new C();`
|
||||
...config,
|
||||
compilerOptions: { ...config.compilerOptions, resolveJsonModule: true }
|
||||
}));
|
||||
session.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
|
||||
baselineTsserverLogs("symLinks", `module resolution${withPathMapping ? " with path mapping" : ""} when project compiles from sources`, session);
|
||||
});
|
||||
@@ -150,8 +150,8 @@ new C();`
|
||||
verifyGetErrRequest({ session, host, files: [recognizersDateTimeSrcFile] });
|
||||
|
||||
host.writeFile(recongnizerTextDistTypingFile.path, recongnizerTextDistTypingFile.content);
|
||||
session.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
|
||||
verifyGetErrRequest({ session, host, files: [recognizersDateTimeSrcFile] });
|
||||
baselineTsserverLogs("symLinks", `module resolution${withPathMapping ? " with path mapping" : ""} when project has node_modules setup but doesnt have modules in typings folder and then recompiles`, session);
|
||||
@@ -164,14 +164,14 @@ new C();`
|
||||
verifyGetErrRequest({ session, host, files: [recognizersDateTimeSrcFile] });
|
||||
|
||||
host.deleteFolder(recognizersTextDist, /*recursive*/ true);
|
||||
session.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
|
||||
verifyGetErrRequest({ session, host, files: [recognizersDateTimeSrcFile] });
|
||||
|
||||
host.ensureFileOrFolder(recongnizerTextDistTypingFile);
|
||||
session.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
session.runQueuedTimeoutCallbacks(); // Actual update
|
||||
host.runQueuedTimeoutCallbacks(); // Scheduled invalidation of resolutions
|
||||
host.runQueuedTimeoutCallbacks(); // Actual update
|
||||
|
||||
verifyGetErrRequest({ session, host, files: [recognizersDateTimeSrcFile] });
|
||||
baselineTsserverLogs("symLinks", `module resolution${withPathMapping ? " with path mapping" : ""} when project recompiles after deleting generated folders`, session);
|
||||
|
||||
@@ -138,7 +138,7 @@ namespace ts.projectSystem {
|
||||
projectService.openClientFile(file1.path);
|
||||
|
||||
installer.installAll(/*expectedCount*/ 1);
|
||||
projectService.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("typingsInstaller", "configured projects", projectService);
|
||||
});
|
||||
|
||||
@@ -1035,7 +1035,7 @@ namespace ts.projectSystem {
|
||||
|
||||
installer.installAll(/*expectedCount*/ 1);
|
||||
|
||||
projectService.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("typingsInstaller", "configured projects discover from bower_components", projectService);
|
||||
});
|
||||
|
||||
@@ -1212,7 +1212,7 @@ namespace ts.projectSystem {
|
||||
for (const name of typeNames) {
|
||||
assert.isTrue(host.fileExists(typePath(name)), `typings for '${name}' should be created`);
|
||||
}
|
||||
service.checkTimeoutQueueLengthAndRun(2);
|
||||
host.checkTimeoutQueueLengthAndRun(2);
|
||||
baselineTsserverLogs("typingsInstaller", "redo resolutions pointing to js on typing install", service);
|
||||
});
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace ts.projectSystem {
|
||||
content: ""
|
||||
};
|
||||
host.writeFile(file2.path, file2.content);
|
||||
session.runQueuedTimeoutCallbacks();
|
||||
host.runQueuedTimeoutCallbacks();
|
||||
session.executeCommandSeq<protocol.CompletionsRequest>({
|
||||
command: protocol.CommandTypes.CompletionInfo,
|
||||
arguments: protocolFileLocationFromSubstring(index, '"', { index: 1 })
|
||||
@@ -149,7 +149,7 @@ namespace ts.projectSystem {
|
||||
emacsIgnoredFileFromIgnoreDirectory
|
||||
].forEach(ignoredEntity => {
|
||||
host.ensureFileOrFolder(ignoredEntity);
|
||||
session.checkTimeoutQueueLength(0);
|
||||
host.checkTimeoutQueueLength(0);
|
||||
});
|
||||
|
||||
baselineTsserverLogs("watchEnvironment", `recursive directory does not watch files starting with dot in node_modules`, session);
|
||||
|
||||
+36
@@ -128,6 +128,24 @@ Info 26 [00:01:05.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/users/username/projects/myproject/node_modules/@types:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/users/username/projects/myproject/tsconfig.json:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/users/username/projects/myproject/src:
|
||||
{}
|
||||
/users/username/projects/myproject/node_modules:
|
||||
{}
|
||||
|
||||
Info 27 [00:01:06.000] request:
|
||||
{
|
||||
"command": "geterr",
|
||||
@@ -350,6 +368,24 @@ Info 34 [00:01:13.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/users/username/projects/myproject/node_modules/@types:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/users/username/projects/myproject/tsconfig.json:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/users/username/projects/myproject/src:
|
||||
{}
|
||||
/users/username/projects/myproject/node_modules:
|
||||
{}
|
||||
|
||||
Info 35 [00:01:14.000] request:
|
||||
{
|
||||
"command": "geterr",
|
||||
|
||||
+16
@@ -92,6 +92,22 @@ ScriptInfos:
|
||||
path: /user/someuser/projects/somefolder/untitled:untitled-1 fileName: untitled:Untitled-1
|
||||
path: /a/lib/lib.d.ts fileName: /a/lib/lib.d.ts
|
||||
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/typings/@epic/core.d.ts:
|
||||
{"pollingInterval":500}
|
||||
/user/someuser/projects/somefolder/node_modules/@types:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
/user/someuser/projects/somefolder/src/somefile.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
Info 16 [00:00:47.000] request:
|
||||
{
|
||||
"command": "geterr",
|
||||
|
||||
+14
@@ -87,6 +87,20 @@ ScriptInfos:
|
||||
path: /untitled:untitled-1 fileName: untitled:Untitled-1
|
||||
path: /a/lib/lib.d.ts fileName: /a/lib/lib.d.ts
|
||||
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/typings/@epic/core.d.ts:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
/src/somefile.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
Info 14 [00:00:45.000] request:
|
||||
{
|
||||
"command": "geterr",
|
||||
|
||||
+18
@@ -164,6 +164,24 @@ Info 36 [00:01:16.000] event:
|
||||
{"seq":0,"type":"event","event":"projectsUpdatedInBackground","body":{"openFiles":["/a/b/project/file1.ts"]}}
|
||||
After checking timeout queue length (2) and running
|
||||
|
||||
PolledWatches::
|
||||
/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/a/b/project/tsconfig.json:
|
||||
{}
|
||||
/a/b/project/file3.ts:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/a/b/project:
|
||||
{}
|
||||
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
+44
@@ -182,6 +182,30 @@ Info 42 [00:01:32.000] event:
|
||||
{"seq":0,"type":"event","event":"projectsUpdatedInBackground","body":{"openFiles":["/user/username/rootfolder/otherfolder/a/b/project/file1.ts"]}}
|
||||
After checking timeout queue length (2) and running
|
||||
|
||||
PolledWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/user/username/rootfolder/otherfolder/a/b/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/user/username/rootfolder/otherfolder/a/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/user/username/rootfolder/otherfolder/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/tsconfig.json:
|
||||
{}
|
||||
/user/username/rootfolder/otherfolder/a/b/project/file3.ts:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/user/username/rootfolder/otherfolder/a/b/project:
|
||||
{}
|
||||
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
@@ -357,3 +381,23 @@ FsWatchesRecursive::
|
||||
{}
|
||||
/user/username/rootfolder/otherfolder/a/b/node_modules:
|
||||
{}
|
||||
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/tsconfig.json:
|
||||
{}
|
||||
/user/username/rootfolder/otherfolder/a/b/project/file3.ts:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/user/username/rootfolder/otherfolder/a/b/project:
|
||||
{}
|
||||
/user/username/rootfolder/otherfolder/a/b/node_modules:
|
||||
{}
|
||||
|
||||
+18
@@ -164,6 +164,24 @@ Info 36 [00:01:16.000] event:
|
||||
{"seq":0,"type":"event","event":"projectsUpdatedInBackground","body":{"openFiles":["/a/b/project/file1.ts"]}}
|
||||
After checking timeout queue length (2) and running
|
||||
|
||||
PolledWatches::
|
||||
/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/a/b/project/tsconfig.json:
|
||||
{}
|
||||
/a/b/project/file3.ts:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/a/b/project:
|
||||
{}
|
||||
|
||||
Checking timeout queue length: 1
|
||||
|
||||
PolledWatches::
|
||||
/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
+44
@@ -182,6 +182,30 @@ Info 42 [00:01:32.000] event:
|
||||
{"seq":0,"type":"event","event":"projectsUpdatedInBackground","body":{"openFiles":["/user/username/rootfolder/otherfolder/a/b/project/file1.ts"]}}
|
||||
After checking timeout queue length (2) and running
|
||||
|
||||
PolledWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/user/username/rootfolder/otherfolder/a/b/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/user/username/rootfolder/otherfolder/a/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/user/username/rootfolder/otherfolder/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/tsconfig.json:
|
||||
{}
|
||||
/user/username/rootfolder/otherfolder/a/b/project/file3.ts:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/user/username/rootfolder/otherfolder/a/b/project:
|
||||
{}
|
||||
|
||||
Checking timeout queue length: 1
|
||||
|
||||
PolledWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
@@ -348,3 +372,23 @@ FsWatchesRecursive::
|
||||
{}
|
||||
/user/username/rootfolder/otherfolder/a/b/node_modules:
|
||||
{}
|
||||
|
||||
Checking timeout queue length: 1
|
||||
|
||||
PolledWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/user/username/rootfolder/otherfolder/a/b/project/tsconfig.json:
|
||||
{}
|
||||
/user/username/rootfolder/otherfolder/a/b/project/file3.ts:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/user/username/rootfolder/otherfolder/a/b/project:
|
||||
{}
|
||||
/user/username/rootfolder/otherfolder/a/b/node_modules:
|
||||
{}
|
||||
|
||||
+16
@@ -490,6 +490,22 @@ Info 61 [00:02:20.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
Checking timeout queue length: 2
|
||||
|
||||
PolledWatches::
|
||||
/users/username/projects/project/node_modules/@types:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
/users/username/projects/project/tsconfig.json:
|
||||
{}
|
||||
/a/lib/lib.d.ts:
|
||||
{}
|
||||
|
||||
FsWatchesRecursive::
|
||||
/users/username/projects/project:
|
||||
{}
|
||||
|
||||
Info 62 [00:02:21.000] request:
|
||||
{
|
||||
"seq": 0,
|
||||
|
||||
@@ -107,6 +107,20 @@ Info 16 [00:00:27.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/node_modules:
|
||||
{"pollingInterval":500}
|
||||
/a/lib/lib.d.ts:
|
||||
{"pollingInterval":500}
|
||||
/bower_components:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
Info 17 [00:00:28.000] request:
|
||||
{
|
||||
"command": "geterr",
|
||||
|
||||
@@ -60,6 +60,20 @@ Info 11 [00:00:22.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/a/lib/lib.d.ts:
|
||||
{"pollingInterval":500}
|
||||
/bower_components:
|
||||
{"pollingInterval":500}
|
||||
/node_modules:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
Info 12 [00:00:23.000] request:
|
||||
{
|
||||
"command": "geterr",
|
||||
|
||||
@@ -56,6 +56,16 @@ Info 11 [00:00:22.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/a/lib/lib.d.ts:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
Info 12 [00:00:23.000] request:
|
||||
{
|
||||
"command": "geterr",
|
||||
@@ -94,6 +104,16 @@ Info 14 [00:00:25.000] response:
|
||||
{
|
||||
"responseRequired": false
|
||||
}
|
||||
Checking timeout queue length: 0
|
||||
|
||||
PolledWatches::
|
||||
/a/lib/lib.d.ts:
|
||||
{"pollingInterval":500}
|
||||
|
||||
FsWatches::
|
||||
|
||||
FsWatchesRecursive::
|
||||
|
||||
Info 15 [00:00:26.000] request:
|
||||
{
|
||||
"command": "geterr",
|
||||
|
||||
Reference in New Issue
Block a user