@memberjunction/codegen-lib 6.1.0-edge.3 → 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 (107) hide show
  1. package/README.md +50 -21
  2. package/dist/Config/config.d.ts +290 -11
  3. package/dist/Config/config.d.ts.map +1 -1
  4. package/dist/Config/config.js +259 -9
  5. package/dist/Config/config.js.map +1 -1
  6. package/dist/Config/schema-output.d.ts +33 -0
  7. package/dist/Config/schema-output.d.ts.map +1 -0
  8. package/dist/Config/schema-output.js +52 -0
  9. package/dist/Config/schema-output.js.map +1 -0
  10. package/dist/Database/__tests__/exclude-schema-permissions.test.d.ts +2 -0
  11. package/dist/Database/__tests__/exclude-schema-permissions.test.d.ts.map +1 -0
  12. package/dist/Database/__tests__/exclude-schema-permissions.test.js +32 -0
  13. package/dist/Database/__tests__/exclude-schema-permissions.test.js.map +1 -0
  14. package/dist/Database/codeGenDatabaseProvider.d.ts +126 -2
  15. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  16. package/dist/Database/codeGenDatabaseProvider.js +203 -0
  17. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  18. package/dist/Database/exclude-tables.d.ts +26 -0
  19. package/dist/Database/exclude-tables.d.ts.map +1 -0
  20. package/dist/Database/exclude-tables.js +38 -0
  21. package/dist/Database/exclude-tables.js.map +1 -0
  22. package/dist/Database/heal-schema-params.d.ts +33 -0
  23. package/dist/Database/heal-schema-params.d.ts.map +1 -0
  24. package/dist/Database/heal-schema-params.js +51 -0
  25. package/dist/Database/heal-schema-params.js.map +1 -0
  26. package/dist/Database/manage-metadata.d.ts +59 -0
  27. package/dist/Database/manage-metadata.d.ts.map +1 -1
  28. package/dist/Database/manage-metadata.js +157 -61
  29. package/dist/Database/manage-metadata.js.map +1 -1
  30. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +25 -35
  31. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  32. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +97 -51
  33. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  34. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.d.ts +2 -0
  35. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.d.ts.map +1 -0
  36. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.js +110 -0
  37. package/dist/Database/providers/postgresql/__tests__/SoftPrimaryKeyIndex.test.js.map +1 -0
  38. package/dist/Database/providers/postgresql/metadataSupportObjects.js +78 -10
  39. package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
  40. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +14 -0
  41. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  42. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +38 -0
  43. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  44. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js +17 -0
  45. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js.map +1 -1
  46. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.d.ts +2 -0
  47. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.d.ts.map +1 -0
  48. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.js +195 -0
  49. package/dist/Database/providers/sqlserver/__tests__/SoftPrimaryKeyIndex.test.js.map +1 -0
  50. package/dist/Database/schema-filters.d.ts +23 -0
  51. package/dist/Database/schema-filters.d.ts.map +1 -0
  52. package/dist/Database/schema-filters.js +42 -0
  53. package/dist/Database/schema-filters.js.map +1 -0
  54. package/dist/Database/schema-scope.d.ts.map +1 -1
  55. package/dist/Database/schema-scope.js +4 -0
  56. package/dist/Database/schema-scope.js.map +1 -1
  57. package/dist/Database/sql_codegen.d.ts +33 -0
  58. package/dist/Database/sql_codegen.d.ts.map +1 -1
  59. package/dist/Database/sql_codegen.js +147 -56
  60. package/dist/Database/sql_codegen.js.map +1 -1
  61. package/dist/EntityNameScanner/EntityNameScanner.d.ts.map +1 -1
  62. package/dist/EntityNameScanner/EntityNameScanner.js +33 -2
  63. package/dist/EntityNameScanner/EntityNameScanner.js.map +1 -1
  64. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +30 -4
  65. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  66. package/dist/Manifest/GenerateClassRegistrationsManifest.js +175 -25
  67. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  68. package/dist/Misc/codegen-reporter.d.ts +3 -0
  69. package/dist/Misc/codegen-reporter.d.ts.map +1 -1
  70. package/dist/Misc/codegen-reporter.js +3 -0
  71. package/dist/Misc/codegen-reporter.js.map +1 -1
  72. package/dist/Misc/emit-stats.d.ts +28 -0
  73. package/dist/Misc/emit-stats.d.ts.map +1 -0
  74. package/dist/Misc/emit-stats.js +43 -0
  75. package/dist/Misc/emit-stats.js.map +1 -0
  76. package/dist/Misc/entity_subclasses_codegen.d.ts +42 -7
  77. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  78. package/dist/Misc/entity_subclasses_codegen.js +177 -52
  79. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  80. package/dist/Misc/file-write.d.ts +15 -0
  81. package/dist/Misc/file-write.d.ts.map +1 -0
  82. package/dist/Misc/file-write.js +33 -0
  83. package/dist/Misc/file-write.js.map +1 -0
  84. package/dist/Misc/graphql_server_codegen.d.ts +12 -2
  85. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  86. package/dist/Misc/graphql_server_codegen.js +61 -12
  87. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  88. package/dist/Misc/runCommand.d.ts +5 -0
  89. package/dist/Misc/runCommand.d.ts.map +1 -1
  90. package/dist/Misc/runCommand.js +43 -17
  91. package/dist/Misc/runCommand.js.map +1 -1
  92. package/dist/Misc/schema-emit.d.ts +123 -0
  93. package/dist/Misc/schema-emit.d.ts.map +1 -0
  94. package/dist/Misc/schema-emit.js +220 -0
  95. package/dist/Misc/schema-emit.js.map +1 -0
  96. package/dist/Misc/system_integrity.d.ts.map +1 -1
  97. package/dist/Misc/system_integrity.js +5 -0
  98. package/dist/Misc/system_integrity.js.map +1 -1
  99. package/dist/index.d.ts +6 -0
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +6 -0
  102. package/dist/index.js.map +1 -1
  103. package/dist/runCodeGen.d.ts +20 -2
  104. package/dist/runCodeGen.d.ts.map +1 -1
  105. package/dist/runCodeGen.js +147 -21
  106. package/dist/runCodeGen.js.map +1 -1
  107. package/package.json +29 -29
