Move tryGetQueryMetadata out of helpers

This commit is contained in:
Koen Vlaswinkel
2023-06-12 14:51:29 +02:00
parent c16d363b08
commit 2cd88cecde
5 changed files with 31 additions and 33 deletions

View File

@@ -0,0 +1,22 @@
import { CodeQLCliServer } from "./cli";
import { QueryMetadata } from "../pure/interface-types";
import { extLogger } from "../common";
/**
* Gets metadata for a query, if it exists.
* @param cliServer The CLI server.
* @param queryPath The path to the query.
* @returns A promise that resolves to the query metadata, if available.
*/
export async function tryGetQueryMetadata(
cliServer: CodeQLCliServer,
queryPath: string,
): Promise<QueryMetadata | undefined> {
try {
return await cliServer.resolveMetadata(queryPath);
} catch (e) {
// Ignore errors and provide no metadata.
void extLogger.log(`Couldn't resolve metadata for ${queryPath}: ${e}`);
return;
}
}

View File

@@ -5,7 +5,6 @@ import { Uri, window as Window } from "vscode";
import { CodeQLCliServer } from "./codeql-cli/cli";
import { UserCancellationException } from "./common/vscode/progress";
import { extLogger } from "./common";
import { QueryMetadata } from "./pure/interface-types";
import { isQueryLanguage, QueryLanguage } from "./common/query-language";
import { getOnDiskWorkspaceFolders } from "./common/vscode/workspace-folders";
import { showAndLogErrorMessage } from "./common/vscode/log";
@@ -102,25 +101,6 @@ export async function askForLanguage(
return language;
}
/**
* Gets metadata for a query, if it exists.
* @param cliServer The CLI server.
* @param queryPath The path to the query.
* @returns A promise that resolves to the query metadata, if available.
*/
export async function tryGetQueryMetadata(
cliServer: CodeQLCliServer,
queryPath: string,
): Promise<QueryMetadata | undefined> {
try {
return await cliServer.resolveMetadata(queryPath);
} catch (e) {
// Ignore errors and provide no metadata.
void extLogger.log(`Couldn't resolve metadata for ${queryPath}: ${e}`);
return;
}
}
/**
* Creates a file in the query directory that indicates when this query was created.
* This is important for keeping track of when queries should be removed.

View File

@@ -1,5 +1,4 @@
import { BaseLogger, Logger } from "../common";
import { tryGetQueryMetadata } from "../helpers";
import { CoreQueryResults } from "../query-server";
import { QueryHistoryManager } from "../query-history/query-history-manager";
import { DatabaseItem } from "../databases/local-databases";
@@ -21,6 +20,7 @@ import {
showAndLogExceptionWithTelemetry,
showAndLogWarningMessage,
} from "../common/vscode/log";
import { tryGetQueryMetadata } from "../codeql-cli/query-metadata";
function formatResultMessage(result: CoreQueryResults): string {
switch (result.resultType) {

View File

@@ -3,12 +3,7 @@ import { relative, join, sep, dirname, parse, basename } from "path";
import { dump, load } from "js-yaml";
import { copy, writeFile, readFile, mkdirp } from "fs-extra";
import { dir, tmpName } from "tmp-promise";
import {
askForLanguage,
findLanguage,
tryGetQueryMetadata,
tmpDir,
} from "../helpers";
import { askForLanguage, findLanguage, tmpDir } from "../helpers";
import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
import { Credentials } from "../common/authentication";
import * as cli from "../codeql-cli/cli";
@@ -40,6 +35,7 @@ import {
QLPACK_LOCK_FILENAMES,
} from "../pure/ql";
import { QueryLanguage } from "../common/query-language";
import { tryGetQueryMetadata } from "../codeql-cli/query-metadata";
export interface QlPack {
name: string;

View File

@@ -1,11 +1,11 @@
import { join } from "path";
import { join, resolve } from "path";
import { CodeQLCliServer } from "../../../src/codeql-cli/cli";
import { tryGetQueryMetadata } from "../../../src/helpers";
import { getActivatedExtension } from "../global.helper";
import { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
import { getActivatedExtension } from "../../global.helper";
import { tryGetQueryMetadata } from "../../../../src/codeql-cli/query-metadata";
describe("helpers (with CLI)", () => {
const baseDir = __dirname;
describe("tryGetQueryMetadata", () => {
const baseDir = resolve(__dirname, "..");
let cli: CodeQLCliServer;