dev-containers/node/install-packages.sh

46 lines
1.0 KiB
Bash

#!/bin/sh
set -e
# Install NVM
export NVM_DIR="$HOME/.nvm"
mkdir -p "$NVM_DIR"
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
. "$NVM_DIR/nvm.sh"
# Preinstall a few nodejs versions
nvm install --lts # The first version installed becomes the default
nvm install 18
nvm install 20
nvm install 22
# Preinstall all package managers
corepack prepare npm --activate
corepack prepare yarn --activate
corepack prepare pnpm --activate
# corepack disable
corepack enable npm
corepack enable pnpm
corepack enable yarn
# Set up PNPM environment for the current script execution
export PNPM_HOME="$HOME/.local/share/pnpm"
mkdir -p "$PNPM_HOME"
export PATH="$PNPM_HOME:$PATH"
# Now install global packages
pnpm add -g vscode-langservers-extracted typescript-language-server
# Also add to .zshrc for future shell sessions
cat << 'EOF' >> $HOME/.zshrc
# pnpm
export PNPM_HOME="$HOME/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end
EOF