@memberjunction/codegen-lib 6.1.0-edge.4 → 6.1.0-edge.6

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 (136) hide show
  1. package/README.md +20 -0
  2. package/dist/Angular/angular-codegen.d.ts +9 -6
  3. package/dist/Angular/angular-codegen.d.ts.map +1 -1
  4. package/dist/Angular/angular-codegen.js +80 -51
  5. package/dist/Angular/angular-codegen.js.map +1 -1
  6. package/dist/Angular/join-grid-related-entity-component.d.ts.map +1 -1
  7. package/dist/Angular/join-grid-related-entity-component.js +5 -2
  8. package/dist/Angular/join-grid-related-entity-component.js.map +1 -1
  9. package/dist/Angular/related-entity-components.d.ts +11 -0
  10. package/dist/Angular/related-entity-components.d.ts.map +1 -1
  11. package/dist/Angular/related-entity-components.js +23 -0
  12. package/dist/Angular/related-entity-components.js.map +1 -1
  13. package/dist/Angular/timeline-related-entity-component.d.ts.map +1 -1
  14. package/dist/Angular/timeline-related-entity-component.js +3 -2
  15. package/dist/Angular/timeline-related-entity-component.js.map +1 -1
  16. package/dist/Config/config.d.ts +216 -12
  17. package/dist/Config/config.d.ts.map +1 -1
  18. package/dist/Config/config.js +88 -6
  19. package/dist/Config/config.js.map +1 -1
  20. package/dist/Config/schema-output.d.ts +33 -0
  21. package/dist/Config/schema-output.d.ts.map +1 -0
  22. package/dist/Config/schema-output.js +52 -0
  23. package/dist/Config/schema-output.js.map +1 -0
  24. package/dist/Database/codeGenDatabaseProvider.d.ts +68 -1
  25. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  26. package/dist/Database/codeGenDatabaseProvider.js +142 -3
  27. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  28. package/dist/Database/dbSchema.js +2 -1
  29. package/dist/Database/dbSchema.js.map +1 -1
  30. package/dist/Database/decision-metadata-format.d.ts +124 -0
  31. package/dist/Database/decision-metadata-format.d.ts.map +1 -0
  32. package/dist/Database/decision-metadata-format.js +279 -0
  33. package/dist/Database/decision-metadata-format.js.map +1 -0
  34. package/dist/Database/decision-metadata-writer.d.ts +48 -0
  35. package/dist/Database/decision-metadata-writer.d.ts.map +1 -0
  36. package/dist/Database/decision-metadata-writer.js +482 -0
  37. package/dist/Database/decision-metadata-writer.js.map +1 -0
  38. package/dist/Database/entity-field-change-tracking.d.ts +53 -0
  39. package/dist/Database/entity-field-change-tracking.d.ts.map +1 -0
  40. package/dist/Database/entity-field-change-tracking.js +120 -0
  41. package/dist/Database/entity-field-change-tracking.js.map +1 -0
  42. package/dist/Database/entity-level-tree-cycles.d.ts.map +1 -1
  43. package/dist/Database/entity-level-tree-cycles.js +3 -2
  44. package/dist/Database/entity-level-tree-cycles.js.map +1 -1
  45. package/dist/Database/exclude-tables.d.ts +26 -0
  46. package/dist/Database/exclude-tables.d.ts.map +1 -0
  47. package/dist/Database/exclude-tables.js +38 -0
  48. package/dist/Database/exclude-tables.js.map +1 -0
  49. package/dist/Database/field-metadata-lock.d.ts +47 -0
  50. package/dist/Database/field-metadata-lock.d.ts.map +1 -0
  51. package/dist/Database/field-metadata-lock.js +159 -0
  52. package/dist/Database/field-metadata-lock.js.map +1 -0
  53. package/dist/Database/manage-metadata.d.ts +142 -42
  54. package/dist/Database/manage-metadata.d.ts.map +1 -1
  55. package/dist/Database/manage-metadata.js +625 -287
  56. package/dist/Database/manage-metadata.js.map +1 -1
  57. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +2 -2
  58. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  59. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +90 -41
  60. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  61. package/dist/Database/providers/postgresql/metadataSupportObjects.js +31 -8
  62. package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
  63. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +3 -1
  64. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  65. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +58 -23
  66. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  67. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js +15 -2
  68. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js.map +1 -1
  69. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js +17 -0
  70. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js.map +1 -1
  71. package/dist/Database/sql_codegen.d.ts +24 -0
  72. package/dist/Database/sql_codegen.d.ts.map +1 -1
  73. package/dist/Database/sql_codegen.js +108 -29
  74. package/dist/Database/sql_codegen.js.map +1 -1
  75. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +22 -0
  76. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  77. package/dist/Manifest/GenerateClassRegistrationsManifest.js +115 -7
  78. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  79. package/dist/Misc/action_subclasses_codegen.js +2 -2
  80. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  81. package/dist/Misc/advanced_generation.d.ts +7 -5
  82. package/dist/Misc/advanced_generation.d.ts.map +1 -1
  83. package/dist/Misc/advanced_generation.js +34 -23
  84. package/dist/Misc/advanced_generation.js.map +1 -1
  85. package/dist/Misc/codegen-reporter.d.ts +5 -0
  86. package/dist/Misc/codegen-reporter.d.ts.map +1 -1
  87. package/dist/Misc/codegen-reporter.js +9 -2
  88. package/dist/Misc/codegen-reporter.js.map +1 -1
  89. package/dist/Misc/emit-stats.d.ts +28 -0
  90. package/dist/Misc/emit-stats.d.ts.map +1 -0
  91. package/dist/Misc/emit-stats.js +43 -0
  92. package/dist/Misc/emit-stats.js.map +1 -0
  93. package/dist/Misc/entity_subclasses_codegen.d.ts +20 -2
  94. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  95. package/dist/Misc/entity_subclasses_codegen.js +120 -51
  96. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  97. package/dist/Misc/file-write.d.ts +15 -0
  98. package/dist/Misc/file-write.d.ts.map +1 -0
  99. package/dist/Misc/file-write.js +33 -0
  100. package/dist/Misc/file-write.js.map +1 -0
  101. package/dist/Misc/graphql_server_codegen.d.ts +12 -2
  102. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  103. package/dist/Misc/graphql_server_codegen.js +72 -16
  104. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  105. package/dist/Misc/remote_operations_codegen.d.ts.map +1 -1
  106. package/dist/Misc/remote_operations_codegen.js +4 -3
  107. package/dist/Misc/remote_operations_codegen.js.map +1 -1
  108. package/dist/Misc/runCommand.d.ts +5 -0
  109. package/dist/Misc/runCommand.d.ts.map +1 -1
  110. package/dist/Misc/runCommand.js +43 -17
  111. package/dist/Misc/runCommand.js.map +1 -1
  112. package/dist/Misc/schema-emit.d.ts +123 -0
  113. package/dist/Misc/schema-emit.d.ts.map +1 -0
  114. package/dist/Misc/schema-emit.js +221 -0
  115. package/dist/Misc/schema-emit.js.map +1 -0
  116. package/dist/Misc/sql_logging.d.ts +63 -8
  117. package/dist/Misc/sql_logging.d.ts.map +1 -1
  118. package/dist/Misc/sql_logging.js +169 -42
  119. package/dist/Misc/sql_logging.js.map +1 -1
  120. package/dist/Misc/util.d.ts +12 -0
  121. package/dist/Misc/util.d.ts.map +1 -1
  122. package/dist/Misc/util.js +71 -8
  123. package/dist/Misc/util.js.map +1 -1
  124. package/dist/index.d.ts +8 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +8 -0
  127. package/dist/index.js.map +1 -1
  128. package/dist/plugins/index.d.ts +3 -0
  129. package/dist/plugins/index.d.ts.map +1 -1
  130. package/dist/plugins/index.js +28 -1
  131. package/dist/plugins/index.js.map +1 -1
  132. package/dist/runCodeGen.d.ts +20 -2
  133. package/dist/runCodeGen.d.ts.map +1 -1
  134. package/dist/runCodeGen.js +186 -33
  135. package/dist/runCodeGen.js.map +1 -1
  136. package/package.json +29 -29
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,EAAmB,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAsC,MAAM,0BAA0B,CAAC;AAWtF,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,aAAa;aACvC,gBAAW,GAAG;;;;;;;;wEAQiD,AARpD,CAQqD;aAEhE,aAAQ,GAAG;QAChB,EAAE,OAAO,EAAE,qCAAqC,EAAE,WAAW,EAAE,uCAAuC,EAAE;QACxG,EAAE,OAAO,EAAE,8CAA8C,EAAE,WAAW,EAAE,qDAAqD,EAAE;QAC/H,EAAE,OAAO,EAAE,mDAAmD,EAAE,WAAW,EAAE,6CAA6C,EAAE;KAC7H,AAJc,CAIb;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,kIAAkI;SAChJ,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,WAAW,EAAE,4GAA4G;SAC1H,CAAC;QACF,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC;YAClC,WAAW,EAAE,2FAA2F;SACzG,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,oKAAoK;SAClL,CAAC;QACF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EACT,iKAAiK;SACpK,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC;YAC7B,WAAW,EACT,wHAAwH;SAC3H,CAAC;KACH,AArBW,CAqBV;aAEK,UAAK,GAAgB;QAC1B,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,uEAAuE;QAChF,WAAW,EACT,iKAAiK;QACnK,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gEAAgE,EAAE;YACpH,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6CAA6C,EAAE;YACpG,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6CAA6C,EAAE;YAC7G,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oEAAoE,EAAE;YACvH,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yEAAyE,EAAE;YACpI,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0EAA0E,EAAE;YACrI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,kDAAkD,EAAE;SAC5G;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;QACzG,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,2EAA2E,EAAE;KAClI,AAjBW,CAiBV;IAEQ,KAAK,CAAC,OAAO;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAgB,CAAC;QAE5C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,EACJ,yCAAyC,EACzC,gBAAgB,EAChB,UAAU,EACV,uBAAuB,GACxB,GAAG,OAAO,CAAC;QAEZ,8EAA8E;QAC9E,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAChC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAEhC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC9D,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEtD,wEAAwE;QACxE,4EAA4E;QAC5E,yEAAyE;QACzE,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,UAA0D,CAAC,iBAAiB,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACpG,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mGAAmG,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;YACtG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBAClC,UAA4E,CAAC,kBAAkB,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC;YACzI,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,kBAAkB,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACjE,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,EAAE,CAAC;YAC9H,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,GAAG,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,yCAAyC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,OAAO,CAAC,MAAmB;QACzC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;;AAnHU,aAAa;IADzB,aAAa,CAAC,aAAa,EAAE,SAAS,CAAC;GAC3B,aAAa,CAoHzB;;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB;IAChC,4EAA4E;AAC9E,CAAC"}
@@ -7,6 +7,7 @@
7
7
  * Supports both SQL Server and PostgreSQL database platforms via the dbPlatform configuration.
