@nodenv/nodenv-package-json-engine v3.0.3
nodenv-package-json-engine
This is a plugin for nodenv
that detects the Node version based on the engines field of the current tree's package.json file. The $NODENV_VERSION environment variable (set with nodenv shell) and .node-version files still take precedence.
When engines is configured with a range this plugin chooses the greatest installed version matching the range, or exits with an error if none match.
Installation
Installing with Git
$ git clone https://github.com/nodenv/nodenv-package-json-engine.git $(nodenv root)/plugins/nodenv-package-json-engineInstalling with Homebrew
Mac OS X users can install many nodenv plugins with Homebrew.
This is the recommended method of installation if you installed nodenv with Homebrew.
$ brew tap nodenv/nodenv
$ brew install nodenv-package-json-engineUsage
Once you've installed the plugin you can verify that it's working by cding into a project that has a package.json file with engines and does not have a .node-version file. From anywhere in the project's tree, run nodenv which node.
Contributing
npm install and npm test from within the project.
Credits
package.json inspection and SemVer integration heavily inspired by nvmish [1] [2] and rbenv-bundler-ruby-version.
Shell semver range support provided by sh-semver.
package.json parsing provided by JSON.sh.
7 years ago