We were incorrectly assuming consumers had the version of Node installed that is declared in Suspenders::NODE_LTS_VERSION.
Because of this, we were generating a .node-version file with a version that was not installed on the user's system. This was a problem because when subsequent generators depending on Node where invoked, they would raise the following:
No preset version installed for command node
Please install a version by running one of the following:
asdf install nodejs 20.11.1
To account for this, we borrow from Rails, but modify slightly. First, we look to see if ENV["NODE_VERSION"] is set. If not, we then look to see if Node is installed, and set the version via node --version. If neither of those values are present, we raise. This is because we can't use a fallback value, since the consumer does not have Node installed on their system.
Removes Suspenders::NODE_LTS_VERSION since it's no longer used as a fallback.
Introduced climate_control as a development dependency in order to test this feature.
We were incorrectly assuming consumers had the version of Node installed that is declared in
Suspenders::NODE_LTS_VERSION
.Because of this, we were generating a
.node-version
file with a version that was not installed on the user's system. This was a problem because when subsequent generators depending on Node where invoked, they would raise the following:To account for this, we borrow from Rails, but modify slightly. First, we look to see if
ENV["NODE_VERSION"]
is set. If not, we then look to see if Node is installed, and set the version vianode --version
. If neither of those values are present, we raise. This is because we can't use a fallback value, since the consumer does not have Node installed on their system.Removes
Suspenders::NODE_LTS_VERSION
since it's no longer used as a fallback.Introduced climate_control as a development dependency in order to test this feature.