8
8
  */
9
9
  import { CommandInfo } from './Config/config.js';
10
+ import { SchemaEmitOptions } from './Misc/schema-emit.js';
10
11
  import * as MJ from '@memberjunction/core';
11
12
  import { CommandExecutionResult } from './Misc/runCommand.js';
12
13
  import { CodeGenConnection, DataSourceResult as ProviderDataSourceResult } from './Database/codeGenDatabaseProvider.js';
@@ -27,8 +28,17 @@ export declare class RunCodeGenBase {
27
28
  context: string;
28
29
  message: string;
29
30
  }>;
30
- /** Record any failed entries from a BEFORE/AFTER command batch, paired by index. */
31
- protected recordCommandFailures(phase: string, cmds: CommandInfo[], results: CommandExecutionResult[]): void;
31
+ /**
32
+ * Record any failed entries from a BEFORE/AFTER command batch, paired by index.
33
+ *
34
+ * Returns just this batch's failures. Callers log what they get back rather than walking
35
+ * `commandFailures`, which accumulates across phases — iterating the whole array in the
36
+ * AFTER handler re-logged every BEFORE failure a second time.
37
+ */
38
+ protected recordCommandFailures(phase: string, cmds: CommandInfo[], results: CommandExecutionResult[]): Array<{
39
+ context: string;
40
+ message: string;
41
+ }>;
32
42
  /**
33
43
  * Acquire the per-platform data source for a CodeGen run.
34
44
  *
@@ -65,6 +75,14 @@ export declare class RunCodeGenBase {
65
75
  * Accepts an existing data source — does NOT create connections or call process.exit().
66
76
  */
