@@ -8,6 +8,23 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
88## [ Unreleased]
99
1010### Added
11+ - ** codegen-ts — declarative Mustache template-codegen (SP-1a):** a
12+ ` templateGenerator ` can now take its walk ** declaratively** via ` scope `
13+ (` "perEntity" | "perPackage" | "perModel" ` ) + ` outputPattern ` instead of a
14+ hand-written ` walk ` (the two are mutually exclusive — provide exactly one). The
15+ generator derives a ** neutral, structural** template data dict per unit
16+ (` buildEntityTemplateData ` / ` buildPackageTemplateData ` / ` buildModelTemplateData ` ,
17+ with types ` FieldTemplateData ` / ` EntityTemplateData ` / ` IdentityTemplateData ` /
18+ ` RelationshipTemplateData ` / ` PackageTemplateData ` / ` ModelTemplateData ` ) — raw
19+ structural facts only, distinct from the Markdown-flavored ` EntityDocData ` , and
20+ byte-gated as a cross-port contract by ` fixtures/template-codegen-conformance/ ` .
21+ ` outputPattern ` supports ` {name} ` / ` {Name} ` / ` {package} ` (` :: ` → ` / ` ; unknown
22+ placeholder throws), expandable via the exported ` expandOutputPattern ` . A JSON
23+ ** template-spec** (` parseTemplateSpec ` / ` templateSpecToGenerators ` , types
24+ ` TemplateSpecEntry ` / ` TemplateSpecFile ` , JSON Schema beside the source) is the
25+ surface the C#/Python CLI ports will reuse. New package-scope engine helper
26+ ` perPackage(fn) ` joins ` perEntity ` / ` perModel ` . All exported from the package
27+ main entry ` @metaobjectsdev/codegen-ts ` .
1128- ** cli — ` meta init ` scaffolds owned codegen generators (ADR-0034 scaffold-and-own, step 2):**
1229 ` meta init ` now copies the four codegen reference templates (step 1) into the
1330 consumer repo at ` codegen/generators/{entity,queries,routes,barrel}.ts ` and
@@ -34,6 +51,10 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
3451 generator-export deprecation, and the guidance rewrite are later steps.)
3552
3653### Deprecated
54+ - ** codegen-ts — ` oncePerRun ` scope helper (SP-1a):** renamed to ` perModel ` —
55+ "run" is ambiguous under multi-target output (it reads as "per target"), while
56+ ` perModel ` names the data scope (the whole model). ` oncePerRun ` is kept as a
57+ soft-deprecated alias and still works.
3758- ** codegen-ts — ` @metaobjectsdev/codegen-ts/generators ` factory re-exports
3859 (ADR-0034 scaffold-and-own, step 2):** importing ` entityFile ` / ` queriesFile ` /
3960 ` routesFile ` / ` barrel ` from the package ` /generators ` export is deprecated in
0 commit comments