Initial Commit

This commit is contained in:
2026-05-27 23:47:53 +01:00
parent fbc70f96e6
commit 9b28db724f
18103 changed files with 1600554 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
/**
* Detect the appropriate vitest `environment` for a package.
*
* Order of precedence:
* 1. Explicit override
* 2. Package depends on `react` / `react-dom` → `happy-dom`
* 3. Package depends on `jsdom` → `jsdom`
* 4. Default: `node`
*/
export type TestEnvironment = "node" | "happy-dom" | "jsdom";
interface MinimalPackageJson {
dependencies?: Record<string, string>;
devDependencies?: Record<string, string>;
peerDependencies?: Record<string, string>;
}
export function detectEnvironment(
pkg: MinimalPackageJson,
override?: TestEnvironment
): TestEnvironment {
if (override) return override;
const deps = {
...(pkg.dependencies ?? {}),
...(pkg.devDependencies ?? {}),
...(pkg.peerDependencies ?? {}),
};
if ("react" in deps || "react-dom" in deps) return "happy-dom";
if ("jsdom" in deps) return "jsdom";
return "node";
}