This change will prevent any old node or npm version from installing any packages. With this, npm will throw an error and exit immediately. This is to prevent the accidental use of unsupported versions which might cause some issues that are hard to pin-point.
Because
A person on Discord was getting some syntax errors when running Jest after installing the packages. It took us a while to figure out that the person was using a really old version of node. The additions in this PR will prevent something like this from happening. If someone tries to run the npm install command with an outdated node/npm version inside the repo, then npm will exit with an error, informing the user their version is too low and what the minimum required version is.
This PR
Adds an engines field in the package.json file with the minimum supported node and npm versions
Does the same as above in the package-lock.json
Adds a .npmrc config file with an option that fails npm install with an error and exits (without this, npm only shows warnings)
Additional Information
This was the discussion mentioned in the because section.
This change will prevent any old node or npm version from installing any packages. With this, npm will throw an error and exit immediately. This is to prevent the accidental use of unsupported versions which might cause some issues that are hard to pin-point.
Because
A person on Discord was getting some syntax errors when running Jest after installing the packages. It took us a while to figure out that the person was using a really old version of node. The additions in this PR will prevent something like this from happening. If someone tries to run the
npm install
command with an outdated node/npm version inside the repo, then npm will exit with an error, informing the user their version is too low and what the minimum required version is.This PR
package.json
file with the minimum supported node and npm versionspackage-lock.json
.npmrc
config file with an option that failsnpm install
with an error and exits (without this, npm only shows warnings)Additional Information
Pull Request Requirements
location of change: brief description of change
format, e.g.01_helloWorld: Update test cases
Because
section summarizes the reason for this PRThis PR
section has a bullet point list describing the changes in this PRIssue
section/solutions
folder