feat(features): extend assertFeatureConformance to bind-dev-seed paths
This commit is contained in:
@@ -6,6 +6,8 @@ import {
|
|||||||
type ILogger,
|
type ILogger,
|
||||||
} from "@repo/core-shared/instrumentation";
|
} from "@repo/core-shared/instrumentation";
|
||||||
import type { BindContext } from "@repo/core-shared/di";
|
import type { BindContext } from "@repo/core-shared/di";
|
||||||
|
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||||
|
import { authManifest } from "../feature.manifest.js";
|
||||||
import { authContainer } from "./container.js";
|
import { authContainer } from "./container.js";
|
||||||
import { AUTH_SYMBOLS } from "./symbols.js";
|
import { AUTH_SYMBOLS } from "./symbols.js";
|
||||||
import { MockUsersRepository } from "../infrastructure/repositories/users.repository.mock.js";
|
import { MockUsersRepository } from "../infrastructure/repositories/users.repository.mock.js";
|
||||||
@@ -152,4 +154,16 @@ export async function bindDevSeedAuth(ctx: BindContext): Promise<void> {
|
|||||||
// <gen:event-handlers>
|
// <gen:event-handlers>
|
||||||
// <gen:jobs>
|
// <gen:jobs>
|
||||||
// <gen:realtime-handlers>
|
// <gen:realtime-handlers>
|
||||||
|
|
||||||
|
// Boot-time conformance check (dev-seed mode).
|
||||||
|
assertFeatureConformance(
|
||||||
|
authContainer,
|
||||||
|
authManifest,
|
||||||
|
{
|
||||||
|
signIn: AUTH_SYMBOLS.ISignInUseCase,
|
||||||
|
signUp: AUTH_SYMBOLS.ISignUpUseCase,
|
||||||
|
signOut: AUTH_SYMBOLS.ISignOutUseCase,
|
||||||
|
},
|
||||||
|
ctx,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import {
|
|||||||
type ILogger,
|
type ILogger,
|
||||||
} from "@repo/core-shared/instrumentation";
|
} from "@repo/core-shared/instrumentation";
|
||||||
import type { BindContext } from "@repo/core-shared/di";
|
import type { BindContext } from "@repo/core-shared/di";
|
||||||
|
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||||
|
import { blogManifest } from "../feature.manifest.js";
|
||||||
import { blogContainer } from "./container.js";
|
import { blogContainer } from "./container.js";
|
||||||
import { BLOG_SYMBOLS } from "./symbols.js";
|
import { BLOG_SYMBOLS } from "./symbols.js";
|
||||||
import { MockArticlesRepository } from "../infrastructure/repositories/articles.repository.mock.js";
|
import { MockArticlesRepository } from "../infrastructure/repositories/articles.repository.mock.js";
|
||||||
@@ -145,4 +147,16 @@ export async function bindDevSeedBlog(ctx: BindContext): Promise<void> {
|
|||||||
// <gen:event-handlers>
|
// <gen:event-handlers>
|
||||||
// <gen:jobs>
|
// <gen:jobs>
|
||||||
// <gen:realtime-handlers>
|
// <gen:realtime-handlers>
|
||||||
|
|
||||||
|
// Boot-time conformance check (dev-seed mode).
|
||||||
|
assertFeatureConformance(
|
||||||
|
blogContainer,
|
||||||
|
blogManifest,
|
||||||
|
{
|
||||||
|
getArticles: BLOG_SYMBOLS.IGetArticlesUseCase,
|
||||||
|
getArticleBySlug: BLOG_SYMBOLS.IGetArticleBySlugUseCase,
|
||||||
|
createArticle: BLOG_SYMBOLS.ICreateArticleUseCase,
|
||||||
|
},
|
||||||
|
ctx,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import {
|
|||||||
type ILogger,
|
type ILogger,
|
||||||
} from "@repo/core-shared/instrumentation";
|
} from "@repo/core-shared/instrumentation";
|
||||||
import type { BindContext } from "@repo/core-shared/di";
|
import type { BindContext } from "@repo/core-shared/di";
|
||||||
|
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||||
|
import { marketingPagesManifest } from "../feature.manifest.js";
|
||||||
import { marketingPagesContainer } from "./container.js";
|
import { marketingPagesContainer } from "./container.js";
|
||||||
import { MARKETING_PAGES_SYMBOLS } from "./symbols.js";
|
import { MARKETING_PAGES_SYMBOLS } from "./symbols.js";
|
||||||
import { MockPagesRepository } from "../infrastructure/repositories/pages.repository.mock.js";
|
import { MockPagesRepository } from "../infrastructure/repositories/pages.repository.mock.js";
|
||||||
@@ -196,4 +198,15 @@ export async function bindDevSeedMarketingPages(ctx: BindContext): Promise<void>
|
|||||||
void realtime;
|
void realtime;
|
||||||
void realtimeRegistry;
|
void realtimeRegistry;
|
||||||
// <gen:realtime-handlers>
|
// <gen:realtime-handlers>
|
||||||
|
|
||||||
|
// Boot-time conformance check (dev-seed mode).
|
||||||
|
assertFeatureConformance(
|
||||||
|
marketingPagesContainer,
|
||||||
|
marketingPagesManifest,
|
||||||
|
{
|
||||||
|
getPageBySlug: MARKETING_PAGES_SYMBOLS.IGetPageBySlugUseCase,
|
||||||
|
getSiteSettings: MARKETING_PAGES_SYMBOLS.IGetSiteSettingsUseCase,
|
||||||
|
},
|
||||||
|
ctx,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import {
|
|||||||
type ILogger,
|
type ILogger,
|
||||||
} from "@repo/core-shared/instrumentation";
|
} from "@repo/core-shared/instrumentation";
|
||||||
import type { BindContext } from "@repo/core-shared/di";
|
import type { BindContext } from "@repo/core-shared/di";
|
||||||
|
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||||
|
import { mediaManifest } from "../feature.manifest.js";
|
||||||
import { mediaContainer } from "./container.js";
|
import { mediaContainer } from "./container.js";
|
||||||
import { MEDIA_SYMBOLS } from "./symbols.js";
|
import { MEDIA_SYMBOLS } from "./symbols.js";
|
||||||
import { MockMediaRepository } from "../infrastructure/repositories/media.repository.mock.js";
|
import { MockMediaRepository } from "../infrastructure/repositories/media.repository.mock.js";
|
||||||
@@ -145,4 +147,16 @@ export async function bindDevSeedMedia(ctx: BindContext): Promise<void> {
|
|||||||
// <gen:event-handlers>
|
// <gen:event-handlers>
|
||||||
// <gen:jobs>
|
// <gen:jobs>
|
||||||
// <gen:realtime-handlers>
|
// <gen:realtime-handlers>
|
||||||
|
|
||||||
|
// Boot-time conformance check (dev-seed mode).
|
||||||
|
assertFeatureConformance(
|
||||||
|
mediaContainer,
|
||||||
|
mediaManifest,
|
||||||
|
{
|
||||||
|
getMedia: MEDIA_SYMBOLS.IGetMediaUseCase,
|
||||||
|
listMedia: MEDIA_SYMBOLS.IListMediaUseCase,
|
||||||
|
deleteMedia: MEDIA_SYMBOLS.IDeleteMediaUseCase,
|
||||||
|
},
|
||||||
|
ctx,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import {
|
|||||||
type ILogger,
|
type ILogger,
|
||||||
} from "@repo/core-shared/instrumentation";
|
} from "@repo/core-shared/instrumentation";
|
||||||
import type { BindContext } from "@repo/core-shared/di";
|
import type { BindContext } from "@repo/core-shared/di";
|
||||||
|
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||||
|
import { navigationManifest } from "../feature.manifest.js";
|
||||||
import { navigationContainer } from "./container.js";
|
import { navigationContainer } from "./container.js";
|
||||||
import { NAVIGATION_SYMBOLS } from "./symbols.js";
|
import { NAVIGATION_SYMBOLS } from "./symbols.js";
|
||||||
import { MockHeaderRepository } from "../infrastructure/repositories/header.repository.mock.js";
|
import { MockHeaderRepository } from "../infrastructure/repositories/header.repository.mock.js";
|
||||||
@@ -89,4 +91,12 @@ export async function bindDevSeedNavigation(ctx: BindContext): Promise<void> {
|
|||||||
// <gen:event-handlers>
|
// <gen:event-handlers>
|
||||||
// <gen:jobs>
|
// <gen:jobs>
|
||||||
// <gen:realtime-handlers>
|
// <gen:realtime-handlers>
|
||||||
|
|
||||||
|
// Boot-time conformance check (dev-seed mode).
|
||||||
|
assertFeatureConformance(
|
||||||
|
navigationContainer,
|
||||||
|
navigationManifest,
|
||||||
|
{ getHeader: NAVIGATION_SYMBOLS.IGetHeaderUseCase },
|
||||||
|
ctx,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user