@memberjunction/codegen-lib 4.4.0 → 5.1.0

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 (47) hide show
  1. package/README.md +163 -0
  2. package/dist/Angular/angular-codegen.d.ts +12 -0
  3. package/dist/Angular/angular-codegen.d.ts.map +1 -1
  4. package/dist/Angular/angular-codegen.js +78 -12
  5. package/dist/Angular/angular-codegen.js.map +1 -1
  6. package/dist/Angular/related-entity-components.d.ts.map +1 -1
  7. package/dist/Angular/related-entity-components.js +10 -3
  8. package/dist/Angular/related-entity-components.js.map +1 -1
  9. package/dist/Database/manage-metadata.d.ts +40 -0
  10. package/dist/Database/manage-metadata.d.ts.map +1 -1
  11. package/dist/Database/manage-metadata.js +103 -13
  12. package/dist/Database/manage-metadata.js.map +1 -1
  13. package/dist/Database/sql_codegen.d.ts +10 -3
  14. package/dist/Database/sql_codegen.d.ts.map +1 -1
  15. package/dist/Database/sql_codegen.js +79 -15
  16. package/dist/Database/sql_codegen.js.map +1 -1
  17. package/dist/EntityNameScanner/EntityNameScanner.d.ts +166 -0
  18. package/dist/EntityNameScanner/EntityNameScanner.d.ts.map +1 -0
  19. package/dist/EntityNameScanner/EntityNameScanner.js +758 -0
  20. package/dist/EntityNameScanner/EntityNameScanner.js.map +1 -0
  21. package/dist/EntityNameScanner/HtmlEntityNameScanner.d.ts +86 -0
  22. package/dist/EntityNameScanner/HtmlEntityNameScanner.d.ts.map +1 -0
  23. package/dist/EntityNameScanner/HtmlEntityNameScanner.js +262 -0
  24. package/dist/EntityNameScanner/HtmlEntityNameScanner.js.map +1 -0
  25. package/dist/EntityNameScanner/MetadataNameScanner.d.ts +90 -0
  26. package/dist/EntityNameScanner/MetadataNameScanner.d.ts.map +1 -0
  27. package/dist/EntityNameScanner/MetadataNameScanner.js +426 -0
  28. package/dist/EntityNameScanner/MetadataNameScanner.js.map +1 -0
  29. package/dist/EntityNameScanner/entity-rename-map.d.ts +31 -0
  30. package/dist/EntityNameScanner/entity-rename-map.d.ts.map +1 -0
  31. package/dist/EntityNameScanner/entity-rename-map.js +3012 -0
  32. package/dist/EntityNameScanner/entity-rename-map.js.map +1 -0
  33. package/dist/Misc/action_subclasses_codegen.d.ts +2 -2
  34. package/dist/Misc/action_subclasses_codegen.d.ts.map +1 -1
  35. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  36. package/dist/Misc/createNewUser.js +6 -6
  37. package/dist/Misc/createNewUser.js.map +1 -1
  38. package/dist/Misc/entity_subclasses_codegen.js +2 -2
  39. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  40. package/dist/index.d.ts +3 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +4 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/runCodeGen.d.ts.map +1 -1
  45. package/dist/runCodeGen.js +24 -3
  46. package/dist/runCodeGen.js.map +1 -1
  47. package/package.json +15 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityNameScanner.js","sourceRoot":"","sources":["../../src/EntityNameScanner/EntityNameScanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Regex-based scanner/fixer for hardcoded entity names in Angular HTML templates.
