feat(turbo-gen): templates for gen event publish
This commit is contained in:
13
turbo/generators/templates/event/publish/event.test.ts.hbs
Normal file
13
turbo/generators/templates/event/publish/event.test.ts.hbs
Normal file
@@ -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();
|
||||||
|
});
|
||||||
|
});
|
||||||
12
turbo/generators/templates/event/publish/event.ts.hbs
Normal file
12
turbo/generators/templates/event/publish/event.ts.hbs
Normal file
@@ -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<typeof {{camelCase event}}EventSchema>;
|
||||||
|
|
||||||
|
export const {{camelCase event}}Event = defineEvent(
|
||||||
|
"{{kebabCase feature}}.{{event}}",
|
||||||
|
{{camelCase event}}EventSchema,
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user