Skip to content

Commit 8964ec1

Browse files
committed
Use the same Node version as VSCode
As recommended here #1369 (comment), we want to stay in sync with the current node version shipped with VSCode (v16.13.0): https://github.com/microsoft/vscode/blob/32d40cf44e893e87ac33ac4f08de1e5f7fe077fc/remote/.yarnrc#L2 For this we can add a `.nvmrc` file to alert nvm to switch to the preferred version automatically. It will also help prevent builds from failing when setting up the project for the first time, as building the extension currently fails in Node v18: #1373 We're also updating the docs to mention using `nvm` to manage node versions and point to the right place to check for current supported versions.
1 parent d41c63b commit 8964ec1

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

CONTRIBUTING.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ Here are a few things you can do that will increase the likelihood of your pull
2929

3030
## Setting up a local build
3131

32-
Make sure you have installed recent versions of vscode (>= v1.52), node (>=12.16), and npm (>= 7.5.2). Earlier versions will probably work, but we no longer test against them.
32+
Make sure you have installed recent versions of vscode, node, and npm. Check the `engines` block in [`package.json`](https://github.com/github/vscode-codeql/blob/main/extensions/ql-vscode/package.json) file for compatible versions. Earlier versions may work, but we no longer test against them.
33+
34+
To automatically switch to the correct version of node, we recommend using [nvm](https://github.com/nvm-sh/nvm), which will pick-up the node version from `.nvmrc`.
3335

3436
### Installing all packages
3537

@@ -102,6 +104,10 @@ From inside of VSCode, open the `launch.json` file and in the _Launch Integratio
102104
1. Double-check the `CHANGELOG.md` contains all desired change comments and has the version to be released with date at the top.
103105
* Go through all recent PRs and make sure they are properly accounted for.
104106
* Make sure all changelog entries have links back to their PR(s) if appropriate.
107+
1. Double-check that the node version we're using matches the one used for VS Code. If it doesn't, you will then need to update the node version in the following files:
108+
* `.nvmrc` - this will enable `nvm` to automatically switch to the correct node version when you're in the project folder
109+
* `.github/workflows/main.yml` - all the "node-version: <version>" settings
110+
* `.github/workflows/release.yml` - the "node-version: <version>" setting
105111
1. Double-check that the extension `package.json` and `package-lock.json` have the version you intend to release. If you are doing a patch release (as opposed to minor or major version) this should already be correct.
106112
1. Create a PR for this release:
107113
* This PR will contain any missing bits from steps 1 and 2. Most of the time, this will just be updating `CHANGELOG.md` with today's date.

extensions/ql-vscode/.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v16.13.0

0 commit comments

Comments
 (0)