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):
|
* Scope (intentionally limited):
|
||||||
* - Single entity, single use case (`getX`)
|
* - 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 UI query helpers (ui/query.ts) — emits an empty barrel
|
||||||
* - Skips faker-driven factories — emits empty stubs
|
* - Skips faker-driven factories — emits empty stubs
|
||||||
* - Skips multi-entity / multi-use-case
|
* - 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",
|
"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)
|
// Seeds + factories + contracts (minimal stubs that still typecheck/test)
|
||||||
{
|
{
|
||||||
type: "add",
|
type: "add",
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
"exports": {
|
"exports": {
|
||||||
".": "./src/index.ts",
|
".": "./src/index.ts",
|
||||||
"./ui": "./src/ui/index.ts",
|
"./ui": "./src/ui/index.ts",
|
||||||
|
"./cms": "./src/integrations/cms/index.ts",
|
||||||
"./api": "./src/integrations/api/router.ts",
|
"./api": "./src/integrations/api/router.ts",
|
||||||
"./di/bind-production": "./src/di/bind-production.ts",
|
"./di/bind-production": "./src/di/bind-production.ts",
|
||||||
"./di/bind-dev-seed": "./src/di/bind-dev-seed.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