feat: add plugin-backed canvases (#3111)

This commit is contained in:
Carlos Florêncio
2026-09-05 18:44:43 +00:00
committed by GitHub
parent 97140168d8
commit d74e85883d
274 changed files with 34222 additions and 369 deletions
@@ -0,0 +1,29 @@
import { describe, expect, it } from "vitest";
import { resolveMaxWorkers } from "./vitest-worker-budget";
describe("resolveMaxWorkers", () => {
it("uses the twenty-percent local default when no override is set", () => {
expect(resolveMaxWorkers(undefined, false, false, 10)).toBe("20%");
});
it("caps an unsafe local percentage override", () => {
expect(resolveMaxWorkers("100%", false, false, 10)).toBe("20%");
});
it("caps an unsafe local numeric override to available capacity", () => {
expect(resolveMaxWorkers("10", false, false, 10)).toBe(2);
});
it("keeps a safe local percentage override", () => {
expect(resolveMaxWorkers("10%", false, false, 10)).toBe("10%");
});
it("falls back for an invalid zero-worker percentage", () => {
expect(resolveMaxWorkers("0%", false, false, 10)).toBe("20%");
});
it("requires an explicit opt-in for unsafe local capacity", () => {
expect(resolveMaxWorkers("100%", false, true, 10)).toBe("100%");
expect(resolveMaxWorkers("100%", true, false, 10)).toBe("100%");
});
});
+41
View File
@@ -0,0 +1,41 @@
import os from "node:os";
const LOCAL_WORKER_PERCENT = 20;
export function resolveMaxWorkers(
value: string | undefined,
isCI: boolean,
allowUnsafe: boolean,
availableParallelism = os.availableParallelism(),
): string | number | undefined {
const normalized = value?.trim();
if (isCI || allowUnsafe) return parseConfiguredWorkers(normalized);
if (!normalized) return `${LOCAL_WORKER_PERCENT}%`;
const percentage = parsePercentage(normalized);
if (percentage !== null) {
return percentage <= LOCAL_WORKER_PERCENT ? normalized : `${LOCAL_WORKER_PERCENT}%`;
}
const requestedWorkers = Number(normalized);
if (Number.isInteger(requestedWorkers) && requestedWorkers > 0) {
return Math.min(requestedWorkers, localWorkerBudget(availableParallelism));
}
return `${LOCAL_WORKER_PERCENT}%`;
}
function parseConfiguredWorkers(value: string | undefined): string | number | undefined {
if (!value) return undefined;
if (/^[1-9]\d*%$/.test(value)) return value;
const workers = Number(value);
return Number.isInteger(workers) && workers > 0 ? workers : undefined;
}
function parsePercentage(value: string): number | null {
if (!/^[1-9]\d*%$/.test(value)) return null;
return Number(value.slice(0, -1));
}
function localWorkerBudget(availableParallelism: number): number {
return Math.max(1, Math.floor(availableParallelism * (LOCAL_WORKER_PERCENT / 100)));
}