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

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 (71) hide show
  1. package/dist/Config/config.d.ts +172 -10
  2. package/dist/Config/config.d.ts.map +1 -1
  3. package/dist/Config/config.js +57 -1
  4. package/dist/Config/config.js.map +1 -1
  5. package/dist/Config/schema-output.d.ts +33 -0
  6. package/dist/Config/schema-output.d.ts.map +1 -0
  7. package/dist/Config/schema-output.js +52 -0
  8. package/dist/Config/schema-output.js.map +1 -0
  9. package/dist/Database/codeGenDatabaseProvider.d.ts +49 -0
  10. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  11. package/dist/Database/codeGenDatabaseProvider.js +105 -0
  12. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  13. package/dist/Database/exclude-tables.d.ts +26 -0
  14. package/dist/Database/exclude-tables.d.ts.map +1 -0
  15. package/dist/Database/exclude-tables.js +38 -0
  16. package/dist/Database/exclude-tables.js.map +1 -0
  17. package/dist/Database/manage-metadata.d.ts +52 -2
  18. package/dist/Database/manage-metadata.d.ts.map +1 -1
  19. package/dist/Database/manage-metadata.js +95 -14
  20. package/dist/Database/manage-metadata.js.map +1 -1
  21. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +2 -0
  22. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  23. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +10 -0
  24. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  25. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js +17 -0
  26. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js.map +1 -1
  27. package/dist/Database/sql_codegen.d.ts +15 -0
  28. package/dist/Database/sql_codegen.d.ts.map +1 -1
  29. package/dist/Database/sql_codegen.js +55 -15
  30. package/dist/Database/sql_codegen.js.map +1 -1
  31. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +22 -0
  32. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  33. package/dist/Manifest/GenerateClassRegistrationsManifest.js +112 -5
  34. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  35. package/dist/Misc/codegen-reporter.d.ts +3 -0
  36. package/dist/Misc/codegen-reporter.d.ts.map +1 -1
  37. package/dist/Misc/codegen-reporter.js +3 -0
  38. package/dist/Misc/codegen-reporter.js.map +1 -1
  39. package/dist/Misc/emit-stats.d.ts +28 -0
  40. package/dist/Misc/emit-stats.d.ts.map +1 -0
  41. package/dist/Misc/emit-stats.js +43 -0
  42. package/dist/Misc/emit-stats.js.map +1 -0
  43. package/dist/Misc/entity_subclasses_codegen.d.ts +20 -2
  44. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  45. package/dist/Misc/entity_subclasses_codegen.js +92 -33
  46. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  47. package/dist/Misc/file-write.d.ts +15 -0
  48. package/dist/Misc/file-write.d.ts.map +1 -0
  49. package/dist/Misc/file-write.js +33 -0
  50. package/dist/Misc/file-write.js.map +1 -0
  51. package/dist/Misc/graphql_server_codegen.d.ts +12 -2
  52. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  53. package/dist/Misc/graphql_server_codegen.js +61 -12
  54. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  55. package/dist/Misc/runCommand.d.ts +5 -0
  56. package/dist/Misc/runCommand.d.ts.map +1 -1
  57. package/dist/Misc/runCommand.js +43 -17
  58. package/dist/Misc/runCommand.js.map +1 -1
  59. package/dist/Misc/schema-emit.d.ts +123 -0
  60. package/dist/Misc/schema-emit.d.ts.map +1 -0
  61. package/dist/Misc/schema-emit.js +220 -0
  62. package/dist/Misc/schema-emit.js.map +1 -0
  63. package/dist/index.d.ts +6 -0
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +6 -0
  66. package/dist/index.js.map +1 -1
  67. package/dist/runCodeGen.d.ts +20 -2
  68. package/dist/runCodeGen.d.ts.map +1 -1
  69. package/dist/runCodeGen.js +147 -21
  70. package/dist/runCodeGen.js.map +1 -1
  71. package/package.json +29 -29
