diff --git a/packages/common.nix b/packages/common.nix index ddca124..1b33f3b 100644 --- a/packages/common.nix +++ b/packages/common.nix @@ -15,11 +15,11 @@ "packages/shared/package.json" ]; - renderBunFilters = filters: - lib.concatMapStringsSep "\n" (filter: " --filter ${filter} \\") filters; - - renderBunInstallFlags = flags: - lib.concatMapStringsSep "\n" (flag: " ${flag} \\") flags; + renderBunInstallArgs = flags: filters: + lib.concatMapStringsSep "\n" (arg: " bunInstallArgs+=(${lib.escapeShellArg arg})") ( + flags + ++ lib.concatMap (filter: ["--filter" filter]) filters + ); in { inherit workspacePreparePatched; @@ -66,14 +66,16 @@ in { export BUN_INSTALL_CACHE_DIR="$(mktemp -d)" ${extraEnv} - bun install \ - --frozen-lockfile \ - --ignore-scripts \ - --backend=copyfile \ - --linker=hoisted \ - --no-progress \ - ${renderBunInstallFlags installFlags} - ${renderBunFilters filters} + bunInstallArgs=( + --frozen-lockfile + --ignore-scripts + --backend=copyfile + --linker=hoisted + --no-progress + ) + ${renderBunInstallArgs installFlags filters} + + bun install "''${bunInstallArgs[@]}" bun --bun ${./scripts/canonicalize-node-modules.ts} bun --bun ${./scripts/normalize-bun-binaries.ts}