-
Notifications
You must be signed in to change notification settings - Fork 384
Update Dependencies, Migrate to Node 22 #2317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
VS Code 1.100.0 migrated from node 20 to node 22. We should stay aligned with VS Code. Because our binaries actually run under whichever version node in Code is. This can cause extreme issues such as a complete failure to load if the compiler or language feature changes, and we would not know for some time.
This is a breaking change, but looks like it works :)
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
I think I needed to push a new update to run lint to the internal feed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Align project dependencies and tooling with VS Code’s upgrade to Node 22 to prevent runtime mismatches and load failures.
- Bump Mocha to 11.7.0 across all packages
- Update extension version, VS Code engine requirement, and Node installer to 22.x
- Adjust root package.json to reference Node 22 and refresh CHANGELOG for upcoming 3.0.0 release
Reviewed Changes
Copilot reviewed 7 out of 17 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| vscode-dotnet-sdk-extension/package.json | Mocha upgraded to ^11.7.0 |
| vscode-dotnet-runtime-library/package.json | Mocha upgraded to ^11.7.0 |
| vscode-dotnet-runtime-extension/package.json | Version bumped to 2.3.7, VS Code engine to ^1.101.0, Mocha to ^11.7.0 |
| vscode-dotnet-runtime-extension/CHANGELOG.md | Changelog sections reorganized for 3.0.0 and 2.3.7 |
| sample/package.json | Mocha upgraded to ^11.7.0 |
| pipeline-templates/install-node.yaml | Node.js installer version updated to '22.x' |
| package.json | Added Node ^22.15.1 dependency |
Comments suppressed due to low confidence (3)
vscode-dotnet-runtime-extension/CHANGELOG.md:10
- The changelog order is confusing: a 3.0.0 entry appears before 2.3.7 and a repeated 2.3.6. Consider reordering entries in descending version chronology and removing duplicates to improve clarity.
## [3.0.0] - 2025-7
sample/package.json:136
- After upgrading Mocha to 11.7.0, add or update tests to cover any breaking changes or new behaviors introduced in this major version bump.
"mocha": "^11.7.0",
package.json:23
- Declaring Node as a dependency is unconventional; you should specify supported Node versions under the
enginesfield instead of listing it indevDependenciesordependencies.
"node": "^22.15.1",
|
Ah. Let me try to push mac native specific packages from a mac machine. |
|
I cant get a mac that has permission to push native packages, lets switch to linux 🤪 |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
1es-azure-pipeline.yml
Outdated
| emoji: 🪟 | ||
| - name: NetCore1ESPool-Internal | ||
| image: 1es-ubuntu-2204 | ||
| image: ubuntu-latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like name did not get propagated to the pool object which caused the default pool provider of azure pipelines to be used, so this was a valid image name, but it should not have been using that pool provider. I think this has been fixed now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found the doc link to the images. I wish that it was better explained which section is for which pool, since there is no section for the netcore public pool, only the external test pooling in general 🤔
| name: Azure Pipelines | ||
| image: macOS-latest | ||
| os: macOS | ||
| image: windows-latest | ||
| os: windows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This, absolutely, should not be done. We should never use external Windows images. We use external macOS images because we don't have internal macOS agents.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is further logic that was already utilizing this, I don't recall how/why that is the case. I looked at the 1es migration PR and some of it may have been a migration tooling issue/pre-existing issue, and some of it may be due to the fact that name was not passed to the parameter pool object, thus causing the azure pipelines pool to be used. I think I've fixed all of those now, good call
The amd version doesnt have the lib needed for vscode test electron
this is listed as a public pool option
we cant use sudo to install the pkg
|
Thank you ✨ |

VS Code 1.100.0 migrated from node 20 to node 22. We should stay aligned with VS Code. Because our binaries actually run under whichever version node in Code is. This can cause extreme issues such as a complete failure to load if the compiler or language feature changes, and we would not know for some time.
Switching the linting from Mac to Windows because I cant get permission to push native linux packages.