feat(generators): wire trpc entry + e2e test
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -642,6 +642,18 @@ import noRealtimeHandlerReexport from "./rules/no-realtime-handler-reexport.js";
|
||||
},
|
||||
printEventsNextSteps,
|
||||
],
|
||||
trpc: () => [
|
||||
() => {
|
||||
assertOptionalPackageNotPresent("core-trpc");
|
||||
return "Guard passed — packages/core-trpc does not exist yet.";
|
||||
},
|
||||
...emitTemplateTree("core-package/trpc", "packages/core-trpc"),
|
||||
() => {
|
||||
addToTranspilePackages("apps/web-next/next.config.mjs", "@repo/core-trpc");
|
||||
return "Added @repo/core-trpc to transpilePackages.";
|
||||
},
|
||||
printTrpcNextSteps,
|
||||
],
|
||||
};
|
||||
|
||||
plop.setGenerator("core-package", {
|
||||
@@ -651,7 +663,7 @@ import noRealtimeHandlerReexport from "./rules/no-realtime-handler-reexport.js";
|
||||
type: "list",
|
||||
name: "name",
|
||||
message: "Which optional core package?",
|
||||
choices: ["realtime", "events"],
|
||||
choices: ["realtime", "events", "trpc"],
|
||||
},
|
||||
],
|
||||
actions: (answers) => {
|
||||
@@ -1146,6 +1158,35 @@ function printHandlerNextSteps(a: {
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
function printTrpcNextSteps(): string {
|
||||
return [
|
||||
"─────────────────────────────────────────────────────────────",
|
||||
"@repo/core-trpc scaffolded.",
|
||||
"",
|
||||
"Next steps (manual wiring — not generated):",
|
||||
"",
|
||||
" 1. pnpm install # link the new workspace package",
|
||||
"",
|
||||
" 2. apps/web-next/src/app/providers.tsx:",
|
||||
' - import { NextTrpcProvider } from "@repo/core-trpc/next";',
|
||||
" - wrap children: <NextTrpcProvider trpcUrl=\"/api/trpc\">{children}</NextTrpcProvider>",
|
||||
"",
|
||||
" 3. apps/web-next/src/app/api/trpc/[trpc]/route.ts:",
|
||||
' - import { fetchRequestHandler } from "@trpc/server/adapters/fetch";',
|
||||
' - import { appRouter } from "@repo/core-api";',
|
||||
" - export GET and POST handlers using fetchRequestHandler",
|
||||
"",
|
||||
" 4. apps/web-tanstack/src/routes/__root.tsx:",
|
||||
' - import { TanstackTrpcProvider } from "@repo/core-trpc/tanstack";',
|
||||
" - wrap <Outlet /> with <TanstackTrpcProvider trpcUrl=\"http://localhost:3000/api/trpc\">",
|
||||
"",
|
||||
" 5. Add @repo/core-trpc to apps/web-next/package.json and apps/web-tanstack/package.json dependencies",
|
||||
"",
|
||||
" 6. pnpm typecheck && pnpm lint && pnpm test",
|
||||
"─────────────────────────────────────────────────────────────",
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
function printEventsNextSteps(): string {
|
||||
return [
|
||||
"─────────────────────────────────────────────────────────────",
|
||||
|
||||
Reference in New Issue
Block a user