diff --git a/site/src/utils/tar.jest.ts b/site/src/utils/tar.test.ts similarity index 100% rename from site/src/utils/tar.jest.ts rename to site/src/utils/tar.test.ts diff --git a/site/test/vitestSetup.ts b/site/test/vitestSetup.ts new file mode 100644 index 0000000000..7a166c5a86 --- /dev/null +++ b/site/test/vitestSetup.ts @@ -0,0 +1,10 @@ +import { Blob as NativeBlob } from "node:buffer"; + +// JSDom `Blob` is missing important methods[1] that have been standardized for +// years. MDN categorizes this API as baseline[2]. +// [1]: https://github.com/jsdom/jsdom/issues/2555 +// [2]: https://developer.mozilla.org/en-US/docs/Web/API/Blob/arrayBuffer +// @ts-expect-error - Minor type incompatibilities due to TypeScript's +// introduction of the `ArrayBufferLife` type and the related generic parameters +// changes. +globalThis.Blob = NativeBlob; diff --git a/site/vite.config.mts b/site/vite.config.mts index fd656a11de..4319a560f4 100644 --- a/site/vite.config.mts +++ b/site/vite.config.mts @@ -137,7 +137,7 @@ export default defineConfig({ include: ["src/**/*.test.?(m)ts?(x)"], globals: true, environment: "jsdom", - setupFiles: ["@testing-library/jest-dom/vitest"], + setupFiles: ["@testing-library/jest-dom/vitest", "./test/vitestSetup.ts"], silent: "passed-only", }, });