diff --git a/src/app/ase-next/[domain]/layout.tsx b/src/app/ase-next/[domain]/layout.tsx index 5c0ef000..1f2cecd3 100644 --- a/src/app/ase-next/[domain]/layout.tsx +++ b/src/app/ase-next/[domain]/layout.tsx @@ -74,4 +74,4 @@ export default async function HousekeepingDomainLayout({ {children} ); -} \ No newline at end of file +} diff --git a/src/app/ase-next/page.tsx b/src/app/ase-next/page.tsx index 23c31371..e089f1cf 100644 --- a/src/app/ase-next/page.tsx +++ b/src/app/ase-next/page.tsx @@ -26,7 +26,9 @@ export default async function HousekeepingRootPage() { registry, HOUSEKEEPING_ROUTE_HANDLERS, ); - const operations = registry.domains.find((domain) => domain.id === "operations"); + const operations = registry.domains.find( + (domain) => domain.id === "operations", + ); const route = operations?.routes.find( (entry) => entry.id === "operations.workspace", ); @@ -86,4 +88,4 @@ export default async function HousekeepingRootPage() { {workspace} ); -} \ No newline at end of file +} diff --git a/src/components/admin/studio/studio-client.tsx b/src/components/admin/studio/studio-client.tsx index 72603031..5a7aa120 100644 --- a/src/components/admin/studio/studio-client.tsx +++ b/src/components/admin/studio/studio-client.tsx @@ -436,7 +436,6 @@ export function StudioClient({ cloneAllAbortRef.current = abort; const CHUNK = 400; - let done = 0; let okCount = 0; let failCount = 0; @@ -477,7 +476,6 @@ export function StudioClient({ return next; }); if (evt.status === "done" || evt.status === "failed") { - done++; if (evt.status === "failed") { setFailedClassnames((prev) => prev.includes(cn) ? prev : [...prev, cn], @@ -841,7 +839,6 @@ export function StudioClient({ const abort = new AbortController(); cloneAllAbortRef.current = abort; - let done = 0; let okCount = 0; let failCount = 0; @@ -878,7 +875,6 @@ export function StudioClient({ return next; }); if (evt.status === "done" || evt.status === "failed") { - done++; if (evt.status === "failed") { setFailedClassnames((prev) => prev.includes(cn) ? prev : [...prev, cn], diff --git a/src/features/housekeeping/cutover/parity.test.ts b/src/features/housekeeping/cutover/parity.test.ts index 42890062..30733494 100644 --- a/src/features/housekeeping/cutover/parity.test.ts +++ b/src/features/housekeeping/cutover/parity.test.ts @@ -49,4 +49,4 @@ describe("Housekeeping runtime parity", () => { ); } }); -}); \ No newline at end of file +}); diff --git a/src/features/housekeeping/cutover/route-cutover.test.ts b/src/features/housekeeping/cutover/route-cutover.test.ts index 5feaa5ca..514b715f 100644 --- a/src/features/housekeeping/cutover/route-cutover.test.ts +++ b/src/features/housekeeping/cutover/route-cutover.test.ts @@ -10,7 +10,10 @@ const PREVIEW_ENTRYPOINTS = [ ] as const; const STABLE_UI_ROOTS = ["src/app/admin", "src/app/mod"] as const; -const PREMATURE_UI_ROOTS = [["src/app/admin", "-next"].join(""), ["src/app", "ase"].join("/")] as const; +const PREMATURE_UI_ROOTS = [ + ["src/app/admin", "-next"].join(""), + ["src/app", "ase"].join("/"), +] as const; const STABLE_GLOBAL_SOURCES = [ "src/lib/admin/guard.ts", "src/lib/proxy-access.ts", @@ -75,4 +78,4 @@ describe("gated Housekeeping preview coexistence", () => { ); } }); -}); \ No newline at end of file +}); diff --git a/src/features/housekeeping/domains/content/routes.test.ts b/src/features/housekeeping/domains/content/routes.test.ts index d23fb01d..23d3bd0a 100644 --- a/src/features/housekeeping/domains/content/routes.test.ts +++ b/src/features/housekeeping/domains/content/routes.test.ts @@ -33,7 +33,11 @@ const expected = [ ["content.media.ads", "/ase-next/content/media/ads", "media"], ["content.media.ad-create", "/ase-next/content/media/ads/new", "media"], ["content.media.ad-detail", "/ase-next/content/media/ads/:id", "media"], - ["content.engagement.events", "/ase-next/content/engagement/events", "engagement"], + [ + "content.engagement.events", + "/ase-next/content/engagement/events", + "engagement", + ], [ "content.engagement.event-create", "/ase-next/content/engagement/events/create", @@ -49,7 +53,11 @@ const expected = [ "/ase-next/content/engagement/events/:id", "engagement", ], - ["content.engagement.polls", "/ase-next/content/engagement/polls", "engagement"], + [ + "content.engagement.polls", + "/ase-next/content/engagement/polls", + "engagement", + ], [ "content.engagement.poll-create", "/ase-next/content/engagement/polls/create", @@ -61,8 +69,16 @@ const expected = [ "engagement", ], ["content.help.questions", "/ase-next/content/help/questions", "help"], - ["content.help.question-create", "/ase-next/content/help/questions/new", "help"], - ["content.help.question-detail", "/ase-next/content/help/questions/:id", "help"], + [ + "content.help.question-create", + "/ase-next/content/help/questions/new", + "help", + ], + [ + "content.help.question-detail", + "/ase-next/content/help/questions/:id", + "help", + ], ["content.editorial.tags", "/ase-next/content/editorial/tags", "editorial"], [ "content.engagement.prefixes", @@ -74,7 +90,11 @@ const expected = [ "/ase-next/content/editorial/writeable-boxes", "editorial", ], - ["content.help.email-templates", "/ase-next/content/help/email-templates", "help"], + [ + "content.help.email-templates", + "/ase-next/content/help/email-templates", + "help", + ], ["content.brand.theme", "/ase-next/content/brand/theme", "brand"], [ "content.brand.theme-builder", @@ -92,7 +112,11 @@ const expected = [ "/ase-next/content/localization/client", "localization", ], - ["content.localization.cms", "/ase-next/content/localization/cms", "localization"], + [ + "content.localization.cms", + "/ase-next/content/localization/cms", + "localization", + ], [ "content.localization.emulator", "/ase-next/content/localization/emulator", diff --git a/src/features/housekeeping/domains/content/routes.ts b/src/features/housekeeping/domains/content/routes.ts index 70444365..81f306b8 100644 --- a/src/features/housekeeping/domains/content/routes.ts +++ b/src/features/housekeeping/domains/content/routes.ts @@ -98,9 +98,11 @@ export const CONTENT_ROUTES = [ contentRoute("content.media.ad-detail", "/ase-next/content/media/ads/:id", [ PERMS.PAGES_VIEW, ]), - contentRoute("content.engagement.events", "/ase-next/content/engagement/events", [ - PERMS.EVENTS_VIEW, - ]), + contentRoute( + "content.engagement.events", + "/ase-next/content/engagement/events", + [PERMS.EVENTS_VIEW], + ), contentRoute( "content.engagement.event-create", "/ase-next/content/engagement/events/create", @@ -116,9 +118,11 @@ export const CONTENT_ROUTES = [ "/ase-next/content/engagement/events/:id", [PERMS.EVENTS_EDIT], ), - contentRoute("content.engagement.polls", "/ase-next/content/engagement/polls", [ - PERMS.POLLS_VIEW, - ]), + contentRoute( + "content.engagement.polls", + "/ase-next/content/engagement/polls", + [PERMS.POLLS_VIEW], + ), contentRoute( "content.engagement.poll-create", "/ase-next/content/engagement/polls/create", @@ -171,17 +175,21 @@ export const CONTENT_ROUTES = [ contentRoute("content.brand.favicon", "/ase-next/content/brand/favicon", [ PERMS.SETTINGS_VIEW, ]), - contentRoute("content.localization.overview", "/ase-next/content/localization", [ - PERMS.SETTINGS_VIEW, - ]), + contentRoute( + "content.localization.overview", + "/ase-next/content/localization", + [PERMS.SETTINGS_VIEW], + ), contentRoute( "content.localization.client", "/ase-next/content/localization/client", [PERMS.SETTINGS_VIEW], ), - contentRoute("content.localization.cms", "/ase-next/content/localization/cms", [ - PERMS.SETTINGS_VIEW, - ]), + contentRoute( + "content.localization.cms", + "/ase-next/content/localization/cms", + [PERMS.SETTINGS_VIEW], + ), contentRoute( "content.localization.emulator", "/ase-next/content/localization/emulator", diff --git a/src/features/housekeeping/domains/economy/routes.test.ts b/src/features/housekeeping/domains/economy/routes.test.ts index 19c15731..15aea12b 100644 --- a/src/features/housekeeping/domains/economy/routes.test.ts +++ b/src/features/housekeeping/domains/economy/routes.test.ts @@ -42,7 +42,11 @@ const expected = [ "/ase-next/economy/commerce/marketplace", "commerce", ], - ["economy.commerce.vouchers", "/ase-next/economy/commerce/vouchers", "commerce"], + [ + "economy.commerce.vouchers", + "/ase-next/economy/commerce/vouchers", + "commerce", + ], [ "economy.commerce.subscriptions", "/ase-next/economy/commerce/subscriptions", diff --git a/src/features/housekeeping/domains/economy/routes.ts b/src/features/housekeeping/domains/economy/routes.ts index c4ef0c26..68dc9513 100644 --- a/src/features/housekeeping/domains/economy/routes.ts +++ b/src/features/housekeeping/domains/economy/routes.ts @@ -92,9 +92,11 @@ export const ECONOMY_ROUTES = [ "/ase-next/economy/commerce/marketplace", [PERMS.SHOP_VIEW], ), - economyRoute("economy.commerce.vouchers", "/ase-next/economy/commerce/vouchers", [ - PERMS.SHOP_VIEW, - ]), + economyRoute( + "economy.commerce.vouchers", + "/ase-next/economy/commerce/vouchers", + [PERMS.SHOP_VIEW], + ), economyRoute( "economy.commerce.subscriptions", "/ase-next/economy/commerce/subscriptions", @@ -105,9 +107,11 @@ export const ECONOMY_ROUTES = [ "/ase-next/economy/history/transactions", [PERMS.SHOP_VIEW], ), - economyRoute("economy.value.rare-values", "/ase-next/economy/value/rare-values", [ - PERMS.SHOP_VIEW, - ]), + economyRoute( + "economy.value.rare-values", + "/ase-next/economy/value/rare-values", + [PERMS.SHOP_VIEW], + ), economyRoute("economy.rewards.badges", "/ase-next/economy/rewards/badges", [ PERMS.CATALOG_VIEW, ]), @@ -119,9 +123,11 @@ export const ECONOMY_ROUTES = [ economyRoute("economy.rewards.sounds", "/ase-next/economy/rewards/sounds", [ PERMS.CATALOG_VIEW, ]), - economyRoute("economy.rewards.calendar", "/ase-next/economy/rewards/calendar", [ - PERMS.SHOP_VIEW, - ]), + economyRoute( + "economy.rewards.calendar", + "/ase-next/economy/rewards/calendar", + [PERMS.SHOP_VIEW], + ), economyRoute( "economy.rewards.calendar-detail", "/ase-next/economy/rewards/calendar/:id", diff --git a/src/features/housekeeping/domains/hotel/queries/hotel-queries.test.ts b/src/features/housekeeping/domains/hotel/queries/hotel-queries.test.ts index 30851198..796f9da3 100644 --- a/src/features/housekeeping/domains/hotel/queries/hotel-queries.test.ts +++ b/src/features/housekeeping/domains/hotel/queries/hotel-queries.test.ts @@ -93,7 +93,9 @@ describe("Hotel query adapters", () => { const query = createHotelQuery({ load: async () => ({ kind: "rooms", - items: [{ id: "1", title: "Unsafe", href: "/ase-next/hotel/%2e%2e/system" }], + items: [ + { id: "1", title: "Unsafe", href: "/ase-next/hotel/%2e%2e/system" }, + ], total: 1, partialDependencies: ["imaginary"], }), diff --git a/src/features/housekeeping/domains/hotel/routes.ts b/src/features/housekeeping/domains/hotel/routes.ts index 30c84968..bc132357 100644 --- a/src/features/housekeeping/domains/hotel/routes.ts +++ b/src/features/housekeeping/domains/hotel/routes.ts @@ -128,7 +128,10 @@ export const HOTEL_STUDIO_ROUTES = [ studioRoute("hotel.studio.furni", "/ase-next/hotel/studio/furni"), studioRoute("hotel.studio.maintenance", "/ase-next/hotel/studio/maintenance"), studioRoute("hotel.studio.pets", "/ase-next/hotel/studio/pets"), - studioRoute("hotel.studio.repair-icons", "/ase-next/hotel/studio/repair-icons"), + studioRoute( + "hotel.studio.repair-icons", + "/ase-next/hotel/studio/repair-icons", + ), studioRoute("hotel.studio.sync", "/ase-next/hotel/studio/sync"), studioRoute("hotel.studio.upload", "/ase-next/hotel/studio/upload"), ] as const satisfies readonly HousekeepingRouteDefinition[]; diff --git a/src/features/housekeeping/domains/people/people-providers.test.ts b/src/features/housekeeping/domains/people/people-providers.test.ts index 714bbf2a..3a710224 100644 --- a/src/features/housekeeping/domains/people/people-providers.test.ts +++ b/src/features/housekeeping/domains/people/people-providers.test.ts @@ -71,9 +71,9 @@ describe("People providers", () => { expect(result.ok).toBe(true); if (!result.ok) return; expect(result.data).toHaveLength(25); - expect(result.data.every((item) => item.href.startsWith("/ase-next/"))).toBe( - true, - ); + expect( + result.data.every((item) => item.href.startsWith("/ase-next/")), + ).toBe(true); expect(result.data.map((item) => item.id)).not.toContain("candidate-1"); }); @@ -106,7 +106,10 @@ describe("People providers", () => { expect(search).toMatchObject({ ok: true, data: [ - { id: "candidate-7", href: "/ase-next/people/users/7?tab=profile#security" }, + { + id: "candidate-7", + href: "/ase-next/people/users/7?tab=profile#security", + }, { id: "candidate-8", href: "/ase-next?view=queue#top" }, ], }); @@ -140,7 +143,10 @@ describe("People providers", () => { ok: true, data: { items: [ - { itemId: "7", href: "/ase-next/people/users/7?tab=profile#security" }, + { + itemId: "7", + href: "/ase-next/people/users/7?tab=profile#security", + }, { itemId: "8", href: "/ase-next?view=queue#top" }, ], }, diff --git a/src/features/housekeeping/domains/people/queries/people-adapters-production.test.ts b/src/features/housekeeping/domains/people/queries/people-adapters-production.test.ts index f049b243..9c2e8926 100644 --- a/src/features/housekeeping/domains/people/queries/people-adapters-production.test.ts +++ b/src/features/housekeeping/domains/people/queries/people-adapters-production.test.ts @@ -379,7 +379,9 @@ describe("People production authorization boundary", () => { ok: true, data: { page: { - items: [{ id: "12", href: "/ase-next/people/support/help-tickets/12" }], + items: [ + { id: "12", href: "/ase-next/people/support/help-tickets/12" }, + ], }, }, }); diff --git a/src/features/housekeeping/domains/people/routes.test.ts b/src/features/housekeeping/domains/people/routes.test.ts index 89f31d9e..a7627bf4 100644 --- a/src/features/housekeeping/domains/people/routes.test.ts +++ b/src/features/housekeeping/domains/people/routes.test.ts @@ -86,7 +86,11 @@ const expectedRoutes = [ "/ase-next/people/moderation/bans", [PERMS.BANS_VIEW, PERMS.MOD_BANS_VIEW], ], - ["people.moderation.ip", "/ase-next/people/moderation/ip", [PERMS.SETTINGS_VIEW]], + [ + "people.moderation.ip", + "/ase-next/people/moderation/ip", + [PERMS.SETTINGS_VIEW], + ], [ "people.moderation.vpn", "/ase-next/people/moderation/vpn", diff --git a/src/features/housekeeping/domains/people/routes.ts b/src/features/housekeeping/domains/people/routes.ts index dc41b243..8ba4e77d 100644 --- a/src/features/housekeeping/domains/people/routes.ts +++ b/src/features/housekeeping/domains/people/routes.ts @@ -75,9 +75,11 @@ export const PEOPLE_ROUTES = [ "/ase-next/people/community/guilds/:id", [PERMS.USERS_VIEW], ), - peopleRoute("people.staff.applications", "/ase-next/people/staff/applications", [ - PERMS.USERS_VIEW, - ]), + peopleRoute( + "people.staff.applications", + "/ase-next/people/staff/applications", + [PERMS.USERS_VIEW], + ), peopleRoute("people.staff.teams", "/ase-next/people/staff/teams", [ PERMS.USERS_VIEW, ]), @@ -94,10 +96,11 @@ export const PEOPLE_ROUTES = [ PERMS.MOD_USERS_VIEW, PERMS.USERS_VIEW, ]), - peopleRoute("people.moderation.actions", "/ase-next/people/moderation/actions", [ - PERMS.MODERATION_EDIT, - PERMS.MOD_ACTIONS, - ]), + peopleRoute( + "people.moderation.actions", + "/ase-next/people/moderation/actions", + [PERMS.MODERATION_EDIT, PERMS.MOD_ACTIONS], + ), peopleRoute("people.moderation.cfh", "/ase-next/people/moderation/cfh", [ PERMS.MODERATION_VIEW, PERMS.MOD_CFH_VIEW, diff --git a/src/features/housekeeping/foundation/housekeeping-href.ts b/src/features/housekeeping/foundation/housekeeping-href.ts index 34045fe2..9c234776 100644 --- a/src/features/housekeeping/foundation/housekeeping-href.ts +++ b/src/features/housekeeping/foundation/housekeeping-href.ts @@ -64,6 +64,7 @@ export function isSafeHousekeepingHref(href: string): boolean { } return ( normalized.origin === HOUSEKEEPING_ORIGIN && - (normalized.pathname === "/ase-next" || normalized.pathname.startsWith("/ase-next/")) + (normalized.pathname === "/ase-next" || + normalized.pathname.startsWith("/ase-next/")) ); } diff --git a/src/features/housekeeping/foundation/navigation.test.ts b/src/features/housekeeping/foundation/navigation.test.ts index c0c52ddd..f1d2a0c3 100644 --- a/src/features/housekeeping/foundation/navigation.test.ts +++ b/src/features/housekeeping/foundation/navigation.test.ts @@ -3,7 +3,10 @@ import { PERMS } from "@/lib/permission-slugs"; import { HOUSEKEEPING_MANIFESTS } from "../manifests"; import { anyCapability, type HousekeepingCapabilityContext } from "./contracts"; import { buildHousekeepingNavigation } from "./navigation"; -import { createHousekeepingRegistry, type HousekeepingRegistry } from "./registry"; +import { + createHousekeepingRegistry, + type HousekeepingRegistry, +} from "./registry"; import type { HousekeepingRouteHandler } from "./routing/route-handler"; import { createHousekeepingRouteRuntime } from "./routing/runtime"; @@ -208,4 +211,4 @@ describe("housekeeping navigation", () => { items: [{ id: "users", href: "/ase-next/people/users" }], }); }); -}); \ No newline at end of file +}); diff --git a/src/features/housekeeping/foundation/navigation.ts b/src/features/housekeeping/foundation/navigation.ts index e682637a..3fee8408 100644 --- a/src/features/housekeeping/foundation/navigation.ts +++ b/src/features/housekeeping/foundation/navigation.ts @@ -54,4 +54,4 @@ export function buildHousekeepingNavigation( function isConcreteNavigationHref(href: string): boolean { return !href.split("/").some((segment) => segment.startsWith(":")); -} \ No newline at end of file +} diff --git a/src/features/housekeeping/foundation/recent/recent-work.test.ts b/src/features/housekeeping/foundation/recent/recent-work.test.ts index 3a209dca..95ed9232 100644 --- a/src/features/housekeeping/foundation/recent/recent-work.test.ts +++ b/src/features/housekeeping/foundation/recent/recent-work.test.ts @@ -149,7 +149,10 @@ describe("housekeeping recent work", () => { expect(allowed).toMatchObject({ ok: true, - data: { routeId: "people.users", canonicalHref: "/ase-next/people/users" }, + data: { + routeId: "people.users", + canonicalHref: "/ase-next/people/users", + }, }); expect(writeAudit).toHaveBeenCalledOnce(); expect(writeAudit).toHaveBeenCalledWith( diff --git a/src/features/housekeeping/foundation/routing/href.test.ts b/src/features/housekeeping/foundation/routing/href.test.ts index 3aeaf982..3e3ae42f 100644 --- a/src/features/housekeeping/foundation/routing/href.test.ts +++ b/src/features/housekeeping/foundation/routing/href.test.ts @@ -9,7 +9,9 @@ describe("toHousekeepingHref", () => { }); it("keeps canonical domain routes unchanged", () => { - expect(toHousekeepingHref("/ase-next/people/users")).toBe("/ase-next/people/users"); + expect(toHousekeepingHref("/ase-next/people/users")).toBe( + "/ase-next/people/users", + ); }); it("rejects paths outside the canonical ase namespace", () => { diff --git a/src/features/housekeeping/foundation/routing/match-route.test.ts b/src/features/housekeeping/foundation/routing/match-route.test.ts index c8a07f20..f430dfb7 100644 --- a/src/features/housekeeping/foundation/routing/match-route.test.ts +++ b/src/features/housekeeping/foundation/routing/match-route.test.ts @@ -44,7 +44,10 @@ const registry = createHousekeepingRegistry([ route("people.user-detail", "/ase-next/people/users/:id"), route("people.user-create", "/ase-next/people/users/new"), route("people.users", "/ase-next/people/users"), - route("people.ticket-note", "/ase-next/people/tickets/:ticketId/notes/:noteId"), + route( + "people.ticket-note", + "/ase-next/people/tickets/:ticketId/notes/:noteId", + ), route("people.literal-tool", "/ase-next/people/tools/a+b[1]"), ]), ]); @@ -60,7 +63,9 @@ describe("matchHousekeepingRoute", () => { }); it("prefers a static route over a dynamic route with the same depth", () => { - expect(matchHousekeepingRoute(registry, "/ase-next/people/users/new")).toEqual({ + expect( + matchHousekeepingRoute(registry, "/ase-next/people/users/new"), + ).toEqual({ routeId: "people.user-create", domain: "people", params: {}, @@ -123,7 +128,10 @@ describe("matchHousekeepingRoute", () => { ]); expect( - matchHousekeepingRoute(orderedRegistry, "/ase-next/people/users/settings"), + matchHousekeepingRoute( + orderedRegistry, + "/ase-next/people/users/settings", + ), )?.toMatchObject({ routeId: "people.user-detail", params: { id: "settings" }, diff --git a/src/features/housekeeping/foundation/routing/match-route.ts b/src/features/housekeeping/foundation/routing/match-route.ts index 07a4b6d8..fbce604c 100644 --- a/src/features/housekeeping/foundation/routing/match-route.ts +++ b/src/features/housekeeping/foundation/routing/match-route.ts @@ -184,4 +184,4 @@ function matchSegments( } return params; -} \ No newline at end of file +} diff --git a/src/features/housekeeping/foundation/routing/route-handler.ts b/src/features/housekeeping/foundation/routing/route-handler.ts index e86a4dd0..95441690 100644 --- a/src/features/housekeeping/foundation/routing/route-handler.ts +++ b/src/features/housekeeping/foundation/routing/route-handler.ts @@ -26,4 +26,4 @@ export interface HousekeepingRouteRenderInput { export interface HousekeepingRouteHandler { routeId: string; render(input: HousekeepingRouteRenderInput): Promise; -} \ No newline at end of file +} diff --git a/src/features/housekeeping/foundation/shell/housekeeping-shell.test.tsx b/src/features/housekeeping/foundation/shell/housekeeping-shell.test.tsx index 6724b099..092e2bf6 100644 --- a/src/features/housekeeping/foundation/shell/housekeeping-shell.test.tsx +++ b/src/features/housekeeping/foundation/shell/housekeeping-shell.test.tsx @@ -35,7 +35,9 @@ const domains: readonly HousekeepingNavigationDomain[] = [ iconId: "inbox", label: "Operations", description: "Manage operations", - items: [{ id: "queue", href: "/ase-next/operations/queue", label: "Queue" }], + items: [ + { id: "queue", href: "/ase-next/operations/queue", label: "Queue" }, + ], }, { id: "people", diff --git a/src/features/housekeeping/foundation/shell/operational-inbox.test.tsx b/src/features/housekeeping/foundation/shell/operational-inbox.test.tsx index 0cfa9664..7c5805ab 100644 --- a/src/features/housekeeping/foundation/shell/operational-inbox.test.tsx +++ b/src/features/housekeeping/foundation/shell/operational-inbox.test.tsx @@ -110,8 +110,8 @@ describe("OperationalInbox", () => { }); it("projects canonical hrefs without changing production destinations", () => { - expect(projectOperationalInboxHref("/ase-next/system/operations/alerts")).toBe( - "/ase-next/system/operations/alerts", - ); + expect( + projectOperationalInboxHref("/ase-next/system/operations/alerts"), + ).toBe("/ase-next/system/operations/alerts"); }); }); diff --git a/src/features/housekeeping/migration/content.test.ts b/src/features/housekeeping/migration/content.test.ts index e0f7131f..b245d3a2 100644 --- a/src/features/housekeeping/migration/content.test.ts +++ b/src/features/housekeeping/migration/content.test.ts @@ -36,7 +36,8 @@ describe("contentMigrationEntries", () => { expect( contentMigrationEntries.every( (row) => - row.targetPath === null || row.targetPath.startsWith("/ase-next/content/"), + row.targetPath === null || + row.targetPath.startsWith("/ase-next/content/"), ), ).toBe(true); }); diff --git a/src/features/housekeeping/migration/economy.test.ts b/src/features/housekeeping/migration/economy.test.ts index 1c94c510..ec23d305 100644 --- a/src/features/housekeeping/migration/economy.test.ts +++ b/src/features/housekeeping/migration/economy.test.ts @@ -31,7 +31,8 @@ describe("economyMigrationEntries", () => { expect( economyMigrationEntries.every( (row) => - row.targetPath === null || row.targetPath.startsWith("/ase-next/economy/"), + row.targetPath === null || + row.targetPath.startsWith("/ase-next/economy/"), ), ).toBe(true); }); diff --git a/src/features/housekeeping/migration/hotel.test.ts b/src/features/housekeeping/migration/hotel.test.ts index d4c2068f..67aafe67 100644 --- a/src/features/housekeeping/migration/hotel.test.ts +++ b/src/features/housekeeping/migration/hotel.test.ts @@ -26,7 +26,8 @@ describe("hotelMigrationEntries", () => { expect( hotelMigrationEntries.every( (row) => - row.targetPath === null || row.targetPath.startsWith("/ase-next/hotel/"), + row.targetPath === null || + row.targetPath.startsWith("/ase-next/hotel/"), ), ).toBe(true); }); diff --git a/src/features/housekeeping/migration/validate-matrix.ts b/src/features/housekeeping/migration/validate-matrix.ts index e8cfaa93..6a527892 100644 --- a/src/features/housekeeping/migration/validate-matrix.ts +++ b/src/features/housekeeping/migration/validate-matrix.ts @@ -84,7 +84,10 @@ export function validateMigrationEntries( if ( entry.targetPath !== null && entry.decision !== "REMOVE" && - !(entry.targetPath === "/ase-next" || entry.targetPath.startsWith("/ase-next/")) + !( + entry.targetPath === "/ase-next" || + entry.targetPath.startsWith("/ase-next/") + ) ) { issues.add(`non-REMOVE targetPath must use /ase-next: ${legacyPath}`); } diff --git a/src/features/housekeeping/route-handlers.ts b/src/features/housekeeping/route-handlers.ts index e3d8a9fb..f347f836 100644 --- a/src/features/housekeeping/route-handlers.ts +++ b/src/features/housekeeping/route-handlers.ts @@ -20,4 +20,4 @@ export const HOUSEKEEPING_ROUTE_HANDLERS: readonly HousekeepingRouteHandler[] = ...ECONOMY_ROUTE_HANDLERS, ...HOTEL_ROUTE_HANDLERS, ...SYSTEM_ROUTE_HANDLERS, - ]); \ No newline at end of file + ]);