#!/usr/bin/env bash set -euo pipefail main() { cd "$(dirname "${0}")/../.." source ./ci/lib.sh rsync "$RELEASE_PATH/" "$RELEASE_PATH-standalone" RELEASE_PATH+=-standalone # We cannot get the path to Node from $PATH (for example via `which node`) # because Yarn shims a script called `node` and we would end up just copying # that script. Instead we run Node and have it print its actual path. local node_path node_path="$(node <<< 'console.info(process.execPath)')" mkdir -p "$RELEASE_PATH/bin" mkdir -p "$RELEASE_PATH/lib" rsync ./ci/build/code-server.sh "$RELEASE_PATH/bin/code-server" rsync "$node_path" "$RELEASE_PATH/lib/node" chmod 755 "$RELEASE_PATH/lib/node" pushd "$RELEASE_PATH" npm install --unsafe-perm --omit=dev popd } main "$@"