@memberjunction/react-runtime 5.34.0 → 5.35.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 +10 -10
- package/CHANGELOG.md +32 -0
- package/dist/324.runtime.umd.js +28 -28
- package/dist/component-manager/component-manager.d.ts +1 -0
- package/dist/component-manager/component-manager.d.ts.map +1 -1
- package/dist/component-manager/component-manager.js +12 -1
- package/dist/component-manager/component-manager.js.map +1 -1
- package/dist/runtime.umd.js +415 -61
- package/package.json +6 -6
- package/src/component-manager/component-manager.ts +24 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/react-runtime",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.35.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
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/MemberJunction/MJ#readme",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@memberjunction/core": "5.
|
|
33
|
-
"@memberjunction/global": "5.
|
|
34
|
-
"@memberjunction/interactive-component-types": "5.
|
|
35
|
-
"@memberjunction/core-entities": "5.
|
|
36
|
-
"@memberjunction/graphql-dataprovider": "5.
|
|
32
|
+
"@memberjunction/core": "5.35.0",
|
|
33
|
+
"@memberjunction/global": "5.35.0",
|
|
34
|
+
"@memberjunction/interactive-component-types": "5.35.0",
|
|
35
|
+
"@memberjunction/core-entities": "5.35.0",
|
|
36
|
+
"@memberjunction/graphql-dataprovider": "5.35.0",
|
|
37
37
|
"@babel/standalone": "^7.29.1",
|
|
38
38
|
"rxjs": "^7.8.2"
|
|
39
39
|
},
|
|
@@ -424,12 +424,7 @@ export class ComponentManager {
|
|
|
424
424
|
}
|
|
425
425
|
}
|
|
426
426
|
|
|
427
|
-
|
|
428
|
-
// Prefer the input spec's dependencies over the cached result's dependencies.
|
|
429
|
-
// When a parent component is served from cache, result.spec contains stale
|
|
430
|
-
// dependency code. The input spec has the latest dependency code from the caller.
|
|
431
|
-
// Each dependency still gets its own individual cache check via loadComponent.
|
|
432
|
-
const dependencies = spec.dependencies || result.spec?.dependencies;
|
|
427
|
+
const dependencies = this.resolveDependencies(spec.dependencies, result.spec?.dependencies);
|
|
433
428
|
if (dependencies) {
|
|
434
429
|
for (const dep of dependencies) {
|
|
435
430
|
// Normalize dependency spec for local registry lookup
|
|
@@ -489,6 +484,29 @@ export class ComponentManager {
|
|
|
489
484
|
return results;
|
|
490
485
|
}
|
|
491
486
|
|
|
487
|
+
/**
|
|
488
|
+
* Determines which dependency list to use when loading a component's children.
|
|
489
|
+
*
|
|
490
|
+
* - Input deps with code take priority (caller has the latest version).
|
|
491
|
+
* - When input has no deps at all, fall back to fetched/cached deps
|
|
492
|
+
* (e.g., a registry reference spec with no dependency list).
|
|
493
|
+
* - When input has only stubs (no code), prefer fetched deps if they
|
|
494
|
+
* contain code (registry-populated hierarchies from Skip where the
|
|
495
|
+
* full tree is returned in one response).
|
|
496
|
+
*/
|
|
497
|
+
private resolveDependencies(
|
|
498
|
+
inputDeps: ComponentSpec[] | undefined,
|
|
499
|
+
fetchedDeps: ComponentSpec[] | undefined
|
|
500
|
+
): ComponentSpec[] | undefined {
|
|
501
|
+
const inputHasDeps = inputDeps && inputDeps.length > 0;
|
|
502
|
+
const inputHasCode = inputHasDeps && inputDeps.some(d => !!d.code);
|
|
503
|
+
|
|
504
|
+
if (inputHasCode) return inputDeps;
|
|
505
|
+
if (!inputHasDeps) return fetchedDeps || inputDeps;
|
|
506
|
+
if (fetchedDeps?.some(d => !!d.code)) return fetchedDeps;
|
|
507
|
+
return inputDeps;
|
|
508
|
+
}
|
|
509
|
+
|
|
492
510
|
/**
|
|
493
511
|
* Check if a component needs to be fetched from a registry
|
|
494
512
|
*/
|