fix(generators): emit cms barrel in feature template
The feature generator emitted no `src/integrations/cms/index.ts`, but `gen job` and `gen event consume` both `assertAnchors` on that file's `<gen:job-tasks>` anchor — so they failed on any freshly-scaffolded feature. Add a `cms/index.ts.hbs` template carrying the anchor, wire the add action into the generator, and export `./cms` from the package.json template to match all five existing features.
This commit is contained in:
@@ -20,7 +20,8 @@ import { registerFeatureInReleasePlease } from "./lib/release-please-utils.js";
|
||||
*
|
||||
* Scope (intentionally limited):
|
||||
* - Single entity, single use case (`getX`)
|
||||
* - Skips Payload CMS collection/global templates (integrations/cms/**)
|
||||
* - Skips Payload CMS collection/global templates — emits only the
|
||||
* integrations/cms/index.ts barrel (with the `<gen:job-tasks>` anchor)
|
||||
* - Skips UI query helpers (ui/query.ts) — emits an empty barrel
|
||||
* - Skips faker-driven factories — emits empty stubs
|
||||
* - Skips multi-entity / multi-use-case
|
||||
@@ -276,6 +277,15 @@ export default function generator(plop: PlopTypes.NodePlopAPI): void {
|
||||
"templates/feature/src/integrations/api/router.test.ts.hbs",
|
||||
},
|
||||
|
||||
// Integrations: cms barrel — carries no collections (the generator skips
|
||||
// Payload templates) but provides the `<gen:job-tasks>` anchor that
|
||||
// `gen job` and `gen event consume` splice into.
|
||||
{
|
||||
type: "add",
|
||||
path: "packages/{{kebabCase name}}/src/integrations/cms/index.ts",
|
||||
templateFile: "templates/feature/src/integrations/cms/index.ts.hbs",
|
||||
},
|
||||
|
||||
// Seeds + factories + contracts (minimal stubs that still typecheck/test)
|
||||
{
|
||||
type: "add",
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"exports": {
|
||||
".": "./src/index.ts",
|
||||
"./ui": "./src/ui/index.ts",
|
||||
"./cms": "./src/integrations/cms/index.ts",
|
||||
"./api": "./src/integrations/api/router.ts",
|
||||
"./di/bind-production": "./src/di/bind-production.ts",
|
||||
"./di/bind-dev-seed": "./src/di/bind-dev-seed.ts"
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// Payload CMS integration barrel for @repo/{{kebabCase name}}.
|
||||
// Re-export this feature's collections and globals here as you add them
|
||||
// under ./collections and ./globals. See packages/navigation/src/integrations/cms
|
||||
// for the canonical shape. The `<gen:job-tasks>` anchor below is required by
|
||||
// `pnpm turbo gen job` and `pnpm turbo gen event` — do not remove it.
|
||||
export {};
|
||||
// <gen:job-tasks>
|
||||
Reference in New Issue
Block a user