-
Notifications
You must be signed in to change notification settings - Fork 0
⭐ Schematics Consolidation
Real @ngrx/platform ships each module's ng add @ngrx/<name> schematic inside that module's own package — required, because the Angular CLI resolves ng add's schematic from the target package's own package.json. This repo carried that duplication faithfully across 8 modules first, then deliberately broke it: all 8 modules' ng-add schematics were merged into one shared modules/schematics package, registered under module-qualified keys (store-ng-add, data-ng-add, ...).
This knowingly breaks real ng add @ngrx/store for an outside consumer — none of the 8 modules' package.json files point at a schematics field anymore. Chosen anyway, on the record: this repo is private: true and never published, so no real ng add invocation against these packages happens from outside this workspace, and the 8-way duplication was pure cost with no corresponding benefit. Same reasoning already applied one level down to schematics-core (4 duplicated copies → 1, -12,453 lines, phases 30–32) before this call — see Schematics Core.
Full context, what it cost (8 sets of SchematicTestRunner specs needed real path/name changes, a stale-dist/ artifact that silently masked the migration for a full verification pass), and the explicit fidelity-vs-DRY tradeoff framing is in docs/architecture.md. See Schematics for the module itself.