✨
郷に入れば郷に従って npm/yarn を切り替えるスクリプト
npm で管理しているリポジトリで yarn add
をして混乱することが多々あるので、package-lock.json
が存在すれば npm を使い、そうでなければ yarn を使うスクリプト(既出な気がする)
npm2
test -e "package-lock.json"
uses_npm=$?
commands=($@)
if [ $# -gt 0 ]; then
# npm
if [ $uses_npm = 0 ]; then
if [ $1 = "add" ]; then
commands[0]="install"
elif [ $1 = "remove" ]; then
commands[0]="uninstall"
elif [ $1 = "list" ]; then
commands[0]="ls"
fi
# yarn
else
if [ $1 = "install" ] || [ $1 = "i" ]; then
commands[0]="add"
elif [ $1 = "uninstall" ]; then
commands[0]="remove"
elif [ $1 = "ls" ]; then
commands[0]="list"
fi
fi
fi
if [ $uses_npm = 0 ]; then
npm ${commands[@]}
else
yarn ${commands[@]}
fi
npm2
などにして適当な場所に配置し、パスを通すと良さそうです。当初 npm にしたら案の定衝突して怒られました。
PATH=$PATH:~/documents/script/
Discussion