test: tighten root dependency audit assertions

This commit is contained in:
Peter Steinberger
2026-05-09 10:02:55 +01:00
parent 62bdf5d5eb
commit 7bf2d9ca87

View File

@@ -182,18 +182,28 @@ describe("collectRootDependencyOwnershipCheckErrors", () => {
scanRoots: ["src", "packages"],
});
expect(records).toMatchObject([
expect(records).toEqual([
{
category: "core_runtime",
declaredInExtensions: [],
depName: "pdfjs-dist",
fileCount: 1,
internalizedBundledRuntimeOwners: [],
recommendation: "keep at root",
sampleFiles: ["src/media/pdf-extract.ts"],
sections: ["src"],
spec: "^5.0.0",
},
{
category: "core_runtime",
declaredInExtensions: [],
depName: "sqlite-vec",
fileCount: 1,
internalizedBundledRuntimeOwners: [],
recommendation: "keep at root",
sampleFiles: ["packages/memory-host-sdk/src/host/sqlite-vec.ts"],
sections: ["packages"],
spec: "0.1.9",
},
]);
});
@@ -254,16 +264,30 @@ describe("collectRootDependencyOwnershipCheckErrors", () => {
const records = collectRootDependencyOwnershipAudit({ repoRoot, scanRoots: ["extensions"] });
expect(records).toMatchObject([
expect(records).toEqual([
{
category: "root_owned_extension_runtime",
declaredInExtensions: ["bonjour:dependencies"],
depName: "@homebridge/ciao",
fileCount: 1,
internalizedBundledRuntimeOwners: [],
recommendation:
"keep at root; the Bonjour runtime is shipped with packaged startup surfaces even though the bundled plugin also declares it",
sampleFiles: ["extensions/bonjour/src/advertiser.ts"],
sections: ["extensions"],
spec: "^1.3.7",
},
{
category: "root_owned_extension_runtime",
declaredInExtensions: ["browser:dependencies"],
depName: "playwright-core",
fileCount: 1,
internalizedBundledRuntimeOwners: [],
recommendation:
"keep at root; the internal browser runtime is shipped with core even though downloadable browser-adjacent plugins also declare it",
sampleFiles: ["extensions/browser/src/browser/playwright-core.runtime.ts"],
sections: ["extensions"],
spec: "1.59.1",
},
]);
expect(collectRootDependencyOwnershipCheckErrors(records)).toStrictEqual([]);
@@ -293,12 +317,18 @@ describe("collectRootDependencyOwnershipCheckErrors", () => {
const records = collectRootDependencyOwnershipAudit({ repoRoot, scanRoots: ["extensions"] });
expect(records).toMatchObject([
expect(records).toEqual([
{
category: "root_owned_extension_runtime",
declaredInExtensions: ["internal:dependencies"],
depName: "vendor-sdk",
fileCount: 1,
internalizedBundledRuntimeOwners: ["internal:dependencies"],
recommendation:
"keep at root while bundled plugin runtime dependencies are internalized; owners: internal:dependencies",
sampleFiles: ["extensions/internal/src/setup.ts"],
sections: ["extensions"],
spec: "^1.0.0",
},
]);
expect(collectRootDependencyOwnershipCheckErrors(records)).toStrictEqual([]);
@@ -328,12 +358,18 @@ describe("collectRootDependencyOwnershipCheckErrors", () => {
const records = collectRootDependencyOwnershipAudit({ repoRoot, scanRoots: ["extensions"] });
expect(records).toMatchObject([
expect(records).toEqual([
{
category: "extension_only_localizable",
declaredInExtensions: ["externalized:dependencies"],
depName: "vendor-sdk",
fileCount: 1,
internalizedBundledRuntimeOwners: [],
recommendation:
"remove from root package.json and rely on owning extension manifests plus doctor --fix",
sampleFiles: ["extensions/externalized/src/setup.ts"],
sections: ["extensions"],
spec: "^1.0.0",
},
]);
});