@@ -2,9 +2,11 @@ import { TypeScriptTypeFromSQLType, TypeScriptTypeFromSQLTypeWithNullableOption,
2
2
  import { IsBinarySQLType, IsBooleanSQLType, IsCurrencySQLType, IsDateSQLType, IsFloatSQLType, IsStringSQLType, IsUuidSQLType, } from '@memberjunction/sql-dialect';
3
3
  import fs from 'fs';
4
4
  import path from 'path';
5
- import { logError } from './status_logging.js';
6
- import { mjCoreSchema, resolveEntityPackageName } from '../Config/config.js';
5
+ import { logError, logStatus } from './status_logging.js';
6
+ import { configInfo, mjCoreSchema, resolveEntityPackageName } from '../Config/config.js';
7
7
  import { makeDir, sortBySequenceAndCreatedAt } from './util.js';
8
+ import { EmitStats } from './emit-stats.js';
9
+ import { buildSchemaBarrel, groupEntitiesBySchema, emitSchemaFile, pruneOrphanedSchemaFiles, resolveSchemaEmitOptions, sanitizeSchemaFileName, schemasToEmit, } from './schema-emit.js';
8
10
  /**
9
11
  * This class is responsible for generating the GraphQL Server resolvers and types for the entities, you can sub-class this class to extend/modify the logic, make sure to use @memberjunction/global RegisterClass decorator
10
12
  * so that your class is used.
@@ -13,16 +15,43 @@ export class GraphQLServerGeneratorBase {
13
15
  constructor() {
14
16
  this._graphQLTypeSuffix = '_';
15
17
  }
16
- generateGraphQLServerCode(entities, outputDirectory, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema) {
17
- const isInternal = generatedEntitiesImportLibrary.trim().toLowerCase().startsWith('@memberjunction/');
18
- let sRet = '';
18
+ generateGraphQLServerCode(entities, outputDirectory, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema, options) {
19
19
  try {
20
- sRet = this.generateAllEntitiesServerFileHeader(entities, generatedEntitiesImportLibrary, isInternal);
21
- for (let i = 0; i < entities.length; ++i) {
22
- sRet += this.generateServerEntityString(entities[i], false, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema);
23
- }
20
+ const emit = this.resolveEmitOptions(options);
24
21
  makeDir(outputDirectory);
25
- fs.writeFileSync(path.join(outputDirectory, 'generated.ts'), sRet);
22
+ if (!emit.perSchema) {
23
+ const content = this.assembleGraphQLServerFile(entities, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema);
24
+ this.emitFile(path.join(outputDirectory, 'generated.ts'), content, emit.writeIfChanged);
25
+ return true;
26
+ }
27
+ const grouped = groupEntitiesBySchema(entities);
28
+ const schemas = [...grouped.keys()].sort((a, b) => a.localeCompare(b));
29
+ const schemasDir = path.join(outputDirectory, 'graphql-schemas');
30
+ makeDir(schemasDir);
31
+ const toEmit = schemasToEmit(schemas, emit.dirtySchemas, (schemaName) => fs.existsSync(path.join(schemasDir, `${sanitizeSchemaFileName(schemaName)}.ts`)));
32
+ const emitSet = new Set(toEmit);
33
+ for (const schemaName of schemas) {
34
+ EmitStats.RecordSchemaEmit(emitSet.has(schemaName));
35
+ }
36
+ const assembleStarted = Date.now();
37
+ for (const schemaName of toEmit) {
38
+ const schemaEntities = grouped.get(schemaName) ?? [];
39
+ const content = this.assembleGraphQLServerFile(schemaEntities, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema, true);
40
+ this.emitFile(path.join(schemasDir, `${sanitizeSchemaFileName(schemaName)}.ts`), content, emit.writeIfChanged);
41
+ }
42
+ EmitStats.AddAssembleMs(Date.now() - assembleStarted);
43
+ // Before the barrel, so the directory and the barrel always agree.
44
+ const pruned = pruneOrphanedSchemaFiles(schemasDir, schemas);
45
+ if (pruned.length > 0) {
46
+ logStatus(` Removed ${pruned.length} orphaned GraphQL schema file(s): ${pruned.join(', ')}`);
47
+ }
48
+ const barrel = buildSchemaBarrel(schemas, 'graphql-schemas', `/********************************************************************************
49
+ * GraphQL server barrel — AUTO GENERATED. Do not edit.
50
+ * Re-exports one file per schema.
51
+ *
52
+ **********************************************************************************/
53
+ `);
54
+ this.emitFile(path.join(outputDirectory, 'generated.ts'), barrel, emit.writeIfChanged);
26
55
  return true;
27
56
  }
28
57
  catch (err) {
@@ -30,6 +59,26 @@ export class GraphQLServerGeneratorBase {
30
59
  return false;
31
60
  }
32
61
  }
62
+ /**
63
+ * Build one GraphQL server file — a single schema, or the legacy monolith when
64
+ * per-schema emit is turned off.
65
+ */
66
+ assembleGraphQLServerFile(entities, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema, fromSchemaSubdir = false) {
67
+ const isInternal = generatedEntitiesImportLibrary.trim().toLowerCase().startsWith('@memberjunction/');
68
+ let sRet = this.generateAllEntitiesServerFileHeader(entities, generatedEntitiesImportLibrary, isInternal, fromSchemaSubdir);
69
+ for (const entity of entities) {
70
+ sRet += this.generateServerEntityString(entity, false, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema);
71
+ }
72
+ return sRet;
73
+ }
74
+ /** Delegates so both generators share one set of defaults; override to change them. */
75
+ resolveEmitOptions(options) {
76
+ return resolveSchemaEmitOptions(options, configInfo?.fileEmit);
77
+ }
78
+ /** Delegates so both generators write identically; override to change that. */
79
+ emitFile(filePath, content, useWriteIfChanged) {
80
+ emitSchemaFile(filePath, content, useWriteIfChanged);
81
+ }
33
82
  /**
34
83
  * The suffix to append to the GraphQL Type name, default is an underscore, override this property in your sub-class to change the suffix
35
84
  */
@@ -86,7 +135,7 @@ export class GraphQLServerGeneratorBase {
86
135
  return sEntityOutput;
87
136
  }
88
137
  }
89
- generateAllEntitiesServerFileHeader(entities, importLibrary, isInternal) {
138
+ generateAllEntitiesServerFileHeader(entities, importLibrary, isInternal, fromSchemaSubdir = false) {
90
139
  let sRet = `/********************************************************************************
91
140
  * ALL ENTITIES - TypeGraphQL Type Class Definition - AUTO GENERATED FILE
92
141
  * Generated Entities and Resolvers for Server
@@ -104,7 +153,7 @@ import { Metadata, EntityPermissionType, CompositeKey, UserInfo } from '@memberj
104
153
 
105
154
  import { MaxLength } from 'class-validator';
106
155
  ${isInternal
107
- ? `import { mj_core_schema } from '../config.js';\n`
156
+ ? `import { mj_core_schema } from '${fromSchemaSubdir ? '../../config.js' : '../config.js'}';\n`
108
157
  : `import * as mj_core_schema_server_object_types from '@memberjunction/server'`}
109
158
 
110
159
 
@@ -1 +1 @@
1
- {"version":3,"file":"graphql_server_codegen.js","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql_server_codegen.js","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@ export type CommandExecutionResult = {
5
5
  success: boolean;
6
6
  elapsedTime: number;
7
7
  };
8
+ /**
9
+ * Combine the exit-code message with a tail of captured stdout/stderr so AFTER
10
+ * failures show the actual tsc/pnpm diagnostic instead of just "exited with code N".
11
+ */
12
+ export declare function formatCommandFailureDetail(result: CommandExecutionResult, tailLines?: number): string;
8
13
  /**
9
14
  * Base class that handles the process of running commands which can be done executed from any other area of the system, typically done by the main runMemberJunctionCodeGen process
10
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"runCommand.d.ts","sourceRoot":"","sources":["../../src/Misc/runCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAMxE,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAA;AAED;;GAEG;AACH,qBAAa,eAAe;IACb,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA6BvE,UAAU,CAAC,OAAO,EAAE,WAAW,GAAI,OAAO,CAAC,sBAAsB,CAAC;CAsGhF"}
1
+ {"version":3,"file":"runCommand.d.ts","sourceRoot":"","sources":["../../src/Misc/runCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAMxE,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAA;AAID;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,sBAAsB,EAAE,SAAS,GAAE,MAAkC,GAAG,MAAM,CAahI;AAED;;GAEG;AACH,qBAAa,eAAe;IACb,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA6BvE,UAAU,CAAC,OAAO,EAAE,WAAW,GAAI,OAAO,CAAC,sBAAsB,CAAC;CA8GhF"}
@@ -3,6 +3,25 @@ import { spawn } from 'child_process';
3
3
  import { logError, logStatus } from './status_logging.js';
4
4
  import path from 'path';
5
5
  import treeKill from 'tree-kill';
6
+ const FAILURE_OUTPUT_TAIL_LINES = 40;
7
+ /**
8
+ * Combine the exit-code message with a tail of captured stdout/stderr so AFTER
9
+ * failures show the actual tsc/pnpm diagnostic instead of just "exited with code N".
10
+ */
11
+ export function formatCommandFailureDetail(result, tailLines = FAILURE_OUTPUT_TAIL_LINES) {
12
+ const parts = [];
13
+ const errorText = (result.error || '').trim();
14
+ if (errorText) {
15
+ parts.push(errorText);
16
+ }
17
+ const output = (result.output || '').trim();
18
+ if (output) {
19
+ const lines = output.split(/\r?\n/);
20
+ const kept = lines.length > tailLines ? ['…', ...lines.slice(-tailLines)] : lines;
21
+ parts.push(kept.join('\n'));
22
+ }
23
+ return parts.join('\n');
24
+ }
6
25
  /**
7
26
  * Base class that handles the process of running commands which can be done executed from any other area of the system, typically done by the main runMemberJunctionCodeGen process
8
27
  */
@@ -37,7 +56,6 @@ export class RunCommandsBase {
37
56
  try {
38
57
  let output = '';
39
58
  let startTime = new Date();
40
- let bErrors = false;
41
59
  const commandName = command.command;
42
60
  const absPath = path.resolve(currentWorkingDirectory, command.workingDirectory);
43
61
  logStatus(`STARTING COMMAND: "${command.command}" in location "${absPath}" with args "${command.args.join(' ')}"`);
@@ -57,13 +75,10 @@ export class RunCommandsBase {
57
75
  output += data.toString();
58
76
  });
59
77
  cp.stderr?.on('data', (data) => {
60
- const elapsedTime = new Date().getTime() - startTime.getTime();
61
- const message = data.toString();
62
- output += message;
63
- if (message.toUpperCase().indexOf('ERROR') >= 0) {
64
- console.error(`COMMAND: "${command.command}" FAILED: ${elapsedTime / 1000} seconds`);
65
- bErrors = true;
66
- }
78
+ // tsc / npm / pnpm write the word "error" to stderr on successful
79
+ // builds (TS diagnostics that were not emitted, deprecation banners,
80
+ // progress). Exit code is the only honest success signal.
81
+ output += data.toString();
67
82
  });
68
83
  cp.on('error', (error) => {
69
84
  const elapsedTime = new Date().getTime() - startTime.getTime();
@@ -73,17 +88,28 @@ export class RunCommandsBase {
73
88
  reject(error);
74
89
  });
75
90
  cp.on('close', (code) => {
91
+ const elapsedTime = new Date().getTime() - startTime.getTime();
76
92
  if (code === 0) {
77
- const elapsedTime = new Date().getTime() - startTime.getTime();
78
93
  logStatus(`COMMAND: "${command.command}" COMPLETED SUCCESSFULLY: ${elapsedTime / 1000} seconds`);
79
- resolve({ output: output,
94
+ resolve({
95
+ output,
80
96
  error: null,
81
- success: !bErrors,
82
- elapsedTime: elapsedTime });
83
- }
84
- else {
85
- reject(new Error(`Process exited with code ${code}`));
97
+ success: true,
98
+ elapsedTime,
99
+ });
100
+ return;
86
101
  }
102
+ // Resolve (do not reject) so callers keep stdout/stderr. The previous
103
+ // reject-on-nonzero path dropped the captured output and left AFTER
104
+ // failures looking like a bare "Process exited with code N".
105
+ const message = `Process exited with code ${code}`;
106
+ console.error(`COMMAND: "${command.command}" FAILED: ${elapsedTime / 1000} seconds (${message})`);
107
+ resolve({
108
+ output,
109
+ error: message,
110
+ success: false,
111
+ elapsedTime,
112
+ });
87
113
  });
88
114
  });
89
115
  if (command.timeout && command.timeout > 0) {
@@ -93,13 +119,13 @@ export class RunCommandsBase {
93
119
  const elapsedTime = new Date().getTime() - startTime.getTime();
94
120
  if (!cp.killed) {
95
121
  treeKill(cp.pid);
96
- console.error(`COMMAND: "${command.command}" COMPLETED ${bErrors ? ' - FAILED' : ' - SUCCESS'} IN ${elapsedTime / 1000} seconds`);
122
+ console.error(`COMMAND: "${command.command}" TIMED OUT after ${elapsedTime / 1000} seconds`);
97
123
  output += `Process killed after ${timeout} ms`;
98
124
  }
99
125
  resolve({
100
126
  output: output,
101
127
  error: null,
102
- success: !bErrors,
128
+ success: false,
103
129
  elapsedTime: elapsedTime,
104
130
  });
105
131
  }, timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"runCommand.js","sourceRoot":"","sources":["../../src/Misc/runCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runCommand.js","sourceRoot":"","sources":["../../src/Misc/runCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Schema is the incremental unit for CodeGen file emit.
3
+ *
4
+ * A 2,000-entity database is almost never one schema with 2,000 tables. It is
5
+ * two-to-three dozen schemas of 100–150 tables each. Entity identity stays the
6
+ * entity (names, FKs, metadata rows). Everything that can be incremental —
7
+ * emit, dirty regen, parallelism, output-directory routing, agent context —
8
+ * keys off the schema.
9
+ */
10
+ export type DirtySchemaSet = Set<string> | 'all';
11
+ export interface SchemaEmitOptions {
12
+ /**
13
+ * When true (the default), emit one TypeScript file per schema plus a thin
14
+ * barrel. When false, emit the historical single monolith.
15
+ */
16
+ perSchema?: boolean;
17
+ /**
18
+ * Schemas whose files must be rebuilt. `'all'` rebuilds every schema
19
+ * (used by `--skipdb` file-only runs). A Set rebuilds only those schemas
20
+ * plus any schema whose file is missing. An omitted / empty set with
21
+ * existing files is the fast path: skip the string-build entirely.
22
+ */
23
+ dirtySchemas?: DirtySchemaSet;
24
+ /** Assemble independent schema files in parallel. Defaults to true. */
25
+ parallel?: boolean;
26
+ /** Max schemas to assemble in parallel. Defaults to 8. */
27
+ concurrency?: number;
28
+ /** Skip the disk write when bytes are identical. Defaults to true. */
29
+ writeIfChanged?: boolean;
30
+ }
31
+ export interface SchemaNamed {
32
+ Name: string;
33
+ SchemaName: string;
34
+ }
35
+ /**
36
+ * Case-insensitive schema match. `%` is the only wildcard (SQL `_` is a
37
+ * literal — schema names like `bsd_crm` are common and must not glob).
38
+ */
39
+ /** Case-insensitive schema/entity key. Null/undefined become ''. */
40
+ export declare function schemaKey(name: string | null | undefined): string;
41
+ export declare function schemaNameMatches(pattern: string, schemaName: string | null | undefined): boolean;
42
+ /**
43
+ * Turn a SQL schema name into a safe TypeScript file stem.
44
+ * `__mj` stays `__mj`; `bsd_crm` stays `bsd_crm`; `Sales.Analytics` becomes `Sales_Analytics`.
45
+ */
46
+ export declare function sanitizeSchemaFileName(schemaName: string | null | undefined): string;
47
+ /**
48
+ * Group entities by their raw `SchemaName` (trimmed, original casing of the
49
+ * first occurrence). Order inside each group is the input order.
50
+ */
51
+ export declare function groupEntitiesBySchema<T extends {
52
+ SchemaName: string;
53
+ }>(entities: readonly T[]): Map<string, T[]>;
54
+ /**
55
+ * Map dirty entity names (from `newEntityList` ∪ `modifiedEntityList`) back to
56
+ * the schemas those entities live in. Comparison is case-insensitive.
57
+ */
58
+ /**
59
+ * Resolve which schemas a file-emit pass should rebuild.
60
+ * `--skipdb` and `dirtySchemaOnly === false` rebuild every schema (write-if-changed
61
+ * still keeps mtimes stable). Otherwise only schemas that contain a new/modified
62
+ * entity are dirty — missing files are added later by {@link schemasToEmit}.
63
+ */
64
+ export declare function resolveDirtySchemasForEmit(entities: readonly SchemaNamed[], dirtyEntityNames: Iterable<string>, skipDB: boolean, dirtySchemaOnly: boolean, deletedEntitySchemas?: Iterable<string>): DirtySchemaSet;
65
+ export declare function collectDirtySchemas(entities: readonly SchemaNamed[], dirtyEntityNames: Iterable<string>): Set<string>;
66
+ /**
67
+ * Decide which schema files to rebuild. Missing files are always rebuilt so a
68
+ * fresh clone / first run is complete. When `dirty` is `'all'` every schema is
69
+ * rebuilt (callers still use write-if-changed to keep mtimes stable).
70
+ */
71
+ export declare function schemasToEmit(allSchemas: readonly string[], dirty: DirtySchemaSet | undefined, fileExists: (schemaName: string) => boolean): string[];
72
+ /**
73
+ * Bounded parallel map. Order of results matches `items`. A limit of 1 is serial.
74
+ */
75
+ export declare function mapLimit<T, R>(items: readonly T[], limit: number, mapper: (item: T, index: number) => Promise<R>): Promise<R[]>;
76
+ /**
77
+ * Barrel that re-exports every per-schema file. Uses `.js` specifiers so the
78
+ * file is valid in `"type": "module"` packages (MJCoreEntities, MJServer).
79
+ */
80
+ export declare function buildSchemaBarrel(schemas: readonly string[], relativeDir: string, extraHeader: string): string;
81
+ /**
82
+ * Names of files in a per-schema emit directory that no live schema claims.
83
+ *
84
+ * Kept pure and separate from the deletion so the decision is testable without a
85
+ * filesystem. `fileNames` is a plain directory listing; `schemas` is every schema in the
86
+ * run, not just the dirty subset.
87
+ */
88
+ export declare function selectOrphanedSchemaFiles(fileNames: readonly string[], schemas: readonly string[]): string[];
89
+ /**
90
+ * Delete per-schema files that no live schema claims, returning what was removed.
91
+ *
92
+ * A schema that empties out — its last table dropped — leaves its file on disk. The barrel
93
+ * stops exporting it, which is not enough: `tsc` still compiles it through `include`, the
94
+ * class-registration manifest still globs it into the registry, and the CodeGen-tail guard
95
+ * reads every `.ts` in the directory regardless of what the barrel names. So a deleted
96
+ * entity keeps a live `@RegisterClass` registration and inflates the roster the guard
97
+ * compares. The old monolith could not drift this way; it was rewritten in full every run.
98
+ *
99
+ * Safe under dirty-schema regen: `schemas` is the full set for the run, so a schema that
100
+ * simply was not dirty this time is still live and is never pruned.
101
+ */
102
+ export declare function pruneOrphanedSchemaFiles(directory: string, schemas: readonly string[]): string[];
103
+ /**
104
+ * Fill in a partial {@link SchemaEmitOptions} from config defaults.
105
+ *
106
+ * Shared by both generators so the defaults cannot drift between entity subclasses and
107
+ * GraphQL resolvers — they must agree, or one emits per-schema while the other emits a
108
+ * monolith and the two rosters stop lining up.
109
+ *
110
+ * `parallel` / `concurrency` are resolved for every caller even though only the entity
111
+ * generator uses them: its per-schema assembly is async (each file awaits its entities),
112
+ * while GraphQL assembly is synchronous, so there is nothing to overlap there.
113
+ */
114
+ export declare function resolveSchemaEmitOptions(options: SchemaEmitOptions | undefined, defaults: SchemaEmitOptions | undefined): Required<SchemaEmitOptions>;
115
+ /**
116
+ * Write one emitted file, honouring the write-if-changed setting.
117
+ *
118
+ * Shared for the same reason as {@link resolveSchemaEmitOptions}: both generators must treat
119
+ * an unchanged file identically, or one leaves mtimes alone while the other churns them and
120
+ * downstream incremental builds see phantom work.
121
+ */
122
+ export declare function emitSchemaFile(filePath: string, content: string, useWriteIfChanged: boolean): void;
123
+ //# sourceMappingURL=schema-emit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-emit.d.ts","sourceRoot":"","sources":["../../src/Misc/schema-emit.ts"],"names":[],"mappings":"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"}