67
77
  protected executeCodeGenPipeline(dataSource: DataSourceResult, skipDatabaseGeneration?: boolean, skipFileGeneration?: boolean): Promise<boolean>;
78
+ /**
79
+ * Resolve dirty-schema emit options for one generator call.
80
+ * `--skipdb` (files only) and `fileEmit.dirtySchemaOnly === false` rebuild
81
+ * every schema; write-if-changed still keeps mtimes stable. A full run with
82
+ * no new/modified entities yields an empty Set — the generator then only
83
+ * writes schema files that are missing.
84
+ */
85
+ protected buildSchemaEmitOptions(entities: MJ.EntityInfo[], skipDB: boolean): SchemaEmitOptions;
68
86
  /**
69
87
  * Runs the file-generation phase of CodeGen: GraphQL resolvers, entity
70
88
  * subclasses (core + non-core), Angular components, DB schema JSON, and
@@ -1 +1 @@
1
- {"version":3,"file":"runCodeGen.d.ts","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAA4G,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGxJ,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAmB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAS5E,OAAO,EAAE,iBAAiB,EAA2B,gBAAgB,IAAI,wBAAwB,EAAkC,MAAM,oCAAoC,CAAC;AAI9K,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,8DAA8D,CAAC;AAStE,KAAK,gBAAgB,GAAG,wBAAwB,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;OAIG;IACH,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAE5E,oFAAoF;IACpF,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAc5G;;;;;;;;;;;;;OAaG;IACU,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIzD;;OAEG;IACH;;;;OAIG;IACU,YAAY,CAAC,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,GAAE,OAAe,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBrK,GAAG,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe;IAQ7F;;;;OAIG;IACU,aAAa,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAgD9H;;;OAGG;cACa,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IA2RpK;;;;;;;;OAQG;cACa,sBAAsB,CACpC,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,QAAQ,EACrB,EAAE,EAAE,EAAE,CAAC,QAAQ,EACf,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC;CAsMpB;AAED;;GAEG;AACH,wBAAsB,+BAA+B,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,iBAGjI;AAED;;;;;GAKG;AACH,wBAAsB,yCAAyC,CAC7D,sBAAsB,GAAE,OAAe,EACvC,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC,WAAW,CAAC,CAGtB"}
1
+ {"version":3,"file":"runCodeGen.d.ts","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EAA4G,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxJ,OAAO,EAAyC,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI9F,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAmB,sBAAsB,EAA8B,MAAM,mBAAmB,CAAC;AASxG,OAAO,EAAE,iBAAiB,EAA2B,gBAAgB,IAAI,wBAAwB,EAAkC,MAAM,oCAAoC,CAAC;AAI9K,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,8DAA8D,CAAC;AAStE,KAAK,gBAAgB,GAAG,wBAAwB,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;OAIG;IACH,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IAE5E;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,EAAE,sBAAsB,EAAE,GAChC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAkB9C;;;;;;;;;;;;;OAaG;IACU,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIzD;;OAEG;IACH;;;;OAIG;IACU,YAAY,CAAC,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,GAAE,OAAe,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBrK,GAAG,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe;IAQ7F;;;;OAIG;IACU,aAAa,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAiD9H;;;OAGG;cACa,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAoXpK;;;;;;OAMG;IACH,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,iBAAiB;IAa/F;;;;;;;;OAQG;cACa,sBAAsB,CACpC,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,QAAQ,EACrB,EAAE,EAAE,EAAE,CAAC,QAAQ,EACf,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC;CA+QpB;AAED;;GAEG;AACH,wBAAsB,+BAA+B,CAAC,sBAAsB,GAAE,OAAe,EAAE,kBAAkB,GAAE,OAAe,iBAGjI;AAED;;;;;GAKG;AACH,wBAAsB,yCAAyC,CAC7D,sBAAsB,GAAE,OAAe,EACvC,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC,WAAW,CAAC,CAGtB"}
@@ -11,11 +11,14 @@ import { SQLCodeGenBase } from './Database/sql_codegen.js';
11
11
  import { EntitySubClassGeneratorBase } from './Misc/entity_subclasses_codegen.js';
12
12
  import { ManageMetadataBase } from './Database/manage-metadata.js';
13
13
  import { applyIncludeSchemaScope } from './Database/schema-scope.js';
14
+ import { partitionEntitiesByOutputDirectory } from './Config/schema-output.js';
14
15
  import { outputDir, commands, configInfo, getSettingValue, dbPlatform, getExternalEntitySchemas, initializeConfig } from './Config/config.js';
16
+ import { resolveDirtySchemasForEmit, schemaKey } from './Misc/schema-emit.js';
17
+ import { EmitStats } from './Misc/emit-stats.js';
15
18
  import { logError, logStatus, logWarning, startSpinner, updateSpinner, succeedSpinner, failSpinner, warnSpinner } from './Misc/status_logging.js';
16
19
  import { CodeGenReporter } from './Misc/codegen-reporter.js';
17
20
  import * as MJ from '@memberjunction/core';
18
- import { RunCommandsBase } from './Misc/runCommand.js';
21
+ import { RunCommandsBase, formatCommandFailureDetail } from './Misc/runCommand.js';
19
22
  import { DBSchemaGeneratorBase } from './Database/dbSchema.js';
20
23
  import { AngularClientGeneratorBase } from './Angular/angular-codegen.js';
21
24
  import { CreateNewUserBase } from './Misc/createNewUser.js';
@@ -43,19 +46,29 @@ export class RunCodeGenBase {
43
46
  */
