#!/usr/bin/env bash set -euo pipefail # Install dependencies in $1. install-deps() { local args=() if [[ ${CI-} ]]; then args+=(ci) else args+=(install) fi # If there is no package.json then npm will look upward and end up installing # from the root resulting in an infinite loop (this can happen if you have not # checked out the submodule yet for example). if [[ ! -f "$1/package.json" ]]; then echo "$1/package.json is missing; did you run git submodule update --init?" exit 1 fi pushd "$1" echo "Installing dependencies for $PWD" npm "${args[@]}" popd } main() { cd "$(dirname "$0")/../.." source ./ci/lib.sh install-deps test install-deps test/e2e/extensions/test-extension # We don't need these when running the integration tests # so you can pass SKIP_SUBMODULE_DEPS # Skip VS Code dependencies by default to avoid kerberos build issues # Set INSTALL_VSCODE_DEPS=1 to install them if needed if [[ ${INSTALL_VSCODE_DEPS-} ]]; then install-deps lib/vscode else echo "Skipping VS Code dependencies installation (set INSTALL_VSCODE_DEPS=1 to install them)" fi } main "$@"