diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7a2248f5a..f385fb491 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,7 +29,9 @@ Here are a few things you can do that will increase the likelihood of your pull ## Setting up a local build -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. +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. + +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`. ### Installing all packages @@ -102,6 +104,10 @@ From inside of VSCode, open the `launch.json` file and in the _Launch Integratio 1. Double-check the `CHANGELOG.md` contains all desired change comments and has the version to be released with date at the top. * Go through all recent PRs and make sure they are properly accounted for. * Make sure all changelog entries have links back to their PR(s) if appropriate. +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: + * `.nvmrc` - this will enable `nvm` to automatically switch to the correct node version when you're in the project folder + * `.github/workflows/main.yml` - all the "node-version: " settings + * `.github/workflows/release.yml` - the "node-version: " setting 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. 1. Create a PR for this release: * 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. diff --git a/extensions/ql-vscode/.nvmrc b/extensions/ql-vscode/.nvmrc new file mode 100644 index 000000000..ff650592a --- /dev/null +++ b/extensions/ql-vscode/.nvmrc @@ -0,0 +1 @@ +v16.13.0 diff --git a/extensions/ql-vscode/package-lock.json b/extensions/ql-vscode/package-lock.json index db4e3eb15..7fd4f2502 100644 --- a/extensions/ql-vscode/package-lock.json +++ b/extensions/ql-vscode/package-lock.json @@ -114,7 +114,7 @@ "webpack-cli": "^4.6.0" }, "engines": { - "node": ">=16.11.25", + "node": "^16.13.0", "npm": ">=7.20.6", "vscode": "^1.59.0" } diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index 3169e7c4e..ba45bbdb4 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -14,7 +14,7 @@ }, "engines": { "vscode": "^1.59.0", - "node": ">=16.11.25", + "node": "^16.13.0", "npm": ">=7.20.6" }, "categories": [