#!/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 # Code deletes some files from the extension node_modules directory which # leaves broken symlinks in the corresponding .bin directory. nfpm will fail # on these broken symlinks so clean them up. rm -fr "./lib/vscode/extensions/node_modules/.bin" popd } main "$@"