Browse Source

Make installation script respect $XDG_DATA_HOME (#614)

* Make installation script respect $XDG_DATA_HOME

* Add os check to determine INSTALL_DIR default location

* Minor refactor

* Use `test -n` with double quotes

* Fix space in directory name issue

* Create yellow-otters-develop.md

Co-authored-by: Gal Schlezinger <gal@spitfire.co.il>
remotes/origin/clean-multishell-on-shell-exit
jonz94 3 years ago committed by GitHub
parent
commit
9d0dd1b045
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      .changeset/yellow-otters-develop.md
  2. 23
      .ci/install.sh
  3. 8
      .github/workflows/installation_script.yml

5
.changeset/yellow-otters-develop.md

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
---
"fnm": patch
---
Make installation script respect `$XDG_DATA_HOME`

23
.ci/install.sh

@ -2,10 +2,19 @@ @@ -2,10 +2,19 @@
set -e
INSTALL_DIR="$HOME/.fnm"
RELEASE="latest"
OS="$(uname -s)"
if [ -d "$HOME/.fnm" ]; then
INSTALL_DIR="$HOME/.fnm"
elif [ -n "$XDG_DATA_HOME" ]; then
INSTALL_DIR="$XDG_DATA_HOME/fnm"
elif [ "$OS" = "Darwin" ]; then
INSTALL_DIR="$HOME/Library/Application Support/fnm"
else
INSTALL_DIR="$HOME/.local/share/fnm"
fi
# Parse Flags
parse_args() {
while [[ $# -gt 0 ]]; do
@ -154,12 +163,12 @@ setup_shell() { @@ -154,12 +163,12 @@ setup_shell() {
echo "Installing for Zsh. Appending the following to $CONF_FILE:"
echo ""
echo ' # fnm'
echo ' export PATH='"$INSTALL_DIR"':$PATH'
echo ' export PATH="'"$INSTALL_DIR"':$PATH"'
echo ' eval "`fnm env`"'
echo '' >>$CONF_FILE
echo '# fnm' >>$CONF_FILE
echo 'export PATH='$INSTALL_DIR':$PATH' >>$CONF_FILE
echo 'export PATH="'$INSTALL_DIR':$PATH"' >>$CONF_FILE
echo 'eval "`fnm env`"' >>$CONF_FILE
elif [ "$CURRENT_SHELL" = "fish" ]; then
@ -168,11 +177,11 @@ setup_shell() { @@ -168,11 +177,11 @@ setup_shell() {
echo "Installing for Fish. Appending the following to $CONF_FILE:"
echo ""
echo ' # fnm'
echo ' set PATH '"$INSTALL_DIR"' $PATH'
echo ' set PATH "'"$INSTALL_DIR"'" $PATH'
echo ' fnm env | source'
echo '# fnm' >>$CONF_FILE
echo 'set PATH '"$INSTALL_DIR"' $PATH' >>$CONF_FILE
echo 'set PATH "'"$INSTALL_DIR"'" $PATH' >>$CONF_FILE
echo 'fnm env | source' >>$CONF_FILE
elif [ "$CURRENT_SHELL" = "bash" ]; then
@ -185,12 +194,12 @@ setup_shell() { @@ -185,12 +194,12 @@ setup_shell() {
echo "Installing for Bash. Appending the following to $CONF_FILE:"
echo ""
echo ' # fnm'
echo ' export PATH='"$INSTALL_DIR"':$PATH'
echo ' export PATH="'"$INSTALL_DIR"':$PATH"'
echo ' eval "`fnm env`"'
echo '' >>$CONF_FILE
echo '# fnm' >>$CONF_FILE
echo 'export PATH='"$INSTALL_DIR"':$PATH' >>$CONF_FILE
echo 'export PATH="'"$INSTALL_DIR"':$PATH"' >>$CONF_FILE
echo 'eval "`fnm env`"' >>$CONF_FILE
else

8
.github/workflows/installation_script.yml

@ -36,16 +36,16 @@ jobs: @@ -36,16 +36,16 @@ jobs:
bash ./.ci/install.sh
echo "fnm --version"
~/.fnm/fnm --version
~/.local/share/fnm/fnm --version
echo "eval fnm env"
eval "$(~/.fnm/fnm env)"
eval "$(~/.local/share/fnm/fnm env)"
echo "fnm install"
~/.fnm/fnm install 12
~/.local/share/fnm/fnm install 12
echo "node -v"
~/.fnm/fnm exec --using=12 -- node -v
~/.local/share/fnm/fnm exec --using=12 -- node -v
'
test_against_latest_release:

Loading…
Cancel
Save