@bleedingdev/modern-js-create 3.2.0-ultramodern.48 → 3.2.0-ultramodern.49
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/dist/index.js +36 -10
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -2913,7 +2913,20 @@ export default function ShellCartPage() {
|
|
|
2913
2913
|
}
|
|
2914
2914
|
function createShellRemoteComponents() {
|
|
2915
2915
|
return `import { createLazyComponent } from '@module-federation/modern-js-v3/react';
|
|
2916
|
-
import { getInstance } from '@module-federation/modern-js-v3/runtime';
|
|
2916
|
+
import { getInstance, loadRemote } from '@module-federation/modern-js-v3/runtime';
|
|
2917
|
+
import type { JSX } from 'react';
|
|
2918
|
+
|
|
2919
|
+
type RemoteComponentModule = {
|
|
2920
|
+
default: () => JSX.Element;
|
|
2921
|
+
};
|
|
2922
|
+
|
|
2923
|
+
const loadRemoteComponent = async (specifier: string) => {
|
|
2924
|
+
const module = await loadRemote<RemoteComponentModule>(specifier);
|
|
2925
|
+
if (!module) {
|
|
2926
|
+
throw new Error(\`Remote module unavailable: \${specifier}\`);
|
|
2927
|
+
}
|
|
2928
|
+
return module;
|
|
2929
|
+
};
|
|
2917
2930
|
|
|
2918
2931
|
const remoteFallback =
|
|
2919
2932
|
({ error }: { error: Error }) =>
|
|
@@ -2923,42 +2936,42 @@ export const Header = createLazyComponent({
|
|
|
2923
2936
|
export: 'default',
|
|
2924
2937
|
fallback: remoteFallback,
|
|
2925
2938
|
instance: getInstance(),
|
|
2926
|
-
loader: () =>
|
|
2939
|
+
loader: () => loadRemoteComponent('explore/Header'),
|
|
2927
2940
|
loading: null,
|
|
2928
2941
|
});
|
|
2929
2942
|
export const StorePicker = createLazyComponent({
|
|
2930
2943
|
export: 'default',
|
|
2931
2944
|
fallback: remoteFallback,
|
|
2932
2945
|
instance: getInstance(),
|
|
2933
|
-
loader: () =>
|
|
2946
|
+
loader: () => loadRemoteComponent('explore/StorePicker'),
|
|
2934
2947
|
loading: null,
|
|
2935
2948
|
});
|
|
2936
2949
|
export const Recommendations = createLazyComponent({
|
|
2937
2950
|
export: 'default',
|
|
2938
2951
|
fallback: remoteFallback,
|
|
2939
2952
|
instance: getInstance(),
|
|
2940
|
-
loader: () =>
|
|
2953
|
+
loader: () => loadRemoteComponent('explore/Recommendations'),
|
|
2941
2954
|
loading: null,
|
|
2942
2955
|
});
|
|
2943
2956
|
export const ProductPage = createLazyComponent({
|
|
2944
2957
|
export: 'default',
|
|
2945
2958
|
fallback: remoteFallback,
|
|
2946
2959
|
instance: getInstance(),
|
|
2947
|
-
loader: () =>
|
|
2960
|
+
loader: () => loadRemoteComponent('decide/ProductPage'),
|
|
2948
2961
|
loading: null,
|
|
2949
2962
|
});
|
|
2950
2963
|
export const MiniCart = createLazyComponent({
|
|
2951
2964
|
export: 'default',
|
|
2952
2965
|
fallback: remoteFallback,
|
|
2953
2966
|
instance: getInstance(),
|
|
2954
|
-
loader: () =>
|
|
2967
|
+
loader: () => loadRemoteComponent('checkout/MiniCart'),
|
|
2955
2968
|
loading: null,
|
|
2956
2969
|
});
|
|
2957
2970
|
export const CartPage = createLazyComponent({
|
|
2958
2971
|
export: 'default',
|
|
2959
2972
|
fallback: remoteFallback,
|
|
2960
2973
|
instance: getInstance(),
|
|
2961
|
-
loader: () =>
|
|
2974
|
+
loader: () => loadRemoteComponent('checkout/CartPage'),
|
|
2962
2975
|
loading: null,
|
|
2963
2976
|
});
|
|
2964
2977
|
`;
|
|
@@ -3260,7 +3273,20 @@ export default function ${componentName}() {
|
|
|
3260
3273
|
}
|
|
3261
3274
|
function createDecideRemoteComponents() {
|
|
3262
3275
|
return `import { createLazyComponent } from '@module-federation/modern-js-v3/react';
|
|
3263
|
-
import { getInstance } from '@module-federation/modern-js-v3/runtime';
|
|
3276
|
+
import { getInstance, loadRemote } from '@module-federation/modern-js-v3/runtime';
|
|
3277
|
+
import type { JSX } from 'react';
|
|
3278
|
+
|
|
3279
|
+
type RemoteComponentModule = {
|
|
3280
|
+
default: () => JSX.Element;
|
|
3281
|
+
};
|
|
3282
|
+
|
|
3283
|
+
const loadRemoteComponent = async (specifier: string) => {
|
|
3284
|
+
const module = await loadRemote<RemoteComponentModule>(specifier);
|
|
3285
|
+
if (!module) {
|
|
3286
|
+
throw new Error(\`Remote module unavailable: \${specifier}\`);
|
|
3287
|
+
}
|
|
3288
|
+
return module;
|
|
3289
|
+
};
|
|
3264
3290
|
|
|
3265
3291
|
const remoteFallback =
|
|
3266
3292
|
({ error }: { error: Error }) =>
|
|
@@ -3270,14 +3296,14 @@ export const AddToCart = createLazyComponent({
|
|
|
3270
3296
|
export: 'default',
|
|
3271
3297
|
fallback: remoteFallback,
|
|
3272
3298
|
instance: getInstance(),
|
|
3273
|
-
loader: () =>
|
|
3299
|
+
loader: () => loadRemoteComponent('checkout/AddToCart'),
|
|
3274
3300
|
loading: null,
|
|
3275
3301
|
});
|
|
3276
3302
|
export const Recommendations = createLazyComponent({
|
|
3277
3303
|
export: 'default',
|
|
3278
3304
|
fallback: remoteFallback,
|
|
3279
3305
|
instance: getInstance(),
|
|
3280
|
-
loader: () =>
|
|
3306
|
+
loader: () => loadRemoteComponent('explore/Recommendations'),
|
|
3281
3307
|
loading: null,
|
|
3282
3308
|
});
|
|
3283
3309
|
`;
|
package/package.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">=20"
|
|
23
23
|
},
|
|
24
|
-
"version": "3.2.0-ultramodern.
|
|
24
|
+
"version": "3.2.0-ultramodern.49",
|
|
25
25
|
"types": "./dist/types/index.d.ts",
|
|
26
26
|
"main": "./dist/index.js",
|
|
27
27
|
"bin": {
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@types/node": "^25.9.1",
|
|
42
42
|
"@typescript/native-preview": "7.0.0-dev.20260527.2",
|
|
43
43
|
"tsx": "^4.22.3",
|
|
44
|
-
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.2.0-ultramodern.
|
|
44
|
+
"@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.2.0-ultramodern.49"
|
|
45
45
|
},
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"registry": "https://registry.npmjs.org/",
|
|
@@ -54,6 +54,6 @@
|
|
|
54
54
|
"start": "node ./dist/index.js"
|
|
55
55
|
},
|
|
56
56
|
"ultramodern": {
|
|
57
|
-
"frameworkVersion": "3.2.0-ultramodern.
|
|
57
|
+
"frameworkVersion": "3.2.0-ultramodern.49"
|
|
58
58
|
}
|
|
59
59
|
}
|