@memberjunction/react-runtime 2.92.0 → 2.94.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 (87) hide show
  1. package/.turbo/turbo-build.log +14 -16
  2. package/CHANGELOG.md +31 -0
  3. package/README.md +180 -2
  4. package/dist/compiler/babel-config.js.map +1 -1
  5. package/dist/compiler/component-compiler.d.ts.map +1 -1
  6. package/dist/compiler/component-compiler.js +206 -57
  7. package/dist/compiler/component-compiler.js.map +1 -1
  8. package/dist/compiler/index.js.map +1 -1
  9. package/dist/index.d.ts +2 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +14 -5
  12. package/dist/index.js.map +1 -1
  13. package/dist/registry/component-registry-service.d.ts +37 -0
  14. package/dist/registry/component-registry-service.d.ts.map +1 -0
  15. package/dist/registry/component-registry-service.js +319 -0
  16. package/dist/registry/component-registry-service.js.map +1 -0
  17. package/dist/registry/component-registry.d.ts +4 -3
  18. package/dist/registry/component-registry.d.ts.map +1 -1
  19. package/dist/registry/component-registry.js.map +1 -1
  20. package/dist/registry/component-resolver.d.ts +12 -2
  21. package/dist/registry/component-resolver.d.ts.map +1 -1
  22. package/dist/registry/component-resolver.js +96 -12
  23. package/dist/registry/component-resolver.js.map +1 -1
  24. package/dist/registry/index.d.ts +2 -0
  25. package/dist/registry/index.d.ts.map +1 -1
  26. package/dist/registry/index.js +3 -1
  27. package/dist/registry/index.js.map +1 -1
  28. package/dist/registry/registry-provider.d.ts +54 -0
  29. package/dist/registry/registry-provider.d.ts.map +1 -0
  30. package/dist/registry/registry-provider.js +3 -0
  31. package/dist/registry/registry-provider.js.map +1 -0
  32. package/dist/runtime/component-hierarchy.d.ts.map +1 -1
  33. package/dist/runtime/component-hierarchy.js +8 -2
  34. package/dist/runtime/component-hierarchy.js.map +1 -1
  35. package/dist/runtime/error-boundary.js.map +1 -1
  36. package/dist/runtime/index.js.map +1 -1
  37. package/dist/runtime/prop-builder.d.ts +2 -2
  38. package/dist/runtime/prop-builder.d.ts.map +1 -1
  39. package/dist/runtime/prop-builder.js +32 -14
  40. package/dist/runtime/prop-builder.js.map +1 -1
  41. package/dist/runtime/react-root-manager.js.map +1 -1
  42. package/dist/runtime.umd.js +1 -1
  43. package/dist/types/dependency-types.d.ts +62 -0
  44. package/dist/types/dependency-types.d.ts.map +1 -0
  45. package/dist/types/dependency-types.js +3 -0
  46. package/dist/types/dependency-types.js.map +1 -0
  47. package/dist/types/index.d.ts +8 -10
  48. package/dist/types/index.d.ts.map +1 -1
  49. package/dist/types/index.js +1 -0
  50. package/dist/types/index.js.map +1 -1
  51. package/dist/types/library-config.js.map +1 -1
  52. package/dist/utilities/cache-manager.js.map +1 -1
  53. package/dist/utilities/component-error-analyzer.js.map +1 -1
  54. package/dist/utilities/component-styles.js.map +1 -1
  55. package/dist/utilities/core-libraries.js.map +1 -1
  56. package/dist/utilities/index.d.ts +1 -0
  57. package/dist/utilities/index.d.ts.map +1 -1
  58. package/dist/utilities/index.js +1 -0
  59. package/dist/utilities/index.js.map +1 -1
  60. package/dist/utilities/library-dependency-resolver.d.ts +19 -0
  61. package/dist/utilities/library-dependency-resolver.d.ts.map +1 -0
  62. package/dist/utilities/library-dependency-resolver.js +410 -0
  63. package/dist/utilities/library-dependency-resolver.js.map +1 -0
  64. package/dist/utilities/library-loader.d.ts +9 -0
  65. package/dist/utilities/library-loader.d.ts.map +1 -1
  66. package/dist/utilities/library-loader.js +143 -0
  67. package/dist/utilities/library-loader.js.map +1 -1
  68. package/dist/utilities/library-registry.js.map +1 -1
  69. package/dist/utilities/resource-manager.js.map +1 -1
  70. package/dist/utilities/standard-libraries.js.map +1 -1
  71. package/package.json +5 -6
  72. package/src/compiler/component-compiler.ts +227 -77
  73. package/src/index.ts +21 -5
  74. package/src/registry/component-registry-service.ts +578 -0
  75. package/src/registry/component-registry.ts +8 -7
  76. package/src/registry/component-resolver.ts +146 -16
  77. package/src/registry/index.ts +9 -0
  78. package/src/registry/registry-provider.ts +119 -0
  79. package/src/runtime/component-hierarchy.ts +13 -5
  80. package/src/runtime/prop-builder.ts +38 -18
  81. package/src/types/dependency-types.ts +110 -0
  82. package/src/types/index.ts +17 -21
  83. package/src/utilities/index.ts +1 -0
  84. package/src/utilities/library-dependency-resolver.ts +603 -0
  85. package/src/utilities/library-loader.ts +252 -0
  86. package/tsconfig.json +2 -1
  87. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,62 @@
