diff --git a/.github/actions/setup-bun/action.yml b/.github/actions/setup-bun/action.yml index 108a53df..b637ee7b 100644 --- a/.github/actions/setup-bun/action.yml +++ b/.github/actions/setup-bun/action.yml @@ -5,6 +5,8 @@ runs: steps: - name: Setup Bun uses: oven-sh/setup-bun@v2 + with: + bun-version-file: package.json - name: Cache ~/.bun id: cache-bun diff --git a/packages/script/src/index.ts b/packages/script/src/index.ts index 9453c252..f1f1e459 100644 --- a/packages/script/src/index.ts +++ b/packages/script/src/index.ts @@ -1,7 +1,18 @@ import { $ } from "bun" +import path from "path" -if (process.versions.bun !== "1.3.1") { - throw new Error("This script requires bun@1.3.1") +const rootPkgPath = path.resolve(import.meta.dir, "../../../package.json") +const rootPkg = await Bun.file(rootPkgPath).json() +const expectedBunVersion = rootPkg.packageManager?.split("@")[1] + +if (!expectedBunVersion) { + throw new Error("packageManager field not found in root package.json") +} + +if (process.versions.bun !== expectedBunVersion) { + throw new Error( + `This script requires bun@${expectedBunVersion}, but you are using bun@${process.versions.bun}`, + ) } const CHANNEL =