#!/usr/bin/env bash set -euo pipefail root=$(mktemp -d) cleanup() { rm -rf "$root"; } trap cleanup EXIT package="$root/package" external_dist="$root/relocated-dist" mkdir -p "$package/bin" "$package/node_modules/launcher-probe" "$external_dist/cli" cp bin/qmd "$package/bin/qmd" touch "$package/package-lock.json" ln -s "$external_dist" "$package/dist" cat >"$package/node_modules/launcher-probe/package.json" <<'JSON' {"name":"launcher-probe","type":"module","exports":"./index.js"} JSON cat >"$package/node_modules/launcher-probe/index.js" <<'JS' export const marker = 'symlinked-dist-dependency-resolved'; JS cat >"$external_dist/cli/qmd.js" <<'JS' import { marker } from 'launcher-probe'; console.log(marker); JS output=$("$package/bin/qmd" --version) test "$output" = 'symlinked-dist-dependency-resolved' printf 'launcher symlinked-dist dependency resolution: OK\n'