From 0801469e898928a9d416603a1e9ba12847da3d9f Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Fri, 8 May 2026 16:13:07 +0200 Subject: [PATCH] feat(turbo-gen): templates for gen event publish --- .../templates/event/publish/event.test.ts.hbs | 13 +++++++++++++ .../generators/templates/event/publish/event.ts.hbs | 12 ++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 turbo/generators/templates/event/publish/event.test.ts.hbs create mode 100644 turbo/generators/templates/event/publish/event.ts.hbs diff --git a/turbo/generators/templates/event/publish/event.test.ts.hbs b/turbo/generators/templates/event/publish/event.test.ts.hbs new file mode 100644 index 0000000..6a7ca0e --- /dev/null +++ b/turbo/generators/templates/event/publish/event.test.ts.hbs @@ -0,0 +1,13 @@ +// packages/{{kebabCase feature}}/src/events/{{kebabCase event}}.event.test.ts +import { describe, it, expect } from "vitest"; +import { {{camelCase event}}EventSchema, {{camelCase event}}Event } from "@/events/{{kebabCase event}}.event"; + +describe("{{camelCase event}}Event", () => { + it("has the correct wire name", () => { + expect({{camelCase event}}Event.name).toBe("{{kebabCase feature}}.{{event}}"); + }); + + it("validates an empty payload (stub schema)", () => { + expect(() => {{camelCase event}}EventSchema.parse({})).not.toThrow(); + }); +}); diff --git a/turbo/generators/templates/event/publish/event.ts.hbs b/turbo/generators/templates/event/publish/event.ts.hbs new file mode 100644 index 0000000..6992a4f --- /dev/null +++ b/turbo/generators/templates/event/publish/event.ts.hbs @@ -0,0 +1,12 @@ +// packages/{{kebabCase feature}}/src/events/{{kebabCase event}}.event.ts +import { z } from "zod"; +import { defineEvent } from "@repo/core-events"; + +export const {{camelCase event}}EventSchema = z.object({}).strict(); + +export type {{pascalCase event}}Event = z.infer; + +export const {{camelCase event}}Event = defineEvent( + "{{kebabCase feature}}.{{event}}", + {{camelCase event}}EventSchema, +);