44
47
  this.commandFailures = [];
45
48
  }
46
- /** Record any failed entries from a BEFORE/AFTER command batch, paired by index. */
49
+ /**
50
+ * Record any failed entries from a BEFORE/AFTER command batch, paired by index.
51
+ *
52
+ * Returns just this batch's failures. Callers log what they get back rather than walking
53
+ * `commandFailures`, which accumulates across phases — iterating the whole array in the
54
+ * AFTER handler re-logged every BEFORE failure a second time.
55
+ */
47
56
  recordCommandFailures(phase, cmds, results) {
57
+ const recorded = [];
48
58
  results.forEach((r, i) => {
49
59
  if (!r.success) {
50
60
  const cmd = cmds[i];
51
61
  const cmdText = cmd ? [cmd.command, ...(cmd.args ?? [])].join(' ').trim() : `command #${i + 1}`;
52
- const detail = (r.error || r.output || '').trim();
53
- this.commandFailures.push({
62
+ const detail = formatCommandFailureDetail(r);
63
+ const failure = {
54
64
  context: `${phase} command`,
55
65
  message: detail ? `\`${cmdText}\` failed: ${detail}` : `\`${cmdText}\` failed`,
56
- });
66
+ };
67
+ this.commandFailures.push(failure);
68
+ recorded.push(failure);
57
69
  }
58
70
  });
71
+ return recorded;
59
72
  }