1
+ import { ComponentLibraryEntity } from '@memberjunction/core-entities';
2
+ export interface ParsedDependency {
3
+ name: string;
4
+ versionSpec: string;
5
+ }
6
+ export interface VersionRequirement {
7
+ library: string;
8
+ versionSpec: string;
9
+ requestedBy: string;
10
+ }
11
+ export interface ResolvedVersion {
12
+ library: string;
13
+ version: string;
14
+ satisfies: VersionRequirement[];
15
+ warnings?: string[];
16
+ }
17
+ export interface DependencyNode {
18
+ library: ComponentLibraryEntity;
19
+ dependencies: Map<string, string>;
20
+ dependents: Set<string>;
21
+ }
22
+ export interface DependencyGraph {
23
+ nodes: Map<string, DependencyNode>;
24
+ roots: Set<string>;
25
+ }
26
+ export interface LoadOrderResult {
27
+ success: boolean;
28
+ order?: ComponentLibraryEntity[];
29
+ cycles?: string[][];
30
+ errors?: string[];
31
+ warnings?: string[];
32
+ }
33
+ export type VersionRangeType = 'exact' | 'tilde' | 'caret' | 'range' | 'any';
34
+ export interface ParsedVersion {
35
+ major: number;
36
+ minor: number;
37
+ patch: number;
38
+ prerelease?: string;
39
+ build?: string;
40
+ }
41
+ export interface VersionRange {
42
+ type: VersionRangeType;
43
+ operator?: string;
44
+ version?: ParsedVersion;
45
+ raw: string;
46
+ }
47
+ export interface LoadedLibraryState {
48
+ name: string;
49
+ version: string;
50
+ globalVariable: string;
51
+ loadedAt: Date;
52
+ requestedBy: string[];
53
+ dependencies: string[];
54
+ }
55
+ export interface DependencyResolutionOptions {
56
+ allowPrerelease?: boolean;
57
+ preferLatest?: boolean;
58
+ strict?: boolean;
59
+ maxDepth?: number;
60
+ debug?: boolean;
61
+ }
62
+ //# sourceMappingURL=dependency-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-types.d.ts","sourceRoot":"","sources":["../../src/types/dependency-types.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAKvE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAKD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,sBAAsB,CAAC;IAChC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AAKD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAKD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAKD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAK7E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAKD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,IAAI,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAKD,MAAM,WAAW,2BAA2B;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dependency-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-types.js","sourceRoot":"","sources":["../../src/types/dependency-types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * @fileoverview Type definitions for library dependency management\n * @module @memberjunction/react-runtime/types\n */\n\nimport { ComponentLibraryEntity } from '@memberjunction/core-entities';\n\n/**\n * Represents a parsed dependency with name and version specification\n */\nexport interface ParsedDependency {\n name: string;\n versionSpec: string;\n}\n\n/**\n * Represents a version requirement for a library\n */\nexport interface VersionRequirement {\n library: string;\n versionSpec: string;\n requestedBy: string; // Which library requested this dependency\n}\n\n/**\n * Represents a resolved version after conflict resolution\n */\nexport interface ResolvedVersion {\n library: string;\n version: string;\n satisfies: VersionRequirement[];\n warnings?: string[];\n}\n\n/**\n * Node in the dependency graph\n */\nexport interface DependencyNode {\n library: ComponentLibraryEntity;\n dependencies: Map<string, string>; // dependency name -> version spec\n dependents: Set<string>; // libraries that depend on this one\n}\n\n/**\n * Dependency graph structure\n */\nexport interface DependencyGraph {\n nodes: Map<string, DependencyNode>;\n roots: Set<string>; // libraries with no dependents\n}\n\n/**\n * Result of determining load order\n */\nexport interface LoadOrderResult {\n success: boolean;\n order?: ComponentLibraryEntity[];\n cycles?: string[][];\n errors?: string[];\n warnings?: string[];\n}\n\n/**\n * Semver version range types\n */\nexport type VersionRangeType = 'exact' | 'tilde' | 'caret' | 'range' | 'any';\n\n/**\n * Parsed semver version\n */\nexport interface ParsedVersion {\n major: number;\n minor: number;\n patch: number;\n prerelease?: string;\n build?: string;\n}\n\n/**\n * Version range specification\n */\nexport interface VersionRange {\n type: VersionRangeType;\n operator?: string;\n version?: ParsedVersion;\n raw: string;\n}\n\n/**\n * Library load state tracking\n */\nexport interface LoadedLibraryState {\n name: string;\n version: string;\n globalVariable: string;\n loadedAt: Date;\n requestedBy: string[];\n dependencies: string[];\n}\n\n/**\n * Options for dependency resolution\n */\nexport interface DependencyResolutionOptions {\n allowPrerelease?: boolean;\n preferLatest?: boolean;\n strict?: boolean; // Fail on any version conflict\n maxDepth?: number; // Maximum dependency depth to prevent infinite recursion\n debug?: boolean;\n}"]}
@@ -1,7 +1,7 @@
1
1
  import { ComponentLibraryEntity } from '@memberjunction/core-entities';
