mirror of
https://github.com/asdf-vm/asdf-nodejs.git
synced 2024-10-06 07:42:08 +08:00
Add support for a default-npm-packages file
Partial Credit: https://github.com/asdf-vm/asdf-ruby/pull/35
This commit is contained in:
parent
be1deeebd3
commit
f3773e5371
10
README.md
10
README.md
@ -35,6 +35,16 @@ asdf uses the `.tool-versions` for auto-switching between software versions. To
|
||||
legacy_version_file = yes
|
||||
```
|
||||
|
||||
## Default npm Packages
|
||||
|
||||
asdf-nodejs can automatically install a set of default set of npm package right after installing a Ruby version. To enable this feature, provide a `$HOME/.default-npm-packages` file that lists one package per line, for example:
|
||||
|
||||
```
|
||||
lodash
|
||||
request
|
||||
express
|
||||
```
|
||||
|
||||
## Using a dedicated OpenPGP keyring
|
||||
|
||||
The `gpg` commands above imports the OpenPGP public keys in your main OpenPGP keyring. However, you can also use a dedicated keyring in order to mitigate [this issue](https://github.com/nodejs/node/issues/9859).
|
||||
|
16
bin/install
16
bin/install
@ -226,8 +226,24 @@ verlte() {
|
||||
[ "$1" = "$(echo -e "$1\n$2" | sort_versions | head -n1)" ]
|
||||
}
|
||||
|
||||
install_default_npm_packages() {
|
||||
local default_npm_packages="${HOME}/.default-npm-packages"
|
||||
|
||||
if [ ! -f $default_npm_packages ]; then return; fi
|
||||
|
||||
for name in $(cat $default_npm_packages); do
|
||||
echo -ne "\nInstalling \e[33m${name}\e[39m npm package... "
|
||||
|
||||
if npm install -g $name > /dev/null 2>&1; then
|
||||
echo -e "\e[32mSUCCESS\e[39m"
|
||||
else
|
||||
echo -e "\e[31mFAIL\e[39m"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
tmp_download_dir="$(mktemp -d -t 'asdf_nodejs_XXXXXX')"
|
||||
trap 'rm -rf "${tmp_download_dir}"' EXIT
|
||||
|
||||
install_nodejs "$ASDF_INSTALL_TYPE" "$ASDF_INSTALL_VERSION" "$ASDF_INSTALL_PATH" "$tmp_download_dir"
|
||||
install_default_npm_packages
|
||||
|
Loading…
Reference in New Issue
Block a user