feat: update to Electron v42#316661
Draft
deepak1556 wants to merge 26 commits into
Draft
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates VS Code’s runtime/build toolchain toward Electron 42 and Node 24, including dependency metadata, build configuration, platform artifact handling, and TypeScript compatibility fixes.
Changes:
- Updates Electron, Node, Chromium, checksums, npm configs, devcontainer, and package locks.
- Moves many packages/extensions/tests to
@types/node24.x and adjusts Node 24 type compatibility. - Removes Linux armhf server/web-server packaging paths and updates sanity/CLI handling.
Reviewed changes
Copilot reviewed 77 out of 122 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
.devcontainer/Dockerfile |
Updates devcontainer Node image to 24. |
.npmrc |
Updates Electron target/build id. |
.nvmrc |
Updates workspace Node version. |
.vscode/extensions/vscode-selfhost-test-provider/package.json |
Updates Node typings. |
.vscode/extensions/vscode-selfhost-test-provider/package-lock.json |
Locks Node typings update. |
build/.npmrc |
Adds build package Node target override. |
build/azure-pipelines/linux/product-build-linux.yml |
Skips server/web outputs for armhf. |
build/azure-pipelines/linux/setup-env.sh |
Updates Chromium toolchain references. |
build/azure-pipelines/linux/steps/product-build-linux-compile.yml |
Skips armhf server/web builds. |
build/checksums/electron.txt |
Updates Electron artifact checksums. |
build/checksums/nodejs.txt |
Updates Node artifact checksums. |
build/gulpfile.reh.ts |
Removes armhf server build target. |
build/linux/dependencies-generator.ts |
Updates Chromium dependency reference. |
build/npm/postinstall.ts |
Temporarily avoids Node 24 build target for build deps. |
build/npm/preinstall.ts |
Updates supported npm version ceiling. |
build/package.json |
Updates Node typings. |
build/package-lock.json |
Locks Node typings update. |
cgmanifest.json |
Updates Chromium, Node, and Electron metadata. |
cli/src/update_service.rs |
Makes server/web arm32 targets unsupported. |
extensions/configuration-editing/package.json |
Updates Node typings. |
extensions/configuration-editing/package-lock.json |
Locks Node typings update. |
extensions/copilot/.nvmrc |
Updates Copilot extension Node version. |
extensions/css-language-features/package.json |
Updates Node typings. |
extensions/css-language-features/package-lock.json |
Locks Node typings update. |
extensions/css-language-features/server/package.json |
Updates server Node typings. |
extensions/css-language-features/server/package-lock.json |
Locks server Node typings update. |
extensions/debug-auto-launch/package.json |
Updates Node typings. |
extensions/debug-auto-launch/package-lock.json |
Locks Node typings update. |
extensions/debug-server-ready/package.json |
Updates Node typings. |
extensions/debug-server-ready/package-lock.json |
Locks Node typings update. |
extensions/emmet/package.json |
Updates Node typings. |
extensions/emmet/package-lock.json |
Locks Node typings update. |
extensions/extension-editing/package.json |
Updates Node typings. |
extensions/extension-editing/package-lock.json |
Locks Node typings update. |
extensions/git-base/package.json |
Updates Node typings. |
extensions/git-base/package-lock.json |
Locks Node typings update. |
extensions/git/package.json |
Updates Node typings. |
extensions/git/package-lock.json |
Locks Node typings update. |
extensions/git/src/cache.ts |
Updates iterator typings. |
extensions/github-authentication/package.json |
Updates Node typings. |
extensions/github-authentication/package-lock.json |
Locks Node typings update. |
extensions/github/package.json |
Updates Node typings. |
extensions/github/package-lock.json |
Locks Node typings update. |
extensions/grunt/package.json |
Updates Node typings. |
extensions/grunt/package-lock.json |
Locks Node typings update. |
extensions/grunt/src/main.ts |
Converts exec buffers to strings. |
extensions/gulp/package.json |
Updates Node typings. |
extensions/gulp/package-lock.json |
Locks Node typings update. |
extensions/gulp/src/main.ts |
Converts exec buffers to strings. |
extensions/html-language-features/package.json |
Updates Node typings. |
extensions/html-language-features/package-lock.json |
Locks Node typings update. |
extensions/html-language-features/server/package.json |
Updates server Node typings. |
extensions/html-language-features/server/package-lock.json |
Locks server Node typings update. |
extensions/ipynb/package.json |
Updates Node typings. |
extensions/ipynb/package-lock.json |
Locks Node typings update. |
extensions/jake/package.json |
Updates Node typings. |
extensions/jake/package-lock.json |
Locks Node typings update. |
extensions/jake/src/main.ts |
Converts exec buffers to strings. |
extensions/json-language-features/package.json |
Updates Node typings. |
extensions/json-language-features/package-lock.json |
Locks Node typings update. |
extensions/json-language-features/server/package.json |
Updates server Node typings. |
extensions/json-language-features/server/package-lock.json |
Locks server Node typings update. |
extensions/markdown-language-features/package.json |
Updates Node typings. |
extensions/markdown-language-features/package-lock.json |
Locks Node typings update. |
extensions/media-preview/package.json |
Updates Node typings. |
extensions/media-preview/package-lock.json |
Locks Node typings update. |
extensions/merge-conflict/package.json |
Updates Node typings. |
extensions/merge-conflict/package-lock.json |
Locks Node typings update. |
extensions/mermaid-chat-features/package.json |
Updates Node typings. |
extensions/mermaid-chat-features/package-lock.json |
Locks Node typings update. |
extensions/microsoft-authentication/package.json |
Updates Node typings. |
extensions/microsoft-authentication/package-lock.json |
Locks Node typings update. |
extensions/notebook-renderers/package.json |
Updates Node typings. |
extensions/notebook-renderers/package-lock.json |
Locks Node typings update. |
extensions/npm/package.json |
Updates Node typings. |
extensions/npm/package-lock.json |
Locks Node typings update. |
extensions/npm/src/features/packageJSONContribution.ts |
Converts npm stdout to string. |
extensions/php-language-features/package.json |
Updates Node typings. |
extensions/php-language-features/package-lock.json |
Locks Node typings update. |
extensions/references-view/package.json |
Updates Node typings. |
extensions/references-view/package-lock.json |
Locks Node typings update. |
extensions/search-result/package.json |
Updates Node typings. |
extensions/search-result/package-lock.json |
Locks Node typings update. |
extensions/simple-browser/package.json |
Updates Node typings. |
extensions/simple-browser/package-lock.json |
Locks Node typings update. |
extensions/terminal-suggest/package.json |
Updates Node typings. |
extensions/terminal-suggest/package-lock.json |
Locks Node typings update. |
extensions/tunnel-forwarding/package.json |
Updates Node typings. |
extensions/tunnel-forwarding/package-lock.json |
Locks Node typings update. |
extensions/typescript-language-features/package.json |
Updates Node typings. |
extensions/typescript-language-features/package-lock.json |
Locks Node typings update. |
extensions/vscode-api-tests/package.json |
Updates Node typings. |
extensions/vscode-api-tests/package-lock.json |
Locks Node typings update. |
extensions/vscode-colorize-perf-tests/package.json |
Updates Node typings. |
extensions/vscode-colorize-perf-tests/package-lock.json |
Locks Node typings update. |
extensions/vscode-colorize-tests/package.json |
Updates Node typings. |
extensions/vscode-colorize-tests/package-lock.json |
Locks Node typings update. |
extensions/vscode-test-resolver/package.json |
Updates Node typings. |
extensions/vscode-test-resolver/package-lock.json |
Locks Node typings update. |
package.json |
Updates distro, Electron, and Node typings. |
package-lock.json |
Locks Electron and dependency updates. |
remote/.npmrc |
Updates remote Node target/build id. |
remote/package-lock.json |
Records optional dependency metadata. |
src/vs/base/common/collections.ts |
Updates Set iterator typings. |
src/vs/base/common/map.ts |
Updates Map/Set iterator typings. |
src/vs/base/common/observableInternal/map.ts |
Updates Map iterator typings. |
src/vs/base/common/observableInternal/set.ts |
Updates Set iterator typings. |
src/vs/platform/agentHost/test/node/claudeSdkPipeline.test.ts |
Adds async disposal method for test query. |
src/vs/platform/browserView/electron-main/browserView.ts |
Updates BrowserView web preferences for Electron 42. |
src/vs/workbench/api/node/extHostMcpNode.ts |
Adjusts undici response header typing. |
test/automation/package.json |
Updates Node typings. |
test/automation/package-lock.json |
Locks Node typings update. |
test/componentFixtures/playwright/package.json |
Updates Node typings. |
test/integration/browser/package.json |
Updates Node typings. |
test/integration/browser/package-lock.json |
Locks Node typings update. |
test/mcp/package.json |
Updates Node typings. |
test/mcp/package-lock.json |
Locks Node typings update. |
test/sanity/package.json |
Updates Node typings. |
test/sanity/src/server.test.ts |
Removes armhf server sanity test. |
test/sanity/src/serverWeb.test.ts |
Removes armhf web server sanity test. |
test/smoke/package.json |
Updates Node typings. |
test/smoke/package-lock.json |
Locks Node typings update. |
Files not reviewed (44)
- .vscode/extensions/vscode-selfhost-test-provider/package-lock.json: Language not supported
- build/package-lock.json: Language not supported
- extensions/configuration-editing/package-lock.json: Language not supported
- extensions/css-language-features/package-lock.json: Language not supported
- extensions/css-language-features/server/package-lock.json: Language not supported
- extensions/debug-auto-launch/package-lock.json: Language not supported
- extensions/debug-server-ready/package-lock.json: Language not supported
- extensions/emmet/package-lock.json: Language not supported
- extensions/extension-editing/package-lock.json: Language not supported
- extensions/git-base/package-lock.json: Language not supported
- extensions/git/package-lock.json: Language not supported
- extensions/github-authentication/package-lock.json: Language not supported
- extensions/github/package-lock.json: Language not supported
- extensions/grunt/package-lock.json: Language not supported
- extensions/gulp/package-lock.json: Language not supported
- extensions/html-language-features/package-lock.json: Language not supported
- extensions/html-language-features/server/package-lock.json: Language not supported
- extensions/ipynb/package-lock.json: Language not supported
- extensions/jake/package-lock.json: Language not supported
- extensions/json-language-features/package-lock.json: Language not supported
- extensions/json-language-features/server/package-lock.json: Language not supported
- extensions/markdown-language-features/package-lock.json: Language not supported
- extensions/media-preview/package-lock.json: Language not supported
- extensions/merge-conflict/package-lock.json: Language not supported
- extensions/mermaid-chat-features/package-lock.json: Language not supported
- extensions/microsoft-authentication/package-lock.json: Language not supported
- extensions/notebook-renderers/package-lock.json: Language not supported
- extensions/npm/package-lock.json: Language not supported
- extensions/php-language-features/package-lock.json: Language not supported
- extensions/references-view/package-lock.json: Language not supported
- extensions/search-result/package-lock.json: Language not supported
- extensions/simple-browser/package-lock.json: Language not supported
- extensions/terminal-suggest/package-lock.json: Language not supported
- extensions/tunnel-forwarding/package-lock.json: Language not supported
- extensions/typescript-language-features/package-lock.json: Language not supported
- extensions/vscode-api-tests/package-lock.json: Language not supported
- extensions/vscode-colorize-perf-tests/package-lock.json: Language not supported
- extensions/vscode-colorize-tests/package-lock.json: Language not supported
- extensions/vscode-test-resolver/package-lock.json: Language not supported
- remote/package-lock.json: Language not supported
- test/automation/package-lock.json: Language not supported
- test/integration/browser/package-lock.json: Language not supported
- test/mcp/package-lock.json: Language not supported
- test/smoke/package-lock.json: Language not supported
a320282 to
2a29608
Compare
This was referenced May 18, 2026
20e60bd to
a50adf0
Compare
``` 2026-05-15T20:55:09.7717127Z Assertion failed: !(handle->flags & UV_HANDLE_CLOSING), file src\win\async.c, line 76 ```
Error: Cannot find module 'c:\Users\cloudtest\AppData\Local\Temp\vscode-sanityQvCaze\vscode-server-win32-x64-web\extensions\github-authentication\dist\install.js'
at Module._resolveFilename (node:internal/modules/cjs/loader:1476:15)
at wrapResolveFilename (node:internal/modules/cjs/loader:1049:27)
at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1073:10)
at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1094:12)
at Module._load (node:internal/modules/cjs/loader:1262:25)
at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)
at node:internal/main/run_main_module:33:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
Node.js v24.15.0
a50adf0 to
f9696fb
Compare
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.
Fixes #292445