Skip to content

Commit 5b4d265

Browse files
josefsCopilot
andcommitted
Remove nanoid
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 1c538f7 commit 5b4d265

12 files changed

Lines changed: 31 additions & 49 deletions

File tree

‎extensions/ql-vscode/package-lock.json‎

Lines changed: 0 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎extensions/ql-vscode/package.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2084,7 +2084,6 @@
20842084
"js-yaml": "^5.2.3",
20852085
"koffi": "^3.3.2",
20862086
"msw": "^2.15.0",
2087-
"nanoid": "^6.0.1",
20882087
"p-queue": "^8.0.1",
20892088
"proper-lockfile": "^4.1.2",
20902089
"react": "^19.3.0",

‎extensions/ql-vscode/src/compare/compare-view.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import {
3838
getResultSetNames,
3939
} from "./result-set-names";
4040
import { isCanary } from "../config";
41-
import { nanoid } from "nanoid";
41+
import { randomUUID } from "crypto";
4242

4343
interface ComparePair {
4444
from: CompletedLocalQueryInfo;
@@ -243,7 +243,7 @@ export class CompareView extends AbstractWebview<
243243
return;
244244
}
245245

246-
const id = nanoid();
246+
const id = randomUUID();
247247

248248
// Streaming itself is implemented like this:
249249
// - 1 setup message which contains the first 1,000 results

‎extensions/ql-vscode/src/databases/database-fetcher.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
} from "fs-extra";
1212
import { basename, join } from "path";
1313
import type { Octokit } from "@octokit/rest";
14-
import { nanoid } from "nanoid";
14+
import { randomUUID } from "crypto";
1515

1616
import type { DatabaseManager, DatabaseItem } from "./local-databases";
1717
import { tmpDir } from "../tmp-dir";
@@ -39,7 +39,7 @@ import { convertGithubNwoToDatabaseUrl } from "./github-databases/api";
3939
import { ensureZippedSourceLocation } from "./local-databases/database-contents";
4040

4141
// The number of tries to use when generating a unique filename before
42-
// giving up and using a nanoid.
42+
// giving up and using a random UUID.
4343
const DUPLICATE_FILENAMES_TRIES = 10_000;
4444

