build(canvas): stabilize a2ui bundle inputs

This commit is contained in:
Peter Steinberger
2026-04-11 14:16:06 +01:00
parent 9bde608f38
commit a8284e39de
3 changed files with 80 additions and 23 deletions

View File

@@ -0,0 +1,39 @@
import path from "node:path";
import { describe, expect, it } from "vitest";
import {
getLocalRolldownCliCandidates,
isBundleHashInputPath,
} from "../../scripts/bundle-a2ui.mjs";
describe("scripts/bundle-a2ui.mjs", () => {
it("keeps generated renderer output out of bundle hash inputs", () => {
const repoRoot = path.resolve("repo-root");
expect(
isBundleHashInputPath(
path.join(repoRoot, "vendor", "a2ui", "renderers", "lit", "src", "index.ts"),
repoRoot,
),
).toBe(true);
expect(
isBundleHashInputPath(
path.join(repoRoot, "vendor", "a2ui", "renderers", "lit", "dist"),
repoRoot,
),
).toBe(false);
expect(
isBundleHashInputPath(
path.join(repoRoot, "vendor", "a2ui", "renderers", "lit", "dist", "src", "index.js"),
repoRoot,
),
).toBe(false);
});
it("prefers the installed rolldown CLI over a network dlx fallback", () => {
const repoRoot = path.resolve("repo-root");
expect(getLocalRolldownCliCandidates(repoRoot)[0]).toBe(
path.join(repoRoot, "node_modules", "rolldown", "bin", "cli.mjs"),
);
});
});