completato npm.sh

master
Guido Longoni 2020-02-01 15:12:30 +01:00
parent 6a78fb36bc
commit 436c78fb7f
1 changed files with 56 additions and 1 deletions

View File

@ -28,4 +28,59 @@ function feat_add_npm() {
npm install -g n
}
#TODO: aggiungere npm_feat_needed e tutte le altre funzioni correlate
function npm_initialized() {
[ -s 'package.json' ]
}
function npm_feat_added() {
npm list >/dev/null 2>&1 | grep -q "$FEAT@"
}
function npm-g_feat_added() {
npm list -g >/dev/null 2>&1 | grep -q "$FEAT@"
}
function npm_feat_missing() {
npm list 2>&1 >/dev/null | grep -q 'missing[^ ]* *'"$FEAT"'@'
}
function npm-g_feat_add() {
npm install -g npm
npm install -g "$1"
}
function npm_feat_add() {
npm install -g npm
npm install "$1"
}
function npm_feat_needed() {
feat_needed "npm"
FEAT="$1"
if ! npm_initialized; then
npm init -y
fi
if npm_feat_added "$FEAT"; then
if npm_feat_missing "$FEAT"; then
npm install
fi
else
if type "npm_feat_add_$FEAT" > /dev/null 2>&1 ; then
eval "npm_feat_add_$FEAT"
else
npm_feat_add "$FEAT"
fi
fi
}
function npm-g_feat_needed() {
feat_needed "npm"
FEAT="$1"
if ! npm-g_feat_added "$FEAT"; then
if type "npm-g_feat_add_$FEAT" > /dev/null 2>&1 ; then
eval "npm-g_feat_add_$FEAT"
else
npm-g_feat_add "$FEAT"
fi
fi
}