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.
✍️ Proposed changes
Replaces our implicit node & pnpm version management with a more explicit tool manager;
asdf
Running
asdf install
ensures all contributors are using the same version of Node & pnpm, which can avoid versioning conflicts.Note: the MMS codebase also uses
asdf
, which would make moving between codebases easierDon't we already list these versions?
We list Node version in
engines
, and thepnpm
version is already identified twice, inengines
andpackageManager
, so this may seem like a third source of truth.But
asdf install
will actually install the correct version, whereas the "engines" attribute will only tell you if you're out of dateAlternatives
An alternative to
asdf
would benvm
(which many of us already use).We could set the required node version in a
.nvmrc
file, which would solve the Node versioning issue.Ensure you have the correct Node version with
nvm install
.,However, installing the correct
pnpm
version requires another tool;corepack
.This would require contributors to manually enable the tool (
corepack enable
) and install the correct versioncorepack install [email protected]
.As far as I can tell, there is no version file we can write to that will automatically install
corepack
dependencies