@bleedingdev/modern-js-plugin-bff 3.5.0-ultramodern.102 → 3.5.0-ultramodern.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/cjs/cli/compress.js +1 -1
  2. package/dist/cjs/cli/generator.js +106 -108
  3. package/dist/cjs/cli/serverGlobalVars.js +43 -57
  4. package/dist/cjs/loader.js +1 -1
  5. package/dist/cjs/runtime/effect/adapter/cross-project-policy.js +17 -12
  6. package/dist/cjs/runtime/effect/adapter/error-response.js +11 -9
  7. package/dist/cjs/runtime/effect/adapter.js +2 -2
  8. package/dist/cjs/runtime/effect/backend-federation/load.js +26 -17
  9. package/dist/cjs/runtime/effect/backend-federation/plugin.js +12 -2
  10. package/dist/cjs/runtime/effect/backend-federation/remotes.js +5 -4
  11. package/dist/cjs/runtime/effect/backend-federation/runtime.js +80 -16
  12. package/dist/cjs/runtime/effect/edge-dispatcher.js +148 -0
  13. package/dist/cjs/runtime/effect/edge.js +19 -100
  14. package/dist/cjs/utils/effect-client-generator/generator.js +17 -16
  15. package/dist/cjs/utils/effect-client-generator/paths.js +4 -15
  16. package/dist/cjs/utils/effect-client-generator/rendering.js +8 -19
  17. package/dist/cjs/utils/effect-client-generator/runtime.js +15 -32
  18. package/dist/cjs/utils/effectSourceLoader.js +10 -6
  19. package/dist/esm/cli/compress.mjs +1 -1
  20. package/dist/esm/cli/generator.mjs +107 -108
  21. package/dist/esm/cli/serverGlobalVars.mjs +44 -48
  22. package/dist/esm/loader.mjs +1 -1
  23. package/dist/esm/runtime/effect/adapter/cross-project-policy.mjs +17 -12
  24. package/dist/esm/runtime/effect/adapter/error-response.mjs +11 -9
  25. package/dist/esm/runtime/effect/adapter.mjs +3 -3
  26. package/dist/esm/runtime/effect/backend-federation/load.mjs +26 -17
  27. package/dist/esm/runtime/effect/backend-federation/plugin.mjs +12 -2
  28. package/dist/esm/runtime/effect/backend-federation/remotes.mjs +5 -4
  29. package/dist/esm/runtime/effect/backend-federation/runtime.mjs +80 -16
  30. package/dist/esm/runtime/effect/edge-dispatcher.mjs +38 -0
  31. package/dist/esm/runtime/effect/edge.mjs +1 -38
  32. package/dist/esm/utils/effect-client-generator/generator.mjs +17 -16
  33. package/dist/esm/utils/effect-client-generator/paths.mjs +5 -6
  34. package/dist/esm/utils/effect-client-generator/rendering.mjs +9 -10
  35. package/dist/esm/utils/effect-client-generator/runtime.mjs +16 -23
  36. package/dist/esm/utils/effectSourceLoader.mjs +8 -7
  37. package/dist/esm-node/cli/compress.mjs +1 -1
  38. package/dist/esm-node/cli/generator.mjs +107 -108
  39. package/dist/esm-node/cli/serverGlobalVars.mjs +44 -48
  40. package/dist/esm-node/loader.mjs +1 -1
  41. package/dist/esm-node/runtime/effect/adapter/cross-project-policy.mjs +17 -12
  42. package/dist/esm-node/runtime/effect/adapter/error-response.mjs +11 -9
  43. package/dist/esm-node/runtime/effect/adapter.mjs +3 -3
  44. package/dist/esm-node/runtime/effect/backend-federation/load.mjs +26 -17
  45. package/dist/esm-node/runtime/effect/backend-federation/plugin.mjs +12 -2
  46. package/dist/esm-node/runtime/effect/backend-federation/remotes.mjs +5 -4
  47. package/dist/esm-node/runtime/effect/backend-federation/runtime.mjs +80 -16
  48. package/dist/esm-node/runtime/effect/edge-dispatcher.mjs +39 -0
  49. package/dist/esm-node/runtime/effect/edge.mjs +1 -38
  50. package/dist/esm-node/utils/effect-client-generator/generator.mjs +17 -16
  51. package/dist/esm-node/utils/effect-client-generator/paths.mjs +5 -6
  52. package/dist/esm-node/utils/effect-client-generator/rendering.mjs +9 -10
  53. package/dist/esm-node/utils/effect-client-generator/runtime.mjs +16 -23
  54. package/dist/esm-node/utils/effectSourceLoader.mjs +8 -7
  55. package/dist/types/cli/generator.d.ts +2 -2
  56. package/dist/types/cli/serverGlobalVars.d.ts +4 -2
  57. package/dist/types/runtime/effect/adapter/cross-project-policy.d.ts +1 -1
  58. package/dist/types/runtime/effect/backend-federation/runtime.d.ts +1 -1
  59. package/dist/types/runtime/effect/edge-dispatcher.d.ts +26 -0
  60. package/dist/types/runtime/effect/edge.d.ts +1 -26
  61. package/dist/types/utils/effectSourceLoader.d.ts +10 -0
  62. package/package.json +34 -18