60
73
  /**
61
74
  * Acquire the per-platform data source for a CodeGen run.
@@ -149,8 +162,9 @@ export class RunCodeGenBase {
149
162
  };
150
163
  }
151
164
  catch (e) {
165
+ const message = e instanceof Error ? (e.stack ?? e.message) : String(e);
152
166
  failSpinner('CodeGen failed: ' + e);
153
- logError(e);
167
+ logError(message);
154
168
  return {
155
169
  success: false,
156
170
  command: 'codegen',
@@ -166,6 +180,7 @@ export class RunCodeGenBase {
166
180
  async executeCodeGenPipeline(dataSource, skipDatabaseGeneration = false, skipFileGeneration = false) {
167
181
  const { provider, connection: conn, currentUser } = dataSource;
168
182
  const startTime = new Date();
183
+ ManageMetadataBase.clearFieldTracking();
169
184
  const reporter = CodeGenReporter.Instance;
170
185
  reporter.startRun();
171
186
  reporter.mark('platform', dbPlatform());
@@ -205,7 +220,12 @@ export class RunCodeGenBase {
205
220
  const results = await runCommandsObject.runCommands(beforeCommands);
206
221
  if (results.some((r) => !r.success)) {
207
222
  logError('ERROR running one or more BEFORE commands');
208
- this.recordCommandFailures('BEFORE', beforeCommands, results);
223
+ const recorded = this.recordCommandFailures('BEFORE', beforeCommands, results);
224
+ pipelineSuccess = false;
225
+ for (const failure of recorded) {
226
+ logError(failure.message);
227
+ reporter.note(failure.message);
228
+ }
209
229
  }
210
230
  }
211
231
  updateSpinner('Executing before-all SQL Scripts...');
@@ -355,6 +375,57 @@ export class RunCodeGenBase {
355
375
  return false;
356
376
  }
357
377
  }
378
+ // Metadata/view coherence. The CRUD validator asks "can the runtime WRITE this
379
+ // entity"; this asks the prior question — "can it READ it at all".
380
+ //
381
+ // A field the metadata declares but the base view does not produce makes every
382
+ // read of that entity fail with `column "X" does not exist`. Grids render that
383
+ // as an empty result rather than an error, so the entity looks like it holds no
384
+ // data. Nothing else in the pipeline notices, and the condition is permanent for
385
+ // any schema in `excludeSchemas` (CodeGen emits permissions only for those, so
386
+ // there is no regeneration pass to repair the view) — which by convention
387
+ // includes `__mj` on essentially every install.
388
+ //
389
+ // Reported, not fatal, by default: existing installs may already carry this drift
390
+ // and failing their next codegen run would be worse than telling them about it.
391
+ // Set MJ_CODEGEN_STRICT_FIELD_RESOLUTION=true to make it a hard gate; that is the
392
+ // intended default once fleets are clean.
393
+ try {
394
+ startSpinner('Validating entity fields resolve against their base views...');
395
+ const baseline = md.Entities.filter(e => e.IncludeInAPI);
396
+ const gaps = await sqlCodeGenObject.DBProvider.validateEntityFieldsResolve(conn, baseline);
397
+ if (gaps.length > 0) {
398
+ const affected = new Set(gaps.map(g => `${g.schema}.${g.entity}`));
399
+ const list = gaps
400
+ .map(g => ` - [${g.schema}] ${g.entity} → ${g.baseView} does not produce "${g.field}"${g.isVirtual ? ' (virtual)' : ''}`)
401
+ .join('\n');
402
+ const strict = process.env.MJ_CODEGEN_STRICT_FIELD_RESOLUTION === 'true';
403
+ const summary = `${gaps.length} declared field(s) across ${affected.size} entity(ies) are not produced by their base view.\n` +
404
+ `Every read of these entities fails with 'column ... does not exist'. A grid shows that as\n` +
405
+ `"no data" rather than an error, so the entity appears empty while its table is full.\n` +
406
+ `${list}\n\n` +
407
+ `Cause: a migration added the column to the base TABLE and registered the EntityField, but did\n` +
408
+ `not rebuild the base VIEW. For schemas listed in excludeSchemas (typically __mj) CodeGen never\n` +
409
+ `regenerates the view, so this does not self-heal.\n` +
410
+ `Fix: rebuild the affected base view(s). PostgreSQL permits appending columns in place via\n` +
411
+ `CREATE OR REPLACE VIEW, so no DROP/CASCADE is required.`;
412
+ if (strict) {
413
+ failSpinner(`Field-resolution validation FAILED: ${gaps.length} unreadable field(s)`);
414
+ logError(summary);
415
+ return false;
416
+ }
417
+ warnSpinner(`Field-resolution validation found ${gaps.length} unreadable field(s)`);
418
+ logWarning(summary);
419
+ }
420
+ else {
421
+ succeedSpinner('Entity fields all resolve against their base views');
422
+ }
423
+ }
424
+ catch (e) {
425
+ // Never fail the run on the validator's own error — it is a reporter.
426
+ warnSpinner('Field-resolution validation could not run');
427
+ logWarning(`Field-resolution validator threw: ${e instanceof Error ? e.message : String(e)}`);
428
+ }
358
429
  // Surface upstream SQL-pipeline failure even if validator passed: a
359
430
  // green validator just means whatever DID get generated is consistent;
360
431
  // it doesn't whitewash an upstream batch error.
@@ -364,17 +435,41 @@ export class RunCodeGenBase {
364
435
  }
365
436
  else {
366
437
  warnSpinner('Skipping database generation (skip_database_generation = true)');
367
- const manageMD = MJGlobal.Instance.ClassFactory.CreateInstance(ManageMetadataBase);
368
- startSpinner('Checking/Loading AI Generated Code from Metadata...');
369
- const metadataSuccess = await reporter.phase('loadGeneratedCode', () => manageMD.loadGeneratedCode(conn, currentUser));
370
- if (!metadataSuccess) {
371
- failSpinner('ERROR checking/loading AI Generated Code from Metadata');
372
- pipelineSuccess = false;
373
- return false;
374
- }
375
- else {
376
- succeedSpinner('AI Generated Code loaded from Metadata');
377
- }
438
+ }
439
+ // Persisted validators must reach file generation on EVERY path, not just the skip-DB one.
440
+ //
441
+ // File generation below runs for both branches, but `ManageMetadataBase.generatedValidators`
442
+ // — which `GenerateValidateFunction` reads to emit each entity's `Validate()` override — was
443
+ // only populated here, inside the `else`. On the database-generation path the sole source was
444
+ // `runValidationGeneration`, which needs AI. So a FULL `mj codegen --no-ai` emitted the entity
445
+ // subclasses as though no validators existed and silently DELETED every committed
446
+ // `Validate()` override — not "declined to add new ones", removed the existing ones.
447
+ //
448
+ // That is not hypothetical: it is how v6.1.0-edge.5's 56 overrides disappeared in 197fdf8376
449
+ // ("100% CodeGen idempotency, field change tracking, and churn elimination"), a full
450
+ // regeneration whose commit message and changeset mention validation nowhere. The
451
+ // `codegen-drift` CI gate then locked the loss in, because it runs `codegen --no-ai` and
452
+ // requires the committed file to match that lossy output.
453
+ //
454
+ // Loading unconditionally is safe on the AI path too: `GenerateValidateFunction` already
455
+ // deduplicates by `functionName` over a deterministic sort, so a validator both freshly
456
+ // generated and read back from `GeneratedCode` yields one emission, not two.
457
+ const manageMD = MJGlobal.Instance.ClassFactory.CreateInstance(ManageMetadataBase);
458
+ startSpinner('Checking/Loading AI Generated Code from Metadata...');
459
+ const metadataSuccess = await reporter.phase('loadGeneratedCode', () => manageMD.loadGeneratedCode(conn, currentUser));
460
+ if (!metadataSuccess) {
461
+ failSpinner('ERROR checking/loading AI Generated Code from Metadata');
462
+ pipelineSuccess = false;
463
+ return false;
464
+ }
465
+ else {
466
+ // Report the COUNT, not just success. Loading zero validators is a legitimate state for a
467
+ // database that has none, and an invisible catastrophe for one that has plenty: file
468
+ // generation emits each entity as though it had no `Validate()` override, silently deleting
469
+ // whatever was committed. Both times that regression shipped, the log said exactly this
470
+ // line and nothing else. A number here makes the next one visible in CI output.
471
+ const loadedValidators = ManageMetadataBase.generatedValidators.length;
472
+ succeedSpinner(`AI Generated Code loaded from Metadata (${loadedValidators} validator${loadedValidators === 1 ? '' : 's'})`);
378
473
  }
379
474
  const skipFiles = skipFileGeneration || getSettingValue('skip_file_generation', false);
380
475
  if (skipFiles) {
@@ -394,7 +489,12 @@ export class RunCodeGenBase {
394
489
  const results = await runCommandsObject.runCommands(afterCommands);
395
490
  if (results.some((r) => !r.success)) {
396
491
  failSpinner('ERROR running one or more AFTER commands');
397
- this.recordCommandFailures('AFTER', afterCommands, results);
492
+ const recorded = this.recordCommandFailures('AFTER', afterCommands, results);
493
+ pipelineSuccess = false;
494
+ for (const failure of recorded) {
495
+ logError(failure.message);
496
+ reporter.note(failure.message);
497
+ }
398
498
  }
399
499
  else
400
500
  succeedSpinner('AFTER commands completed');
@@ -415,7 +515,8 @@ export class RunCodeGenBase {
415
515
  logStatus('MJ CodeGen Complete! ' + md.Entities.length + ' entities processed in ' + totalSeconds + 's @ ' + endTime.toLocaleString());
416
516
  // A BEFORE/AFTER command failure fails the run (success=false, exit 1) so it
417
517
  // isn't silently swallowed — details flow into the structured result below.
418
- return this.commandFailures.length === 0;
518
+ pipelineSuccess = pipelineSuccess && this.commandFailures.length === 0;
519
+ return pipelineSuccess;
419
520
  }
420
521
  catch (err) {
421
522
  pipelineSuccess = false;
@@ -426,6 +527,8 @@ export class RunCodeGenBase {
426
527
  reporter.counter('entitiesProcessed', new MJ.Metadata().Entities.length);
427
528
  reporter.counter('entitiesNew', ManageMetadataBase.newEntityList.length);
428
529
  reporter.counter('entitiesModified', ManageMetadataBase.modifiedEntityList.length);
530
+ reporter.counter('fieldsNew', ManageMetadataBase.newFieldCount);
531
+ reporter.counter('fieldsChanged', ManageMetadataBase.changedFieldCount);
429
532
  // EntitiesRequiringViewRegen is only defined on newer ManageMetadataBase
430
533
  // (added in search-geo-phase-3). Read defensively via property descriptor
431
534
  // so this compiles and runs against older versions too.
@@ -439,6 +542,19 @@ export class RunCodeGenBase {
439
542
  logStatus('CodeGen report written: ' + filePath);
440
543
  }
441
544
  }
545
+ /**
546
+ * Resolve dirty-schema emit options for one generator call.
547
+ * `--skipdb` (files only) and `fileEmit.dirtySchemaOnly === false` rebuild
548
+ * every schema; write-if-changed still keeps mtimes stable. A full run with
549
+ * no new/modified entities yields an empty Set — the generator then only
550
+ * writes schema files that are missing.
551
+ */
552
+ buildSchemaEmitOptions(entities, skipDB) {
553
+ const fileEmit = configInfo.fileEmit;
554
+ return {
555
+ dirtySchemas: resolveDirtySchemasForEmit(entities, [...ManageMetadataBase.newEntityList, ...ManageMetadataBase.modifiedEntityList], skipDB, fileEmit?.dirtySchemaOnly !== false, ManageMetadataBase.deletedEntitySchemaList),
556
+ };
557
+ }
442
558
  /**
443
559
  * Runs the file-generation phase of CodeGen: GraphQL resolvers, entity
444
560
  * subclasses (core + non-core), Angular components, DB schema JSON, and
@@ -450,15 +566,16 @@ export class RunCodeGenBase {
450
566
  */
