feat(generators): add core-package entry + dispatch table (empty)

Registers pnpm turbo gen core-package with an empty choices list and a
dispatch table that throws for unknown names. Adds vitest config + test
script to turbo/generators and adds it to the pnpm workspace so tests
run via pnpm --filter @repo/turbo-generators test.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-09 13:22:20 +02:00
parent 723729dd9e
commit c59f5552af
6 changed files with 80 additions and 1 deletions

View File

@@ -0,0 +1,20 @@
import { describe, it, expect } from "vitest";
import type { PlopTypes } from "@turbo/gen";
import generator from "./config";
describe("core-package generator", () => {
it("is registered with an empty choices list initially", () => {
const captured: Array<{ name: string; def: PlopTypes.PlopGeneratorConfig }> = [];
const plopMock = {
setHelper: () => {},
setGenerator: (name: string, def: PlopTypes.PlopGeneratorConfig) =>
captured.push({ name, def }),
} as unknown as PlopTypes.NodePlopAPI;
generator(plopMock);
const corePkg = captured.find((c) => c.name === "core-package");
expect(corePkg).toBeDefined();
const prompts = corePkg!.def.prompts as Array<{ name: string; choices: unknown[] }>;
expect(prompts[0]!.name).toBe("name");
expect(prompts[0]!.choices).toEqual([]);
});
});