diff --git a/extensions/ql-vscode/package-lock.json b/extensions/ql-vscode/package-lock.json index b42e17c4f47..b1628b8a8f7 100644 --- a/extensions/ql-vscode/package-lock.json +++ b/extensions/ql-vscode/package-lock.json @@ -97,7 +97,6 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-storybook": "^10.6.1", - "glob": "^13.0.6", "gulp": "^5.0.1", "gulp-esbuild": "^0.14.1", "gulp-typescript": "^5.0.1", diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index 7420bd56610..f2a0f45921e 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -2155,7 +2155,6 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-storybook": "^10.6.1", - "glob": "^13.0.6", "gulp": "^5.0.1", "gulp-esbuild": "^0.14.1", "gulp-typescript": "^5.0.1", diff --git a/extensions/ql-vscode/src/databases/local-databases/database-resolver.ts b/extensions/ql-vscode/src/databases/local-databases/database-resolver.ts index d14a0a1f7c8..889c996ec36 100644 --- a/extensions/ql-vscode/src/databases/local-databases/database-resolver.ts +++ b/extensions/ql-vscode/src/databases/local-databases/database-resolver.ts @@ -6,7 +6,7 @@ import type { DatabaseContentsWithDbScheme, } from "./database-contents"; import { DatabaseKind } from "./database-contents"; -import { glob } from "glob"; +import { glob } from "fs/promises"; import { encodeArchiveBasePath } from "../../common/vscode/archive-filesystem-provider"; import { showAndLogInformationMessage, @@ -87,17 +87,22 @@ async function findDataset(parentDirectory: string): Promise { /* * Look directly in the root */ - let dbRelativePaths = await glob("db-*/", { + const dbRelativePaths: string[] = []; + for await (const path of glob("db-*/", { cwd: parentDirectory, - }); + })) { + dbRelativePaths.push(path); + } if (dbRelativePaths.length === 0) { /* * Check If they are in the old location */ - dbRelativePaths = await glob("working/db-*/", { + for await (const path of glob("working/db-*/", { cwd: parentDirectory, - }); + })) { + dbRelativePaths.push(path); + } } if (dbRelativePaths.length === 0) { throw new InvalidDatabaseError( @@ -118,7 +123,11 @@ async function findDataset(parentDirectory: string): Promise { /** Gets the relative paths of all `.dbscheme` files in the given directory. */ async function getDbSchemeFiles(dbDirectory: string): Promise { - return await glob("*.dbscheme", { cwd: dbDirectory }); + const dbSchemeFiles: string[] = []; + for await (const file of glob("*.dbscheme", { cwd: dbDirectory })) { + dbSchemeFiles.push(file); + } + return dbSchemeFiles; } // exported for testing diff --git a/extensions/ql-vscode/src/databases/local-databases/db-contents-heuristics.ts b/extensions/ql-vscode/src/databases/local-databases/db-contents-heuristics.ts index d76ac4e6571..48a4728ff34 100644 --- a/extensions/ql-vscode/src/databases/local-databases/db-contents-heuristics.ts +++ b/extensions/ql-vscode/src/databases/local-databases/db-contents-heuristics.ts @@ -1,6 +1,6 @@ import { pathExists } from "fs-extra"; import { basename, join } from "path"; -import { glob } from "glob"; +import { glob } from "fs/promises"; /** * The following functions al heuristically determine metadata about databases. @@ -19,10 +19,10 @@ export async function isLikelyDatabaseRoot(maybeRoot: string) { pathExists(join(maybeRoot, "codeql-database.yml")), // they *must* have a db-{language} folder - glob("db-*/", { cwd: maybeRoot }), + glob("db-*/", { cwd: maybeRoot }).next(), ]); - return (a || b) && c.length > 0; + return (a || b) && !c.done; } /** diff --git a/extensions/ql-vscode/src/databases/qlpack.ts b/extensions/ql-vscode/src/databases/qlpack.ts index fc82606560f..16ba5b296e0 100644 --- a/extensions/ql-vscode/src/databases/qlpack.ts +++ b/extensions/ql-vscode/src/databases/qlpack.ts @@ -1,5 +1,5 @@ import { window } from "vscode"; -import { glob } from "glob"; +import { glob } from "fs/promises"; import { basename } from "path"; import { load } from "js-yaml"; import { readFile } from "fs-extra"; @@ -108,9 +108,12 @@ export async function getQlPackForDbscheme( export async function getPrimaryDbscheme( datasetFolder: string, ): Promise { - const dbschemes = await glob("*.dbscheme", { + const dbschemes: string[] = []; + for await (const file of glob("*.dbscheme", { cwd: datasetFolder, - }); + })) { + dbschemes.push(file); + } if (dbschemes.length < 1) { throw new Error(