451
567
  async runFileGenerationPhase(conn, currentUser, md, skipDB) {
452
568
  const reporter = CodeGenReporter.Instance;
569
+ EmitStats.Reset();
453
570
  const apiEntities = md.Entities.filter((e) => e.IncludeInAPI);
454
- const excludedSchemaNames = configInfo.excludeSchemas.map(s => s.toLowerCase());
455
- const includedEntities = apiEntities.filter((e) => !excludedSchemaNames.includes(e.SchemaName.trim().toLowerCase()));
571
+ const excludedSchemaNames = configInfo.excludeSchemas.map(s => schemaKey(s));
572
+ const includedEntities = apiEntities.filter((e) => !excludedSchemaNames.includes(schemaKey(e.SchemaName)));
456
573
  const excludedCount = apiEntities.length - includedEntities.length;
457
574
  if (excludedCount > 0) {
458
575
  const excludedBySchema = apiEntities
459
- .filter((e) => excludedSchemaNames.includes(e.SchemaName.trim().toLowerCase()))
576
+ .filter((e) => excludedSchemaNames.includes(schemaKey(e.SchemaName)))
460
577
  .reduce((acc, e) => {
461
- const schema = e.SchemaName.trim();
578
+ const schema = (e.SchemaName ?? '').trim() || '(none)';
462
579
  acc[schema] = (acc[schema] || 0) + 1;
463
580
  return acc;
464
581
  }, {});
@@ -467,8 +584,8 @@ export class RunCodeGenBase {
467
584
  .join(', ');
468
585
  logStatus('Excluded ' + excludedCount + ' entities from code generation by schema: ' + schemaDetails);
469
586
  }
470
- const coreEntities = includedEntities.filter((e) => e.SchemaName.trim().toLowerCase() === mjCoreSchema.trim().toLowerCase());
471
- const nonCoreEntities = includedEntities.filter((e) => e.SchemaName.trim().toLowerCase() !== mjCoreSchema.trim().toLowerCase());
587
+ const coreEntities = includedEntities.filter((e) => schemaKey(e.SchemaName) === schemaKey(mjCoreSchema));
588
+ const nonCoreEntities = includedEntities.filter((e) => schemaKey(e.SchemaName) !== schemaKey(mjCoreSchema));
472
589
  // Entities whose schemas are owned by OTHER packages (see entityPackageName map). They must be
473
590
  // excluded from every artifact this package emits — GraphQL ObjectTypes included. If two packages
474
591
  // both emit an ObjectType for the same entity, graphql-js rejects the unified schema at boot with
@@ -476,7 +593,7 @@ export class RunCodeGenBase {
476
593
  // crash-loops.
477
594
  const externalSchemas = getExternalEntitySchemas().map(s => s.toLowerCase());
478
595
  const localNonCoreEntities = externalSchemas.length > 0
479
- ? nonCoreEntities.filter(e => !externalSchemas.includes(e.SchemaName.toLowerCase()))
596
+ ? nonCoreEntities.filter(e => !externalSchemas.includes(schemaKey(e.SchemaName)))
480
597
  : nonCoreEntities;
481
598
  const isVerbose = configInfo?.verboseOutput ?? false;
482
599
  if (!isVerbose)
@@ -486,7 +603,7 @@ export class RunCodeGenBase {
486
603
  if (isVerbose)
487
604
  startSpinner('Generating CORE Entity GraphQL Resolver Code...');
488
605
  const graphQLGenerator = MJGlobal.Instance.ClassFactory.CreateInstance(GraphQLServerGeneratorBase);
489
- const ok = await reporter.phase('generateGraphQLCore', async () => graphQLGenerator.generateGraphQLServerCode(coreEntities, graphQLCoreResolversOutputDir, '@memberjunction/core-entities', true));
606
+ const ok = await reporter.phase('generateGraphQLCore', async () => graphQLGenerator.generateGraphQLServerCode(coreEntities, graphQLCoreResolversOutputDir, '@memberjunction/core-entities', true, this.buildSchemaEmitOptions(coreEntities, skipDB)));
490
607
  if (!ok) {
491
608
  failSpinner('Error generating GraphQL server code');
492
609
  return false;
@@ -502,7 +619,16 @@ export class RunCodeGenBase {
502
619
  const entityPackageName = typeof configInfo.entityPackageName === 'string'
503
620
  ? (configInfo.entityPackageName || 'mj_generatedentities')
504
621
  : 'mj_generatedentities';
505
- const ok = await reporter.phase('generateGraphQL', async () => graphQLGenerator.generateGraphQLServerCode(localNonCoreEntities, graphqlOutputDir, entityPackageName, false));
622
+ const graphqlGroups = partitionEntitiesByOutputDirectory(localNonCoreEntities, 'GraphQLServer', graphqlOutputDir, configInfo.schemaOutput);
623
+ const ok = await reporter.phase('generateGraphQL', async () => {
624
+ for (const [dir, group] of graphqlGroups) {
625
+ const groupOk = graphQLGenerator.generateGraphQLServerCode(group, dir, entityPackageName, false, this.buildSchemaEmitOptions(group, skipDB));
626
+ if (!groupOk) {
627
+ return false;
628
+ }
629
+ }
630
+ return true;
631
+ });
506
632
  if (!ok) {
507
633
  failSpinner('Error generating GraphQL Resolver code');
508
634
  return false;
@@ -517,7 +643,7 @@ export class RunCodeGenBase {
517
643
  if (isVerbose)
518
644
  startSpinner('Generating CORE Entity Subclass Code...');
519
645
  const entitySubClassGeneratorObject = MJGlobal.Instance.ClassFactory.CreateInstance(EntitySubClassGeneratorBase);
520
- const ok = await reporter.phase('generateEntitySubclassesCore', () => entitySubClassGeneratorObject.generateAllEntitySubClasses(conn, coreEntities, coreEntitySubClassOutputDir, skipDB));
646
+ const ok = await reporter.phase('generateEntitySubclassesCore', () => entitySubClassGeneratorObject.generateAllEntitySubClasses(conn, coreEntities, coreEntitySubClassOutputDir, skipDB, this.buildSchemaEmitOptions(coreEntities, skipDB)));
521
647
  if (!ok) {
522
648
  failSpinner('Error generating entity subclass code');
523
649
  return false;
@@ -530,7 +656,16 @@ export class RunCodeGenBase {
530
656
  if (isVerbose)
531
657
  startSpinner('Generating Entity Subclass Code...');
532
658
  const entitySubClassGeneratorObject = MJGlobal.Instance.ClassFactory.CreateInstance(EntitySubClassGeneratorBase);
533
- const ok = await reporter.phase('generateEntitySubclasses', () => entitySubClassGeneratorObject.generateAllEntitySubClasses(conn, localNonCoreEntities, entitySubClassOutputDir, skipDB));
659
+ const entityGroups = partitionEntitiesByOutputDirectory(localNonCoreEntities, 'EntitySubClasses', entitySubClassOutputDir, configInfo.schemaOutput);
660
+ const ok = await reporter.phase('generateEntitySubclasses', async () => {
661
+ for (const [dir, group] of entityGroups) {
662
+ const groupOk = await entitySubClassGeneratorObject.generateAllEntitySubClasses(conn, group, dir, skipDB, this.buildSchemaEmitOptions(group, skipDB));
663
+ if (!groupOk) {
664
+ return false;
665
+ }
666
+ }
667
+ return true;
668
+ });
534
669
  if (!ok) {
535
670
  failSpinner('Error generating entity subclass code');
536
671
  return false;
@@ -545,7 +680,7 @@ export class RunCodeGenBase {
545
680
  if (isVerbose)
546
681
  startSpinner('Generating Angular CORE Entities Code...');
547
682
  const angularGenerator = MJGlobal.Instance.ClassFactory.CreateInstance(AngularClientGeneratorBase);
548
- const ok = await reporter.phase('generateAngularCore', () => angularGenerator.generateAngularCode(coreEntities, angularCoreEntitiesOutputDir, 'Core', currentUser));
683
+ const ok = await reporter.phase('generateAngularCore', () => angularGenerator.generateAngularCode(coreEntities, angularCoreEntitiesOutputDir, 'Core', currentUser, 'AngularCoreEntities'));
549
684
  if (!ok) {
550
685
  failSpinner('Error generating Angular CORE Entities code');
551
686
  return false;
@@ -558,7 +693,16 @@ export class RunCodeGenBase {
558
693
  if (isVerbose)
559
694
  startSpinner('Generating Angular Code...');
560
695
  const angularGenerator = MJGlobal.Instance.ClassFactory.CreateInstance(AngularClientGeneratorBase);
561
- const ok = await reporter.phase('generateAngular', () => angularGenerator.generateAngularCode(localNonCoreEntities, angularOutputDir, '', currentUser));
696
+ const angularGroups = partitionEntitiesByOutputDirectory(localNonCoreEntities, 'Angular', angularOutputDir, configInfo.schemaOutput);
697
+ const ok = await reporter.phase('generateAngular', async () => {
698
+ for (const [dir, group] of angularGroups) {
699
+ const groupOk = angularGenerator.generateAngularCode(group, dir, '', currentUser, 'Angular');
700
+ if (!groupOk) {
701
+ return false;
702
+ }
703
+ }
704
+ return true;
705
+ });
562
706
  if (!ok) {
563
707
  failSpinner('Error generating Angular code');
564
708
  return false;
@@ -644,6 +788,15 @@ export class RunCodeGenBase {
644
788
  }
645
789
  else if (isVerbose)
646
790
  warnSpinner('Remote Operations output directory NOT found in config file, skipping...');
791
+ const emit = EmitStats.Snapshot();
792
+ reporter.counter('filesWritten', emit.filesWritten);
793
+ reporter.counter('filesSkipped', emit.filesSkipped);
794
+ reporter.counter('schemasEmitted', emit.schemasEmitted);
795
+ reporter.counter('schemasSkipped', emit.schemasSkipped);
796
+ reporter.mark('emitStats', emit);
797
+ logStatus(`File emit: wrote ${emit.filesWritten}, skipped ${emit.filesSkipped}, ` +
798
+ `schemas emitted ${emit.schemasEmitted} / skipped ${emit.schemasSkipped} ` +
799
+ `(assemble ${emit.assembleMs}ms)`);
647
800
  SQLLogging.finishSQLLogging();
648
801
  if (!isVerbose)
649
802
  succeedSpinner('TypeScript code generation completed');
@@ -1 +1 @@
1
- {"version":3,"file":"runCodeGen.js","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runCodeGen.js","sourceRoot":"","sources":["../src/runCodeGen.ts"],"names":[],"mappings":"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"}