solidarity
solidarity copied to clipboard
shell scripts that pass in shell fail in solidarity shell
Hi, I'm trying to run a shell script to detect if you have nvm
or fnm
installed.
The first case passes (in both solidarity and shell) if you have fnm install or the .nvm
folder exists at your home root.
The second case fails when running solidarity but passes when ran in shell.
To replicate this issue you will need to have nvm installed. https://github.com/nvm-sh/nvm
Example .solidarity json
{
"$schema": "http://json.schemastore.org/solidaritySchema",
"requirements": {
"Node Manager (NVM | FNM)": [
{
"rule": "shell",
"command": "if [ $(command -v fnm) ] || [ -d $HOME/.nvm ]; then echo true; fi;",
"match": "true",
"error": "NVM or FNM binaries are not detected"
},
{
"rule": "shell",
"command": "if [ $(command -v nvm) ]; then echo true; fi;",
"match": "true",
"error": "NVM not detected"
}
],
}
}
Use "cli" rule with "binary" property:
{
"rule": "cli",
"binary": "nvm"
},