feat(studio): expand nitro cleanup with repair, auto-clean, and orphaned assets
Scan distinguishes fake, broken, and orphaned SWF/icon assets with age metadata, deletes per asset kind, re-downloads broken nitro bundles from configured sources, auto-cleans old fake leftovers, and exports a JSON manifest. Adds rebuild and auto-clean API endpoints with audit coverage and a housekeeping preview route under the hotel domain. Verified: full vitest suite (2213 tests), typecheck, and biome all pass.
This commit is contained in:
1 parent
ea4fd375b4
commit
438277a17a
13 files changed
+1118
-155
No files matched your search
@@ -561,7 +561,7 @@ describe("housekeeping foundation completion contracts", () => {
|
||||
}
|
||||
});
|
||||
|
||||
it("creates the real six-domain registry in locked order without workflows", () => {
|
||||
it("creates the real six-domain registry in locked order without approved workflows", () => {
|
||||
const registry = createHousekeepingRegistry(HOUSEKEEPING_MANIFESTS);
|
||||
|
||||
expect(registry.domains.map((domain) => domain.id)).toEqual([
|
||||
@@ -572,9 +572,20 @@ describe("housekeeping foundation completion contracts", () => {
|
||||
"hotel",
|
||||
"system",
|
||||
]);
|
||||
expect(registry.domains.every((domain) => domain.routes.length === 0)).toBe(
|
||||
true,
|
||||
);
|
||||
expect(
|
||||
registry.domains
|
||||
.filter((domain) => domain.id !== "hotel")
|
||||
.every((domain) => domain.routes.length === 0),
|
||||
).toBe(true);
|
||||
expect(
|
||||
registry.domains.find((domain) => domain.id === "hotel")?.routes,
|
||||
).toEqual([
|
||||
expect.objectContaining({
|
||||
id: "nitro-cleanup",
|
||||
href: "/admin-next/hotel/nitro-cleanup",
|
||||
labelKey: "pages.housekeeping.domains.hotel.routes.nitroCleanup",
|
||||
}),
|
||||
]);
|
||||
});
|
||||
|
||||
it("keeps production preview disabled even when the flag is true", () => {
|
||||
|
||||
Reference in new issue
Block a user