Move tryGetQueryMetadata out of helpers
This commit is contained in:
22
extensions/ql-vscode/src/codeql-cli/query-metadata.ts
Normal file
22
extensions/ql-vscode/src/codeql-cli/query-metadata.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user