semantic-release is written using the latest ECMAScript 2017 features, without transpilation which requires Node version 18.0.0 or higher.
semantic-release is meant to be used in a CI environment as a development support tool, not as a production dependency.
Therefore, the only constraint is to run the semantic-release
in a CI environment providing version of Node that meets our version requirement.
See our Node Support Policy for our long-term promise regarding Node version support.
The recommended approach is to run the semantic-release
command from a CI job running on the latest available LTS version of node.
This can either be a job used by your project to test on the latest Node LTS version or a dedicated job for the release steps.
See CI configuration and CI configuration recipes for more details.
npx
is included with npm >= 5.2 and can be used to download the latest Node LTS package published on npm.
Use it to execute the semantic-release
command.
$ npx -p node@v18-lts -c "npx semantic-release"
Note: See What is npx for more details.
If your CI environment provides nvm you can use it to switch to the latest LTS version of Node before running the semantic-release
command.
$ nvm install 'lts/*' && npx semantic-release