2
- import { ComponentLibraryDependency, ComponentStyles } from '@memberjunction/interactive-component-types';
2
+ import { ComponentLibraryDependency, ComponentStyles, ComponentObject } from '@memberjunction/interactive-component-types';
3
3
  export interface CompiledComponent {
4
- component: any;
4
+ factory: (context: RuntimeContext, styles?: ComponentStyles) => ComponentObject;
5
5
  id: string;
6
6
  name: string;
7
7
  compiledAt: Date;
@@ -22,7 +22,7 @@ export interface CompileOptions {
22
22
  allLibraries: ComponentLibraryEntity[];
23
23
  }
24
24
  export interface RegistryEntry {
25
- component: any;
25
+ component: ComponentObject;
26
26
  metadata: ComponentMetadata;
27
27
  lastAccessed: Date;
28
28
  refCount: number;
@@ -46,17 +46,11 @@ export interface ComponentProps {
46
46
  data: any;
47
47
  userState: any;
48
48
  utilities: any;
49
- callbacks: ComponentCallbacks;
49
+ callbacks: any;
50
50
  components?: Record<string, any>;
51
51
  styles?: ComponentStyles;
52
52
  onStateChanged?: (stateUpdate: Record<string, any>) => void;
53
53
  }
54
- export interface ComponentCallbacks {
55
- RefreshData?: () => void;
56
- OpenEntityRecord?: (entityName: string, key: any) => void;
57
- UpdateUserState?: (state: any) => void;
58
- NotifyEvent?: (event: string, data: any) => void;
59
- }
60
54
  export interface CompilerConfig {
61
55
  babel: {
62
56
  presets: string[];
@@ -66,12 +60,14 @@ export interface CompilerConfig {
66
60
  sourceMaps: boolean;
67
61
  cache: boolean;
68
62
  maxCacheSize: number;
63
+ debug?: boolean;
69
64
  }
70
65
  export interface RegistryConfig {
71
66
  maxComponents: number;
72
67
  cleanupInterval: number;
73
68
  useLRU: boolean;
74
69
  enableNamespaces: boolean;
70
+ debug?: boolean;
75
71
  }
76
72
  export interface CompilationResult {
77
73
  success: boolean;
@@ -100,4 +96,6 @@ export interface ErrorBoundaryOptions {
100
96
  recovery?: 'retry' | 'reset' | 'none';
101
97
  }
102
98
  export * from './library-config';
99
+ export * from './dependency-types';
100
+ export { ComponentObject } from '@memberjunction/interactive-component-types';
103
101
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./library-config"), exports);
18
+ __exportStar(require("./dependency-types"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA0OA,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgOA,mDAAiC;AAGjC,qDAAmC","sourcesContent":["/**\n * @fileoverview Core type definitions for the MemberJunction React Runtime.\n * These types are platform-agnostic and can be used in any JavaScript environment.\n * @module @memberjunction/react-runtime/types\n */\n\nimport { UserInfo } from '@memberjunction/core';\nimport { ComponentLibraryEntity } from '@memberjunction/core-entities';\nimport { ComponentLibraryDependency, ComponentStyles, ComponentObject } from '@memberjunction/interactive-component-types';\n\n/**\n * Represents a compiled React component with its metadata\n */\nexport interface CompiledComponent {\n /** Factory function that creates a ComponentObject when called with context */\n factory: (context: RuntimeContext, styles?: ComponentStyles) => ComponentObject;\n /** Unique identifier for the component */\n id: string;\n /** Original component name */\n name: string;\n /** Compilation timestamp */\n compiledAt: Date;\n /** Any compilation warnings */\n warnings?: string[];\n}\n\n/**\n * Options for compiling a React component\n */\nexport interface CompileOptions {\n /** Component name for identification */\n componentName: string;\n /** Raw component code to compile */\n componentCode: string;\n /** Optional styles to inject */\n styles?: ComponentStyles;\n /** Whether to use production mode optimizations */\n production?: boolean;\n /** Custom Babel plugins to use */\n babelPlugins?: string[];\n /** Custom Babel presets to use */\n babelPresets?: string[];\n\n /** Library dependencies that the component requires */\n libraries?: ComponentLibraryDependency[];\n \n /** Child component dependencies that the component requires */\n dependencies?: Array<{ name: string; code?: string }>;\n\n /**\n * Required, metadata for all possible libraries allowed by the system\n */\n allLibraries: ComponentLibraryEntity[];\n}\n\n\n/**\n * Registry entry for a compiled component\n */\nexport interface RegistryEntry {\n /** The compiled component object with all methods */\n component: ComponentObject;\n /** Component metadata */\n metadata: ComponentMetadata;\n /** Last access time for LRU cache */\n lastAccessed: Date;\n /** Reference count for cleanup */\n refCount: number;\n}\n\n/**\n * Metadata about a registered component\n */\nexport interface ComponentMetadata {\n /** Unique component identifier */\n id: string;\n /** Component name */\n name: string;\n /** Component version */\n version: string;\n /** Namespace for organization */\n namespace: string;\n /** Registration timestamp */\n registeredAt: Date;\n /** Optional tags for categorization */\n tags?: string[];\n}\n\n/**\n * Error information from component execution\n */\nexport interface ComponentError {\n /** Error message */\n message: string;\n /** Error stack trace */\n stack?: string;\n /** Component name where error occurred */\n componentName: string;\n /** Error phase (compilation, render, etc.) */\n phase: 'compilation' | 'registration' | 'render' | 'runtime';\n /** Additional error details */\n details?: any;\n}\n\n/**\n * Props passed to React components\n */\nexport interface ComponentProps {\n /** Data object for the component */\n data: any;\n /** User-managed state */\n userState: any;\n /** Utility functions available to the component */\n utilities: any;\n /** Callback functions */\n callbacks: any;\n /** Child components available for use */\n components?: Record<string, any>;\n /** Component styles */\n styles?: ComponentStyles;\n /** Standard state change handler for controlled components */\n onStateChanged?: (stateUpdate: Record<string, any>) => void;\n}\n\n/**\n * Configuration for the component compiler\n */\nexport interface CompilerConfig {\n /** Babel configuration */\n babel: {\n /** Presets to use */\n presets: string[];\n /** Plugins to use */\n plugins: string[];\n };\n /** Whether to minify output */\n minify: boolean;\n /** Source map generation */\n sourceMaps: boolean;\n /** Cache compiled components */\n cache: boolean;\n /** Maximum cache size */\n maxCacheSize: number;\n /** Enable debug logging */\n debug?: boolean;\n}\n\n/**\n * Configuration for the component registry\n */\nexport interface RegistryConfig {\n /** Maximum number of components to keep in memory */\n maxComponents: number;\n /** Time in ms before removing unused components */\n cleanupInterval: number;\n /** Whether to use LRU eviction */\n useLRU: boolean;\n /** Namespace isolation */\n enableNamespaces: boolean;\n /** Enable debug logging */\n debug?: boolean;\n}\n\n/**\n * Result of a compilation operation\n */\nexport interface CompilationResult {\n /** Whether compilation succeeded */\n success: boolean;\n /** The compiled component if successful */\n component?: CompiledComponent;\n /** Error information if failed */\n error?: ComponentError;\n /** Compilation duration in ms */\n duration: number;\n /** Size of compiled code in bytes */\n size?: number;\n}\n\n/**\n * Runtime context for component execution\n */\nexport interface RuntimeContext {\n /** React library reference */\n React: any;\n /** ReactDOM library reference */\n ReactDOM?: any;\n /** Additional libraries available */\n libraries?: Record<string, any>;\n /** Global utilities */\n utilities?: Record<string, any>;\n}\n\n/**\n * Component lifecycle events\n */\nexport interface ComponentLifecycle {\n /** Called before component mounts */\n beforeMount?: () => void;\n /** Called after component mounts */\n afterMount?: () => void;\n /** Called before component updates */\n beforeUpdate?: (prevProps: any, nextProps: any) => void;\n /** Called after component updates */\n afterUpdate?: (prevProps: any, currentProps: any) => void;\n /** Called before component unmounts */\n beforeUnmount?: () => void;\n}\n\n/**\n * Options for creating an error boundary\n */\nexport interface ErrorBoundaryOptions {\n /** Custom error handler */\n onError?: (error: Error, errorInfo: any) => void;\n /** Fallback UI to render on error */\n fallback?: any;\n /** Whether to log errors */\n logErrors?: boolean;\n /** Error recovery strategy */\n recovery?: 'retry' | 'reset' | 'none';\n}\n\n// Export library configuration types\nexport * from './library-config';\n\n// Export dependency types\nexport * from './dependency-types';\n\n// Re-export ComponentObject for convenience\nexport { ComponentObject } from '@memberjunction/interactive-component-types';"]}
@@ -1 +1 @@
1
- {"version":3,"file":"library-config.js","sourceRoot":"","sources":["../../src/types/library-config.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"library-config.js","sourceRoot":"","sources":["../../src/types/library-config.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Configuration for external libraries used in React components\n */\n\nexport interface ExternalLibraryConfig {\n /** Unique identifier for the library */\n id: string;\n \n /** Library name (e.g., 'lodash') */\n name: string;\n \n /** Display name for UI (e.g., 'Lodash') */\n displayName: string;\n \n /** Library category */\n category: 'core' | 'runtime' | 'ui' | 'charting' | 'utility';\n \n /** Global variable name when loaded (e.g., '_' for lodash) */\n globalVariable: string;\n \n /** Library version */\n version: string;\n \n /** CDN URL for the library JavaScript */\n cdnUrl: string;\n \n /** Optional CDN URL for library CSS */\n cdnCssUrl?: string;\n \n /** Library description */\n description: string;\n \n /** Instructions for AI when using this library */\n aiInstructions?: string;\n \n /** Example usage code */\n exampleUsage?: string;\n \n /** Whether the library is enabled */\n isEnabled: boolean;\n \n /** Whether this is a core library (always loaded) */\n isCore: boolean;\n \n /** Whether this is runtime-only (not exposed to generated components) */\n isRuntimeOnly?: boolean;\n}\n\nexport interface LibraryConfigurationMetadata {\n version: string;\n lastUpdated: string;\n description?: string;\n}\n\nexport interface LibraryConfiguration {\n libraries: ExternalLibraryConfig[];\n metadata: LibraryConfigurationMetadata;\n}\n\n/**\n * Library loading options\n */\nexport interface LibraryLoadOptions {\n /** Skip loading if already loaded */\n skipIfLoaded?: boolean;\n \n /** Timeout for loading (ms) */\n timeout?: number;\n \n /** Filter to specific categories */\n categories?: Array<ExternalLibraryConfig['category']>;\n \n /** Exclude runtime-only libraries */\n excludeRuntimeOnly?: boolean;\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../../src/utilities/cache-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../../src/utilities/cache-manager.ts"],"names":[],"mappings":";;;AAsBA,MAAa,YAAY;IAMvB,YAAY,UAAwB,EAAE;QAL9B,UAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;QACzC,gBAAW,GAAG,CAAC,CAAC;QAKtB,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;YAChD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YAC/C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE,GAAG,IAAI;SACtD,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAKD,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,GAAY;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,KAAK,GAAkB;YAC3B,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI;SACL,CAAC;QAGF,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;QAGD,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAGzB,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAC/C,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAKD,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAG7B,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAGD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAKD,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,MAAM,CAAC,GAAW;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAKD,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAKD,QAAQ;QAMN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SAClC,CAAC;IACJ,CAAC;IAKD,OAAO;QACL,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAKD,OAAO;QACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAKO,SAAS,CAAC,KAAoB,EAAE,GAAY;QAClD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,WAAW,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,OAAO,WAAW,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACjE,CAAC;IAKO,QAAQ;QACd,IAAI,MAA0B,CAAC;QAC/B,IAAI,OAAO,GAAG,QAAQ,CAAC;QAEvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,SAAS,GAAG,OAAO,EAAE,CAAC;gBAC9B,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC1B,MAAM,GAAG,GAAG,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAKO,aAAa,CAAC,YAAoB;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEnD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,IAAI,WAAW,IAAI,YAAY;gBAAE,MAAM;YACvC,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAKO,YAAY,CAAC,KAAQ;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAEvD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAKO,iBAAiB;QACvB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAKO,gBAAgB;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAtOD,oCAsOC","sourcesContent":["/**\n * @fileoverview Cache management with TTL and size limits\n * @module @memberjunction/react-runtime/utilities\n */\n\nexport interface CacheEntry<T> {\n value: T;\n timestamp: number;\n size?: number;\n}\n\nexport interface CacheOptions {\n maxSize?: number; // Maximum number of entries\n maxMemory?: number; // Maximum memory in bytes (estimated)\n defaultTTL?: number; // Default TTL in milliseconds\n cleanupInterval?: number; // Cleanup interval in milliseconds\n}\n\n/**\n * Cache manager with TTL and size limits.\n * Provides automatic cleanup and memory management.\n */\nexport class CacheManager<T = any> {\n private cache = new Map<string, CacheEntry<T>>();\n private memoryUsage = 0;\n private cleanupTimer?: number;\n private readonly options: Required<CacheOptions>;\n\n constructor(options: CacheOptions = {}) {\n this.options = {\n maxSize: options.maxSize || 1000,\n maxMemory: options.maxMemory || 50 * 1024 * 1024, // 50MB default\n defaultTTL: options.defaultTTL || 5 * 60 * 1000, // 5 minutes default\n cleanupInterval: options.cleanupInterval || 60 * 1000 // 1 minute default\n };\n\n if (this.options.cleanupInterval > 0) {\n this.startCleanupTimer();\n }\n }\n\n /**\n * Set a value in the cache\n */\n set(key: string, value: T, ttl?: number): void {\n const size = this.estimateSize(value);\n const entry: CacheEntry<T> = {\n value,\n timestamp: Date.now(),\n size\n };\n\n // Check if we need to evict entries\n if (this.cache.size >= this.options.maxSize) {\n this.evictLRU();\n }\n\n // Check memory usage\n if (this.memoryUsage + size > this.options.maxMemory) {\n this.evictByMemory(size);\n }\n\n // Remove old entry if exists\n const oldEntry = this.cache.get(key);\n if (oldEntry) {\n this.memoryUsage -= oldEntry.size || 0;\n }\n\n this.cache.set(key, entry);\n this.memoryUsage += size;\n\n // Schedule removal if TTL is set\n if (ttl || this.options.defaultTTL) {\n const timeout = ttl || this.options.defaultTTL;\n setTimeout(() => this.delete(key), timeout);\n }\n }\n\n /**\n * Get a value from the cache\n */\n get(key: string): T | undefined {\n const entry = this.cache.get(key);\n if (!entry) return undefined;\n\n // Check if expired\n if (this.isExpired(entry)) {\n this.delete(key);\n return undefined;\n }\n\n // Update timestamp for LRU\n entry.timestamp = Date.now();\n return entry.value;\n }\n\n /**\n * Check if a key exists and is not expired\n */\n has(key: string): boolean {\n const entry = this.cache.get(key);\n if (!entry) return false;\n\n if (this.isExpired(entry)) {\n this.delete(key);\n return false;\n }\n\n return true;\n }\n\n /**\n * Delete a key from the cache\n */\n delete(key: string): boolean {\n const entry = this.cache.get(key);\n if (entry) {\n this.memoryUsage -= entry.size || 0;\n return this.cache.delete(key);\n }\n return false;\n }\n\n /**\n * Clear all entries\n */\n clear(): void {\n this.cache.clear();\n this.memoryUsage = 0;\n }\n\n /**\n * Get cache statistics\n */\n getStats(): {\n size: number;\n memoryUsage: number;\n maxSize: number;\n maxMemory: number;\n } {\n return {\n size: this.cache.size,\n memoryUsage: this.memoryUsage,\n maxSize: this.options.maxSize,\n maxMemory: this.options.maxMemory\n };\n }\n\n /**\n * Manually trigger cleanup\n */\n cleanup(): number {\n let removed = 0;\n const now = Date.now();\n\n for (const [key, entry] of this.cache) {\n if (this.isExpired(entry, now)) {\n this.delete(key);\n removed++;\n }\n }\n\n return removed;\n }\n\n /**\n * Destroy the cache and stop cleanup timer\n */\n destroy(): void {\n this.stopCleanupTimer();\n this.clear();\n }\n\n /**\n * Check if an entry is expired\n */\n private isExpired(entry: CacheEntry<T>, now?: number): boolean {\n if (!this.options.defaultTTL) return false;\n const currentTime = now || Date.now();\n return currentTime - entry.timestamp > this.options.defaultTTL;\n }\n\n /**\n * Evict least recently used entry\n */\n private evictLRU(): void {\n let lruKey: string | undefined;\n let lruTime = Infinity;\n\n for (const [key, entry] of this.cache) {\n if (entry.timestamp < lruTime) {\n lruTime = entry.timestamp;\n lruKey = key;\n }\n }\n\n if (lruKey) {\n this.delete(lruKey);\n }\n }\n\n /**\n * Evict entries to make room for new memory\n */\n private evictByMemory(requiredSize: number): void {\n const entries = Array.from(this.cache.entries())\n .sort((a, b) => a[1].timestamp - b[1].timestamp);\n\n let freedMemory = 0;\n for (const [key, entry] of entries) {\n if (freedMemory >= requiredSize) break;\n freedMemory += entry.size || 0;\n this.delete(key);\n }\n }\n\n /**\n * Estimate size of a value\n */\n private estimateSize(value: T): number {\n if (typeof value === 'string') {\n return value.length * 2; // 2 bytes per character\n } else if (typeof value === 'object' && value !== null) {\n // Rough estimation for objects\n try {\n return JSON.stringify(value).length * 2;\n } catch {\n return 1024; // Default 1KB for objects that can't be stringified\n }\n } else {\n return 8; // Default for primitives\n }\n }\n\n /**\n * Start the cleanup timer\n */\n private startCleanupTimer(): void {\n this.cleanupTimer = window.setInterval(() => {\n this.cleanup();\n }, this.options.cleanupInterval);\n }\n\n /**\n * Stop the cleanup timer\n */\n private stopCleanupTimer(): void {\n if (this.cleanupTimer) {\n window.clearInterval(this.cleanupTimer);\n this.cleanupTimer = undefined;\n }\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"component-error-analyzer.js","sourceRoot":"","sources":["../../src/utilities/component-error-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-error-analyzer.js","sourceRoot":"","sources":["../../src/utilities/component-error-analyzer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Component error analysis utilities\n * Provides methods to analyze component errors and identify failed components\n * @module @memberjunction/react-runtime/utilities\n */\n\n/**\n * Information about a failed component\n */\nexport interface FailedComponentInfo {\n /** Component name that failed */\n componentName: string;\n /** Error type (e.g., 'not_defined', 'render_error', 'property_error') */\n errorType: string;\n /** Original error message */\n errorMessage: string;\n /** Line number if available */\n lineNumber?: number;\n /** Additional context */\n context?: string;\n}\n\n/**\n * Analyzes component errors to provide detailed failure information\n */\nexport class ComponentErrorAnalyzer {\n /**\n * Common error patterns for component failures\n */\n private static readonly ERROR_PATTERNS = [\n {\n // Component is not defined\n pattern: /ReferenceError: (\\w+) is not defined/,\n errorType: 'not_defined',\n extractComponent: (match: RegExpMatchArray) => match[1]\n },\n {\n // Cannot read property of undefined (component reference)\n pattern: /Cannot read propert(?:y|ies) '(\\w+)' of undefined/,\n errorType: 'property_error',\n extractComponent: (match: RegExpMatchArray) => match[1]\n },\n {\n // Component render errors\n pattern: /(\\w+)\\(\\.\\.\\.\\): Nothing was returned from render/,\n errorType: 'render_error',\n extractComponent: (match: RegExpMatchArray) => match[1]\n },\n {\n // Component in stack trace\n pattern: /at (\\w+Component\\w*)/,\n errorType: 'stack_trace',\n extractComponent: (match: RegExpMatchArray) => match[1]\n },\n {\n // React component errors\n pattern: /Error: Unable to find node on an unmounted component/,\n errorType: 'unmounted_component',\n extractComponent: () => null // Need to look at stack trace\n },\n {\n // Hook errors\n pattern: /Invalid hook call.*component (\\w+)/,\n errorType: 'invalid_hook',\n extractComponent: (match: RegExpMatchArray) => match[1]\n },\n {\n // Type errors in components\n pattern: /TypeError:.*in (\\w+) \\(at/,\n errorType: 'type_error',\n extractComponent: (match: RegExpMatchArray) => match[1]\n },\n {\n // Missing imports/components\n pattern: /Module not found: Error: Can't resolve '\\.\\/(\\w+)'/,\n errorType: 'missing_import',\n extractComponent: (match: RegExpMatchArray) => match[1]\n },\n {\n // Component is not a function\n pattern: /(\\w+) is not a function/,\n errorType: 'not_a_function',\n extractComponent: (match: RegExpMatchArray) => match[1]\n },\n {\n // Minified React error with component hint\n pattern: /Minified React error.*Visit.*for the full message.*component[: ](\\w+)/s,\n errorType: 'react_error',\n extractComponent: (match: RegExpMatchArray) => match[1]\n }\n ];\n\n /**\n * Analyzes error messages to identify which components failed\n * @param errors Array of error messages\n * @returns Array of failed component names\n */\n static identifyFailedComponents(errors: string[]): string[] {\n const failedComponents = new Set<string>();\n \n for (const error of errors) {\n const components = this.extractComponentsFromError(error);\n components.forEach(comp => failedComponents.add(comp));\n }\n \n return Array.from(failedComponents);\n }\n\n /**\n * Analyzes errors and returns detailed information about failures\n * @param errors Array of error messages\n * @returns Array of detailed failure information\n */\n static analyzeComponentErrors(errors: string[]): FailedComponentInfo[] {\n const failures: FailedComponentInfo[] = [];\n \n for (const error of errors) {\n const failureInfo = this.analyzeError(error);\n failures.push(...failureInfo);\n }\n \n // Remove duplicates based on component name and error type\n const uniqueFailures = new Map<string, FailedComponentInfo>();\n failures.forEach(failure => {\n const key = `${failure.componentName}-${failure.errorType}`;\n if (!uniqueFailures.has(key)) {\n uniqueFailures.set(key, failure);\n }\n });\n \n return Array.from(uniqueFailures.values());\n }\n\n /**\n * Extract component names from a single error message\n */\n private static extractComponentsFromError(error: string): string[] {\n const components: string[] = [];\n \n for (const errorPattern of this.ERROR_PATTERNS) {\n const match = error.match(errorPattern.pattern);\n if (match) {\n const componentName = errorPattern.extractComponent(match);\n if (componentName && this.isLikelyComponentName(componentName)) {\n components.push(componentName);\n }\n }\n }\n \n // Also check for components in stack traces\n const stackComponents = this.extractComponentsFromStackTrace(error);\n components.push(...stackComponents);\n \n return components;\n }\n\n /**\n * Analyze a single error and return detailed information\n */\n private static analyzeError(error: string): FailedComponentInfo[] {\n const failures: FailedComponentInfo[] = [];\n \n for (const errorPattern of this.ERROR_PATTERNS) {\n const match = error.match(errorPattern.pattern);\n if (match) {\n const componentName = errorPattern.extractComponent(match);\n if (componentName && this.isLikelyComponentName(componentName)) {\n failures.push({\n componentName,\n errorType: errorPattern.errorType,\n errorMessage: error,\n lineNumber: this.extractLineNumber(error),\n context: this.extractContext(error)\n });\n }\n }\n }\n \n // If no specific pattern matched, try to extract from stack trace\n if (failures.length === 0) {\n const stackComponents = this.extractComponentsFromStackTrace(error);\n stackComponents.forEach(componentName => {\n failures.push({\n componentName,\n errorType: 'unknown',\n errorMessage: error,\n lineNumber: this.extractLineNumber(error)\n });\n });\n }\n \n return failures;\n }\n\n /**\n * Extract component names from stack trace\n */\n private static extractComponentsFromStackTrace(error: string): string[] {\n const components: string[] = [];\n \n // Look for React component patterns in stack traces\n const stackPatterns = [\n /at (\\w+Component\\w*)/g,\n /at (\\w+)\\s*\\(/g,\n /in (\\w+)\\s*\\(at/g,\n /in (\\w+)\\s*\\(created by/g\n ];\n \n for (const pattern of stackPatterns) {\n let match;\n while ((match = pattern.exec(error)) !== null) {\n const name = match[1];\n if (this.isLikelyComponentName(name)) {\n components.push(name);\n }\n }\n }\n \n return [...new Set(components)]; // Remove duplicates\n }\n\n /**\n * Check if a string is likely to be a React component name\n */\n private static isLikelyComponentName(name: string): boolean {\n // Component names typically:\n // - Start with uppercase letter\n // - Are not JavaScript built-ins\n // - Are not common non-component names\n \n const jsBuiltins = new Set([\n 'Object', 'Array', 'String', 'Number', 'Boolean', 'Function',\n 'Promise', 'Error', 'TypeError', 'ReferenceError', 'SyntaxError',\n 'undefined', 'null', 'console', 'window', 'document'\n ]);\n \n const nonComponents = new Set([\n 'render', 'setState', 'forceUpdate', 'props', 'state', 'context',\n 'componentDidMount', 'componentWillUnmount', 'useEffect', 'useState'\n ]);\n \n return (\n name.length > 0 &&\n /^[A-Z]/.test(name) && // Starts with uppercase\n !jsBuiltins.has(name) &&\n !nonComponents.has(name) &&\n !/^use[A-Z]/.test(name) // Not a hook\n );\n }\n\n /**\n * Extract line number from error message\n */\n private static extractLineNumber(error: string): number | undefined {\n // Look for patterns like \":12:34\" or \"line 12\"\n const patterns = [\n /:(\\d+):\\d+/,\n /line (\\d+)/i,\n /Line (\\d+)/\n ];\n \n for (const pattern of patterns) {\n const match = error.match(pattern);\n if (match) {\n return parseInt(match[1], 10);\n }\n }\n \n return undefined;\n }\n\n /**\n * Extract additional context from error\n */\n private static extractContext(error: string): string | undefined {\n // Extract file names or additional context\n const fileMatch = error.match(/\\(at ([^)]+)\\)/);\n if (fileMatch) {\n return fileMatch[1];\n }\n \n // Extract \"created by\" information\n const createdByMatch = error.match(/created by (\\w+)/);\n if (createdByMatch) {\n return `Created by ${createdByMatch[1]}`;\n }\n \n return undefined;\n }\n\n /**\n * Format error analysis results for logging\n */\n static formatAnalysisResults(failures: FailedComponentInfo[]): string {\n if (failures.length === 0) {\n return 'No component failures detected';\n }\n \n let result = `Detected ${failures.length} component failure(s):\\n`;\n \n failures.forEach((failure, index) => {\n result += `\\n${index + 1}. Component: ${failure.componentName}\\n`;\n result += ` Error Type: ${failure.errorType}\\n`;\n if (failure.lineNumber) {\n result += ` Line: ${failure.lineNumber}\\n`;\n }\n if (failure.context) {\n result += ` Context: ${failure.context}\\n`;\n }\n result += ` Message: ${failure.errorMessage.substring(0, 200)}${failure.errorMessage.length > 200 ? '...' : ''}\\n`;\n });\n \n return result;\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"component-styles.js","sourceRoot":"","sources":["../../src/utilities/component-styles.ts"],"names":[],"mappings":";;;AAYA,SAAgB,WAAW;IAEzB,OAAO;QACL,MAAM,EAAE;YAEN,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE,SAAS;YAGvB,SAAS,EAAE,SAAS;YACpB,cAAc,EAAE,SAAS;YAGzB,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;YACvB,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,SAAS;YAGpB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;YAGvB,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,SAAS;YACxB,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,SAAS;YAGtB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YAGtB,MAAM,EAAE,qBAAqB;YAC7B,YAAY,EAAE,oBAAoB;YAClC,WAAW,EAAE,qBAAqB;SACnC;QACD,OAAO,EAAE;YACP,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,MAAM;SACb;QACD,UAAU,EAAE;YACV,UAAU,EAAE,4EAA4E;YACxF,QAAQ,EAAE;gBACR,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,GAAG,EAAE,MAAM;gBACX,IAAI,EAAE,MAAM;aACb;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,KAAK;aACZ;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,MAAM;aAChB;SACF;QACD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,QAAQ;aACf;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,KAAK;aACb;SACF;QACD,OAAO,EAAE;YACP,EAAE,EAAE,iCAAiC;YACrC,EAAE,EAAE,uEAAuE;YAC3E,EAAE,EAAE,yEAAyE;YAC7E,EAAE,EAAE,2EAA2E;YAC/E,KAAK,EAAE,uCAAuC;SAC/C;QACD,WAAW,EAAE;YACX,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,mBAAmB;SAC1B;QACD,QAAQ,EAAE,MAAM;KACjB,CAAA;AACH,CAAC;AAzGD,kCAyGC;AAGY,QAAA,4BAA4B,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"component-styles.js","sourceRoot":"","sources":["../../src/utilities/component-styles.ts"],"names":[],"mappings":";;;AAYA,SAAgB,WAAW;IAEzB,OAAO;QACL,MAAM,EAAE;YAEN,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE,SAAS;YAGvB,SAAS,EAAE,SAAS;YACpB,cAAc,EAAE,SAAS;YAGzB,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;YACvB,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;YACvB,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,SAAS;YAGpB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;YAGvB,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,SAAS;YACxB,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,SAAS;YAGtB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YAGtB,MAAM,EAAE,qBAAqB;YAC7B,YAAY,EAAE,oBAAoB;YAClC,WAAW,EAAE,qBAAqB;SACnC;QACD,OAAO,EAAE;YACP,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,MAAM;SACb;QACD,UAAU,EAAE;YACV,UAAU,EAAE,4EAA4E;YACxF,QAAQ,EAAE;gBACR,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,GAAG,EAAE,MAAM;gBACX,IAAI,EAAE,MAAM;aACb;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,KAAK;aACZ;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,MAAM;aAChB;SACF;QACD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,MAAM;gBACV,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,QAAQ;aACf;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,KAAK;aACb;SACF;QACD,OAAO,EAAE;YACP,EAAE,EAAE,iCAAiC;YACrC,EAAE,EAAE,uEAAuE;YAC3E,EAAE,EAAE,yEAAyE;YAC7E,EAAE,EAAE,2EAA2E;YAC/E,KAAK,EAAE,uCAAuC;SAC/C;QACD,WAAW,EAAE;YACX,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,mBAAmB;SAC1B;QACD,QAAQ,EAAE,MAAM;KACjB,CAAA;AACH,CAAC;AAzGD,kCAyGC;AAGY,QAAA,4BAA4B,GAAG,WAAW,CAAC","sourcesContent":["/**\n * @fileoverview Default component styles for React runtime\n * @module @memberjunction/react-runtime/utilities\n */\n\nimport { ComponentStyles } from '@memberjunction/interactive-component-types';\n\n/**\n * Creates the default component styles for Skip components\n * These provide a modern, contemporary look and feel\n * Copied from skip-chat implementation\n */\nexport function SetupStyles(): ComponentStyles {\n // Return modern, contemporary styles for generated components\n return {\n colors: {\n // Primary colors - modern purple/blue gradient feel\n primary: '#5B4FE9',\n primaryHover: '#4940D4',\n primaryLight: '#E8E6FF',\n \n // Secondary colors - sophisticated gray\n secondary: '#64748B',\n secondaryHover: '#475569',\n \n // Status colors\n success: '#10B981',\n successLight: '#D1FAE5',\n warning: '#F59E0B',\n warningLight: '#FEF3C7',\n error: '#EF4444',\n errorLight: '#FEE2E2',\n info: '#3B82F6',\n infoLight: '#DBEAFE',\n \n // Base colors\n background: '#FFFFFF',\n surface: '#F8FAFC',\n surfaceHover: '#F1F5F9',\n \n // Text colors with better contrast\n text: '#1E293B',\n textSecondary: '#64748B',\n textTertiary: '#94A3B8',\n textInverse: '#FFFFFF',\n \n // Border colors\n border: '#E2E8F0',\n borderLight: '#F1F5F9',\n borderFocus: '#5B4FE9',\n \n // Shadows (as color strings for easy use)\n shadow: 'rgba(0, 0, 0, 0.05)',\n shadowMedium: 'rgba(0, 0, 0, 0.1)',\n shadowLarge: 'rgba(0, 0, 0, 0.15)',\n },\n spacing: {\n xs: '4px',\n sm: '8px',\n md: '16px',\n lg: '24px',\n xl: '32px',\n xxl: '48px',\n xxxl: '64px',\n },\n typography: {\n fontFamily: '-apple-system, BlinkMacSystemFont, \"Inter\", \"Segoe UI\", Roboto, sans-serif',\n fontSize: {\n xs: '11px',\n sm: '12px',\n md: '14px',\n lg: '16px',\n xl: '20px',\n xxl: '24px',\n xxxl: '32px',\n },\n fontWeight: {\n light: '300',\n regular: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n },\n lineHeight: {\n tight: '1.25',\n normal: '1.5',\n relaxed: '1.75',\n },\n },\n borders: {\n radius: {\n sm: '6px',\n md: '8px',\n lg: '12px',\n xl: '16px',\n full: '9999px',\n },\n width: {\n thin: '1px',\n medium: '2px',\n thick: '3px',\n },\n },\n shadows: {\n sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n inner: 'inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)',\n },\n transitions: {\n fast: '150ms ease-in-out',\n normal: '250ms ease-in-out',\n slow: '350ms ease-in-out',\n },\n overflow: 'auto' // Default overflow style \n }\n}\n\n// Also export with the original name for backward compatibility\nexport const createDefaultComponentStyles = SetupStyles;"]}
@@ -1 +1 @@
1
- {"version":3,"file":"core-libraries.js","sourceRoot":"","sources":["../../src/utilities/core-libraries.ts"],"names":[],"mappings":";;;AAMa,QAAA,sBAAsB,GAA4B;IAC7D;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,4DAA4D;QACpE,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,oEAAoE;QAC5E,WAAW,EAAE,mBAAmB;QAChC,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,yDAAyD;QACjE,WAAW,EAAE,uCAAuC;QACpD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB;CACF,CAAC;AAKF,SAAgB,uBAAuB;IACrC,OAAO,8BAAsB,CAAC;AAChC,CAAC;AAFD,0DAEC;AAKD,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,OAAO,8BAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AAClE,CAAC;AAFD,oDAEC"}
1
+ {"version":3,"file":"core-libraries.js","sourceRoot":"","sources":["../../src/utilities/core-libraries.ts"],"names":[],"mappings":";;;AAMa,QAAA,sBAAsB,GAA4B;IAC7D;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,4DAA4D;QACpE,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,oEAAoE;QAC5E,WAAW,EAAE,mBAAmB;QAChC,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,yDAAyD;QACjE,WAAW,EAAE,uCAAuC;QACpD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB;CACF,CAAC;AAKF,SAAgB,uBAAuB;IACrC,OAAO,8BAAsB,CAAC;AAChC,CAAC;AAFD,0DAEC;AAKD,SAAgB,oBAAoB,CAAC,SAAiB;IACpD,OAAO,8BAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AAClE,CAAC;AAFD,oDAEC","sourcesContent":["import { ExternalLibraryConfig } from '../types/library-config';\n\n/**\n * Core runtime libraries required for the React runtime to function.\n * These are not plugin libraries and are always loaded.\n */\nexport const CORE_RUNTIME_LIBRARIES: ExternalLibraryConfig[] = [\n {\n id: 'react',\n name: 'react',\n displayName: 'React',\n category: 'runtime',\n globalVariable: 'React',\n version: '18.2.0',\n cdnUrl: 'https://unpkg.com/react@18.2.0/umd/react.production.min.js',\n description: 'React core library',\n isEnabled: true,\n isCore: true,\n isRuntimeOnly: true\n },\n {\n id: 'react-dom',\n name: 'react-dom',\n displayName: 'ReactDOM',\n category: 'runtime',\n globalVariable: 'ReactDOM',\n version: '18.2.0',\n cdnUrl: 'https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js',\n description: 'React DOM library',\n isEnabled: true,\n isCore: true,\n isRuntimeOnly: true\n },\n {\n id: 'babel-standalone',\n name: '@babel/standalone',\n displayName: 'Babel Standalone',\n category: 'runtime',\n globalVariable: 'Babel',\n version: '7.24.4',\n cdnUrl: 'https://unpkg.com/@babel/standalone@7.24.4/babel.min.js',\n description: 'Babel compiler for JSX transformation',\n isEnabled: true,\n isCore: true,\n isRuntimeOnly: true\n }\n];\n\n/**\n * Get the core runtime libraries configuration\n */\nexport function getCoreRuntimeLibraries(): ExternalLibraryConfig[] {\n return CORE_RUNTIME_LIBRARIES;\n}\n\n/**\n * Check if a library ID is a core runtime library\n */\nexport function isCoreRuntimeLibrary(libraryId: string): boolean {\n return CORE_RUNTIME_LIBRARIES.some(lib => lib.id === libraryId);\n}"]}
@@ -2,6 +2,7 @@ export * from './component-styles';
2
2
  export * from './standard-libraries';
3
3
  export * from './library-loader';
4
4
  export * from './library-registry';
5
+ export * from './library-dependency-resolver';
5
6
  export * from './component-error-analyzer';
6
7
  export * from './resource-manager';
7
8
  export * from './cache-manager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAKA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAKA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
@@ -18,6 +18,7 @@ __exportStar(require("./component-styles"), exports);
18
18
  __exportStar(require("./standard-libraries"), exports);
19
19
  __exportStar(require("./library-loader"), exports);
20
20
  __exportStar(require("./library-registry"), exports);
21
+ __exportStar(require("./library-dependency-resolver"), exports);
21
22
  __exportStar(require("./component-error-analyzer"), exports);
22
23
  __exportStar(require("./resource-manager"), exports);
23
24
  __exportStar(require("./cache-manager"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,qDAAmC;AACnC,uDAAqC;AACrC,mDAAiC;AACjC,qDAAmC;AACnC,6DAA2C;AAC3C,qDAAmC;AACnC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,qDAAmC;AACnC,uDAAqC;AACrC,mDAAiC;AACjC,qDAAmC;AACnC,gEAA8C;AAC9C,6DAA2C;AAC3C,qDAAmC;AACnC,kDAAgC","sourcesContent":["/**\n * @fileoverview Utilities module exports\n * @module @memberjunction/react-runtime/utilities\n */\n\nexport * from './component-styles';\nexport * from './standard-libraries';\nexport * from './library-loader';\nexport * from './library-registry';\nexport * from './library-dependency-resolver';\nexport * from './component-error-analyzer';\nexport * from './resource-manager';\nexport * from './cache-manager';"]}
@@ -0,0 +1,19 @@
1
+ import { ComponentLibraryEntity } from '@memberjunction/core-entities';
2
+ import { DependencyGraph, LoadOrderResult, ResolvedVersion, VersionRequirement, DependencyResolutionOptions } from '../types/dependency-types';
3
+ export declare class LibraryDependencyResolver {
4
+ private debug;
5
+ constructor(options?: DependencyResolutionOptions);
6
+ parseDependencies(json: string | null): Map<string, string>;
7
+ buildDependencyGraph(libraries: ComponentLibraryEntity[]): DependencyGraph;
8
+ detectCycles(graph: DependencyGraph): string[][];
9
+ topologicalSort(graph: DependencyGraph): ComponentLibraryEntity[];
10
+ private parseVersion;
11
+ private parseVersionRange;
12
+ private versionSatisfiesRange;
13
+ private compareVersions;
14
+ resolveVersionConflicts(requirements: VersionRequirement[], availableLibraries: ComponentLibraryEntity[]): ResolvedVersion;
15
+ getLoadOrder(requestedLibs: string[], allLibs: ComponentLibraryEntity[], options?: DependencyResolutionOptions): LoadOrderResult;
16
+ getDirectDependencies(library: ComponentLibraryEntity): Map<string, string>;
17
+ getTransitiveDependencies(libraryName: string, allLibs: ComponentLibraryEntity[], maxDepth?: number): Set<string>;
18
+ }
19
+ //# sourceMappingURL=library-dependency-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-dependency-resolver.d.ts","sourceRoot":"","sources":["../../src/utilities/library-dependency-resolver.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EACL,eAAe,EAEf,eAAe,EAGf,eAAe,EAGf,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAKnC,qBAAa,yBAAyB;IACpC,OAAO,CAAC,KAAK,CAAkB;gBAEnB,OAAO,CAAC,EAAE,2BAA2B;IASjD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA4B3D,oBAAoB,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,eAAe;IAuC1E,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE,EAAE;IA4ChD,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,sBAAsB,EAAE;IAmDjE,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,iBAAiB;IA6CzB,OAAO,CAAC,qBAAqB;IAmD7B,OAAO,CAAC,eAAe;IAqBvB,uBAAuB,CACrB,YAAY,EAAE,kBAAkB,EAAE,EAClC,kBAAkB,EAAE,sBAAsB,EAAE,GAC3C,eAAe;IA6ElB,YAAY,CACV,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,sBAAsB,EAAE,EACjC,OAAO,CAAC,EAAE,2BAA2B,GACpC,eAAe;IAwIlB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAW3E,yBAAyB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,sBAAsB,EAAE,EACjC,QAAQ,GAAE,MAAW,GACpB,GAAG,CAAC,MAAM,CAAC;CAiCf"}