@kosdev-code/kos-nx-plugin 2.0.31 → 2.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/generators.json +5 -0
  2. package/package.json +2 -2
  3. package/src/generators/kos-add-future-to-model/README.md +106 -0
  4. package/src/generators/kos-add-future-to-model/generator.d.ts +5 -0
  5. package/src/generators/kos-add-future-to-model/generator.d.ts.map +1 -0
  6. package/src/generators/kos-add-future-to-model/generator.js +63 -0
  7. package/src/generators/kos-add-future-to-model/generator.js.map +1 -0
  8. package/src/generators/kos-add-future-to-model/lib/model-transformer.d.ts +17 -0
  9. package/src/generators/kos-add-future-to-model/lib/model-transformer.d.ts.map +1 -0
  10. package/src/generators/kos-add-future-to-model/lib/model-transformer.js +277 -0
  11. package/src/generators/kos-add-future-to-model/lib/model-transformer.js.map +1 -0
  12. package/src/generators/kos-add-future-to-model/lib/normalize-options.d.ts +4 -0
  13. package/src/generators/kos-add-future-to-model/lib/normalize-options.d.ts.map +1 -0
  14. package/src/generators/kos-add-future-to-model/lib/normalize-options.js +54 -0
  15. package/src/generators/kos-add-future-to-model/lib/normalize-options.js.map +1 -0
  16. package/src/generators/kos-add-future-to-model/lib/registration-transformer.d.ts +11 -0
  17. package/src/generators/kos-add-future-to-model/lib/registration-transformer.d.ts.map +1 -0
  18. package/src/generators/kos-add-future-to-model/lib/registration-transformer.js +73 -0
  19. package/src/generators/kos-add-future-to-model/lib/registration-transformer.js.map +1 -0
  20. package/src/generators/kos-add-future-to-model/lib/service-transformer.d.ts +13 -0
  21. package/src/generators/kos-add-future-to-model/lib/service-transformer.d.ts.map +1 -0
  22. package/src/generators/kos-add-future-to-model/lib/service-transformer.js +178 -0
  23. package/src/generators/kos-add-future-to-model/lib/service-transformer.js.map +1 -0
  24. package/src/generators/kos-add-future-to-model/schema.d.ts +24 -0
  25. package/src/generators/kos-add-future-to-model/schema.json +59 -0
  26. package/src/generators/kos-companion-model/files/types/index.d.ts.template +2 -2
  27. package/src/generators/kos-companion-model/schema.d.ts +1 -0
  28. package/src/generators/kos-model/files/model/__nameDashCase__-model.ts.template +93 -8
  29. package/src/generators/kos-model/files/model/__nameDashCase__-registration.ts.template +37 -3
  30. package/src/generators/kos-model/files/services/__nameDashCase__-services.ts.template +38 -2
  31. package/src/generators/kos-model/generator.d.ts.map +1 -1
  32. package/src/generators/kos-model/generator.js +2 -0
  33. package/src/generators/kos-model/generator.js.map +1 -1
  34. package/src/generators/kos-model/schema.d.ts +2 -0
  35. package/src/generators/kos-model/schema.json +41 -0
@@ -105,6 +105,8 @@ async function kosModelGenerator(tree, options) {
105
105
  modelName: normalized.companionModel,
106
106
  // companion parent project - model that this is companion to
107
107
  modelProject: normalized.companionModelProject,
108
+ // companion pattern choice
109
+ companionPattern: normalized.companionPattern,
108
110
  });
109
111
  }
110
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-model/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-model/generator.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export interface KosBaseGeneratorSchema {
7
7
  companion?: boolean;
8
8
  companionModel?: string;
9
9
  companionModelProject?: string;
10
+ companionPattern?: "composition" | "decorator";
10
11
  }
11
12
 
12
13
  export interface KosModelGeneratorSchema extends KosBaseGeneratorSchema {
@@ -16,6 +17,7 @@ export interface KosModelGeneratorSchema extends KosBaseGeneratorSchema {
16
17
  dataServices?: boolean;
17
18
  container?: boolean;
18
19
  parentAware?: boolean;
20
+ futureAware?: "none" | "minimal" | "complete";
19
21
  }
20
22
 
21
23
  export interface NormalizedKosBaseGeneratorSchema<
@@ -85,6 +85,47 @@
85
85
  "description": "The project where the companion parent is currently located",
86
86
  "x-prompt": "Which project contains the companion parent?",
87
87
  "x-dropdown": "projects"
88
+ },
89
+ "companionPattern": {
90
+ "type": "string",
91
+ "description": "Which companion pattern to use",
92
+ "enum": ["composition", "decorator"],
93
+ "default": "composition",
94
+ "x-prompt": {
95
+ "message": "Which companion pattern to use?",
96
+ "type": "list",
97
+ "items": [
98
+ {
99
+ "value": "composition",
100
+ "label": "Composition (recommended) - explicit parent access via this.parent"
101
+ },
102
+ {
103
+ "value": "decorator",
104
+ "label": "Decorator - transparent parent access, drop-in replacement"
105
+ }
106
+ ]
107
+ }
108
+ },
109
+ "futureAware": {
110
+ "type": "string",
111
+ "description": "Include Future-aware capabilities for progress tracking",
112
+ "enum": ["none", "minimal", "complete"],
113
+ "default": "none",
114
+ "x-prompt": {
115
+ "message": "Include Future-aware capabilities?",
116
+ "type": "list",
117
+ "items": [
118
+ { "value": "none", "label": "No Future support" },
119
+ {
120
+ "value": "minimal",
121
+ "label": "Minimal (external access only)"
122
+ },
123
+ {
124
+ "value": "complete",
125
+ "label": "Complete (internal + external access)"
126
+ }
127
+ ]
128
+ }
88
129
  }
89
130
  },
90
131
  "required": ["name"]