@@ -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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"}
@@ -0,0 +1,220 @@
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
+ import fs from 'fs';
11
+ import path from 'path';
12
+ import { writeFileIfChanged } from './file-write.js';
13
+ /**
14
+ * Case-insensitive schema match. `%` is the only wildcard (SQL `_` is a
15
+ * literal — schema names like `bsd_crm` are common and must not glob).
16
+ */
17
+ /** Case-insensitive schema/entity key. Null/undefined become ''. */
18
+ export function schemaKey(name) {
19
+ return (name ?? '').trim().toLowerCase();
20
+ }
21
+ export function schemaNameMatches(pattern, schemaName) {
22
+ const p = schemaKey(pattern);
23
+ const s = schemaKey(schemaName);
24
+ if (!p.includes('%')) {
25
+ return p === s;
26
+ }
27
+ const escaped = p.replace(/[.+^${}()|[\]\\]/g, '\\$&').replace(/%/g, '.*');
28
+ return new RegExp(`^${escaped}$`).test(s);
29
+ }
30
+ /**
31
+ * Turn a SQL schema name into a safe TypeScript file stem.
32
+ * `__mj` stays `__mj`; `bsd_crm` stays `bsd_crm`; `Sales.Analytics` becomes `Sales_Analytics`.
33
+ */
34
+ export function sanitizeSchemaFileName(schemaName) {
35
+ // Keep leading underscores — `__mj` is a real schema name and a valid file stem.
36
+ const cleaned = (schemaName ?? '').trim().replace(/[^A-Za-z0-9_]+/g, '_').replace(/_+$/g, '');
37
+ return cleaned.length > 0 ? cleaned : 'schema';
38
+ }
39
+ /**
40
+ * Group entities by their raw `SchemaName` (trimmed, original casing of the
41
+ * first occurrence). Order inside each group is the input order.
42
+ */
43
+ export function groupEntitiesBySchema(entities) {
44
+ const map = new Map();
45
+ for (const entity of entities) {
46
+ const key = (entity.SchemaName ?? '').trim() || 'unknown';
47
+ const list = map.get(key);
48
+ if (list) {
49
+ list.push(entity);
50
+ }
51
+ else {
52
+ map.set(key, [entity]);
53
+ }
54
+ }
55
+ return map;
56
+ }
57
+ /**
58
+ * Map dirty entity names (from `newEntityList` ∪ `modifiedEntityList`) back to
59
+ * the schemas those entities live in. Comparison is case-insensitive.
60
+ */
61
+ /**
62
+ * Resolve which schemas a file-emit pass should rebuild.
63
+ * `--skipdb` and `dirtySchemaOnly === false` rebuild every schema (write-if-changed
64
+ * still keeps mtimes stable). Otherwise only schemas that contain a new/modified
65
+ * entity are dirty — missing files are added later by {@link schemasToEmit}.
66
+ */
67
+ export function resolveDirtySchemasForEmit(entities, dirtyEntityNames, skipDB, dirtySchemaOnly, deletedEntitySchemas = []) {
68
+ if (skipDB || !dirtySchemaOnly) {
69
+ return 'all';
70
+ }
71
+ const schemas = collectDirtySchemas(entities, dirtyEntityNames);
72
+ // Deletion arrives as a schema, not an entity name: by the time this runs the entity is gone
73
+ // from `entities`, so `collectDirtySchemas` could never resolve it. Union it in directly, or
74
+ // the schema is not rebuilt and the dead class survives on disk.
75
+ for (const schema of deletedEntitySchemas) {
76
+ const trimmed = (schema ?? '').trim();
77
+ if (trimmed.length > 0) {
78
+ schemas.add(trimmed);
79
+ }
80
+ }
81
+ return schemas;
82
+ }
83
+ export function collectDirtySchemas(entities, dirtyEntityNames) {
84
+ const dirty = new Set();
85
+ for (const name of dirtyEntityNames) {
86
+ const key = schemaKey(name);
87
+ if (key.length > 0) {
88
+ dirty.add(key);
89
+ }
90
+ }
91
+ const schemas = new Set();
92
+ if (dirty.size === 0) {
93
+ return schemas;
94
+ }
95
+ for (const entity of entities) {
96
+ if (dirty.has(schemaKey(entity.Name))) {
97
+ const schema = (entity.SchemaName ?? '').trim();
98
+ if (schema.length > 0) {
99
+ schemas.add(schema);
100
+ }
101
+ }
102
+ }
103
+ return schemas;
104
+ }
105
+ /**
106
+ * Decide which schema files to rebuild. Missing files are always rebuilt so a
107
+ * fresh clone / first run is complete. When `dirty` is `'all'` every schema is
108
+ * rebuilt (callers still use write-if-changed to keep mtimes stable).
109
+ */
110
+ export function schemasToEmit(allSchemas, dirty, fileExists) {
111
+ if (dirty === 'all' || dirty == null) {
112
+ return [...allSchemas];
113
+ }
114
+ const dirtyLower = new Set([...dirty].map((s) => s.trim().toLowerCase()));
115
+ return allSchemas.filter((schema) => {
116
+ if (!fileExists(schema)) {
117
+ return true;
118
+ }
119
+ return dirtyLower.has(schema.trim().toLowerCase());
120
+ });
121
+ }
122
+ /**
123
+ * Bounded parallel map. Order of results matches `items`. A limit of 1 is serial.
124
+ */
125
+ export async function mapLimit(items, limit, mapper) {
126
+ const concurrency = Math.max(1, Math.floor(limit));
127
+ const results = new Array(items.length);
128
+ let next = 0;
129
+ const workers = Array.from({ length: Math.min(concurrency, items.length) }, async () => {
130
+ while (next < items.length) {
131
+ const index = next;
132
+ next += 1;
133
+ results[index] = await mapper(items[index], index);
134
+ }
135
+ });
136
+ await Promise.all(workers);
137
+ return results;
138
+ }
139
+ /**
140
+ * Barrel that re-exports every per-schema file. Uses `.js` specifiers so the
141
+ * file is valid in `"type": "module"` packages (MJCoreEntities, MJServer).
142
+ */
143
+ export function buildSchemaBarrel(schemas, relativeDir, extraHeader) {
144
+ const dir = relativeDir.replace(/\\/g, '/').replace(/\/+$/, '');
145
+ const exports = [...schemas]
146
+ .sort((a, b) => a.localeCompare(b))
147
+ .map((schema) => `export * from './${dir}/${sanitizeSchemaFileName(schema)}.js';`)
148
+ .join('\n');
149
+ return `${extraHeader}${exports}\n`;
150
+ }
151
+ /**
152
+ * Names of files in a per-schema emit directory that no live schema claims.
153
+ *
154
+ * Kept pure and separate from the deletion so the decision is testable without a
155
+ * filesystem. `fileNames` is a plain directory listing; `schemas` is every schema in the
156
+ * run, not just the dirty subset.
157
+ */
158
+ export function selectOrphanedSchemaFiles(fileNames, schemas) {
159
+ const live = new Set(schemas.map((schema) => `${sanitizeSchemaFileName(schema)}.ts`));
160
+ return fileNames.filter((name) => name.endsWith('.ts') && !live.has(name)).sort();
161
+ }
162
+ /**
163
+ * Delete per-schema files that no live schema claims, returning what was removed.
164
+ *
165
+ * A schema that empties out — its last table dropped — leaves its file on disk. The barrel
166
+ * stops exporting it, which is not enough: `tsc` still compiles it through `include`, the
167
+ * class-registration manifest still globs it into the registry, and the CodeGen-tail guard
168
+ * reads every `.ts` in the directory regardless of what the barrel names. So a deleted
169
+ * entity keeps a live `@RegisterClass` registration and inflates the roster the guard
170
+ * compares. The old monolith could not drift this way; it was rewritten in full every run.
171
+ *
172
+ * Safe under dirty-schema regen: `schemas` is the full set for the run, so a schema that
173
+ * simply was not dirty this time is still live and is never pruned.
174
+ */
175
+ export function pruneOrphanedSchemaFiles(directory, schemas) {
176
+ if (!fs.existsSync(directory)) {
177
+ return [];
178
+ }
179
+ const orphans = selectOrphanedSchemaFiles(fs.readdirSync(directory), schemas);
180
+ for (const name of orphans) {
181
+ fs.unlinkSync(path.join(directory, name));
182
+ }
183
+ return orphans;
184
+ }
185
+ /**
186
+ * Fill in a partial {@link SchemaEmitOptions} from config defaults.
187
+ *
188
+ * Shared by both generators so the defaults cannot drift between entity subclasses and
189
+ * GraphQL resolvers — they must agree, or one emits per-schema while the other emits a
190
+ * monolith and the two rosters stop lining up.
191
+ *
192
+ * `parallel` / `concurrency` are resolved for every caller even though only the entity
193
+ * generator uses them: its per-schema assembly is async (each file awaits its entities),
194
+ * while GraphQL assembly is synchronous, so there is nothing to overlap there.
195
+ */
196
+ export function resolveSchemaEmitOptions(options, defaults) {
197
+ return {
198
+ perSchema: options?.perSchema ?? defaults?.perSchema ?? true,
199
+ dirtySchemas: options?.dirtySchemas ?? 'all',
200
+ parallel: options?.parallel ?? defaults?.parallel ?? true,
201
+ concurrency: options?.concurrency ?? defaults?.concurrency ?? 8,
202
+ writeIfChanged: options?.writeIfChanged ?? defaults?.writeIfChanged ?? true,
203
+ };
204
+ }
205
+ /**
206
+ * Write one emitted file, honouring the write-if-changed setting.
207
+ *
208
+ * Shared for the same reason as {@link resolveSchemaEmitOptions}: both generators must treat
209
+ * an unchanged file identically, or one leaves mtimes alone while the other churns them and
210
+ * downstream incremental builds see phantom work.
211
+ */
212
+ export function emitSchemaFile(filePath, content, useWriteIfChanged) {
213
+ if (useWriteIfChanged) {
214
+ writeFileIfChanged(filePath, content);
215
+ return;
216
+ }
217
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
218
+ fs.writeFileSync(filePath, content);
219
+ }
220
+ //# sourceMappingURL=schema-emit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-emit.js","sourceRoot":"","sources":["../../src/Misc/schema-emit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system_integrity.d.ts","sourceRoot":"","sources":["../../src/Misc/system_integrity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAKxE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnE,CAAA;AAyBD;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAM7B;IAEF;;;;OAIG;WACiB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAoClJ;;;;;;OAMG;WACiB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrG;;;;;OAKG;WACiB,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;qBAIvG,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAgFnI"}
1
+ {"version":3,"file":"system_integrity.d.ts","sourceRoot":"","sources":["../../src/Misc/system_integrity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAKxE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnE,CAAA;AAyBD;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAM7B;IAEF;;;;OAIG;WACiB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAoClJ;;;;;;OAMG;WACiB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrG;;;;;OAKG;WACiB,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;qBAIvG,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAwFnI"}
@@ -106,7 +106,12 @@ export class SystemIntegrityBase {
106
106
  let lastEntity = "";
107
107
  // loop through all the fields. Each time the entity changes, check to see if there are any duplicate fields
108
108
  // that has the same sequence number and flag that as an error.
109
+ const excludedSchemas = new Set((configInfo.excludeSchemas ?? []).map((s) => s.toLowerCase()));
109
110
  for (const row of result) {
111
+ if (excludedSchemas.has(String(row.SchemaName ?? '').toLowerCase())) {
112
+ lastEntity = row.Entity;
113
+ continue;
114
+ }
110
115
  if (lastEntity !== row.Entity) {
111
116
  // we have a new entity, check all the fields in this entity
112
117
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1 +1 @@
1
- {"version":3,"file":"system_integrity.js","sourceRoot":"","sources":["../../src/Misc/system_integrity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system_integrity.js","sourceRoot":"","sources":["../../src/Misc/system_integrity.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -48,6 +48,12 @@ export * from './Database/dbSchema.js';
48
48
  export * from './Database/manage-metadata.js';
49
49
  export * from './Database/sql_codegen.js';
50
50
  export * from './Database/sql.js';
51
+ export * from './Database/schema-scope.js';
52
+ export * from './Database/exclude-tables.js';
53
+ export * from './Config/schema-output.js';
54
+ export * from './Misc/file-write.js';
55
+ export * from './Misc/emit-stats.js';
56
+ export * from './Misc/schema-emit.js';
51
57
  export * from './Misc/entity_subclasses_codegen.js';
52
58
  export * from './Misc/action_subclasses_codegen.js';
53
59
  export * from './Misc/remote_operations_codegen.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAGtC,cAAc,oCAAoC,CAAA;AAClD,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAG9B,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAA;AAG7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AAGvC,cAAc,+CAA+C,CAAA;AAG7D,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2CAA2C,CAAA;AAGzD,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAGtC,cAAc,oCAAoC,CAAA;AAClD,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAA;AAG7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AAGvC,cAAc,+CAA+C,CAAA;AAG7D,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2CAA2C,CAAA;AAGzD,cAAc,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -50,6 +50,12 @@ export * from './Database/dbSchema.js';
50
50
  export * from './Database/manage-metadata.js';
51
51
  export * from './Database/sql_codegen.js';
52
52
  export * from './Database/sql.js';
53
+ export * from './Database/schema-scope.js';
54
+ export * from './Database/exclude-tables.js';
55
+ export * from './Config/schema-output.js';
56
+ export * from './Misc/file-write.js';
57
+ export * from './Misc/emit-stats.js';
58
+ export * from './Misc/schema-emit.js';
53
59
  // Code generation exports
54
60
  export * from './Misc/entity_subclasses_codegen.js';
55
61
  export * from './Misc/action_subclasses_codegen.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAEtC,mBAAmB;AACnB,cAAc,oCAAoC,CAAA;AAClD,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAE9B,0BAA0B;AAC1B,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAA;AAE7C,kBAAkB;AAClB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAE5D,kBAAkB;AAClB,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AAEvC,sBAAsB;AACtB,cAAc,+CAA+C,CAAA;AAE7D,uBAAuB;AACvB,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2CAA2C,CAAA;AAEzD,cAAc;AACd,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AAEtC,mBAAmB;AACnB,cAAc,oCAAoC,CAAA;AAClD,cAAc,yDAAyD,CAAA;AACvE,cAAc,2DAA2D,CAAA;AACzE,cAAc,2DAA2D,CAAA;AACzE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAElC,0BAA0B;AAC1B,cAAc,kCAAkC,CAAA;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAA;AAE7C,kBAAkB;AAClB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAE5D,kBAAkB;AAClB,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA;AAEvC,sBAAsB;AACtB,cAAc,+CAA+C,CAAA;AAE7D,uBAAuB;AACvB,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2CAA2C,CAAA;AAEzD,cAAc;AACd,cAAc,cAAc,CAAA"}
@@ -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;IAyVpK;;;;;;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"}