@currentjs/gen 0.3.2 → 0.5.1

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 (60) hide show
  1. package/CHANGELOG.md +18 -609
  2. package/README.md +623 -427
  3. package/dist/cli.js +2 -1
  4. package/dist/commands/commit.js +25 -42
  5. package/dist/commands/createApp.js +1 -0
  6. package/dist/commands/createModule.js +151 -45
  7. package/dist/commands/diff.js +27 -40
  8. package/dist/commands/generateAll.js +141 -291
  9. package/dist/commands/migrateCommit.js +6 -18
  10. package/dist/generators/controllerGenerator.d.ts +50 -19
  11. package/dist/generators/controllerGenerator.js +588 -331
  12. package/dist/generators/domainLayerGenerator.d.ts +21 -0
  13. package/dist/generators/domainLayerGenerator.js +286 -0
  14. package/dist/generators/dtoGenerator.d.ts +21 -0
  15. package/dist/generators/dtoGenerator.js +523 -0
  16. package/dist/generators/serviceGenerator.d.ts +22 -51
  17. package/dist/generators/serviceGenerator.js +345 -568
  18. package/dist/generators/storeGenerator.d.ts +39 -32
  19. package/dist/generators/storeGenerator.js +396 -236
  20. package/dist/generators/templateGenerator.d.ts +21 -21
  21. package/dist/generators/templateGenerator.js +393 -268
  22. package/dist/generators/templates/appTemplates.d.ts +3 -1
  23. package/dist/generators/templates/appTemplates.js +16 -11
  24. package/dist/generators/templates/data/appYamlTemplate +5 -2
  25. package/dist/generators/templates/data/cursorRulesTemplate +315 -221
  26. package/dist/generators/templates/data/frontendScriptTemplate +56 -15
  27. package/dist/generators/templates/data/mainViewTemplate +2 -1
  28. package/dist/generators/templates/data/systemTsTemplate +5 -0
  29. package/dist/generators/templates/index.d.ts +0 -3
  30. package/dist/generators/templates/index.js +0 -3
  31. package/dist/generators/templates/storeTemplates.d.ts +1 -5
  32. package/dist/generators/templates/storeTemplates.js +84 -224
  33. package/dist/generators/useCaseGenerator.d.ts +13 -0
  34. package/dist/generators/useCaseGenerator.js +191 -0
  35. package/dist/types/configTypes.d.ts +149 -0
  36. package/dist/types/configTypes.js +10 -0
  37. package/dist/utils/childEntityUtils.d.ts +18 -0
  38. package/dist/utils/childEntityUtils.js +78 -0
  39. package/dist/utils/commandUtils.d.ts +43 -0
  40. package/dist/utils/commandUtils.js +124 -0
  41. package/dist/utils/commitUtils.d.ts +4 -1
  42. package/dist/utils/constants.d.ts +10 -0
  43. package/dist/utils/constants.js +13 -1
  44. package/dist/utils/diResolver.d.ts +32 -0
  45. package/dist/utils/diResolver.js +204 -0
  46. package/dist/utils/typeUtils.d.ts +23 -0
  47. package/dist/utils/typeUtils.js +77 -0
  48. package/package.json +7 -3
  49. package/dist/generators/domainModelGenerator.d.ts +0 -41
  50. package/dist/generators/domainModelGenerator.js +0 -242
  51. package/dist/generators/templates/controllerTemplates.d.ts +0 -43
  52. package/dist/generators/templates/controllerTemplates.js +0 -82
  53. package/dist/generators/templates/serviceTemplates.d.ts +0 -16
  54. package/dist/generators/templates/serviceTemplates.js +0 -59
  55. package/dist/generators/templates/validationTemplates.d.ts +0 -25
  56. package/dist/generators/templates/validationTemplates.js +0 -66
  57. package/dist/generators/templates/viewTemplates.d.ts +0 -25
  58. package/dist/generators/templates/viewTemplates.js +0 -491
  59. package/dist/generators/validationGenerator.d.ts +0 -29
  60. package/dist/generators/validationGenerator.js +0 -250
@@ -1,29 +1,29 @@
1
+ import { ModuleConfig } from '../types/configTypes';
1
2
  export declare class TemplateGenerator {
3
+ private valueObjects;
2
4
  /**
3
- * Helper method to infer model from action handlers
5
+ * Convert a route prefix like "/invoice/:invoiceId/items" into a
6
+ * template-ready path like "/invoice/{{ invoiceId }}/items".
4
7
  */
5
- private inferModelFromAction;
8
+ private prefixToTemplatePath;
6
9
  /**
7
- * Find the actual API endpoint path for a given action and model
10
+ * Replace a single path param in prefix with a template expression (e.g. for list: item.id, for detail: id).
8
11
  */
9
- private findApiEndpointPath;
10
- /**
11
- * Build relationship context for finding create routes and list API endpoints
12
- */
13
- private buildRelationshipContext;
14
- /**
15
- * Generate templates for a single routes configuration
16
- */
17
- private generateForRoutesConfig;
18
- /**
19
- * Generate templates for a module (handles both single routes object and array)
20
- */
21
- private generateForModule;
22
- generateFromYamlFile(yamlFilePath: string): Record<string, {
23
- file: string;
24
- contents: string;
25
- }>;
26
- generateAndSaveFiles(yamlFilePath: string, _outputDir: string | undefined, opts?: {
12
+ private prefixWithParam;
13
+ private renderListTemplate;
14
+ private renderChildTableSection;
15
+ private renderDetailTemplate;
16
+ private buildFieldTypesJson;
17
+ private renderFormTemplate;
18
+ private renderCreateTemplate;
19
+ private renderEditTemplate;
20
+ private getInputType;
21
+ private renderValueObjectField;
22
+ private renderFormField;
23
+ private getEnumValuesMap;
24
+ generateFromConfig(config: ModuleConfig): Record<string, string>;
25
+ generateFromYamlFile(yamlFilePath: string): Record<string, string>;
26
+ generateAndSaveFiles(yamlFilePath: string, moduleDir: string, opts?: {
27
27
  force?: boolean;
28
28
  skipOnConflict?: boolean;
29
29
  }): Promise<void>;