Repository navigation
Replace redundant dependencies with Node 22 built-ins (without glob) - #4607
Merged
Merged
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
kaspersv
approved these changes
Oct 16, 2026
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Repeated graph initialization can accumulate click handlers and trigger duplicate source navigation.
2 open findings
What changed in this PR
Removes redundant CodeQL extension dependencies using Node 22 built-ins and existing packages, leaving glob unchanged.
Changes:
- Replaces ID, stream, filesystem, logging, and graph-event helpers.
- Updates test imports and story data generation.
- Removes unused dependencies and Jest transformation entries.
| File | Description |
|---|---|
extensions/ql-vscode/test/vscode-tests/no-workspace/query-history/store/query-history-store.test.ts |
Uses UUIDs for query IDs. |
extensions/ql-vscode/test/vscode-tests/no-workspace/local-queries/webview.test.ts |
Imports temporary files from tmp-promise. |
extensions/ql-vscode/test/vscode-tests/no-workspace/databases/local-databases-ui.test.ts |
Uses tmp-promise helpers. |
extensions/ql-vscode/test/vscode-tests/no-workspace/code-tour/code-tour.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/vscode-tests/minimal-workspace/queries-panel/query-pack-discovery.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/vscode-tests/minimal-workspace/queries-panel/query-discovery.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/vscode-tests/minimal-workspace/qlpack-generator.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/vscode-tests/minimal-workspace/local-queries/local-databases.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/vscode-tests/minimal-workspace/common/vscode/file-path-discovery.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/vscode-tests/jest.activated-extension.setup.ts |
Updates temporary-directory imports. |
extensions/ql-vscode/test/vscode-tests/cli-integration/query-server/query-server-client.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/vscode-tests/cli-integration/model-editor/modeled-method-fs.test.ts |
Uses UUID-derived directory names. |
extensions/ql-vscode/test/vscode-tests/cli-integration/local-queries/skeleton-query-wizard.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/unit-tests/local-queries/query-contents.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/unit-tests/databases/local-databases/db-contents-heuristics.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/unit-tests/common/files.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/test/jest-config.ts |
Removes direct D3 and Nano ID transforms. |
extensions/ql-vscode/test/common/logging/output-channel-logger.test.ts |
Uses tmp-promise directories. |
extensions/ql-vscode/src/view/results/Graph.tsx |
Uses native click listeners. |
extensions/ql-vscode/src/variant-analysis/run-remote-query.ts |
Uses UUIDs for temporary paths. |
extensions/ql-vscode/src/stories/variant-analysis/VariantAnalysisAnalyzedRepos.stories.tsx |
Uses Faker for repository identifiers. |
extensions/ql-vscode/src/run-queries-shared.ts |
Uses UUIDs for query IDs. |
extensions/ql-vscode/src/query-server/query-runner.ts |
Uses UUIDs for run IDs. |
extensions/ql-vscode/src/model-editor/extensions-workspace-folder.ts |
Uses UUIDs for placeholder values. |
extensions/ql-vscode/src/databases/database-fetcher.ts |
Uses UUIDs for fallback folder names. |
extensions/ql-vscode/src/compare/compare-view.ts |
Uses UUIDs for streaming IDs. |
extensions/ql-vscode/package.json |
Removes redundant direct dependencies. |
extensions/ql-vscode/package-lock.json |
Updates the dependency tree. |
extensions/ql-vscode/gulpfile.ts/typescript.ts |
Uses built-in styling and recursive removal. |
extensions/ql-vscode/gulpfile.ts/textmate.ts |
Uses Node’s object-mode transform stream. |
extensions/ql-vscode/gulpfile.ts/appInsights.ts |
Injects telemetry keys using filesystem promises. |
Files not reviewed (1)
- extensions/ql-vscode/package-lock.json: Generated file
🧠 Review effort: Max
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Splits out the non-
globdependency removals from #4601, replacing several dependencies anddevDependenciesinextensions/ql-vscodewith Node 22 built-ins or existing packages (one commit per removed package):d3+@types/d3: Replace the singleselect(this).on("click", ...)call insrc/view/results/Graph.tsxwiththis.addEventListener("click", ...)and remove"d3"fromtransformPackagesintest/jest-config.ts.through2+@types/readable-stream: ReplaceobjectTransformingulpfile.ts/textmate.tswithnew Transform({ objectMode: true, transform(...) })from Node's built-in"stream".del: Replacedel(...)ingulpfile.ts/typescript.tswithrm(join(tsProject.projectDirectory, "out"), { recursive: true, force: true })from"fs/promises".gulp-replace: Replace the singlegulp-replacestream ingulpfile.ts/appInsights.tswithreadFileandwriteFilefrom"fs/promises".ansi-colors: Replacegrayandredingulpfile.ts/typescript.tswithstyleTextfrom Node's built-in"util".nanoid: Replacenanoid()withrandomUUID()from"crypto"(andcustomAlphabet("123456789")inVariantAnalysisAnalyzedRepos.stories.tsxwithfaker) and remove"nanoid"fromtransformPackagesintest/jest-config.ts.tmp: ImportdirSyncandfileSyncin tests from"tmp-promise"(which re-exports them fromtmp) and remove the direct"tmp"dependency fromdependencies(@types/tmpis kept indevDependenciesfortmp-promise's type definitions).