@@ -30,30 +30,94 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  createBackendFederationRuntime: ()=>createBackendFederationRuntime
32
32
  });
33
+ const runtime_namespaceObject = require("@module-federation/runtime");
33
34
  const external_entry_js_namespaceObject = require("./entry.js");
35
+ const external_plugin_js_namespaceObject = require("./plugin.js");
34
36
  const external_remotes_js_namespaceObject = require("./remotes.js");
35
- const external_utils_js_namespaceObject = require("./utils.js");
36
- function exposeForRemoteRequest(expose) {
37
- return `./${(0, external_utils_js_namespaceObject.normalizeExpose)(expose)}`;
37
+ function _check_private_redeclaration(obj, privateCollection) {
38
+ if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
38
39
  }
40
+ function _class_apply_descriptor_get(receiver, descriptor) {
41
+ if (descriptor.get) return descriptor.get.call(receiver);
42
+ return descriptor.value;
43
+ }
44
+ function _class_apply_descriptor_set(receiver, descriptor, value) {
45
+ if (descriptor.set) descriptor.set.call(receiver, value);
46
+ else {
47
+ if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
48
+ descriptor.value = value;
49
+ }
50
+ }
51
+ function _class_extract_field_descriptor(receiver, privateMap, action) {
52
+ if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
53
+ return privateMap.get(receiver);
54
+ }
55
+ function _class_private_field_get(receiver, privateMap) {
56
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
57
+ return _class_apply_descriptor_get(receiver, descriptor);
58
+ }
59
+ function _class_private_field_init(obj, privateMap, value) {
60
+ _check_private_redeclaration(obj, privateMap);
61
+ privateMap.set(obj, value);
62
+ }
63
+ function _class_private_field_set(receiver, privateMap, value) {
64
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
65
+ _class_apply_descriptor_set(receiver, descriptor, value);
66
+ return value;
67
+ }
68
+ let nextRuntimeId = 0;
39
69
  function parseRemoteRequest(request) {
40
70
  const [remoteName, ...exposeParts] = request.split('/');
41
- if (!remoteName || 0 === exposeParts.length) throw new Error(`[BFF][Effect] Invalid backend federation request ${request}.`);
42
- return {
43
- remoteName,
44
- expose: exposeForRemoteRequest(exposeParts.join('/'))
45
- };
71
+ if (void 0 === remoteName || 0 === remoteName.length || 0 === exposeParts.length) return;
72
+ return remoteName;
73
+ }
74
+ function createLocalEntryPlugin(options, remotes) {
75
+ return (0, external_plugin_js_namespaceObject.createBackendFederationLoadEntryPlugin)({
76
+ resolveEntry (resolvedRemote) {
77
+ const remote = remotes.find((candidate)=>candidate.name === resolvedRemote.name);
78
+ if (void 0 === remote) return;
79
+ return {
80
+ get (expose) {
81
+ return ()=>(0, external_entry_js_namespaceObject.loadBackendFederationExpose)(remote, expose, options);
82
+ }
83
+ };
84
+ }
85
+ });
86
+ }
87
+ function isolateRegisteredRemoteEntries(remotes) {
88
+ const runtimeId = nextRuntimeId;
89
+ nextRuntimeId += 1;
90
+ return remotes.map((remote)=>({
91
+ ...remote,
92
+ entry: `${remote.entry}#modernjs-backend-runtime-${runtimeId}`
93
+ }));
94
+ }
95
+ var _remoteNames = /*#__PURE__*/ new WeakMap();
96
+ class BackendFederationRuntime extends runtime_namespaceObject.ModuleFederation {
97
+ loadRemote(request, loadOptions) {
98
+ const remoteName = parseRemoteRequest(request);
99
+ if (void 0 === remoteName) return Promise.reject(new Error(`[BFF][Effect] Invalid backend federation request ${request}.`));
100
+ if (!_class_private_field_get(this, _remoteNames).has(remoteName)) return Promise.reject(new Error(`[BFF][Effect] Missing backend federation remote ${remoteName}.`));
101
+ return super.loadRemote(request, loadOptions);
102
+ }
103
+ constructor(options, remotes){
104
+ super({
105
+ name: options.hostName,
106
+ remotes: isolateRegisteredRemoteEntries(remotes),
107
+ shared: {},
108
+ plugins: [
109
+ createLocalEntryPlugin(options, remotes)
110
+ ]
111
+ }), _class_private_field_init(this, _remoteNames, {
112
+ writable: true,
113
+ value: void 0
114
+ });
115
+ _class_private_field_set(this, _remoteNames, new Set(remotes.map((remote)=>remote.name)));
116
+ }
46
117
  }
47
118
  function createBackendFederationRuntime(options) {
48
119
  const remotes = (0, external_remotes_js_namespaceObject.collectRemotes)(options);
49
- return {
50
- async loadRemote (request) {
51
- const { remoteName, expose } = parseRemoteRequest(request);
52
- const remote = remotes.find((candidate)=>candidate.name === remoteName);
53
- if (!remote) throw new Error(`[BFF][Effect] Missing backend federation remote ${remoteName}.`);
54
- return (0, external_entry_js_namespaceObject.loadBackendFederationExpose)(remote, expose, options);
55
- }
56
- };
120
+ return new BackendFederationRuntime(options, remotes);
57
121
  }
58
122
  exports.createBackendFederationRuntime = __webpack_exports__.createBackendFederationRuntime;
59
123
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __webpack_modules__ = {
3
+ "./dispatch" (module) {
4
+ module.exports = require("./dispatch.js");
5
+ },
6
+ "./edge-context" (module) {
7
+ module.exports = require("./edge-context.js");
8
+ },
9
+ "./handler" (module) {
10
+ module.exports = require("./handler.js");
11
+ },
12
+ "./module" (module) {
13
+ module.exports = require("./module.js");
14
+ },
15
+ "./operation-context" (module) {
16
+ module.exports = require("./operation-context.js");
17
+ }
18
+ };
19
+ var __webpack_module_cache__ = {};
20
+ function __webpack_require__(moduleId) {
21
+ var cachedModule = __webpack_module_cache__[moduleId];
22
+ if (void 0 !== cachedModule) return cachedModule.exports;
23
+ var module = __webpack_module_cache__[moduleId] = {
24
+ exports: {}
25
+ };
26
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
27
+ return module.exports;
28
+ }
29
+ (()=>{
30
+ __webpack_require__.n = (module)=>{
31
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
32
+ __webpack_require__.d(getter, {
33
+ a: getter
34
+ });
35
+ return getter;
36
+ };
37
+ })();
38
+ (()=>{
39
+ __webpack_require__.d = (exports1, getters, values)=>{
40
+ var define = (defs, kind)=>{
41
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
42
+ enumerable: true,
43
+ [kind]: defs[key]
44
+ });
45
+ };
46
+ define(getters, "get");
47
+ define(values, "value");
48
+ };
49
+ })();
50
+ (()=>{
51
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
52
+ })();
53
+ (()=>{
54
+ __webpack_require__.r = (exports1)=>{
55
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
56
+ value: 'Module'
57
+ });
58
+ Object.defineProperty(exports1, '__esModule', {
59
+ value: true
60
+ });
61
+ };
62
+ })();
63
+ var __webpack_exports__ = {};
64
+ (()=>{
65
+ __webpack_require__.r(__webpack_exports__);
66
+ var _dispatch__rspack_import_0 = __webpack_require__("./dispatch");
67
+ var _edge_context__rspack_import_1 = __webpack_require__("./edge-context");
68
+ var _module__rspack_import_2 = __webpack_require__("./module");
69
+ var _handler__rspack_import_3 = __webpack_require__("./handler");
70
+ var __rspack_reexport = {};
71
+ for(const __rspack_import_key in _handler__rspack_import_3)if ([
72
+ "runWithEffectContext",
73
+ "useEffectContext",
74
+ "default",
75
+ "useOperationContext",
76
+ "createEffectOperationContext",
77
+ "dispatchEffectBffRequest",
78
+ "createEffectBffTestHandler",
79
+ "createEffectBffEdgeHandler",
80
+ "createEffectBffEdgeDispatcher"
81
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_handler__rspack_import_3[__rspack_import_key];
82
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
83
+ var _operation_context__rspack_import_4 = __webpack_require__("./operation-context");
84
+ async function dispatchEffectBffRequest(handler, request, options = {}) {
85
+ return (0, _dispatch__rspack_import_0.dispatchEffectBffRequestWithContext)(handler, request, {
86
+ ...options,
87
+ runWithEffectContext: _edge_context__rspack_import_1.runWithEffectContext
88
+ });
89
+ }
90
+ async function createEffectBffEdgeDispatcher(options) {
91
+ const loaded = await (0, _module__rspack_import_2.resolveEffectBffModuleHandler)(options.module, {
92
+ openapi: options.openapi,
93
+ dataPlatform: options.dataPlatform,
94
+ onWarning: options.onWarning
95
+ });
96
+ if (!loaded) throw new Error('[BFF][Effect] Invalid Effect edge module. Export defineEffectBff(...) or a { api, layer } HttpApi module.');
97
+ return {
98
+ dispatch: (request, dispatchOptions = {})=>dispatchEffectBffRequest(loaded.handler, request, {
99
+ ...dispatchOptions,
100
+ prefix: options.prefix,
101
+ onError: options.onError
102
+ }),
103
+ dispose: async ()=>{
104
+ await loaded.dispose?.();
105
+ }
106
+ };
107
+ }
108
+ const createEffectBffTestHandler = createEffectBffEdgeHandler;
109
+ async function createEffectBffEdgeHandler(options) {
110
+ const dispatcher = await createEffectBffEdgeDispatcher(options);
111
+ return {
112
+ handler: dispatcher.dispatch,
113
+ dispose: dispatcher.dispose
114
+ };
115
+ }
116
+ __webpack_require__.d(__webpack_exports__, {
117
+ createEffectBffEdgeDispatcher: ()=>createEffectBffEdgeDispatcher,
118
+ createEffectBffEdgeHandler: ()=>createEffectBffEdgeHandler,
119
+ createEffectOperationContext: ()=>_operation_context__rspack_import_4.createEffectOperationContext,
120
+ dispatchEffectBffRequest: ()=>dispatchEffectBffRequest,
121
+ runWithEffectContext: ()=>_edge_context__rspack_import_1.runWithEffectContext,
122
+ useEffectContext: ()=>_edge_context__rspack_import_1.useEffectContext,
123
+ useOperationContext: ()=>_edge_context__rspack_import_1.useOperationContext
124
+ }, {
125
+ createEffectBffTestHandler: createEffectBffTestHandler
126
+ });
127
+ })();
128
+ exports.createEffectBffEdgeDispatcher = __webpack_exports__.createEffectBffEdgeDispatcher;
129
+ exports.createEffectBffEdgeHandler = __webpack_exports__.createEffectBffEdgeHandler;
130
+ exports.createEffectBffTestHandler = __webpack_exports__.createEffectBffTestHandler;
131
+ exports.createEffectOperationContext = __webpack_exports__.createEffectOperationContext;
132
+ exports.dispatchEffectBffRequest = __webpack_exports__.dispatchEffectBffRequest;
133
+ exports.runWithEffectContext = __webpack_exports__.runWithEffectContext;
134
+ exports.useEffectContext = __webpack_exports__.useEffectContext;
135
+ exports.useOperationContext = __webpack_exports__.useOperationContext;
136
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
137
+ "createEffectBffEdgeDispatcher",
138
+ "createEffectBffEdgeHandler",
139
+ "createEffectBffTestHandler",
140
+ "createEffectOperationContext",
141
+ "dispatchEffectBffRequest",
142
+ "runWithEffectContext",
143
+ "useEffectContext",
144
+ "useOperationContext"
145
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
146
+ Object.defineProperty(exports, '__esModule', {
147
+ value: true
148
+ });
@@ -3,20 +3,8 @@ var __webpack_modules__ = {
3
3
  "./backend-federation" (module) {
4
4
  module.exports = require("./backend-federation.js");
5
5
  },
6
- "./dispatch" (module) {
7
- module.exports = require("./dispatch.js");
8
- },
9
- "./edge-context" (module) {
10
- module.exports = require("./edge-context.js");
11
- },
12
- "./handler" (module) {
13
- module.exports = require("./handler.js");
14
- },
15
- "./module" (module) {
16
- module.exports = require("./module.js");
17
- },
18
- "./operation-context" (module) {
19
- module.exports = require("./operation-context.js");
6
+ "./edge-dispatcher" (module) {
7
+ module.exports = require("./edge-dispatcher.js");
20
8
  }
21
9
  };
22
10
  var __webpack_module_cache__ = {};
@@ -66,83 +54,30 @@ function __webpack_require__(moduleId) {
66
54
  var __webpack_exports__ = {};
67
55
  (()=>{
68
56
  __webpack_require__.r(__webpack_exports__);
69
- var _dispatch__rspack_import_0 = __webpack_require__("./dispatch");
70
- var _edge_context__rspack_import_1 = __webpack_require__("./edge-context");
71
- var _module__rspack_import_2 = __webpack_require__("./module");
72
- var _backend_federation__rspack_import_3 = __webpack_require__("./backend-federation");
73
- var _handler__rspack_import_4 = __webpack_require__("./handler");
57
+ var _backend_federation__rspack_import_0 = __webpack_require__("./backend-federation");
58
+ var _edge_dispatcher__rspack_import_1 = __webpack_require__("./edge-dispatcher");
74
59
  var __rspack_reexport = {};
75
- for(const __rspack_import_key in _handler__rspack_import_4)if ([
60
+ for(const __rspack_import_key in _edge_dispatcher__rspack_import_1)if ([
76
61
  "validateExpectedBackendFederationIdentity",
77
- "createBackendFederationLoadEntryPlugin",
78
- "useOperationContext",
79
- "BACKEND_FEDERATION_MANIFEST_FILE",
80
- "createEffectOperationContext",
81
- "loadBackendFederatedEffectApi",
82
- "BACKEND_FEDERATION_CONTRACT_VERSION",
83
- "createEffectBffEdgeHandler",
84
- "runWithEffectContext",
85
62
  "BACKEND_FEDERATION_EFFECT_EXPOSE",
86
- "useEffectContext",
87
- "dispatchEffectBffRequest",
88
63
  "default",
64
+ "createBackendFederationLoadEntryPlugin",
65
+ "BACKEND_FEDERATION_MANIFEST_FILE",
89
66
  "BACKEND_FEDERATION_NODE_ADAPTER_VERSION",
90
- "createEffectBffTestHandler",
91
- "createBackendFederationRuntime",
92
- "createEffectBffEdgeDispatcher"
93
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_handler__rspack_import_4[__rspack_import_key];
67
+ "BACKEND_FEDERATION_CONTRACT_VERSION",
68
+ "loadBackendFederatedEffectApi",
69
+ "createBackendFederationRuntime"
70
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_edge_dispatcher__rspack_import_1[__rspack_import_key];
94
71
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
95
- var _operation_context__rspack_import_5 = __webpack_require__("./operation-context");
96
- async function dispatchEffectBffRequest(handler, request, options = {}) {
97
- return (0, _dispatch__rspack_import_0.dispatchEffectBffRequestWithContext)(handler, request, {
98
- ...options,
99
- runWithEffectContext: _edge_context__rspack_import_1.runWithEffectContext
100
- });
101
- }
102
- async function createEffectBffEdgeDispatcher(options) {
103
- const loaded = await (0, _module__rspack_import_2.resolveEffectBffModuleHandler)(options.module, {
104
- openapi: options.openapi,
105
- dataPlatform: options.dataPlatform,
106
- onWarning: options.onWarning
107
- });
108
- if (!loaded) throw new Error('[BFF][Effect] Invalid Effect edge module. Export defineEffectBff(...) or a { api, layer } HttpApi module.');
109
- return {
110
- dispatch: (request, dispatchOptions = {})=>dispatchEffectBffRequest(loaded.handler, request, {
111
- ...dispatchOptions,
112
- prefix: options.prefix,
113
- onError: options.onError
114
- }),
115
- dispose: async ()=>{
116
- await loaded.dispose?.();
117
- }
118
- };
119
- }
120
- const createEffectBffTestHandler = createEffectBffEdgeHandler;
121
- async function createEffectBffEdgeHandler(options) {
122
- const dispatcher = await createEffectBffEdgeDispatcher(options);
123
- return {
124
- handler: dispatcher.dispatch,
125
- dispose: dispatcher.dispose
126
- };
127
- }
128
72
  __webpack_require__.d(__webpack_exports__, {
129
- BACKEND_FEDERATION_CONTRACT_VERSION: ()=>_backend_federation__rspack_import_3.BACKEND_FEDERATION_CONTRACT_VERSION,
130
- BACKEND_FEDERATION_EFFECT_EXPOSE: ()=>_backend_federation__rspack_import_3.BACKEND_FEDERATION_EFFECT_EXPOSE,
131
- BACKEND_FEDERATION_MANIFEST_FILE: ()=>_backend_federation__rspack_import_3.BACKEND_FEDERATION_MANIFEST_FILE,
132
- BACKEND_FEDERATION_NODE_ADAPTER_VERSION: ()=>_backend_federation__rspack_import_3.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
133
- createBackendFederationLoadEntryPlugin: ()=>_backend_federation__rspack_import_3.createBackendFederationLoadEntryPlugin,
134
- createBackendFederationRuntime: ()=>_backend_federation__rspack_import_3.createBackendFederationRuntime,
135
- createEffectBffEdgeDispatcher: ()=>createEffectBffEdgeDispatcher,
136
- createEffectBffEdgeHandler: ()=>createEffectBffEdgeHandler,
137
- createEffectOperationContext: ()=>_operation_context__rspack_import_5.createEffectOperationContext,
138
- dispatchEffectBffRequest: ()=>dispatchEffectBffRequest,
139
- loadBackendFederatedEffectApi: ()=>_backend_federation__rspack_import_3.loadBackendFederatedEffectApi,
140
- runWithEffectContext: ()=>_edge_context__rspack_import_1.runWithEffectContext,
141
- useEffectContext: ()=>_edge_context__rspack_import_1.useEffectContext,
142
- useOperationContext: ()=>_edge_context__rspack_import_1.useOperationContext,
143
- validateExpectedBackendFederationIdentity: ()=>_backend_federation__rspack_import_3.validateExpectedBackendFederationIdentity
144
- }, {
145
- createEffectBffTestHandler: createEffectBffTestHandler
73
+ BACKEND_FEDERATION_CONTRACT_VERSION: ()=>_backend_federation__rspack_import_0.BACKEND_FEDERATION_CONTRACT_VERSION,
74
+ BACKEND_FEDERATION_EFFECT_EXPOSE: ()=>_backend_federation__rspack_import_0.BACKEND_FEDERATION_EFFECT_EXPOSE,
75
+ BACKEND_FEDERATION_MANIFEST_FILE: ()=>_backend_federation__rspack_import_0.BACKEND_FEDERATION_MANIFEST_FILE,
76
+ BACKEND_FEDERATION_NODE_ADAPTER_VERSION: ()=>_backend_federation__rspack_import_0.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
77
+ createBackendFederationLoadEntryPlugin: ()=>_backend_federation__rspack_import_0.createBackendFederationLoadEntryPlugin,
78
+ createBackendFederationRuntime: ()=>_backend_federation__rspack_import_0.createBackendFederationRuntime,
79
+ loadBackendFederatedEffectApi: ()=>_backend_federation__rspack_import_0.loadBackendFederatedEffectApi,
80
+ validateExpectedBackendFederationIdentity: ()=>_backend_federation__rspack_import_0.validateExpectedBackendFederationIdentity
146
81
  });
147
82
  })();
148
83
  exports.BACKEND_FEDERATION_CONTRACT_VERSION = __webpack_exports__.BACKEND_FEDERATION_CONTRACT_VERSION;
@@ -151,15 +86,7 @@ exports.BACKEND_FEDERATION_MANIFEST_FILE = __webpack_exports__.BACKEND_FEDERATIO
151
86
  exports.BACKEND_FEDERATION_NODE_ADAPTER_VERSION = __webpack_exports__.BACKEND_FEDERATION_NODE_ADAPTER_VERSION;
152
87
  exports.createBackendFederationLoadEntryPlugin = __webpack_exports__.createBackendFederationLoadEntryPlugin;
153
88
  exports.createBackendFederationRuntime = __webpack_exports__.createBackendFederationRuntime;
154
- exports.createEffectBffEdgeDispatcher = __webpack_exports__.createEffectBffEdgeDispatcher;
155
- exports.createEffectBffEdgeHandler = __webpack_exports__.createEffectBffEdgeHandler;
156
- exports.createEffectBffTestHandler = __webpack_exports__.createEffectBffTestHandler;
157
- exports.createEffectOperationContext = __webpack_exports__.createEffectOperationContext;
158
- exports.dispatchEffectBffRequest = __webpack_exports__.dispatchEffectBffRequest;
159
89
  exports.loadBackendFederatedEffectApi = __webpack_exports__.loadBackendFederatedEffectApi;
160
- exports.runWithEffectContext = __webpack_exports__.runWithEffectContext;
161
- exports.useEffectContext = __webpack_exports__.useEffectContext;
162
- exports.useOperationContext = __webpack_exports__.useOperationContext;
163
90
  exports.validateExpectedBackendFederationIdentity = __webpack_exports__.validateExpectedBackendFederationIdentity;
164
91
  for(var __rspack_i in __webpack_exports__)if (-1 === [
165
92
  "BACKEND_FEDERATION_CONTRACT_VERSION",
@@ -168,15 +95,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
168
95
  "BACKEND_FEDERATION_NODE_ADAPTER_VERSION",
169
96
  "createBackendFederationLoadEntryPlugin",
170
97
  "createBackendFederationRuntime",
171
- "createEffectBffEdgeDispatcher",
172
- "createEffectBffEdgeHandler",
173
- "createEffectBffTestHandler",
174
- "createEffectOperationContext",
175
- "dispatchEffectBffRequest",
176
98
  "loadBackendFederatedEffectApi",
177
- "runWithEffectContext",
178
- "useEffectContext",
179
- "useOperationContext",
180
99
  "validateExpectedBackendFederationIdentity"
181
100
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
182
101
  Object.defineProperty(exports, '__esModule', {
@@ -35,27 +35,28 @@ const utils_namespaceObject = require("@modern-js/utils");
35
35
  const endpoint_contracts_js_namespaceObject = require("../../runtime/effect/endpoint-contracts.js");
36
36
  const external_rendering_js_namespaceObject = require("./rendering.js");
37
37
  const external_runtime_js_namespaceObject = require("./runtime.js");
38
- async function generateEffectClient(options) {
39
- const api = await (0, external_runtime_js_namespaceObject.loadEffectApi)({
38
+ function generateEffectClient(options) {
39
+ return (0, external_runtime_js_namespaceObject.loadEffectApi)({
40
40
  appDir: options.appDir,
41
41
  resourcePath: options.resourcePath,
42
42
  onDependency: options.onDependency
43
+ }).then((api)=>{
44
+ if (null === api) {
45
+ utils_namespaceObject.logger.warn(`[BFF][Effect] Failed to generate client for ${options.resourcePath}: unable to resolve exported HttpApi.`);
46
+ return null;
47
+ }
48
+ return (0, external_runtime_js_namespaceObject.getHttpApiRuntime)().then((httpApiRuntime)=>{
49
+ const endpoints = (0, endpoint_contracts_js_namespaceObject.collectEffectEndpoints)(httpApiRuntime.reflect, api, options.prefix);
50
+ return {
51
+ code: (0, external_rendering_js_namespaceObject.renderEffectClientCode)(endpoints, options),
52
+ declaration: (0, external_rendering_js_namespaceObject.renderEffectClientDeclaration)(endpoints),
53
+ endpoints
54
+ };
55
+ });
43
56
  });
44
- if (!api) {
45
- utils_namespaceObject.logger.warn(`[BFF][Effect] Failed to generate client for ${options.resourcePath}: unable to resolve exported HttpApi.`);
46
- return null;
47
- }
48
- const httpApiRuntime = await (0, external_runtime_js_namespaceObject.getHttpApiRuntime)();
49
- const endpoints = (0, endpoint_contracts_js_namespaceObject.collectEffectEndpoints)(httpApiRuntime.reflect, api, options.prefix);
50
- return {
51
- code: (0, external_rendering_js_namespaceObject.renderEffectClientCode)(endpoints, options),
52
- declaration: (0, external_rendering_js_namespaceObject.renderEffectClientDeclaration)(endpoints),
53
- endpoints
54
- };
55
57
  }
56
- async function generateEffectClientCode(options) {
57
- const artifacts = await generateEffectClient(options);
58
- return artifacts ? artifacts.code : null;
58
+ function generateEffectClientCode(options) {
59
+ return generateEffectClient(options).then((artifacts)=>null === artifacts ? null : artifacts.code);
59
60
  }
60
61
  exports.generateEffectClient = __webpack_exports__.generateEffectClient;
61
62
  exports.generateEffectClientCode = __webpack_exports__.generateEffectClientCode;
@@ -1,14 +1,5 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
3
  (()=>{
13
4
  __webpack_require__.d = (exports1, getters, values)=>{
14
5
  var define = (defs, kind)=>{
@@ -40,8 +31,6 @@ __webpack_require__.d(__webpack_exports__, {
40
31
  resolveEffectEntryFile: ()=>resolveEffectEntryFile
41
32
  });
42
33
  const utils_namespaceObject = require("@modern-js/utils");
43
- const external_path_namespaceObject = require("path");
44
- var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
45
34
  const JS_OR_TS_EXTS = [
46
35
  '.js',
47
36
  '.jsx',
@@ -55,14 +44,14 @@ const JS_OR_TS_EXTS = [
55
44
  function resolveEffectEntryFile(options) {
56
45
  const { appDir, apiDir, effectEntry } = options;
57
46
  const resolveEntry = (entryWithoutExt)=>{
58
- if (external_path_default().extname(entryWithoutExt)) return utils_namespaceObject.fs.existsSync(entryWithoutExt) ? entryWithoutExt : void 0;
47
+ if ('' !== utils_namespaceObject.upath.extname(entryWithoutExt)) return utils_namespaceObject.fs.existsSync(entryWithoutExt) ? entryWithoutExt : void 0;
59
48
  return (0, utils_namespaceObject.findExists)(JS_OR_TS_EXTS.map((ext)=>`${entryWithoutExt}${ext}`));
60
49
  };
61
- if (effectEntry) {
62
- const entryWithoutExt = external_path_default().isAbsolute(effectEntry) ? effectEntry : external_path_default().resolve(appDir, effectEntry);
50
+ if (void 0 !== effectEntry && '' !== effectEntry) {
51
+ const entryWithoutExt = utils_namespaceObject.upath.isAbsolute(effectEntry) ? effectEntry : utils_namespaceObject.upath.resolve(appDir, effectEntry);
63
52
  return resolveEntry(entryWithoutExt);
64
53
  }
65
- return resolveEntry(external_path_default().resolve(apiDir, 'index'));
54
+ return resolveEntry(utils_namespaceObject.upath.resolve(apiDir, 'index'));
66
55
  }
67
56
  exports.resolveEffectEntryFile = __webpack_exports__.resolveEffectEntryFile;
68
57
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -1,14 +1,5 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
3
  (()=>{
13
4
  __webpack_require__.d = (exports1, getters, values)=>{
14
5
  var define = (defs, kind)=>{
@@ -42,8 +33,6 @@ __webpack_require__.d(__webpack_exports__, {
42
33
  });
43
34
  const bff_core_namespaceObject = require("@modern-js/bff-core");
44
35
  const utils_namespaceObject = require("@modern-js/utils");
45
- const external_path_namespaceObject = require("path");
46
- var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
47
36
  const endpoint_contracts_js_namespaceObject = require("../../runtime/effect/endpoint-contracts.js");
48
37
  const DEFAULT_REQUEST_CREATOR = '@modern-js/plugin-bff/client';
49
38
  const EFFECT_CLIENT_RUNTIME_IMPORT = '@modern-js/plugin-bff/effect-client-runtime';
@@ -56,17 +45,17 @@ function isAbsoluteUrl(value) {
56
45
  }
57
46
  }
58
47
  function resolveBatchEndpoint(prefix, endpoint) {
59
- const value = endpoint || '/_data/batch';
48
+ const value = void 0 === endpoint || '' === endpoint ? '/_data/batch' : endpoint;
60
49
  if (isAbsoluteUrl(value)) return value;
61
50
  const normalizedPrefix = (0, endpoint_contracts_js_namespaceObject.normalizeEffectPrefix)(prefix);
62
51
  const normalizedEndpoint = (0, endpoint_contracts_js_namespaceObject.ensureLeadingSlash)(value);
63
- if (!normalizedPrefix) return normalizedEndpoint;
52
+ if ('' === normalizedPrefix) return normalizedEndpoint;
64
53
  if (normalizedEndpoint === normalizedPrefix || normalizedEndpoint.startsWith(`${normalizedPrefix}/`)) return normalizedEndpoint;
65
54
  return `${normalizedPrefix}${'/' === normalizedEndpoint ? '' : normalizedEndpoint}`;
66
55
  }
67
56
  function getPackageInfo(appDir) {
68
57
  try {
69
- const packageJsonPath = external_path_default().resolve(appDir, './package.json');
58
+ const packageJsonPath = utils_namespaceObject.upath.resolve(appDir, './package.json');
70
59
  const packageJson = utils_namespaceObject.fs.readJSONSync(packageJsonPath);
71
60
  return {
72
61
  name: packageJson.name,
@@ -81,9 +70,9 @@ function renderEffectClientCode(endpoints, options) {
81
70
  const httpMethodDecider = options.httpMethodDecider || 'functionName';
82
71
  const packageInfo = getPackageInfo(options.appDir);
83
72
  const packageName = packageInfo.name;
84
- const dataPlatformAppNamespace = packageName || 'unknown-app';
85
- const requestId = 'bundle' === options.target ? packageName || process.env.npm_package_name : void 0;
86
- const normalizedRequestId = requestId || 'default';
73
+ const dataPlatformAppNamespace = void 0 === packageName || '' === packageName ? 'unknown-app' : packageName;
74
+ const requestId = 'bundle' === options.target ? void 0 !== packageName && '' !== packageName ? packageName : void 0 : void 0;
75
+ const normalizedRequestId = void 0 === requestId || '' === requestId ? 'default' : requestId;
87
76
  const operationVersion = (0, bff_core_namespaceObject.deriveOperationVersion)(packageInfo.version);
88
77
  const batchConfig = options.dataPlatformBatch;
89
78
  const batchEndpoint = resolveBatchEndpoint(options.prefix, batchConfig?.endpoint);
@@ -100,7 +89,7 @@ function renderEffectClientCode(endpoints, options) {
100
89
  };
101
90
  const config = {
102
91
  appNamespace: dataPlatformAppNamespace,
103
- ...requestId ? {
92
+ ...void 0 !== requestId && '' !== requestId ? {
104
93
  requestId
105
94
  } : {},
106
95
  port: options.port,
@@ -114,7 +103,7 @@ function renderEffectClientCode(endpoints, options) {
114
103
  maxBatchSize: batchConfig?.maxBatchSize ?? 16,
115
104
  maxBatchBytes: batchConfig?.maxBatchBytes ?? 65536,
116
105
  requestTimeoutMs: batchConfig?.requestTimeoutMs ?? 10000,
117
- allowedMethods: batchConfig?.allowedMethods && batchConfig.allowedMethods.length > 0 ? batchConfig.allowedMethods : [
106
+ allowedMethods: batchConfig?.allowedMethods !== void 0 && batchConfig.allowedMethods.length > 0 ? batchConfig.allowedMethods : [
118
107
  'GET'
119
108
  ]
120
109
  }
@@ -1,14 +1,5 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
3
  (()=>{
13
4
  __webpack_require__.d = (exports1, getters, values)=>{
14
5
  var define = (defs, kind)=>{
@@ -41,38 +32,30 @@ __webpack_require__.d(__webpack_exports__, {
41
32
  loadEffectApi: ()=>loadEffectApi
42
33
  });
43
34
  const utils_namespaceObject = require("@modern-js/utils");
44
- const external_path_namespaceObject = require("path");
45
- var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
46
35
  const endpoint_contracts_js_namespaceObject = require("../../runtime/effect/endpoint-contracts.js");
47
36
  const external_effectSourceLoader_js_namespaceObject = require("../effectSourceLoader.js");
48
37
  let httpApiRuntimePromise;
49
38
  function isRecord(value) {
50
39
  return 'object' == typeof value && null !== value;
51
40
  }
52
- async function getHttpApiRuntime() {
53
- if (!httpApiRuntimePromise) httpApiRuntimePromise = (async ()=>{
54
- let mod;
55
- try {
56
- mod = await (0, utils_namespaceObject.compatibleRequire)('effect/unstable/httpapi', false);
57
- } catch (error) {
58
- const message = error instanceof Error ? error.message : String(error);
59
- if (!message.includes("Cannot find module 'effect/unstable/httpapi'")) throw error;
60
- const effectPackageJson = require.resolve('effect/package.json');
61
- const effectHttpApiRuntimePath = external_path_default().join(external_path_default().dirname(effectPackageJson), 'dist', 'unstable', 'httpapi', 'index.js');
62
- mod = await (0, utils_namespaceObject.compatibleRequire)(effectHttpApiRuntimePath, false);
63
- }
64
- if (isRecord(mod) && isRecord(mod.HttpApi)) {
65
- const maybeHttpApi = mod.HttpApi;
66
- if ('function' == typeof maybeHttpApi.isHttpApi && 'function' == typeof maybeHttpApi.reflect) return maybeHttpApi;
67
- }
41
+ function isHttpApiRuntime(value) {
42
+ return isRecord(value) && 'function' == typeof value.isHttpApi && 'function' == typeof value.reflect;
43
+ }
44
+ function getHttpApiRuntime() {
45
+ if (void 0 === httpApiRuntimePromise) httpApiRuntimePromise = (0, utils_namespaceObject.compatibleRequire)('effect/unstable/httpapi', false).catch((error)=>{
46
+ const message = error instanceof Error ? error.message : String(error);
47
+ if (!message.includes("Cannot find module 'effect/unstable/httpapi'")) throw error;
48
+ const effectPackageJson = require.resolve('effect/package.json');
49
+ const effectHttpApiRuntimePath = utils_namespaceObject.upath.join(utils_namespaceObject.upath.dirname(effectPackageJson), 'dist', 'unstable', 'httpapi', 'index.js');
50
+ return (0, utils_namespaceObject.compatibleRequire)(effectHttpApiRuntimePath, false);
51
+ }).then((mod)=>{
52
+ if (isRecord(mod) && isHttpApiRuntime(mod.HttpApi)) return mod.HttpApi;
68
53
  throw new Error('[BFF][Effect] Unable to resolve HttpApi runtime from effect/unstable/httpapi.');
69
- })();
54
+ });
70
55
  return httpApiRuntimePromise;
71
56
  }
72
- async function loadEffectApi(options) {
73
- const httpApiRuntime = await getHttpApiRuntime();
74
- const mod = await (0, external_effectSourceLoader_js_namespaceObject.loadEffectSourceModule)(options);
75
- return (0, endpoint_contracts_js_namespaceObject.extractHttpApiFromModule)(mod, httpApiRuntime.isHttpApi);
57
+ function loadEffectApi(options) {
58
+ return getHttpApiRuntime().then((httpApiRuntime)=>(0, external_effectSourceLoader_js_namespaceObject.loadEffectSourceModule)(options).then((mod)=>(0, endpoint_contracts_js_namespaceObject.extractHttpApiFromModule)(mod, httpApiRuntime.isHttpApi)));
76
59
  }
77
60
  exports.getHttpApiRuntime = __webpack_exports__.getHttpApiRuntime;
78
61
  exports.loadEffectApi = __webpack_exports__.loadEffectApi;