- Delete packages/core-events/ (15 files) - Strip @repo/core-events from all 5 feature package.json + apps/web-next/package.json - Strip @repo/core-events from apps/web-next/next.config.mjs transpilePackages - Strip E1 + J no-restricted-syntax blocks from core-eslint/base.js (anchor remains) - Update bind-production.ts: drop bus construction + IEventBus import; rename resolveEventsAndJobsProduction → resolveJobsProduction (queue only), resolveEventsAndJobsDevSeed → resolveJobsDevSeed (queue only); ctx no longer has bus field; BindProductionContext generic arg narrowed - Update bind-production.test.ts: assert ctx.bus is undefined, drop PayloadJobsEventBus/InMemoryEventBus instanceof checks - Update sign-up-welcome-email.test.ts: assert mailer stays empty without bus - Inline userSignedUpEvent in auth (drop defineEvent import from core-events) - Drop InMemoryEventBus fallback from auth/di/module.ts Feature binders' bus?.subscribe/publish calls remain as no-ops. Scaffold @repo/core-events back via: pnpm turbo gen core-package events Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
20 lines
589 B
TypeScript
20 lines
589 B
TypeScript
// packages/auth/src/events/user-signed-up.event.ts
|
|
import { z } from "zod";
|
|
|
|
export const userSignedUpEventSchema = z
|
|
.object({
|
|
userId: z.string(),
|
|
email: z.string().email(),
|
|
signedUpAt: z.string().datetime(),
|
|
})
|
|
.strict();
|
|
|
|
export type UserSignedUpEvent = z.infer<typeof userSignedUpEventSchema>;
|
|
|
|
// Inline event descriptor — core-events is optional. The shape { name, schema }
|
|
// satisfies EventBusProtocol.publish / subscribe when the bus is present.
|
|
export const userSignedUpEvent = {
|
|
name: "auth.user.signed-up" as const,
|
|
schema: userSignedUpEventSchema,
|
|
};
|