4545
export class DatabaseFetcher {
@@ -429,7 +429,7 @@ export class DatabaseFetcher {
429429
} else if (counter <= DUPLICATE_FILENAMES_TRIES + 5) {
430430
// If there are more than 10,000 similarly named databases,
431431
// give up on using a counter and use a random string instead.
432-
folderName = `${lastName}-${nanoid()}`;
432+
folderName = `${lastName}-${randomUUID()}`;
433433
} else {
434434
// This should almost never happen, but just in case, we don't want to
435435
// get stuck in an infinite loop.

‎extensions/ql-vscode/src/model-editor/extensions-workspace-folder.ts‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { containsPath, tmpdir } from "../common/files";
55
import type { NotificationLogger } from "../common/logging";
66
import { showAndLogErrorMessage } from "../common/logging";
77
import { isAbsolute, normalize, resolve } from "path";
8-
import { nanoid } from "nanoid";
8+
import { randomUUID } from "crypto";
99
import type { ModelConfig } from "../config";
1010

1111
/**
@@ -245,11 +245,11 @@ export async function ensurePackLocationIsInWorkspaceFolder(
245245
const otherPackLocations = await Promise.all(
246246
Array.from({ length: 3 }).map(() =>
247247
packLocationToAbsolute(
248-
modelConfig.getPackLocation(nanoid(), {
249-
database: nanoid(),
250-
language: nanoid(),
251-
name: nanoid(),
252-
owner: nanoid(),
248+
modelConfig.getPackLocation(randomUUID(), {
249+
database: randomUUID(),
250+
language: randomUUID(),
251+
name: randomUUID(),
252+
owner: randomUUID(),
253253
}),
254254
logger,
255255
),

‎extensions/ql-vscode/src/query-server/query-runner.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
} from "./messages";
2525
import type { BaseLogger, Logger } from "../common/logging";
2626
import { join } from "path";
27-
import { nanoid } from "nanoid";
27+
import { randomUUID } from "crypto";
2828
import type { QueryServerClient } from "./query-server-client";
2929
import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
3030
import { compileAndRunQueryAgainstDatabaseCore } from "./run-queries";
@@ -259,7 +259,7 @@ export class QueryRunner {
259259
queryBasename: string,
260260
templates: Record<string, string> | undefined,
261261
): CoreQueryRun {
262-
const id = `${queryBasename}-${nanoid()}`;
262+
const id = `${queryBasename}-${randomUUID()}`;
263263
const outputDir = new QueryOutputDir(join(queryStorageDir, id));
264264

265265
return {

‎extensions/ql-vscode/src/run-queries-shared.ts‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import {
1616
import type { InitialQueryInfo } from "./query-results";
1717
import { ensureMetadataIsComplete } from "./query-results";
1818
import { isQuickQueryPath } from "./local-queries/quick-query";
19-
import { nanoid } from "nanoid";
2019
import type { CodeQLCliServer } from "./codeql-cli/cli";
2120
import { SELECT_QUERY_NAME } from "./language-support";
2221
import type { DatabaseManager } from "./databases/local-databases";
@@ -28,7 +27,7 @@ import type { BaseLogger } from "./common/logging";
2827
import { showAndLogWarningMessage } from "./common/logging";
2928
import { extLogger } from "./common/logging/vscode";
3029
import { getErrorMessage } from "./common/helpers-pure";
31-
import { createHash } from "crypto";
30+
import { createHash, randomUUID } from "crypto";
3231
import { QueryOutputDir } from "./local-queries/query-output-dir";
3332
import { progressUpdate } from "./common/vscode/progress";
3433
import type { ProgressCallback } from "./common/vscode/progress";
@@ -526,7 +525,7 @@ export async function createInitialQueryInfo(
526525
isQuickEvalCount,
527526
isQuickQuery: isQuickQueryPath(selectedQuery.queryPath),
528527
databaseInfo,
529-
id: `${basename(selectedQuery.queryPath)}-${nanoid()}`,
528+
id: `${basename(selectedQuery.queryPath)}-${randomUUID()}`,
530529
start: new Date(),
531530
...(selectedQuery.quickEval !== undefined
532531
? {

‎extensions/ql-vscode/src/stories/variant-analysis/VariantAnalysisAnalyzedRepos.stories.tsx‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import type { Meta, StoryFn } from "@storybook/react";
22

33
import { faker } from "@faker-js/faker";
4-
import { customAlphabet } from "nanoid";
54

65
import { VariantAnalysisContainer } from "../../view/variant-analysis/VariantAnalysisContainer";
76
import { VariantAnalysisAnalyzedRepos } from "../../view/variant-analysis/VariantAnalysisAnalyzedRepos";
@@ -129,16 +128,15 @@ faker.seed(42);
129128

130129
const manyScannedRepos = Array.from({ length: 1000 }, (_, i) => {
131130
const mockedScannedRepo = createMockScannedRepo();
132-
const nanoid = customAlphabet("123456789");
133131
return {
134132
...mockedScannedRepo,
135133
analysisStatus: VariantAnalysisRepoStatus.Succeeded,
136134
resultCount: faker.number.int({ min: 0, max: 1000 }),
137135
repository: {
138136
...mockedScannedRepo.repository,
139137
// We need to ensure the ID is unique for React keys
140-
id: parseInt(nanoid()),
141-
fullName: `octodemo/${nanoid()}`,
138+
id: faker.number.int(),
139+
fullName: `octodemo/${faker.string.numeric({ length: 21, allowLeadingZeros: false })}`,
142140
},
143141
};
144142
});

‎extensions/ql-vscode/src/variant-analysis/run-remote-query.ts‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { window } from "vscode";
33
import { join, basename, relative } from "path";
44
import { dump } from "js-yaml";
55
import { copy, writeFile, readFile, mkdirp, remove } from "fs-extra";
6-
import { nanoid } from "nanoid";
6+
import { randomUUID } from "crypto";
77
import { tmpDir } from "../tmp-dir";
88
import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
99
import type { Credentials } from "../common/authentication";
@@ -167,15 +167,18 @@ async function createRemoteQueriesTempDirectory(): Promise<RemoteQueryTempDir> {
167167
// archive if the pack path contains any 8.3 components.
168168
const tmpDirPath = await expandShortPaths(tmpDir.name, extLogger);
169169

170-
const remoteQueryDir = join(tmpDirPath, `remote-query-${nanoid()}`);
170+
const remoteQueryDir = join(tmpDirPath, `remote-query-${randomUUID()}`);
171171
await mkdirp(remoteQueryDir);
172172

173173
const queryPackDir = join(remoteQueryDir, "query-pack");
174174
await mkdirp(queryPackDir);
175175

176176
const compiledPackDir = join(remoteQueryDir, "compiled-pack");
177177

178-
const bundleFile = join(remoteQueryDir, `qlpack-${nanoid()}-generated.tgz`);
178+
const bundleFile = join(
179+
remoteQueryDir,
180+
`qlpack-${randomUUID()}-generated.tgz`,
181+
);
179182

180183
return { remoteQueryDir, queryPackDir, compiledPackDir, bundleFile };
181184
}

‎extensions/ql-vscode/test/jest-config.ts‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const transformPackages = [
2020
"formdata-polyfill",
2121
"internmap",
2222
"lit",
23-
"nanoid",
2423
"p-queue",
2524
"p-timeout",
2625
"readdirp",

0 commit comments

Comments
 (0)