pre-push 812 B

1234567891011121314151617181920
  1. #!/bin/sh
  2. set -e
  3. # Check if bun version matches package.json
  4. # keep in sync with packages/script/src/index.ts semver qualifier
  5. bun -e '
  6. import { semver } from "bun";
  7. const pkg = await Bun.file("package.json").json();
  8. const expectedBunVersion = pkg.packageManager?.split("@")[1];
  9. if (!expectedBunVersion) {
  10. throw new Error("packageManager field not found in root package.json");
  11. }
  12. const expectedBunVersionRange = `^${expectedBunVersion}`;
  13. if (!semver.satisfies(process.versions.bun, expectedBunVersionRange)) {
  14. throw new Error(`This script requires bun@${expectedBunVersionRange}, but you are using bun@${process.versions.bun}`);
  15. }
  16. if (process.versions.bun !== expectedBunVersion) {
  17. console.warn(`Warning: Bun version ${process.versions.bun} differs from expected ${expectedBunVersion}`);
  18. }
  19. '
  20. bun typecheck