tr
TryGhost
GitHub
Ghost
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
Ghost
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
30317
c63173f5 Added public api surfaces to the admin domains no ref The admin shell (routes.tsx), the layout, and several domains deep-imported other domains' internals, so every screen move risked breaking unrelated folders. Each domain (members, tags, comments, automations, posts, onboarding, whats-new, settings) now exposes an api.ts mirroring analytics/api.ts, and the shell, layout, and cross-domain consumers import only those surfaces. Route definitions the shell held inline (members children, the posts analytics subtree) moved into their domains; lazy entries stay dynamic imports inside the domains so route-level code-splitting is unchanged (production build emits an identical chunk inventory). Cross-domain strays were re-homed: buildMembersUrl, the member formatting helpers, and the shared-views parsing now flow through members/api.ts; the whats-new dialog, banner, and hooks through whats-new/api.ts; BrandIcon and its svg set moved from settings to src/shared/brand-icon; the AccessRule types moved to src/route-access.ts and NotFound to src/shared so domains no longer import shell files. Two dependency-cruiser rules keep it that way: domains may import a different domain only via its api.ts, and the shell and layout may import domains only via api.ts. Both rules were proven to fire on deliberate violations in the unresolved @/-specifier and resolved relative shapes, then the violations were reverted.
by Steve Larson
S
Succeeded
30317
c63173f5 Added public api surfaces to the admin domains no ref The admin shell (routes.tsx), the layout, and several domains deep-imported other domains' internals, so every screen move risked breaking unrelated folders. Each domain (members, tags, comments, automations, posts, onboarding, whats-new, settings) now exposes an api.ts mirroring analytics/api.ts, and the shell, layout, and cross-domain consumers import only those surfaces. Route definitions the shell held inline (members children, the posts analytics subtree) moved into their domains; lazy entries stay dynamic imports inside the domains so route-level code-splitting is unchanged (production build emits an identical chunk inventory). Cross-domain strays were re-homed: buildMembersUrl, the member formatting helpers, and the shared-views parsing now flow through members/api.ts; the whats-new dialog, banner, and hooks through whats-new/api.ts; BrandIcon and its svg set moved from settings to src/shared/brand-icon; the AccessRule types moved to src/route-access.ts and NotFound to src/shared so domains no longer import shell files. Two dependency-cruiser rules keep it that way: domains may import a different domain only via its api.ts, and the shell and layout may import domains only via api.ts. Both rules were proven to fire on deliberate violations in the unresolved @/-specifier and resolved relative shapes, then the violations were reverted.
by Steve Larson
S
Previous
Next