@memberjunction/react-runtime 2.91.0 → 2.93.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.
- package/.turbo/turbo-build.log +14 -16
- package/CHANGELOG.md +31 -0
- package/dist/compiler/babel-config.js.map +1 -1
- package/dist/compiler/component-compiler.d.ts.map +1 -1
- package/dist/compiler/component-compiler.js +13 -8
- package/dist/compiler/component-compiler.js.map +1 -1
- package/dist/compiler/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/registry/component-registry-service.d.ts +36 -0
- package/dist/registry/component-registry-service.d.ts.map +1 -0
- package/dist/registry/component-registry-service.js +303 -0
- package/dist/registry/component-registry-service.js.map +1 -0
- package/dist/registry/component-registry.js.map +1 -1
- package/dist/registry/component-resolver.d.ts +11 -2
- package/dist/registry/component-resolver.d.ts.map +1 -1
- package/dist/registry/component-resolver.js +63 -11
- package/dist/registry/component-resolver.js.map +1 -1
- package/dist/registry/index.d.ts +2 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +3 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/registry-provider.d.ts +54 -0
- package/dist/registry/registry-provider.d.ts.map +1 -0
- package/dist/registry/registry-provider.js +3 -0
- package/dist/registry/registry-provider.js.map +1 -0
- package/dist/runtime/component-hierarchy.d.ts.map +1 -1
- package/dist/runtime/component-hierarchy.js +2 -1
- package/dist/runtime/component-hierarchy.js.map +1 -1
- package/dist/runtime/error-boundary.js.map +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/prop-builder.js.map +1 -1
- package/dist/runtime/react-root-manager.js.map +1 -1
- package/dist/runtime.umd.js +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/library-config.js.map +1 -1
- package/dist/utilities/cache-manager.js.map +1 -1
- package/dist/utilities/component-error-analyzer.js.map +1 -1
- package/dist/utilities/component-styles.js.map +1 -1
- package/dist/utilities/core-libraries.js.map +1 -1
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/library-loader.js.map +1 -1
- package/dist/utilities/library-registry.js.map +1 -1
- package/dist/utilities/resource-manager.js.map +1 -1
- package/dist/utilities/standard-libraries.js.map +1 -1
- package/package.json +5 -6
- package/src/compiler/component-compiler.ts +18 -8
- package/src/index.ts +4 -2
- package/src/registry/component-registry-service.ts +560 -0
- package/src/registry/component-resolver.ts +104 -15
- package/src/registry/index.ts +9 -0
- package/src/registry/registry-provider.ts +119 -0
- package/src/runtime/component-hierarchy.ts +2 -1
- package/src/types/index.ts +3 -0
- package/tsconfig.json +2 -1
- package/tsconfig.tsbuildinfo +0 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -15,6 +15,10 @@ export interface CompileOptions {
|
|
|
15
15
|
babelPlugins?: string[];
|
|
16
16
|
babelPresets?: string[];
|
|
17
17
|
libraries?: ComponentLibraryDependency[];
|
|
18
|
+
dependencies?: Array<{
|
|
19
|
+
name: string;
|
|
20
|
+
code?: string;
|
|
21
|
+
}>;
|
|
18
22
|
allLibraries: ComponentLibraryEntity[];
|
|
19
23
|
}
|
|
20
24
|
export interface RegistryEntry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAK1G,MAAM,WAAW,iBAAiB;IAEhC,SAAS,EAAE,GAAG,CAAC;IAEf,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,IAAI,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAKD,MAAM,WAAW,cAAc;IAE7B,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC;IAEtB,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,SAAS,CAAC,EAAE,0BAA0B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA0OA,mDAAiC","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 } from '@memberjunction/interactive-component-types';\n\n/**\n * Represents a compiled React component with its metadata\n */\nexport interface CompiledComponent {\n /** The compiled React component function or class */\n component: any;\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 */\n component: any;\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: ComponentCallbacks;\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 * Callbacks available to React components\n */\nexport interface ComponentCallbacks {\n /** Request data refresh */\n RefreshData?: () => void;\n /** Open an entity record */\n OpenEntityRecord?: (entityName: string, key: any) => void;\n /** Update user state */\n UpdateUserState?: (state: any) => void;\n /** Notify of a custom event */\n NotifyEvent?: (event: string, data: 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}\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}\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';"]}
|
|
@@ -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":"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","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}"]}
|
|
@@ -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,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 './component-error-analyzer';\nexport * from './resource-manager';\nexport * from './cache-manager';"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library-loader.js","sourceRoot":"","sources":["../../src/utilities/library-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"library-loader.js","sourceRoot":"","sources":["../../src/utilities/library-loader.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Library loading utilities for React runtime\n * Provides methods to load and manage external JavaScript libraries and CSS\n * @module @memberjunction/react-runtime/utilities\n */\n\nimport { \n StandardLibraries,\n StandardLibraryManager\n} from './standard-libraries';\nimport { LibraryConfiguration, ExternalLibraryConfig, LibraryLoadOptions as ConfigLoadOptions } from '../types/library-config';\nimport { getCoreRuntimeLibraries, isCoreRuntimeLibrary } from './core-libraries';\nimport { resourceManager } from './resource-manager';\n\n// Unique component ID for resource tracking\nconst LIBRARY_LOADER_COMPONENT_ID = 'mj-react-runtime-library-loader-singleton';\n\n/**\n * Represents a loaded script or CSS resource\n */\ninterface LoadedResource {\n element: HTMLScriptElement | HTMLLinkElement;\n promise: Promise<any>;\n}\n\n/**\n * Options for loading libraries\n * @deprecated Use LibraryLoadOptions from library-config instead\n */\nexport interface LibraryLoadOptions {\n /** Load core libraries (lodash, d3, Chart.js, dayjs) */\n loadCore?: boolean;\n /** Load UI libraries (antd, React Bootstrap) */\n loadUI?: boolean;\n /** Load CSS files for UI libraries */\n loadCSS?: boolean;\n /** Custom library URLs to load */\n customLibraries?: { url: string; globalName: string }[];\n}\n\n/**\n * Result of loading libraries\n */\nexport interface LibraryLoadResult {\n React: any;\n ReactDOM: any;\n Babel: any;\n libraries: StandardLibraries;\n}\n\n/**\n * Library loader class for managing external script loading\n */\nexport class LibraryLoader {\n private static loadedResources = new Map<string, LoadedResource>();\n\n /**\n * Load all standard libraries (core + UI + CSS)\n * This is the main method that should be used by test harness and Angular wrapper\n * @param config Optional full library configuration to replace the default\n * @param additionalLibraries Optional additional libraries to merge with the configuration\n */\n static async loadAllLibraries(\n config?: LibraryConfiguration, \n additionalLibraries?: ExternalLibraryConfig[]\n ): Promise<LibraryLoadResult> {\n if (config) {\n StandardLibraryManager.setConfiguration(config);\n }\n \n // If additional libraries are provided, merge them with the current configuration\n if (additionalLibraries && additionalLibraries.length > 0) {\n const currentConfig = StandardLibraryManager.getConfiguration();\n const mergedConfig: LibraryConfiguration = {\n libraries: [...currentConfig.libraries, ...additionalLibraries],\n metadata: {\n ...currentConfig.metadata,\n lastUpdated: new Date().toISOString()\n }\n };\n StandardLibraryManager.setConfiguration(mergedConfig);\n }\n \n return this.loadLibrariesFromConfig();\n }\n\n /**\n * Load libraries based on the current configuration\n */\n static async loadLibrariesFromConfig(options?: ConfigLoadOptions): Promise<LibraryLoadResult> {\n // Always load core runtime libraries first\n const coreLibraries = getCoreRuntimeLibraries();\n const corePromises = coreLibraries.map(lib => \n this.loadScript(lib.cdnUrl, lib.globalVariable)\n );\n \n const coreResults = await Promise.all(corePromises);\n const React = coreResults.find((_, i) => coreLibraries[i].globalVariable === 'React');\n const ReactDOM = coreResults.find((_, i) => coreLibraries[i].globalVariable === 'ReactDOM');\n const Babel = coreResults.find((_, i) => coreLibraries[i].globalVariable === 'Babel');\n \n // Expose React and ReactDOM as globals for UMD libraries that expect them\n // Many React component libraries (Recharts, Victory, etc.) expect these as globals\n if (typeof window !== 'undefined') {\n if (React && !(window as any).React) {\n (window as any).React = React;\n console.log('✓ Exposed React as window.React for UMD compatibility');\n }\n if (ReactDOM && !(window as any).ReactDOM) {\n (window as any).ReactDOM = ReactDOM;\n console.log('✓ Exposed ReactDOM as window.ReactDOM for UMD compatibility');\n }\n // Also expose PropTypes as empty object if not present (for older libraries)\n if (!(window as any).PropTypes) {\n (window as any).PropTypes = {};\n console.log('✓ Exposed empty PropTypes as window.PropTypes for UMD compatibility');\n }\n }\n \n // Now load plugin libraries from configuration\n const config = StandardLibraryManager.getConfiguration();\n const enabledLibraries = StandardLibraryManager.getEnabledLibraries();\n \n // Filter out any core runtime libraries from plugin configuration\n let pluginLibraries = enabledLibraries.filter(lib => !isCoreRuntimeLibrary(lib.id));\n \n // Apply options filters if provided\n if (options) {\n if (options.categories) {\n pluginLibraries = pluginLibraries.filter(lib => \n options.categories!.includes(lib.category)\n );\n }\n if (options.excludeRuntimeOnly) {\n pluginLibraries = pluginLibraries.filter(lib => !lib.isRuntimeOnly);\n }\n }\n \n // Load CSS files for plugin libraries (non-blocking)\n pluginLibraries.forEach(lib => {\n if (lib.cdnCssUrl) {\n this.loadCSS(lib.cdnCssUrl);\n }\n });\n \n // Load plugin libraries\n const pluginPromises = pluginLibraries.map(lib => \n this.loadScript(lib.cdnUrl, lib.globalVariable)\n );\n \n const pluginResults = await Promise.all(pluginPromises);\n \n // Build libraries object (only contains plugin libraries)\n const libraries: StandardLibraries = {};\n \n pluginLibraries.forEach((lib, index) => {\n libraries[lib.globalVariable] = pluginResults[index];\n });\n \n return {\n React: React || (window as any).React,\n ReactDOM: ReactDOM || (window as any).ReactDOM,\n Babel: Babel || (window as any).Babel,\n libraries\n };\n }\n\n /**\n * Load libraries with specific options (backward compatibility)\n * @deprecated Use loadLibrariesFromConfig instead\n */\n static async loadLibraries(options: LibraryLoadOptions): Promise<LibraryLoadResult> {\n const {\n loadCore = true,\n loadUI = true,\n loadCSS = true,\n customLibraries = []\n } = options;\n\n // Map old options to new configuration approach\n const categoriesToLoad: Array<ExternalLibraryConfig['category']> = ['runtime'];\n if (loadCore) {\n categoriesToLoad.push('utility', 'charting');\n }\n if (loadUI) {\n categoriesToLoad.push('ui');\n }\n \n const result = await this.loadLibrariesFromConfig({\n categories: categoriesToLoad\n });\n \n // Load custom libraries if provided\n if (customLibraries.length > 0) {\n const customPromises = customLibraries.map(({ url, globalName }) =>\n this.loadScript(url, globalName)\n );\n \n const customResults = await Promise.all(customPromises);\n customLibraries.forEach(({ globalName }, index) => {\n result.libraries[globalName] = customResults[index];\n });\n }\n \n return result;\n }\n\n /**\n * Load a script from URL\n */\n private static async loadScript(url: string, globalName: string): Promise<any> {\n // Check if already loaded\n const existing = this.loadedResources.get(url);\n if (existing) {\n return existing.promise;\n }\n\n const promise = new Promise((resolve, reject) => {\n // Check if global already exists\n const existingGlobal = (window as any)[globalName];\n if (existingGlobal) {\n resolve(existingGlobal);\n return;\n }\n\n // Check if script tag exists\n const existingScript = document.querySelector(`script[src=\"${url}\"]`);\n if (existingScript) {\n this.waitForScriptLoad(existingScript as HTMLScriptElement, globalName, resolve, reject);\n return;\n }\n\n // Create new script\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n script.crossOrigin = 'anonymous';\n\n const cleanup = () => {\n script.removeEventListener('load', onLoad);\n script.removeEventListener('error', onError);\n };\n\n const onLoad = () => {\n cleanup();\n const global = (window as any)[globalName];\n if (global) {\n resolve(global);\n } else {\n // Some libraries may take a moment to initialize\n const timeoutId = resourceManager.setTimeout(\n LIBRARY_LOADER_COMPONENT_ID,\n () => {\n const delayedGlobal = (window as any)[globalName];\n if (delayedGlobal) {\n resolve(delayedGlobal);\n } else {\n reject(new Error(`${globalName} not found after script load`));\n }\n },\n 100,\n { url, globalName }\n );\n }\n };\n\n const onError = () => {\n cleanup();\n reject(new Error(`Failed to load script: ${url}`));\n };\n\n script.addEventListener('load', onLoad);\n script.addEventListener('error', onError);\n\n document.head.appendChild(script);\n \n // Register the script element for cleanup\n resourceManager.registerDOMElement(LIBRARY_LOADER_COMPONENT_ID, script);\n });\n\n this.loadedResources.set(url, { \n element: document.querySelector(`script[src=\"${url}\"]`)!, \n promise \n });\n\n return promise;\n }\n\n /**\n * Load CSS from URL\n */\n private static loadCSS(url: string): void {\n if (this.loadedResources.has(url)) {\n return;\n }\n\n const existingLink = document.querySelector(`link[href=\"${url}\"]`);\n if (existingLink) {\n return;\n }\n\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = url;\n document.head.appendChild(link);\n \n // Register the link element for cleanup\n resourceManager.registerDOMElement(LIBRARY_LOADER_COMPONENT_ID, link);\n\n this.loadedResources.set(url, {\n element: link,\n promise: Promise.resolve()\n });\n }\n\n /**\n * Wait for existing script to load\n */\n private static waitForScriptLoad(\n script: HTMLScriptElement,\n globalName: string,\n resolve: (value: any) => void,\n reject: (reason: any) => void\n ): void {\n const checkGlobal = () => {\n const global = (window as any)[globalName];\n if (global) {\n resolve(global);\n } else {\n // Retry after a short delay\n resourceManager.setTimeout(\n LIBRARY_LOADER_COMPONENT_ID,\n () => {\n const delayedGlobal = (window as any)[globalName];\n if (delayedGlobal) {\n resolve(delayedGlobal);\n } else {\n reject(new Error(`${globalName} not found after script load`));\n }\n },\n 100,\n { context: 'waitForScriptLoad', globalName }\n );\n }\n };\n\n // Check if already loaded\n if ((script as any).complete || (script as any).readyState === 'complete') {\n checkGlobal();\n return;\n }\n\n // Wait for load\n const loadHandler = () => {\n checkGlobal();\n };\n resourceManager.addEventListener(\n LIBRARY_LOADER_COMPONENT_ID,\n script,\n 'load',\n loadHandler,\n { once: true }\n );\n }\n\n\n /**\n * Get all loaded resources (for cleanup)\n */\n static getLoadedResources(): Map<string, LoadedResource> {\n return this.loadedResources;\n }\n\n /**\n * Clear loaded resources cache and cleanup DOM elements\n */\n static clearCache(): void {\n // Remove all script and link elements we added\n this.loadedResources.forEach((resource, url) => {\n if (resource.element && resource.element.parentNode) {\n resource.element.parentNode.removeChild(resource.element);\n }\n });\n \n this.loadedResources.clear();\n \n // Clean up any resources managed by resource manager\n resourceManager.cleanupComponent(LIBRARY_LOADER_COMPONENT_ID);\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library-registry.js","sourceRoot":"","sources":["../../src/utilities/library-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"library-registry.js","sourceRoot":"","sources":["../../src/utilities/library-registry.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Library registry for approved third-party libraries\n * Maintains a secure registry of libraries that components can use\n * @module @memberjunction/react-runtime/utilities\n */\n\nimport { UserInfo } from \"@memberjunction/core\";\nimport { ComponentLibraryEntity, ComponentMetadataEngine } from \"@memberjunction/core-entities\";\n\n/**\n * Library definition in the registry\n */\nexport interface LibraryDefinition {\n /** Library name (e.g., \"Chart.js\", \"lodash\") */\n name: string;\n /** Global variable name when loaded (e.g., \"Chart\", \"_\") */\n globalVariable: string;\n /** Category path for organization (e.g., \"charting/advanced\", \"utility/date\") */\n category: string;\n /** Available versions with their CDN URLs */\n versions: {\n [version: string]: {\n cdnUrl: string;\n /** Optional CSS URLs for UI libraries */\n cssUrls?: string[];\n };\n };\n /** Default version to use if not specified */\n defaultVersion: string;\n}\n\n/**\n * Registry of approved libraries that components can use\n * This is the security boundary - only libraries defined here can be loaded\n */\nexport class LibraryRegistry {\n private static libraries: Map<string, LibraryDefinition> = new Map();\n private static _configured: boolean = false;\n public static async Config(forceRefresh: boolean = false, componentLibraries: ComponentLibraryEntity[]) {\n if (!this._configured || forceRefresh) {\n // next up, we need to map the component metadata to the library definitions \n // with two steps - first step is that we need to group the libraries in the engine\n // by name and then we'll have all the versions for that particular library we can break\n // into versions in our structure\n const libraryGroups = new Map<string, ComponentLibraryEntity[]>();\n for (const lib of componentLibraries) {\n if (!libraryGroups.has(lib.Name.toLowerCase())) {\n libraryGroups.set(lib.Name.toLowerCase(), []);\n }\n libraryGroups.get(lib.Name.toLowerCase())!.push(lib);\n }\n\n // now we have grouped libraries using the ComponentLibraryEntity type, and next up\n // we can map this to our internal structure of LibraryDefinition\n for (const [name, versions] of libraryGroups) {\n const libDef: LibraryDefinition = {\n name,\n globalVariable: versions[0].GlobalVariable || \"\",\n category: versions[0].Category || \"\",\n versions: {},\n defaultVersion: versions[0].Version || \"\"\n };\n for (const version of versions) {\n libDef.versions[version.Version!] = {\n cdnUrl: version.CDNUrl || \"\",\n cssUrls: version.CDNCssUrl?.split(\",\") || []\n };\n }\n this.libraries.set(name, libDef);\n }\n\n // at this point, our library registry is fully populated\n this._configured = true;\n }\n }\n\n /**\n * Get library definition by name\n */\n static getLibrary(name: string): LibraryDefinition | undefined {\n if (!this._configured)\n throw new Error(\"LibraryRegistry is not configured, call LibraryRegistry.Config() before using!\");\n\n return this.libraries.get(name?.trim().toLowerCase());\n }\n\n /**\n * Get CDN URL for a library\n * @param name Library name\n * @param version Optional version (uses default if not specified)\n * @returns CDN URL or undefined if library/version not found\n */\n static getCdnUrl(name: string, version?: string): string | undefined {\n if (!this._configured)\n throw new Error(\"LibraryRegistry is not configured, call LibraryRegistry.Config() before using!\");\n\n const library = this.libraries.get(name?.trim().toLowerCase());\n if (!library) return undefined;\n\n const targetVersion = version || library.defaultVersion;\n return library.versions[targetVersion]?.cdnUrl;\n }\n\n /**\n * Check if a library is approved\n */\n static isApproved(name: string): boolean {\n if (!this._configured)\n throw new Error(\"LibraryRegistry is not configured, call LibraryRegistry.Config() before using!\");\n\n return this.libraries.has(name?.trim().toLowerCase());\n }\n\n /**\n * Resolve library version based on semver-like pattern\n * For now, just returns exact match or default\n * TODO: Implement proper semver resolution\n */\n static resolveVersion(name: string, versionPattern?: string): string | undefined {\n if (!this._configured)\n throw new Error(\"LibraryRegistry is not configured, call LibraryRegistry.Config() before using!\");\n\n const library = this.libraries.get(name?.trim().toLowerCase());\n if (!library) return undefined;\n\n if (!versionPattern) return library.defaultVersion;\n\n // For now, just check exact match\n // TODO: Implement proper semver resolution for patterns like \"^4.0.0\"\n if (library.versions[versionPattern]) {\n return versionPattern;\n }\n\n // If no exact match, return default\n return library.defaultVersion;\n }\n\n /**\n * Add a library to the registry (for future extensibility)\n * This would typically be called during app initialization\n * with libraries loaded from a database\n */\n static registerLibrary(definition: LibraryDefinition): void {\n if (!this._configured)\n throw new Error(\"LibraryRegistry is not configured, call LibraryRegistry.Config() before using!\");\n\n this.libraries.set(definition.name?.trim().toLowerCase(), definition);\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-manager.js","sourceRoot":"","sources":["../../src/utilities/resource-manager.ts"],"names":[],"mappings":";;;AAmBA,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAE7B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9C,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5C,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAChD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC;YACjE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC;SAChE,CAAC;IACJ,CAAC;SAEI,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5D,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,qBAAqB,EAAE,SAAS;YAChC,oBAAoB,EAAE,SAAS;SAChC,CAAC;IACJ,CAAC;SAEI,CAAC;QACJ,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACtB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/B,OAAO;YACL,UAAU,EAAE,cAAc;YAC1B,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,IAAI;YACnB,qBAAqB,EAAE,SAAS;YAChC,oBAAoB,EAAE,SAAS;SAChC,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;AAMnC,MAAa,eAAe;IAA5B;QACU,cAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;QACpD,oBAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC7C,qBAAgB,GAAG,IAAI,GAAG,EAA0B,CAAC;IA6S/D,CAAC;IAxSC,UAAU,CACR,WAAmB,EACnB,QAAoB,EACpB,KAAa,EACb,QAA8B;QAE9B,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9C,QAAQ,EAAE,CAAC;QACb,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,OAAO;YACb,EAAE;YACF,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,EAAS,CAAC;IACnB,CAAC;IAKD,WAAW,CACT,WAAmB,EACnB,QAAoB,EACpB,KAAa,EACb,QAA8B;QAE9B,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,UAAU;YAChB,EAAE;YACF,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,EAAS,CAAC;IACnB,CAAC;IAKD,qBAAqB,CACnB,WAAmB,EACnB,QAA8B,EAC9B,QAA8B;QAE9B,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAElC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,gBAAgB;YACtB,EAAE;YACF,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC;YAChD,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,EAAS,CAAC;IACnB,CAAC;IAKD,YAAY,CAAC,WAAmB,EAAE,EAAU;QAC1C,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAKD,aAAa,CAAC,WAAmB,EAAE,EAAU;QAC3C,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAKD,oBAAoB,CAAC,WAAmB,EAAE,EAAW;QACnD,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,MAAM,CAAC,oBAAoB,CAAC,EAAY,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YAEN,MAAM,CAAC,YAAY,CAAC,EAAS,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAKD,gBAAgB,CACd,WAAmB,EACnB,MAAmB,EACnB,IAAY,EACZ,QAAuB,EACvB,OAAiC;QAGjC,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAC5D,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEjD,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC5B,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,UAAU;gBACd,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;wBAC/D,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;gBACD,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAKD,kBAAkB,CAChB,WAAmB,EACnB,OAAY,EACZ,OAAoB;QAGpB,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrE,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC5B,IAAI,EAAE,YAAY;gBAClB,EAAE,EAAE,UAAU;gBACd,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;wBAC1F,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBACD,QAAQ,EAAE,EAAE,OAAO,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAKD,iBAAiB,CACf,WAAmB,EACnB,IAAS,EACT,SAAqB;QAErB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,cAAc,WAAW,EAAE;YAC/B,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,EAAE,IAAI,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAKD,eAAe,CAAC,WAAmB,EAAE,OAAmB;QACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAKD,sBAAsB,CAAC,QAAyB;QAC9C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAKO,WAAW,CAAC,WAAmB,EAAE,QAAyB;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAKO,cAAc,CACpB,WAAmB,EACnB,IAA6B,EAC7B,EAAoC;QAEpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CACpC,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAKD,gBAAgB,CAAC,WAAmB;QAElC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,kBAAkB,EAAE,CAAC;YACvB,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACpC,IAAI,CAAC;oBACH,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,CAAC,IAAI,YAAY,EAAE,KAAK,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAGD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAI,CAAC;oBACH,QAAQ,EAAE,CAAC;gBACb,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAKD,aAAa;QACX,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,QAAQ,CAAC,IAAI,YAAY,EAAE,KAAK,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAKD,UAAU;QAER,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAGD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAKD,QAAQ;QAKN,MAAM,cAAc,GAA2B,EAAE,CAAC;QAElD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YACnC,cAAc;YACd,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;SAC/C,CAAC;IACJ,CAAC;CACF;AAhTD,0CAgTC;AAGY,QAAA,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"resource-manager.js","sourceRoot":"","sources":["../../src/utilities/resource-manager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Centralized resource management for React Runtime\n * Handles timers, DOM elements, event listeners, and other resources that need cleanup\n * @module @memberjunction/react-runtime/utilities\n */\n\n// Type alias for timer IDs that works in both browser and Node.js\nexport type TimerId = number | NodeJS.Timeout;\n\nexport interface ManagedResource {\n type: 'timer' | 'interval' | 'animationFrame' | 'eventListener' | 'domElement' | 'observable' | 'reactRoot';\n id: string | TimerId;\n cleanup: () => void;\n metadata?: Record<string, any>;\n}\n\n/**\n * Environment-agnostic timer functions that work in both browser and Node.js\n */\nconst getTimerFunctions = () => {\n // Check if we're in a browser environment\n if (typeof window !== 'undefined' && window.setTimeout) {\n return {\n setTimeout: window.setTimeout.bind(window),\n clearTimeout: window.clearTimeout.bind(window),\n setInterval: window.setInterval.bind(window),\n clearInterval: window.clearInterval.bind(window),\n requestAnimationFrame: window.requestAnimationFrame?.bind(window),\n cancelAnimationFrame: window.cancelAnimationFrame?.bind(window)\n };\n }\n // Node.js environment\n else if (typeof global !== 'undefined' && global.setTimeout) {\n return {\n setTimeout: global.setTimeout,\n clearTimeout: global.clearTimeout,\n setInterval: global.setInterval,\n clearInterval: global.clearInterval,\n requestAnimationFrame: undefined, // Not available in Node.js\n cancelAnimationFrame: undefined\n };\n }\n // Fallback - return no-op functions\n else {\n const noop = () => {};\n const noopWithReturn = () => 0;\n return {\n setTimeout: noopWithReturn,\n clearTimeout: noop,\n setInterval: noopWithReturn,\n clearInterval: noop,\n requestAnimationFrame: undefined,\n cancelAnimationFrame: undefined\n };\n }\n};\n\nconst timers = getTimerFunctions();\n\n/**\n * ResourceManager provides centralized management of resources that need cleanup.\n * This prevents memory leaks by ensuring all resources are properly disposed.\n */\nexport class ResourceManager {\n private resources = new Map<string, Set<ManagedResource>>();\n private globalResources = new Set<ManagedResource>();\n private cleanupCallbacks = new Map<string, (() => void)[]>();\n\n /**\n * Register a timeout with automatic cleanup\n */\n setTimeout(\n componentId: string,\n callback: () => void,\n delay: number,\n metadata?: Record<string, any>\n ): number {\n const id = timers.setTimeout(() => {\n this.removeResource(componentId, 'timer', id);\n callback();\n }, delay);\n\n this.addResource(componentId, {\n type: 'timer',\n id,\n cleanup: () => timers.clearTimeout(id),\n metadata\n });\n\n return id as any;\n }\n\n /**\n * Register an interval with automatic cleanup\n */\n setInterval(\n componentId: string,\n callback: () => void,\n delay: number,\n metadata?: Record<string, any>\n ): number {\n const id = timers.setInterval(callback, delay);\n\n this.addResource(componentId, {\n type: 'interval',\n id,\n cleanup: () => timers.clearInterval(id),\n metadata\n });\n\n return id as any;\n }\n\n /**\n * Register an animation frame with automatic cleanup\n */\n requestAnimationFrame(\n componentId: string,\n callback: FrameRequestCallback,\n metadata?: Record<string, any>\n ): TimerId {\n if (!timers.requestAnimationFrame) {\n // Fallback to setTimeout in non-browser environments\n return this.setTimeout(componentId, () => callback(Date.now()), 16, metadata);\n }\n\n const id = timers.requestAnimationFrame((time) => {\n this.removeResource(componentId, 'animationFrame', id);\n callback(time);\n });\n\n this.addResource(componentId, {\n type: 'animationFrame',\n id,\n cleanup: () => timers.cancelAnimationFrame?.(id),\n metadata\n });\n\n return id as any;\n }\n\n /**\n * Clear a specific timeout\n */\n clearTimeout(componentId: string, id: number): void {\n timers.clearTimeout(id);\n this.removeResource(componentId, 'timer', id);\n }\n\n /**\n * Clear a specific interval\n */\n clearInterval(componentId: string, id: number): void {\n timers.clearInterval(id);\n this.removeResource(componentId, 'interval', id);\n }\n\n /**\n * Cancel a specific animation frame\n */\n cancelAnimationFrame(componentId: string, id: TimerId): void {\n if (timers.cancelAnimationFrame) {\n timers.cancelAnimationFrame(id as number);\n } else {\n // If we fell back to setTimeout, use clearTimeout\n timers.clearTimeout(id as any);\n }\n this.removeResource(componentId, 'animationFrame', id);\n }\n\n /**\n * Register an event listener with automatic cleanup\n */\n addEventListener(\n componentId: string,\n target: EventTarget,\n type: string,\n listener: EventListener,\n options?: AddEventListenerOptions\n ): void {\n // Only add event listeners if we have a valid EventTarget (browser environment)\n if (target && typeof target.addEventListener === 'function') {\n target.addEventListener(type, listener, options);\n \n const resourceId = `${type}-${Date.now()}-${Math.random()}`;\n this.addResource(componentId, {\n type: 'eventListener',\n id: resourceId,\n cleanup: () => {\n if (target && typeof target.removeEventListener === 'function') {\n target.removeEventListener(type, listener, options);\n }\n },\n metadata: { target, type, options }\n });\n }\n }\n\n /**\n * Register a DOM element that needs cleanup\n */\n registerDOMElement(\n componentId: string,\n element: any, // Use 'any' to avoid HTMLElement type in Node.js\n cleanup?: () => void\n ): void {\n // Only register if we're in a browser environment with DOM support\n if (typeof document !== 'undefined' && element && element.parentNode) {\n const resourceId = `dom-${Date.now()}-${Math.random()}`;\n this.addResource(componentId, {\n type: 'domElement',\n id: resourceId,\n cleanup: () => {\n if (cleanup) {\n cleanup();\n }\n if (element && element.parentNode && typeof element.parentNode.removeChild === 'function') {\n element.parentNode.removeChild(element);\n }\n },\n metadata: { element }\n });\n }\n }\n\n /**\n * Register a React root for cleanup\n */\n registerReactRoot(\n componentId: string,\n root: any,\n unmountFn: () => void\n ): void {\n this.addResource(componentId, {\n type: 'reactRoot',\n id: `react-root-${componentId}`,\n cleanup: unmountFn,\n metadata: { root }\n });\n }\n\n /**\n * Register a generic cleanup callback for a component\n */\n registerCleanup(componentId: string, cleanup: () => void): void {\n if (!this.cleanupCallbacks.has(componentId)) {\n this.cleanupCallbacks.set(componentId, []);\n }\n this.cleanupCallbacks.get(componentId)!.push(cleanup);\n }\n\n /**\n * Register a global resource (not tied to a specific component)\n */\n registerGlobalResource(resource: ManagedResource): void {\n this.globalResources.add(resource);\n }\n\n /**\n * Add a resource to be managed\n */\n private addResource(componentId: string, resource: ManagedResource): void {\n if (!this.resources.has(componentId)) {\n this.resources.set(componentId, new Set());\n }\n this.resources.get(componentId)!.add(resource);\n }\n\n /**\n * Remove a specific resource\n */\n private removeResource(\n componentId: string,\n type: ManagedResource['type'],\n id: string | number | NodeJS.Timeout\n ): void {\n const componentResources = this.resources.get(componentId);\n if (componentResources) {\n const toRemove = Array.from(componentResources).find(\n r => r.type === type && r.id === id\n );\n if (toRemove) {\n componentResources.delete(toRemove);\n }\n }\n }\n\n /**\n * Clean up all resources for a specific component\n */\n cleanupComponent(componentId: string): void {\n // Clean up tracked resources\n const componentResources = this.resources.get(componentId);\n if (componentResources) {\n componentResources.forEach(resource => {\n try {\n resource.cleanup();\n } catch (error) {\n console.error(`Error cleaning up ${resource.type} resource:`, error);\n }\n });\n this.resources.delete(componentId);\n }\n\n // Execute cleanup callbacks\n const callbacks = this.cleanupCallbacks.get(componentId);\n if (callbacks) {\n callbacks.forEach(callback => {\n try {\n callback();\n } catch (error) {\n console.error('Error executing cleanup callback:', error);\n }\n });\n this.cleanupCallbacks.delete(componentId);\n }\n }\n\n /**\n * Clean up all global resources\n */\n cleanupGlobal(): void {\n this.globalResources.forEach(resource => {\n try {\n resource.cleanup();\n } catch (error) {\n console.error(`Error cleaning up global ${resource.type} resource:`, error);\n }\n });\n this.globalResources.clear();\n }\n\n /**\n * Clean up all resources (components and global)\n */\n cleanupAll(): void {\n // Clean up all component resources\n for (const componentId of this.resources.keys()) {\n this.cleanupComponent(componentId);\n }\n\n // Clean up global resources\n this.cleanupGlobal();\n }\n\n /**\n * Get resource statistics for debugging\n */\n getStats(): {\n componentCount: number;\n resourceCounts: Record<string, number>;\n globalResourceCount: number;\n } {\n const resourceCounts: Record<string, number> = {};\n \n for (const resources of this.resources.values()) {\n resources.forEach(resource => {\n resourceCounts[resource.type] = (resourceCounts[resource.type] || 0) + 1;\n });\n }\n\n return {\n componentCount: this.resources.size,\n resourceCounts,\n globalResourceCount: this.globalResources.size\n };\n }\n}\n\n// Singleton instance\nexport const resourceManager = new ResourceManager();"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-libraries.js","sourceRoot":"","sources":["../../src/utilities/standard-libraries.ts"],"names":[],"mappings":";;;AAiBA,MAAM,sBAAsB,GAAyB;IACnD,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,WAAW,EAAE,yEAAyE;KACvF;CACF,CAAC;AAKF,MAAa,sBAAsB;IAMjC,MAAM,CAAC,gBAAgB,CAAC,MAA4B;QAClD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;IAKD,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAKD,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAKD,MAAM,CAAC,sBAAsB,CAAC,QAA2C;QACvE,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAChG,CAAC;IAKD,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACjF,CAAC;IAKD,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACzF,CAAC;IAKD,MAAM,CAAC,cAAc,CAAC,EAAU;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAKD,MAAM,CAAC,cAAc;QACnB,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,SAAS;aACzB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;aAC5B,OAAO,CAAC,GAAG,CAAC,EAAE;YAEb,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;YACvB,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,MAAM,CAAC,cAAc;QACnB,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;IAC9C,CAAC;;AA3EH,wDA4EC;AA3EgB,oCAAa,GAAyB,sBAAsB,CAAC;AAkF9E,SAAgB,uBAAuB;IACrC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAElC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAsB,EAAE,CAAC;IAGnC,sBAAsB,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC3D,MAAM,WAAW,GAAI,MAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAjBD,0DAiBC"}
|
|
1
|
+
{"version":3,"file":"standard-libraries.js","sourceRoot":"","sources":["../../src/utilities/standard-libraries.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Standard libraries configuration for React components\n * @module @memberjunction/react-runtime/utilities\n */\n\nimport { LibraryConfiguration, ExternalLibraryConfig } from '../types/library-config';\n\n\n/**\n * Type for dynamically loaded libraries available to React components\n */\nexport type StandardLibraries = Record<string, any>;\n\n/**\n * Default empty library configuration\n * Libraries should be configured dynamically at runtime\n */\nconst DEFAULT_LIBRARY_CONFIG: LibraryConfiguration = {\n libraries: [],\n metadata: {\n version: '1.0.0',\n lastUpdated: new Date().toISOString(),\n description: 'Empty default configuration - libraries should be configured at runtime'\n }\n};\n\n/**\n * Manages standard library configurations with dynamic loading support\n */\nexport class StandardLibraryManager {\n private static configuration: LibraryConfiguration = DEFAULT_LIBRARY_CONFIG;\n \n /**\n * Set a custom library configuration\n */\n static setConfiguration(config: LibraryConfiguration): void {\n this.configuration = config;\n }\n \n /**\n * Get the current library configuration\n */\n static getConfiguration(): LibraryConfiguration {\n return this.configuration;\n }\n \n /**\n * Get all enabled libraries\n */\n static getEnabledLibraries(): ExternalLibraryConfig[] {\n return this.configuration.libraries.filter(lib => lib.isEnabled);\n }\n \n /**\n * Get libraries by category\n */\n static getLibrariesByCategory(category: ExternalLibraryConfig['category']): ExternalLibraryConfig[] {\n return this.configuration.libraries.filter(lib => lib.category === category && lib.isEnabled);\n }\n \n /**\n * Get core libraries (runtime essentials)\n */\n static getCoreLibraries(): ExternalLibraryConfig[] {\n return this.configuration.libraries.filter(lib => lib.isCore && lib.isEnabled);\n }\n \n /**\n * Get component libraries (non-runtime)\n */\n static getComponentLibraries(): ExternalLibraryConfig[] {\n return this.configuration.libraries.filter(lib => !lib.isRuntimeOnly && lib.isEnabled);\n }\n \n /**\n * Get library by ID\n */\n static getLibraryById(id: string): ExternalLibraryConfig | undefined {\n return this.configuration.libraries.find(lib => lib.id === id);\n }\n \n /**\n * Get library URLs as a simple object (for backward compatibility)\n */\n static getLibraryUrls(): Record<string, string> {\n const urls: Record<string, string> = {};\n this.configuration.libraries\n .filter(lib => lib.isEnabled)\n .forEach(lib => {\n // Use uppercase key for backward compatibility\n const key = lib.id.replace(/-/g, '_').toUpperCase();\n urls[key] = lib.cdnUrl;\n if (lib.cdnCssUrl) {\n urls[`${key}_CSS`] = lib.cdnCssUrl;\n }\n });\n return urls;\n }\n \n /**\n * Reset to default configuration\n */\n static resetToDefault(): void {\n this.configuration = DEFAULT_LIBRARY_CONFIG;\n }\n}\n\n\n/**\n * Creates a standard libraries object for browser environments\n * Dynamically collects all libraries based on current configuration\n */\nexport function createStandardLibraries(): StandardLibraries {\n if (typeof window === 'undefined') {\n // Return empty object in Node.js environments\n return {};\n }\n \n const libs: StandardLibraries = {};\n \n // Add all component libraries as globals based on configuration\n StandardLibraryManager.getComponentLibraries().forEach(lib => {\n const globalValue = (window as any)[lib.globalVariable];\n if (globalValue !== undefined) {\n libs[lib.globalVariable] = globalValue;\n }\n });\n \n return libs;\n}"]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/react-runtime",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.93.0",
|
|
4
4
|
"description": "Platform-agnostic React component runtime for MemberJunction. Provides core compilation, registry, and execution capabilities for React components in any JavaScript environment.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
-
"browser": "dist/runtime.umd.js",
|
|
8
7
|
"scripts": {
|
|
9
8
|
"build": "npm run build:node && npm run build:umd",
|
|
10
9
|
"build:node": "tsc",
|
|
@@ -28,10 +27,10 @@
|
|
|
28
27
|
},
|
|
29
28
|
"homepage": "https://github.com/MemberJunction/MJ#readme",
|
|
30
29
|
"dependencies": {
|
|
31
|
-
"@memberjunction/core": "2.
|
|
32
|
-
"@memberjunction/global": "2.
|
|
33
|
-
"@memberjunction/interactive-component-types": "2.
|
|
34
|
-
"@memberjunction/core-entities": "2.
|
|
30
|
+
"@memberjunction/core": "2.93.0",
|
|
31
|
+
"@memberjunction/global": "2.93.0",
|
|
32
|
+
"@memberjunction/interactive-component-types": "2.93.0",
|
|
33
|
+
"@memberjunction/core-entities": "2.93.0",
|
|
35
34
|
"@babel/standalone": "^7.23.5",
|
|
36
35
|
"rxjs": "^7.8.1"
|
|
37
36
|
},
|
|
@@ -144,7 +144,7 @@ export class ComponentCompiler {
|
|
|
144
144
|
throw new Error('Babel instance not set. Call setBabelInstance() first.');
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
const wrappedCode = this.wrapComponentCode(code, componentName, options.libraries);
|
|
147
|
+
const wrappedCode = this.wrapComponentCode(code, componentName, options.libraries, options.dependencies);
|
|
148
148
|
|
|
149
149
|
try {
|
|
150
150
|
const result = this.babelInstance.transform(wrappedCode, {
|
|
@@ -166,9 +166,10 @@ export class ComponentCompiler {
|
|
|
166
166
|
* @param componentCode - Raw component code
|
|
167
167
|
* @param componentName - Name of the component
|
|
168
168
|
* @param libraries - Optional library dependencies
|
|
169
|
+
* @param dependencies - Optional child component dependencies
|
|
169
170
|
* @returns Wrapped component code
|
|
170
171
|
*/
|
|
171
|
-
private wrapComponentCode(componentCode: string, componentName: string, libraries?: any[]): string {
|
|
172
|
+
private wrapComponentCode(componentCode: string, componentName: string, libraries?: any[], dependencies?: Array<{ name: string }>): string {
|
|
172
173
|
// Generate library declarations if libraries are provided
|
|
173
174
|
const libraryDeclarations = libraries && libraries.length > 0
|
|
174
175
|
? libraries
|
|
@@ -176,14 +177,21 @@ export class ComponentCompiler {
|
|
|
176
177
|
.map(lib => `const ${lib.globalVariable} = libraries['${lib.globalVariable}'];`)
|
|
177
178
|
.join('\n ')
|
|
178
179
|
: '';
|
|
180
|
+
|
|
181
|
+
// Generate component declarations if dependencies are provided
|
|
182
|
+
const componentDeclarations = dependencies && dependencies.length > 0
|
|
183
|
+
? dependencies
|
|
184
|
+
.map(dep => `const ${dep.name} = components['${dep.name}'];`)
|
|
185
|
+
.join('\n ')
|
|
186
|
+
: '';
|
|
179
187
|
|
|
180
188
|
return `
|
|
181
189
|
function createComponent(
|
|
182
190
|
React, ReactDOM,
|
|
183
191
|
useState, useEffect, useCallback, useMemo, useRef, useContext, useReducer, useLayoutEffect,
|
|
184
|
-
libraries, styles, console
|
|
192
|
+
libraries, styles, console, components
|
|
185
193
|
) {
|
|
186
|
-
${libraryDeclarations ? libraryDeclarations + '\n ' : ''}${componentCode}
|
|
194
|
+
${libraryDeclarations ? libraryDeclarations + '\n ' : ''}${componentDeclarations ? componentDeclarations + '\n ' : ''}${componentCode}
|
|
187
195
|
|
|
188
196
|
// Ensure the component exists
|
|
189
197
|
if (typeof ${componentName} === 'undefined') {
|
|
@@ -424,12 +432,12 @@ export class ComponentCompiler {
|
|
|
424
432
|
const factoryCreator = new Function(
|
|
425
433
|
'React', 'ReactDOM',
|
|
426
434
|
'useState', 'useEffect', 'useCallback', 'useMemo', 'useRef', 'useContext', 'useReducer', 'useLayoutEffect',
|
|
427
|
-
'libraries', 'styles', 'console',
|
|
435
|
+
'libraries', 'styles', 'console', 'components',
|
|
428
436
|
`${transpiledCode}; return createComponent;`
|
|
429
437
|
);
|
|
430
438
|
|
|
431
439
|
// Return a function that executes the factory with runtime context
|
|
432
|
-
return (context: RuntimeContext, styles: any = {}) => {
|
|
440
|
+
return (context: RuntimeContext, styles: any = {}, components: Record<string, any> = {}) => {
|
|
433
441
|
const { React, ReactDOM, libraries = {} } = context;
|
|
434
442
|
|
|
435
443
|
// Merge loaded libraries with context libraries
|
|
@@ -452,7 +460,8 @@ export class ComponentCompiler {
|
|
|
452
460
|
React.useLayoutEffect,
|
|
453
461
|
mergedLibraries,
|
|
454
462
|
styles,
|
|
455
|
-
console
|
|
463
|
+
console,
|
|
464
|
+
components
|
|
456
465
|
);
|
|
457
466
|
|
|
458
467
|
// Call createComponent to get the actual component
|
|
@@ -469,7 +478,8 @@ export class ComponentCompiler {
|
|
|
469
478
|
React.useLayoutEffect,
|
|
470
479
|
mergedLibraries,
|
|
471
480
|
styles,
|
|
472
|
-
console
|
|
481
|
+
console,
|
|
482
|
+
components
|
|
473
483
|
);
|
|
474
484
|
|
|
475
485
|
// Return the component directly
|
package/src/index.ts
CHANGED
|
@@ -138,6 +138,7 @@ export const DEFAULT_CONFIGS = {
|
|
|
138
138
|
* Creates a complete React runtime instance with all necessary components
|
|
139
139
|
* @param babelInstance - Babel standalone instance for compilation
|
|
140
140
|
* @param config - Optional configuration overrides
|
|
141
|
+
* @param runtimeContext - Optional runtime context for registry-based components
|
|
141
142
|
* @returns Object containing compiler, registry, and resolver instances
|
|
142
143
|
*/
|
|
143
144
|
export function createReactRuntime(
|
|
@@ -145,13 +146,14 @@ export function createReactRuntime(
|
|
|
145
146
|
config?: {
|
|
146
147
|
compiler?: Partial<import('./types').CompilerConfig>;
|
|
147
148
|
registry?: Partial<import('./types').RegistryConfig>;
|
|
148
|
-
}
|
|
149
|
+
},
|
|
150
|
+
runtimeContext?: import('./types').RuntimeContext
|
|
149
151
|
) {
|
|
150
152
|
const compiler = new ComponentCompiler(config?.compiler);
|
|
151
153
|
compiler.setBabelInstance(babelInstance);
|
|
152
154
|
|
|
153
155
|
const registry = new ComponentRegistry(config?.registry);
|
|
154
|
-
const resolver = new ComponentResolver(registry);
|
|
156
|
+
const resolver = new ComponentResolver(registry, compiler, runtimeContext);
|
|
155
157
|
|
|
156
158
|
return {
|
|
157
159
|
compiler,
|