@memberjunction/react-test-harness 2.91.0 → 2.92.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.
@@ -1,8 +1,15 @@
1
1
  /// <reference types="node" />
2
2
  import { BrowserManager } from './browser-context';
3
- import type { UserInfo } from '@memberjunction/core';
3
+ import type { RunViewParams, RunQueryParams, UserInfo, RunViewResult, RunQueryResult, BaseEntity, EntityInfo } from '@memberjunction/core';
4
4
  import { FixSuggestion, Violation } from './component-linter';
5
5
  import { ComponentSpec } from '@memberjunction/interactive-component-types';
6
+ export interface SimpleMJUtilities {
7
+ RunView: (params: RunViewParams, contextUser: UserInfo) => Promise<RunViewResult>;
8
+ RunViews: (params: RunViewParams[], contextUser: UserInfo) => Promise<RunViewResult[]>;
9
+ RunQuery: (params: RunQueryParams, contextUser: UserInfo) => Promise<RunQueryResult>;
10
+ Entities: EntityInfo[];
11
+ GetEntityObject: (entityName: string, contextUser: UserInfo) => Promise<BaseEntity>;
12
+ }
6
13
  export interface ComponentExecutionOptions {
7
14
  componentSpec: ComponentSpec;
8
15
  props?: Record<string, any>;
@@ -15,6 +22,7 @@ export interface ComponentExecutionOptions {
15
22
  contextUser: UserInfo;
16
23
  isRootComponent?: boolean;
17
24
  debug?: boolean;
25
+ utilities?: SimpleMJUtilities;
18
26
  }
19
27
  export interface ComponentExecutionResult {
20
28
  success: boolean;
@@ -43,7 +51,7 @@ export declare class ComponentRunner {
43
51
  /**
44
52
  * Lint component code before execution
45
53
  */
46
- lintComponent(componentCode: string, componentName: string, componentSpec?: any, isRootComponent?: boolean): Promise<{
54
+ lintComponent(componentCode: string, componentName: string, componentSpec?: any, isRootComponent?: boolean, contextUser?: UserInfo): Promise<{
47
55
  violations: Violation[];
48
56
  suggestions: FixSuggestion[];
49
57
  hasErrors: boolean;
@@ -73,6 +81,7 @@ export declare class ComponentRunner {
73
81
  * Set up console logging
74
82
  */
75
83
  private setupConsoleLogging;
84
+ private buildLocalMJUtilities;
76
85
  /**
77
86
  * Expose MJ utilities to the browser context
78
87
  */
@@ -1 +1 @@
1
- {"version":3,"file":"component-runner.d.ts","sourceRoot":"","sources":["../../src/lib/component-runner.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAiC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAmB,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,CAAC;IAC/D,WAAW,EAAE,QAAQ,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,eAAe;IAed,OAAO,CAAC,cAAc;IAblC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAS/C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;gBAE5B,cAAc,EAAE,cAAc;IAElD;;OAEG;IACG,aAAa,CACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,GAAG,EACnB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC;QAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAAC,WAAW,EAAE,aAAa,EAAE,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAiBnF,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAmkB7F;;OAEG;YACW,oBAAoB;IAiElC;;OAEG;YACW,sBAAsB;IA6GpC;;OAEG;YACW,kBAAkB;IAyEhC;;OAEG;YACW,oBAAoB;IAiClC;;OAEG;YACW,eAAe;IAkB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;OAEG;YACW,iBAAiB;IA8O/B;;OAEG;IACH,OAAO,CAAC,aAAa;CA6BtB"}
1
+ {"version":3,"file":"component-runner.d.ts","sourceRoot":"","sources":["../../src/lib/component-runner.ts"],"names":[],"mappings":"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"}
@@ -37,8 +37,8 @@ class ComponentRunner {
37
37
  /**
38
38
  * Lint component code before execution
39
39
  */
40
- async lintComponent(componentCode, componentName, componentSpec, isRootComponent) {
41
- const lintResult = await component_linter_1.ComponentLinter.lintComponent(componentCode, componentName, componentSpec, isRootComponent);
40
+ async lintComponent(componentCode, componentName, componentSpec, isRootComponent, contextUser) {
41
+ const lintResult = await component_linter_1.ComponentLinter.lintComponent(componentCode, componentName, componentSpec, isRootComponent, contextUser);
42
42
  const hasErrors = lintResult.violations.some(v => v.severity === 'critical' || v.severity === 'high');
43
43
  return {
44
44
  violations: lintResult.violations,
@@ -121,7 +121,7 @@ class ComponentRunner {
121
121
  // Set up console logging
122
122
  this.setupConsoleLogging(page, consoleLogs, warnings, criticalWarnings);
123
123
  // Expose MJ utilities to the page
124
- await this.exposeMJUtilities(page, options.contextUser, dataErrors, debug);
124
+ await this.exposeMJUtilities(page, options, dataErrors, debug);
125
125
  if (debug) {
126
126
  console.log('📤 NODE: About to call page.evaluate with:');
127
127
  console.log(' - spec.name:', options.componentSpec.name);
@@ -172,11 +172,11 @@ class ComponentRunner {
172
172
  if (libraryValue) {
173
173
  loadedLibraries[libDef.GlobalVariable] = libraryValue;
174
174
  if (debug) {
175
- console.log(`✅ Added ${libDef.Name} to runtime context as ${libDef.GlobalVariable}`);
175
+ console.log(`📦 Added ${libDef.Name} to runtime context as ${libDef.GlobalVariable}`);
176
176
  }
177
177
  }
178
178
  else {
179
- console.warn(`⚠️ Library ${libDef.Name} not found as window.${libDef.GlobalVariable}`);
179
+ console.warn(`⚠️ Library ${libDef.Name} global variable ${libDef.GlobalVariable} not found on window`);
180
180
  }
181
181
  }
182
182
  }
@@ -198,7 +198,7 @@ class ComponentRunner {
198
198
  // Note: LibraryRegistry.Config expects ComponentLibraryEntity[]
199
199
  await LibraryRegistry.Config(false, componentLibraries || []);
200
200
  if (debug) {
201
- console.log(' Configured LibraryRegistry with', componentLibraries?.length || 0, 'libraries');
201
+ console.log('⚙️ Configured LibraryRegistry with', componentLibraries?.length || 0, 'libraries');
202
202
  }
203
203
  }
204
204
  const registry = new ComponentRegistry();
@@ -234,7 +234,7 @@ class ComponentRunner {
234
234
  })));
235
235
  }
236
236
  }
237
- // Register the component hierarchy
237
+ // Register the component hierarchy with error capture
238
238
  // IMPORTANT: Pass component libraries for library loading to work
239
239
  if (debug) {
240
240
  console.log('📚 Registering component with', componentLibraries?.length || 0, 'libraries');
@@ -242,12 +242,28 @@ class ComponentRunner {
242
242
  console.log(' Passing libraries to registrar:', componentLibraries.slice(0, 2).map((l) => l.Name));
243
243
  }
244
244
  }
245
- const registrationResult = await registrar.registerHierarchy(spec, {
246
- styles,
247
- namespace: 'Global',
248
- version: 'v1', // Use v1 to match the registry defaults
249
- allLibraries: componentLibraries || [] // Pass the component libraries for LibraryRegistry
250
- });
245
+ let registrationResult;
246
+ try {
247
+ registrationResult = await registrar.registerHierarchy(spec, {
248
+ styles,
249
+ namespace: 'Global',
250
+ version: 'v1', // Use v1 to match the registry defaults
251
+ allLibraries: componentLibraries || [] // Pass the component libraries for LibraryRegistry
252
+ });
253
+ }
254
+ catch (registrationError) {
255
+ // Capture the actual error before it gets obscured
256
+ console.error('🔴 Component registration error:', registrationError);
257
+ window.__testHarnessRuntimeErrors = window.__testHarnessRuntimeErrors || [];
258
+ window.__testHarnessRuntimeErrors.push({
259
+ message: `Component registration failed: ${registrationError.message || registrationError}`,
260
+ stack: registrationError.stack,
261
+ type: 'registration-error',
262
+ phase: 'component-compilation'
263
+ });
264
+ window.__testHarnessTestFailed = true;
265
+ throw registrationError; // Re-throw for outer handler
266
+ }
251
267
  if (debug && !registrationResult.success) {
252
268
  console.log('❌ Registration failed:', registrationResult.errors);
253
269
  }
@@ -255,7 +271,7 @@ class ComponentRunner {
255
271
  throw new Error('Component registration failed: ' + JSON.stringify(registrationResult.errors));
256
272
  }
257
273
  if (debug) {
258
- console.log(' Registered components:', registrationResult.registeredComponents);
274
+ console.log('📝 Registered components:', registrationResult.registeredComponents);
259
275
  // Note: ComponentRegistry doesn't expose internal components Map directly
260
276
  // We can see what was registered through the registrationResult
261
277
  }
@@ -277,7 +293,7 @@ class ComponentRunner {
277
293
  // If the library exports an object with multiple components, spread them
278
294
  Object.assign(components, libraryValue);
279
295
  if (debug) {
280
- console.log(`✅ Added ${globalVar} exports to components object`);
296
+ console.log(`📦 Added ${globalVar} exports to components object`);
281
297
  }
282
298
  }
283
299
  }
@@ -287,8 +303,10 @@ class ComponentRunner {
287
303
  throw new Error('Root element not found');
288
304
  }
289
305
  const root = window.ReactDOM.createRoot(rootElement);
290
- // Set up render count protection (Recommendation #5)
291
- const MAX_RENDERS_ALLOWED = 500; // Reasonable limit for complex components
306
+ // Set up render count protection
307
+ // This is for detecting infinite loops during execution
308
+ // Note: counts createElement calls, not re-renders
309
+ const MAX_RENDERS_ALLOWED = 10000; // Complex dashboards can have many createElement calls
292
310
  if (typeof window !== 'undefined') {
293
311
  renderCheckInterval = setInterval(() => {
294
312
  const currentRenderCount = window.__testHarnessRenderCount || 0;
@@ -298,7 +316,7 @@ class ComponentRunner {
298
316
  window.__testHarnessTestFailed = true;
299
317
  window.__testHarnessRuntimeErrors = window.__testHarnessRuntimeErrors || [];
300
318
  window.__testHarnessRuntimeErrors.push({
301
- message: `Excessive re-renders detected: ${currentRenderCount} renders (max: ${MAX_RENDERS_ALLOWED})`,
319
+ message: `Likely infinite render loop: ${currentRenderCount} createElement calls (max: ${MAX_RENDERS_ALLOWED})`,
302
320
  type: 'render-loop'
303
321
  });
304
322
  // Try to unmount to stop the madness
@@ -308,7 +326,7 @@ class ComponentRunner {
308
326
  catch (e) {
309
327
  console.error('Failed to unmount after render loop:', e);
310
328
  }
311
- throw new Error(`Excessive re-renders: ${currentRenderCount} renders detected`);
329
+ throw new Error(`Likely infinite render loop: ${currentRenderCount} createElement calls detected`);
312
330
  }
313
331
  }, 100); // Check every 100ms
314
332
  }
@@ -333,24 +351,33 @@ class ComponentRunner {
333
351
  this.state = { hasError: false, error: null };
334
352
  }
335
353
  static getDerivedStateFromError(error) {
336
- window.__testHarnessTestFailed = true;
337
- return { hasError: true, error };
338
- }
339
- componentDidCatch(error, errorInfo) {
340
- console.error('React Error Boundary caught:', error, errorInfo);
354
+ // Capture the actual error message IMMEDIATELY
341
355
  window.__testHarnessRuntimeErrors = window.__testHarnessRuntimeErrors || [];
342
356
  window.__testHarnessRuntimeErrors.push({
343
- message: error.message,
357
+ message: error.message || error.toString(),
344
358
  stack: error.stack,
345
- componentStack: errorInfo.componentStack,
346
- type: 'react-error-boundary'
359
+ type: 'react-render-error',
360
+ phase: 'component-render'
347
361
  });
348
362
  window.__testHarnessTestFailed = true;
363
+ return { hasError: true, error };
364
+ }
365
+ componentDidCatch(error, errorInfo) {
366
+ console.error('React Error Boundary caught:', error, errorInfo);
367
+ // Update the last error with component stack info
368
+ const errors = window.__testHarnessRuntimeErrors || [];
369
+ if (errors.length > 0) {
370
+ const lastError = errors[errors.length - 1];
371
+ if (lastError.type === 'react-render-error') {
372
+ lastError.componentStack = errorInfo.componentStack;
373
+ }
374
+ }
349
375
  }
350
376
  render() {
351
377
  if (this.state.hasError) {
352
- // Re-throw to fail hard
353
- throw this.state.error;
378
+ // DON'T re-throw - this causes "Script error"
379
+ // Instead, render an error message
380
+ return window.React.createElement('div', { style: { color: 'red', padding: '20px' } }, 'Component failed to render: ' + (this.state.error?.message || 'Unknown error'));
354
381
  }
355
382
  return this.props.children;
356
383
  }
@@ -452,7 +479,7 @@ class ComponentRunner {
452
479
  renderCount <= ComponentRunner.MAX_RENDER_COUNT &&
453
480
  executionResult.success;
454
481
  if (renderCount > ComponentRunner.MAX_RENDER_COUNT) {
455
- errors.push(`Excessive render count: ${renderCount} renders detected`);
482
+ errors.push(`Possible render loop: ${renderCount} createElement calls detected (likely infinite loop)`);
456
483
  }
457
484
  // Combine runtime errors with data errors
458
485
  const allErrors = [...errors, ...dataErrors];
@@ -621,7 +648,7 @@ class ComponentRunner {
621
648
  if (cssUrl) {
622
649
  await page.addStyleTag({ url: cssUrl });
623
650
  if (debug) {
624
- console.log(` Loaded CSS: ${cssUrl}`);
651
+ console.log(` 🎨 Loaded CSS: ${cssUrl}`);
625
652
  }
626
653
  }
627
654
  }
@@ -640,11 +667,15 @@ class ComponentRunner {
640
667
  }, libDef.GlobalVariable);
641
668
  if (isLoaded) {
642
669
  if (debug) {
643
- console.log(` Loaded ${specLib.name} as window.${libDef.GlobalVariable}`);
670
+ console.log(` 📦 Loaded ${specLib.name} (available as ${libDef.GlobalVariable})`);
644
671
  }
645
672
  }
646
673
  else {
647
- console.error(` ❌ Failed to load ${specLib.name} - global variable ${libDef.GlobalVariable} not found`);
674
+ // Some libraries (like @mui/material) may load successfully but not attach to window
675
+ // Check if we can at least verify the script loaded
676
+ if (debug) {
677
+ console.log(` 📦 Loaded ${specLib.name} from CDN (global variable ${libDef.GlobalVariable} may not be exposed)`);
678
+ }
648
679
  }
649
680
  }
650
681
  catch (error) {
@@ -765,7 +796,9 @@ class ComponentRunner {
765
796
  errors.push('Test marked as failed by error handlers');
766
797
  }
767
798
  errorData.runtimeErrors.forEach((error) => {
768
- const errorMsg = `${error.type} error: ${error.message}`;
799
+ // Include phase information if available to help identify where the error occurred
800
+ const phase = error.phase ? ` (during ${error.phase})` : '';
801
+ const errorMsg = `${error.type} error: ${error.message}${phase}`;
769
802
  if (!errors.includes(errorMsg)) {
770
803
  errors.push(errorMsg);
771
804
  }
@@ -819,27 +852,38 @@ class ComponentRunner {
819
852
  consoleLogs.push({ type: 'error', text: error.message });
820
853
  });
821
854
  }
855
+ buildLocalMJUtilities() {
856
+ console.log(" Building local MJ utilities");
857
+ const rv = new core_1.RunView();
858
+ const rq = new core_1.RunQuery();
859
+ const md = new core_1.Metadata();
860
+ return {
861
+ RunView: rv.RunView,
862
+ RunQuery: rq.RunQuery,
863
+ RunViews: rv.RunViews,
864
+ GetEntityObject: md.GetEntityObject, // return the function
865
+ Entities: md.Entities // return the function
866
+ };
867
+ }
822
868
  /**
823
869
  * Expose MJ utilities to the browser context
824
870
  */
825
- async exposeMJUtilities(page, contextUser, dataErrors, debug = false) {
871
+ async exposeMJUtilities(page, options, dataErrors, debug = false) {
826
872
  // Don't check if already exposed - we always start fresh after goto('about:blank')
827
873
  // The page.exposeFunction calls need to be made for each new page instance
828
874
  // Serialize contextUser to pass to the browser context
829
875
  // UserInfo is a simple object that can be serialized
830
- const serializedContextUser = JSON.parse(JSON.stringify(contextUser));
831
- // Create instances in Node.js context
832
- const metadata = new core_1.Metadata();
833
- const runView = new core_1.RunView();
834
- const runQuery = new core_1.RunQuery();
876
+ const serializedContextUser = JSON.parse(JSON.stringify(options.contextUser));
877
+ // utilities - favor the one passed in by the caller, or fall back to the local ones
878
+ const util = options.utilities || this.buildLocalMJUtilities();
835
879
  // Create a lightweight mock metadata object with serializable data
836
880
  // This avoids authentication/provider issues in the browser context
837
881
  let entitiesData = [];
838
882
  try {
839
883
  // Try to get entities if available, otherwise use empty array
840
- if (metadata.Entities) {
884
+ if (util.Entities) {
841
885
  // Serialize the entities data (remove functions, keep data)
842
- entitiesData = JSON.parse(JSON.stringify(metadata.Entities));
886
+ entitiesData = JSON.parse(JSON.stringify(util.Entities));
843
887
  // Serialized entities for browser context
844
888
  }
845
889
  else {
@@ -891,7 +935,7 @@ class ComponentRunner {
891
935
  // Expose functions
892
936
  await page.exposeFunction('__mjGetEntityObject', async (entityName) => {
893
937
  try {
894
- const entity = await metadata.GetEntityObject(entityName, contextUser);
938
+ const entity = await util.GetEntityObject(entityName, options.contextUser);
895
939
  return entity;
896
940
  }
897
941
  catch (error) {
@@ -911,11 +955,11 @@ class ComponentRunner {
911
955
  });
912
956
  await page.exposeFunction('__mjRunView', async (params) => {
913
957
  try {
914
- const result = await runView.RunView(params, contextUser);
958
+ const result = await util.RunView(params, options.contextUser);
915
959
  // Debug logging for successful calls
916
960
  if (debug) {
917
961
  const rowCount = result.Results?.length || 0;
918
- console.log(`✅ RunView SUCCESS: Entity="${params.EntityName}" Rows=${rowCount}`);
962
+ console.log(`💾 RunView SUCCESS: Entity="${params.EntityName}" Rows=${rowCount}`);
919
963
  if (params.ExtraFilter) {
920
964
  console.log(` Filter: ${params.ExtraFilter}`);
921
965
  }
@@ -940,10 +984,10 @@ class ComponentRunner {
940
984
  });
941
985
  await page.exposeFunction('__mjRunViews', async (params) => {
942
986
  try {
943
- const results = await runView.RunViews(params, contextUser);
987
+ const results = await util.RunViews(params, options.contextUser);
944
988
  // Debug logging for successful calls
945
989
  if (debug) {
946
- console.log(`✅ RunViews SUCCESS: ${params.length} queries executed`);
990
+ console.log(`💾 RunViews SUCCESS: ${params.length} queries executed`);
947
991
  params.forEach((p, i) => {
948
992
  const rowCount = results[i]?.Results?.length || 0;
949
993
  console.log(` [${i + 1}] Entity="${p.EntityName}" Rows=${rowCount}`);
@@ -970,12 +1014,12 @@ class ComponentRunner {
970
1014
  });
971
1015
  await page.exposeFunction('__mjRunQuery', async (params) => {
972
1016
  try {
973
- const result = await runQuery.RunQuery(params, contextUser);
1017
+ const result = await util.RunQuery(params, options.contextUser);
974
1018
  // Debug logging for successful calls
975
1019
  if (debug) {
976
1020
  const queryIdentifier = params.QueryName || params.QueryID || 'unknown';
977
1021
  const rowCount = result.Results?.length || 0;
978
- console.log(`✅ RunQuery SUCCESS: Query="${queryIdentifier}" Rows=${rowCount}`);
1022
+ console.log(`💾 RunQuery SUCCESS: Query="${queryIdentifier}" Rows=${rowCount}`);
979
1023
  if (params.Parameters && Object.keys(params.Parameters).length > 0) {
980
1024
  console.log(` Parameters:`, params.Parameters);
981
1025
  }
@@ -1078,5 +1122,8 @@ ComponentRunner.CRITICAL_WARNING_PATTERNS = [
1078
1122
  /Error: Minified React error/i,
1079
1123
  /too many re-renders/i,
1080
1124
  ];
1081
- ComponentRunner.MAX_RENDER_COUNT = 1000;
1125
+ // Note: This counts React.createElement calls, not component re-renders
1126
+ // A complex dashboard can easily have 5000+ createElement calls on initial mount
1127
+ // Only flag if it's likely an infinite loop (10000+ is suspicious)
1128
+ ComponentRunner.MAX_RENDER_COUNT = 10000;
1082
1129
  //# sourceMappingURL=component-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-runner.js","sourceRoot":"","sources":["../../src/lib/component-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-runner.js","sourceRoot":"","sources":["../../src/lib/component-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Library lint rule cache with compiled validators
3
+ * Ensures we only load and compile library lint rules once
4
+ */
5
+ import { ComponentLibraryEntity } from '@memberjunction/core-entities';
6
+ import { UserInfo } from '@memberjunction/core';
7
+ import * as t from '@babel/types';
8
+ export interface CompiledValidator {
9
+ description: string;
10
+ severity: 'critical' | 'high' | 'medium' | 'low';
11
+ validateFn: (ast: t.File, path: any, t: typeof import('@babel/types'), context: any) => any;
12
+ }
13
+ export interface CompiledLibraryRules {
14
+ library: ComponentLibraryEntity;
15
+ initialization?: any;
16
+ lifecycle?: any;
17
+ validators?: Record<string, CompiledValidator>;
18
+ options?: any;
19
+ }
20
+ export declare class LibraryLintCache {
21
+ private static instance;
22
+ private compiledRules;
23
+ private loadingPromise;
24
+ private isLoaded;
25
+ private constructor();
26
+ static getInstance(): LibraryLintCache;
27
+ /**
28
+ * Load and compile all library lint rules
29
+ * Returns existing promise if already loading
30
+ */
31
+ loadLibraryRules(contextUser?: UserInfo): Promise<void>;
32
+ private performLoad;
33
+ /**
34
+ * Get compiled rules for a specific library
35
+ */
36
+ getLibraryRules(libraryName: string): CompiledLibraryRules | undefined;
37
+ /**
38
+ * Get all compiled library rules
39
+ */
40
+ getAllLibraryRules(): CompiledLibraryRules[];
41
+ /**
42
+ * Clear the cache (useful for testing or when libraries are updated)
43
+ */
44
+ clearCache(): void;
45
+ }
46
+ //# sourceMappingURL=library-lint-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-lint-cache.d.ts","sourceRoot":"","sources":["../../src/lib/library-lint-cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,sBAAsB,EAA2B,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,cAAc,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC;CAC7F;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,sBAAsB,CAAC;IAChC,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAgD;IACrE,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO;WAEO,WAAW,IAAI,gBAAgB;IAO7C;;;OAGG;IACU,gBAAgB,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAsBtD,WAAW;IA8DzB;;OAEG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAI7E;;OAEG;IACI,kBAAkB,IAAI,oBAAoB,EAAE;IAInD;;OAEG;IACI,UAAU,IAAI,IAAI;CAK1B"}