3
+ *
4
+ * Since HTML templates cannot be parsed with the TypeScript AST, this scanner
5
+ * uses targeted regex patterns to find entity name references in:
6
+ * - Method calls in template expressions (event bindings, property bindings)
7
+ * - Static attribute values for entity-name-related attributes
8
+ *
9
+ * Uses the same rename map as EntityNameScanner (built from entity_subclasses.ts).
10
+ *
11
+ * Usage (via MJCLI):
12
+ * mj codegen fix-html-entity-names --path packages/Angular
13
+ * mj codegen fix-html-entity-names --path packages/Angular --fix
14
+ *
15
+ * Or programmatically:
16
+ * import { scanHtmlEntityNames } from '@memberjunction/codegen-lib';
17
+ * const result = await scanHtmlEntityNames({ TargetPath: './packages/Angular' });
18
+ */
19
+ /** The kind of HTML pattern where an old entity name was found. */
20
+ export type HtmlPatternKind = 'methodCallSingleQuote' | 'methodCallDoubleQuote' | 'attributeValue';
21
+ /**
22
+ * A single finding: one entity name reference in an HTML template that needs
23
+ * the "MJ: " prefix.
24
+ */
25
+ export interface HtmlEntityNameFinding {
26
+ /** Absolute path to the source file */
27
+ FilePath: string;
28
+ /** 1-based line number */
29
+ Line: number;
30
+ /** The old entity name found */
31
+ OldName: string;
32
+ /** The corrected entity name */
33
+ NewName: string;
34
+ /** The kind of HTML pattern matched */
35
+ PatternKind: HtmlPatternKind;
36
+ /** Contextual description of the match */
37
+ Context: string;
38
+ }
39
+ /**
40
+ * Options for the HTML entity name scanner.
41
+ */
42
+ export interface HtmlEntityNameScanOptions {
43
+ /** File or directory to scan */
44
+ TargetPath: string;
45
+ /**
46
+ * Path to entity_subclasses.ts for building the rename map.
47
+ * If not provided, attempts to locate it relative to common workspace roots.
48
+ */
49
+ EntitySubclassesPath?: string;
50
+ /** Whether to apply fixes in place. Default: false (dry-run). */
51
+ Fix?: boolean;
52
+ /** Additional glob patterns to exclude from scanning. */
53
+ ExcludePatterns?: string[];
54
+ /** If true, logs progress to console. Default: true. */
55
+ Verbose?: boolean;
56
+ }
57
+ /**
58
+ * Result of a scan (and optional fix) operation.
59
+ */
60
+ export interface HtmlEntityNameScanResult {
61
+ Success: boolean;
62
+ /** All findings across all scanned files */
63
+ Findings: HtmlEntityNameFinding[];
64
+ /** Absolute paths of files that were modified (only in fix mode) */
65
+ FixedFiles: string[];
66
+ /** Number of files scanned */
67
+ FilesScanned: number;
68
+ /** Number of entries in the rename map */
69
+ RenameMapSize: number;
70
+ /** Errors encountered during scanning */
71
+ Errors: string[];
72
+ }
73
+ /**
74
+ * Scans a single HTML file for entity name references that need the "MJ: " prefix.
75
+ */
76
+ export declare function scanHtmlFile(filePath: string, sourceText: string, renameMap: Map<string, string>): HtmlEntityNameFinding[];
77
+ /**
78
+ * Applies entity name fixes to an HTML file using targeted string replacements.
79
+ */
80
+ export declare function fixHtmlFile(sourceText: string, findings: HtmlEntityNameFinding[]): string;
81
+ /**
82
+ * Scans HTML template files for hardcoded entity names that need the "MJ: " prefix,
83
+ * and optionally fixes them in place.
84
+ */
85
+ export declare function scanHtmlEntityNames(options: HtmlEntityNameScanOptions): Promise<HtmlEntityNameScanResult>;
86
+ //# sourceMappingURL=HtmlEntityNameScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlEntityNameScanner.d.ts","sourceRoot":"","sources":["../../src/EntityNameScanner/HtmlEntityNameScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAWH,mEAAmE;AACnE,MAAM,MAAM,eAAe,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,gBAAgB,CAAC;AAEvB;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,WAAW,EAAE,eAAe,CAAC;IAC7B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iEAAiE;IACjE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AA2ED;;GAEG;AACH,wBAAgB,YAAY,CACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,qBAAqB,EAAE,CAsDzB;AAMD;;GAEG;AACH,wBAAgB,WAAW,CACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,qBAAqB,EAAE,GAClC,MAAM,CAaR;AAWD;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,yBAAyB,GACnC,OAAO,CAAC,wBAAwB,CAAC,CA+FnC"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * Regex-based scanner/fixer for hardcoded entity names in Angular HTML templates.
3
+ *
4
+ * Since HTML templates cannot be parsed with the TypeScript AST, this scanner
5
+ * uses targeted regex patterns to find entity name references in:
6
+ * - Method calls in template expressions (event bindings, property bindings)
7
+ * - Static attribute values for entity-name-related attributes
8
+ *
9
+ * Uses the same rename map as EntityNameScanner (built from entity_subclasses.ts).
10
+ *
11
+ * Usage (via MJCLI):
12
+ * mj codegen fix-html-entity-names --path packages/Angular
13
+ * mj codegen fix-html-entity-names --path packages/Angular --fix
14
+ *
15
+ * Or programmatically:
16
+ * import { scanHtmlEntityNames } from '@memberjunction/codegen-lib';
17
+ * const result = await scanHtmlEntityNames({ TargetPath: './packages/Angular' });
18
+ */
19
+ import * as fs from 'fs';
20
+ import * as path from 'path';
21
+ import { glob } from 'glob';
22
+ import { resolveEntityNameMap } from './EntityNameScanner.js';
23
+ // ============================================================================
24
+ // Default Configuration
25
+ // ============================================================================
26
+ const DEFAULT_EXCLUDE_PATTERNS = [
27
+ '**/node_modules/**',
28
+ '**/dist/**',
29
+ '**/build/**',
30
+ '**/.git/**',
31
+ '**/generated/**',
32
+ '**/Demos/**',
33
+ ];
34
+ /**
35
+ * Method names that take an entity name as their first string argument
36
+ * in Angular template expressions.
37
+ */
38
+ const HTML_ENTITY_NAME_METHODS = [
39
+ 'navigateToEntity',
40
+ 'openEntityRecord',
41
+ 'OpenEntityRecord',
42
+ 'BuildRelationshipViewParamsByEntityName',
43
+ 'NewRecordValues',
44
+ 'IsCurrentTab',
45
+ 'GetEntityObject',
46
+ ];
47
+ /**
48
+ * HTML attribute names whose static string value is an entity name.
49
+ */
50
+ const HTML_ENTITY_NAME_ATTRIBUTES = [
51
+ 'RowsEntityName',
52
+ 'JoinEntityName',
53
+ ];
54
+ // ============================================================================
55
+ // HTML File Scanner
56
+ // ============================================================================
57
+ /**
58
+ * Builds regex patterns for matching entity name references in HTML templates.
59
+ */
60
+ function buildMethodCallRegexes() {
61
+ const methodGroup = HTML_ENTITY_NAME_METHODS.join('|');
62
+ return [
63
+ // Single-quoted: someMethod('EntityName' — in event/property bindings
64
+ new RegExp(`(?:${methodGroup})\\s*\\(\\s*'([^']+)'`, 'g'),
65
+ // Double-quoted inside single-quoted binding: someMethod("EntityName"
66
+ // This handles cases like (click)="someMethod('EntityName')"
67
+ // The outer quotes are double, inner are single — already caught above.
68
+ // But also: [Prop]="someMethod('EntityName')" — same pattern.
69
+ ];
70
+ }
71
+ function buildAttributeRegexes() {
72
+ const attrGroup = HTML_ENTITY_NAME_ATTRIBUTES.join('|');
73
+ return [
74
+ // Static attribute: RowsEntityName="Entity Name"
75
+ new RegExp(`(?:${attrGroup})="([^"]+)"`, 'g'),
76
+ ];
77
+ }
78
+ /**
79
+ * Gets the 1-based line number for a character offset in the source text.
80
+ */
81
+ function getLineNumber(sourceText, offset) {
82
+ let line = 1;
83
+ for (let i = 0; i < offset && i < sourceText.length; i++) {
84
+ if (sourceText[i] === '\n')
85
+ line++;
86
+ }
87
+ return line;
88
+ }
89
+ /**
90
+ * Scans a single HTML file for entity name references that need the "MJ: " prefix.
91
+ */
92
+ export function scanHtmlFile(filePath, sourceText, renameMap) {
93
+ const findings = [];
94
+ // Quick check: does this file contain any old entity name?
95
+ let hasRelevantContent = false;
96
+ for (const oldName of renameMap.keys()) {
97
+ if (sourceText.includes(oldName)) {
98
+ hasRelevantContent = true;
99
+ break;
100
+ }
101
+ }
102
+ if (!hasRelevantContent)
103
+ return findings;
104
+ // Scan method call patterns
105
+ const methodRegexes = buildMethodCallRegexes();
106
+ for (const regex of methodRegexes) {
107
+ regex.lastIndex = 0;
108
+ let match;
109
+ while ((match = regex.exec(sourceText)) !== null) {
110
+ const entityName = match[1];
111
+ if (renameMap.has(entityName)) {
112
+ findings.push({
113
+ FilePath: filePath,
114
+ Line: getLineNumber(sourceText, match.index),
115
+ OldName: entityName,
116
+ NewName: renameMap.get(entityName),
117
+ PatternKind: 'methodCallSingleQuote',
118
+ Context: match[0],
119
+ });
120
+ }
121
+ }
122
+ }
123
+ // Scan attribute patterns
124
+ const attrRegexes = buildAttributeRegexes();
125
+ for (const regex of attrRegexes) {
126
+ regex.lastIndex = 0;
127
+ let match;
128
+ while ((match = regex.exec(sourceText)) !== null) {
129
+ const entityName = match[1];
130
+ if (renameMap.has(entityName)) {
131
+ findings.push({
132
+ FilePath: filePath,
133
+ Line: getLineNumber(sourceText, match.index),
134
+ OldName: entityName,
135
+ NewName: renameMap.get(entityName),
136
+ PatternKind: 'attributeValue',
137
+ Context: match[0],
138
+ });
139
+ }
140
+ }
141
+ }
142
+ return findings;
143
+ }
144
+ // ============================================================================
145
+ // HTML File Fixer
146
+ // ============================================================================
147
+ /**
148
+ * Applies entity name fixes to an HTML file using targeted string replacements.
149
+ */
150
+ export function fixHtmlFile(sourceText, findings) {
151
+ if (findings.length === 0)
152
+ return sourceText;
153
+ let result = sourceText;
154
+ for (const finding of findings) {
155
+ // Replace old context with new context (old name swapped for new name)
156
+ const oldContext = finding.Context;
157
+ const newContext = oldContext.replace(finding.OldName, finding.NewName);
158
+ result = replaceAll(result, oldContext, newContext);
159
+ }
160
+ return result;
161
+ }
162
+ /** Simple replaceAll using split/join for broad compatibility. */
163
+ function replaceAll(text, search, replacement) {
164
+ return text.split(search).join(replacement);
165
+ }
166
+ // ============================================================================
167
+ // Main Entry Point
168
+ // ============================================================================
169
+ /**
170
+ * Scans HTML template files for hardcoded entity names that need the "MJ: " prefix,
171
+ * and optionally fixes them in place.
172
+ */
173
+ export async function scanHtmlEntityNames(options) {
174
+ const errors = [];
175
+ const verbose = options.Verbose !== false;
176
+ // Resolve target path
177
+ const targetPath = path.resolve(options.TargetPath);
178
+ if (!fs.existsSync(targetPath)) {
179
+ return {
180
+ Success: false,
181
+ Findings: [],
182
+ FixedFiles: [],
183
+ FilesScanned: 0,
184
+ RenameMapSize: 0,
185
+ Errors: [`Target path does not exist: ${targetPath}`],
186
+ };
187
+ }
188
+ // Build rename map (tries .ts file first, falls back to embedded rename map)
189
+ let renameMap;
190
+ try {
191
+ renameMap = resolveEntityNameMap(targetPath, options.EntitySubclassesPath, verbose);
192
+ }
193
+ catch (err) {
194
+ return {
195
+ Success: false,
196
+ Findings: [],
197
+ FixedFiles: [],
198
+ FilesScanned: 0,
199
+ RenameMapSize: 0,
200
+ Errors: [err.message],
201
+ };
202
+ }
203
+ // Find HTML files
204
+ const isFile = fs.statSync(targetPath).isFile();
205
+ let htmlFiles;
206
+ if (isFile) {
207
+ htmlFiles = [targetPath];
208
+ }
209
+ else {
210
+ const excludePatterns = [
211
+ ...DEFAULT_EXCLUDE_PATTERNS,
212
+ ...(options.ExcludePatterns ?? []),
213
+ ];
214
+ htmlFiles = await glob('**/*.html', {
215
+ cwd: targetPath,
216
+ absolute: true,
217
+ ignore: excludePatterns,
218
+ });
219
+ }
220
+ if (verbose) {
221
+ console.log(`Scanning ${htmlFiles.length} HTML files...`);
222
+ }
223
+ // Scan files
224
+ const allFindings = [];
225
+ const fixedFiles = [];
226
+ for (const filePath of htmlFiles) {
227
+ try {
228
+ const sourceText = fs.readFileSync(filePath, 'utf-8');
229
+ const findings = scanHtmlFile(filePath, sourceText, renameMap);
230
+ if (findings.length > 0) {
231
+ allFindings.push(...findings);
232
+ if (options.Fix) {
233
+ const fixedText = fixHtmlFile(sourceText, findings);
234
+ fs.writeFileSync(filePath, fixedText, 'utf-8');
235
+ fixedFiles.push(filePath);
236
+ if (verbose) {
237
+ console.log(` Fixed ${findings.length} entity name(s) in ${filePath}`);
238
+ }
239
+ }
240
+ else if (verbose) {
241
+ console.log(` Found ${findings.length} entity name(s) in ${filePath}`);
242
+ }
243
+ }
244
+ }
245
+ catch (err) {
246
+ const message = `Error scanning ${filePath}: ${err.message}`;
247
+ errors.push(message);
248
+ if (verbose) {
249
+ console.error(` ${message}`);
250
+ }
251
+ }
252
+ }
253
+ return {
254
+ Success: errors.length === 0,
255
+ Findings: allFindings,
256
+ FixedFiles: fixedFiles,
257
+ FilesScanned: htmlFiles.length,
258
+ RenameMapSize: renameMap.size,
259
+ Errors: errors,
260
+ };
261
+ }
262
+ //# sourceMappingURL=HtmlEntityNameScanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlEntityNameScanner.js","sourceRoot":"","sources":["../../src/EntityNameScanner/HtmlEntityNameScanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * JSON-based scanner/fixer for entity names in MemberJunction metadata files.
3
+ *
4
+ * Scans metadata directories for entity name references that need the "MJ: "
5
+ * prefix, including:
6
+ * - `@lookup:` references (both the entity name and the lookup value)
7
+ * - `.mj-sync.json` / `.mj-folder.json` entity/entityName config fields
8
+ * - `relatedEntities` object keys
9
+ *
10
+ * Reuses the rename map from {@link buildEntityNameMap} (entity_subclasses.ts).
11
+ *
12
+ * Usage (via MJCLI):
13
+ * mj codegen fix-metadata-names --path metadata/
14
+ * mj codegen fix-metadata-names --path metadata/ --fix
15
+ *
16
+ * Or programmatically:
17
+ * import { scanMetadataNames } from '@memberjunction/codegen-lib';
18
+ * const result = await scanMetadataNames({ TargetPath: './metadata' });
19
+ */
20
+ /** The kind of pattern where an old entity name was found in metadata. */
21
+ export type MetadataPatternKind = 'lookupEntity' | 'lookupValue' | 'folderConfig' | 'relatedEntityKey' | 'entityNameField';
22
+ /**
23
+ * A single finding: one entity name reference in a metadata file that needs
24
+ * the "MJ: " prefix.
25
+ */
26
+ export interface MetadataFinding {
27
+ /** Absolute path to the source file */
28
+ FilePath: string;
29
+ /** 1-based line number */
30
+ Line: number;
31
+ /** The old entity name found */
32
+ OldName: string;
33
+ /** The corrected entity name */
34
+ NewName: string;
35
+ /** The kind of metadata pattern matched */
36
+ PatternKind: MetadataPatternKind;
37
+ /** Human-readable context (e.g., the full @lookup string) */
38
+ Context: string;
39
+ }
40
+ /**
41
+ * Options for the metadata name scanner.
42
+ */
43
+ export interface MetadataNameScanOptions {
44
+ /** File or directory to scan */
45
+ TargetPath: string;
46
+ /**
47
+ * Path to entity_subclasses.ts for building the rename map.
48
+ * If not provided, attempts to locate it relative to common workspace roots.
49
+ */
50
+ EntitySubclassesPath?: string;
51
+ /** Whether to apply fixes in place. Default: false (dry-run). */
52
+ Fix?: boolean;
53
+ /** If true, logs progress to console. Default: true. */
54
+ Verbose?: boolean;
55
+ }
56
+ /**
57
+ * Result of a metadata scan (and optional fix) operation.
58
+ */
59
+ export interface MetadataNameScanResult {
60
+ Success: boolean;
61
+ /** All findings across all scanned files */
62
+ Findings: MetadataFinding[];
63
+ /** Absolute paths of files that were modified (only in fix mode) */
64
+ FixedFiles: string[];
65
+ /** Number of files scanned */
66
+ FilesScanned: number;
67
+ /** Number of entries in the rename map */
68
+ RenameMapSize: number;
69
+ /** Errors encountered during scanning */
70
+ Errors: string[];
71
+ }
72
+ /**
73
+ * Scans a single metadata JSON file for entity name references that need
74
+ * the "MJ: " prefix.
75
+ *
76
+ * @param isEntitiesFolder - If true, the folder's .mj-sync.json entity is
77
+ * "Entities" or "MJ: Entities", so `fields.Name` values are entity names.
78
+ */
79
+ export declare function scanMetadataFile(filePath: string, sourceText: string, renameMap: Map<string, string>, isEntitiesFolder?: boolean): MetadataFinding[];
80
+ /**
81
+ * Applies entity name fixes to a metadata file using targeted string
82
+ * replacements that preserve original formatting.
83
+ */
84
+ export declare function fixMetadataFile(sourceText: string, findings: MetadataFinding[]): string;
85
+ /**
86
+ * Scans metadata JSON files for entity name references that need the "MJ: "
87
+ * prefix, and optionally fixes them in place.
88
+ */
89
+ export declare function scanMetadataNames(options: MetadataNameScanOptions): Promise<MetadataNameScanResult>;
90
+ //# sourceMappingURL=MetadataNameScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataNameScanner.d.ts","sourceRoot":"","sources":["../../src/EntityNameScanner/MetadataNameScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,0EAA0E;AAC1E,MAAM,MAAM,mBAAmB,GACzB,cAAc,GACd,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,iBAAiB,CAAC;AAExB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,WAAW,EAAE,mBAAmB,CAAC;IACjC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iEAAiE;IACjE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAwED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,gBAAgB,CAAC,EAAE,OAAO,GAC3B,eAAe,EAAE,CAuCnB;AA0ND;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAkDvF;AAqBD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmGzG"}