51 lines
1.2 KiB
Bash
Executable File
51 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
main() {
|
|
cd "$(dirname "$0")/../.."
|
|
source ./ci/lib.sh
|
|
|
|
pushd test
|
|
echo "Installing dependencies for $PWD"
|
|
yarn install
|
|
popd
|
|
|
|
local args=(install)
|
|
if [[ ${CI-} ]]; then
|
|
args+=(--frozen-lockfile)
|
|
fi
|
|
|
|
pushd test
|
|
echo "Installing dependencies for $PWD"
|
|
yarn "${args[@]}"
|
|
popd
|
|
|
|
pushd test/e2e/extensions/test-extension
|
|
echo "Installing dependencies for $PWD"
|
|
yarn "${args[@]}"
|
|
popd
|
|
|
|
pushd vendor
|
|
echo "Installing dependencies for $PWD"
|
|
|
|
# We install in 'modules' instead of 'node_modules' because VS Code's
|
|
# extensions use a webpack config which cannot differentiate between its own
|
|
# node_modules and itself being in a directory with the same name.
|
|
args+=(--modules-folder modules)
|
|
|
|
# We ignore scripts because NPM/Yarn's default behavior is to assume that
|
|
# devDependencies are not needed, and that even git repo based packages are
|
|
# assumed to be compiled. Because the default behavior for VS Code's
|
|
# `postinstall` assumes we're also compiled, this needs to be ignored.
|
|
args+=(--ignore-scripts)
|
|
|
|
yarn "${args[@]}"
|
|
|
|
# Finally, run the vendor `postinstall`
|
|
yarn run postinstall
|
|
|
|
popd
|
|
}
|
|
|
|
main "$@"
|