@bleedingdev/modern-js-plugin-bff 3.2.0-ultramodern.11 → 3.2.0-ultramodern.111

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 (58) hide show
  1. package/dist/cjs/cli.js +9 -5
  2. package/dist/cjs/constants.js +13 -9
  3. package/dist/cjs/index.js +9 -5
  4. package/dist/cjs/loader.js +32 -5
  5. package/dist/cjs/runtime/create-request/index.js +9 -5
  6. package/dist/cjs/runtime/data-platform/index.js +48 -13
  7. package/dist/cjs/runtime/effect/adapter.js +24 -87
  8. package/dist/cjs/runtime/effect/context.js +19 -7
  9. package/dist/cjs/runtime/effect/edge.js +173 -0
  10. package/dist/cjs/runtime/effect/handler.js +597 -0
  11. package/dist/cjs/runtime/effect/index.js +30 -547
  12. package/dist/cjs/runtime/effect/module.js +142 -0
  13. package/dist/cjs/runtime/effect/operation-context.js +115 -0
  14. package/dist/cjs/runtime/effect-client/index.js +22 -6
  15. package/dist/cjs/runtime/hono/adapter.js +9 -5
  16. package/dist/cjs/runtime/hono/index.js +9 -5
  17. package/dist/cjs/runtime/hono/operators.js +9 -5
  18. package/dist/cjs/server.js +9 -5
  19. package/dist/cjs/utils/clientGenerator.js +9 -5
  20. package/dist/cjs/utils/createHonoRoutes.js +9 -5
  21. package/dist/cjs/utils/crossProjectApiPlugin.js +9 -5
  22. package/dist/cjs/utils/effectClientGenerator.js +26 -5
  23. package/dist/cjs/utils/pluginGenerator.js +9 -5
  24. package/dist/cjs/utils/runtimeGenerator.js +9 -5
  25. package/dist/esm/loader.mjs +23 -0
  26. package/dist/esm/runtime/data-platform/index.mjs +31 -9
  27. package/dist/esm/runtime/effect/adapter.mjs +16 -83
  28. package/dist/esm/runtime/effect/context.mjs +3 -1
  29. package/dist/esm/runtime/effect/edge.mjs +90 -0
  30. package/dist/esm/runtime/effect/handler.mjs +438 -0
  31. package/dist/esm/runtime/effect/index.mjs +3 -437
  32. package/dist/esm/runtime/effect/module.mjs +104 -0
  33. package/dist/esm/runtime/effect/operation-context.mjs +77 -0
  34. package/dist/esm/runtime/effect-client/index.mjs +14 -2
  35. package/dist/esm/utils/effectClientGenerator.mjs +17 -0
  36. package/dist/esm-node/loader.mjs +23 -0
  37. package/dist/esm-node/runtime/data-platform/index.mjs +31 -9
  38. package/dist/esm-node/runtime/effect/adapter.mjs +16 -83
  39. package/dist/esm-node/runtime/effect/context.mjs +3 -1
  40. package/dist/esm-node/runtime/effect/edge.mjs +91 -0
  41. package/dist/esm-node/runtime/effect/handler.mjs +439 -0
  42. package/dist/esm-node/runtime/effect/index.mjs +3 -437
  43. package/dist/esm-node/runtime/effect/module.mjs +105 -0
  44. package/dist/esm-node/runtime/effect/operation-context.mjs +78 -0
  45. package/dist/esm-node/runtime/effect-client/index.mjs +14 -2
  46. package/dist/esm-node/utils/effectClientGenerator.mjs +17 -0
  47. package/dist/types/runtime/create-request/index.d.ts +1 -0
  48. package/dist/types/runtime/data-platform/index.d.ts +4 -0
  49. package/dist/types/runtime/effect/context.d.ts +3 -6
  50. package/dist/types/runtime/effect/edge.d.ts +25 -0
  51. package/dist/types/runtime/effect/handler.d.ts +173 -0
  52. package/dist/types/runtime/effect/index.d.ts +2 -170
  53. package/dist/types/runtime/effect/module.d.ts +28 -0
  54. package/dist/types/runtime/effect/operation-context.d.ts +10 -0
  55. package/dist/types/runtime/effect-client/index.d.ts +6 -1
  56. package/dist/types/utils/createHonoRoutes.d.ts +3 -3
  57. package/dist/types/utils/effectClientGenerator.d.ts +1 -1
  58. package/package.json +27 -18
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ resolveEffectBffModuleHandler: ()=>resolveEffectBffModuleHandler
32
+ });
33
+ const Context_namespaceObject = require("effect/Context");
34
+ const httpapi_namespaceObject = require("effect/unstable/httpapi");
35
+ const external_handler_js_namespaceObject = require("./handler.js");
36
+ function isRecord(value) {
37
+ return 'object' == typeof value && null !== value;
38
+ }
39
+ function includesRuntimeExports(value) {
40
+ return 'api' in value || 'layer' in value || 'createHandler' in value || 'handler' in value;
41
+ }
42
+ function isRequestHandler(value) {
43
+ return 'function' == typeof value;
44
+ }
45
+ function isEffectApiDefinition(module) {
46
+ return httpapi_namespaceObject.HttpApi.isHttpApi(module.api) && void 0 !== module.layer;
47
+ }
48
+ function isEffectServiceContext(context) {
49
+ return 'object' == typeof context && null !== context && 'mapUnsafe' in context;
50
+ }
51
+ const emptyEffectServiceContext = Context_namespaceObject.empty();
52
+ function callEffectBffRequestHandler(handler, request, context) {
53
+ return void 0 === context ? handler(request) : handler(request, context);
54
+ }
55
+ function createLoadedHandler(webHandler) {
56
+ return {
57
+ handler: (request, context)=>callEffectBffRequestHandler(webHandler.handler, request, context),
58
+ dispose: webHandler.dispose
59
+ };
60
+ }
61
+ function createLoadedHttpApiHandler(webHandler) {
62
+ return {
63
+ handler: (request, context)=>{
64
+ const effectContext = isEffectServiceContext(context) ? context : emptyEffectServiceContext;
65
+ return webHandler.handler(request, effectContext);
66
+ },
67
+ dispose: webHandler.dispose
68
+ };
69
+ }
70
+ function resolveNormalizedEffectBffModuleHandler(normalizedModule, options = {}) {
71
+ if (isRequestHandler(normalizedModule.handler)) return {
72
+ handler: normalizedModule.handler
73
+ };
74
+ const entry = normalizedModule.default;
75
+ if (isRequestHandler(entry)) return {
76
+ handler: entry
77
+ };
78
+ if (isRecord(entry)) normalizedModule = {
79
+ ...normalizedModule,
80
+ ...entry
81
+ };
82
+ if (isRecord(entry) && 'handler' in entry) {
83
+ const maybeHandler = entry.handler;
84
+ if (isRequestHandler(maybeHandler)) normalizedModule = {
85
+ ...normalizedModule,
86
+ handler: maybeHandler
87
+ };
88
+ }
89
+ if (isRequestHandler(normalizedModule.handler)) return {
90
+ handler: normalizedModule.handler
91
+ };
92
+ if ('function' == typeof normalizedModule.createHandler) {
93
+ const webHandler = normalizedModule.createHandler({
94
+ openapi: options.openapi,
95
+ dataPlatform: options.dataPlatform
96
+ });
97
+ return createLoadedHandler(webHandler);
98
+ }
99
+ if (isEffectApiDefinition(normalizedModule)) {
100
+ options.onWarning?.('[BFF][Effect] Detected { api, layer } export without createHandler. Prefer `defineEffectBff(...)` from @modern-js/plugin-bff/server to avoid module instance mismatch.');
101
+ const webHandler = (0, external_handler_js_namespaceObject.createHttpApiHandler)({
102
+ api: normalizedModule.api,
103
+ layer: normalizedModule.layer,
104
+ openapi: options.openapi,
105
+ dataPlatform: options.dataPlatform
106
+ });
107
+ return createLoadedHttpApiHandler(webHandler);
108
+ }
109
+ return null;
110
+ }
111
+ function resolveEffectBffModuleHandler(mod, options = {}) {
112
+ let normalizedModule = mod;
113
+ const mergeRuntimeExports = (value)=>{
114
+ if (!isRecord(value) || !includesRuntimeExports(value)) return;
115
+ normalizedModule = {
116
+ ...normalizedModule,
117
+ ...value
118
+ };
119
+ };
120
+ if (isRequestHandler(normalizedModule.handler)) return Promise.resolve({
121
+ handler: normalizedModule.handler
122
+ });
123
+ const entry = normalizedModule.default;
124
+ if (isRequestHandler(entry)) return Promise.resolve({
125
+ handler: entry
126
+ });
127
+ if ('function' == typeof entry && 0 === entry.length) return Promise.resolve(entry()).then((out)=>{
128
+ if (isRequestHandler(out)) return {
129
+ handler: out
130
+ };
131
+ mergeRuntimeExports(out);
132
+ return resolveNormalizedEffectBffModuleHandler(normalizedModule, options);
133
+ });
134
+ return Promise.resolve(resolveNormalizedEffectBffModuleHandler(normalizedModule, options));
135
+ }
136
+ exports.resolveEffectBffModuleHandler = __webpack_exports__.resolveEffectBffModuleHandler;
137
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
138
+ "resolveEffectBffModuleHandler"
139
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
140
+ Object.defineProperty(exports, '__esModule', {
141
+ value: true
142
+ });
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ createEffectOperationContext: ()=>createEffectOperationContext
32
+ });
33
+ const create_request_namespaceObject = require("@modern-js/create-request");
34
+ const TRACEPARENT_REGEX = /^00-([0-9a-f]{32})-([0-9a-f]{16})-[0-9a-f]{2}$/i;
35
+ const readHeader = (headers, header)=>{
36
+ const value = headers.get(header);
37
+ return value && value.length > 0 ? value : void 0;
38
+ };
39
+ const copyStringField = (target, details, key)=>{
40
+ const value = details[key];
41
+ if ('string' == typeof value && value.length > 0) target[key] = value;
42
+ };
43
+ const parseTraceparent = (traceparent)=>{
44
+ if (!traceparent) return;
45
+ const match = traceparent.trim().match(TRACEPARENT_REGEX);
46
+ if (!match) return;
47
+ const [, traceId, spanId] = match;
48
+ if (!traceId || !spanId) return;
49
+ return {
50
+ traceId: traceId.toLowerCase(),
51
+ spanId: spanId.toLowerCase()
52
+ };
53
+ };
54
+ const readOperationContextDetails = (request)=>{
55
+ const rawDetails = readHeader(request.headers, create_request_namespaceObject.BFF_OPERATION_CONTEXT_DETAIL_HEADER);
56
+ if (!rawDetails) return {};
57
+ try {
58
+ const parsed = JSON.parse(rawDetails);
59
+ if (!parsed || 'object' != typeof parsed || Array.isArray(parsed)) return {};
60
+ const details = parsed;
61
+ const safeDetails = {};
62
+ copyStringField(safeDetails, details, 'requestId');
63
+ copyStringField(safeDetails, details, 'operationId');
64
+ copyStringField(safeDetails, details, 'schemaHash');
65
+ copyStringField(safeDetails, details, 'traceparent');
66
+ copyStringField(safeDetails, details, 'traceId');
67
+ copyStringField(safeDetails, details, 'spanId');
68
+ if ('number' == typeof details.operationVersion) safeDetails.operationVersion = details.operationVersion;
69
+ return safeDetails;
70
+ } catch {
71
+ return {};
72
+ }
73
+ };
74
+ const createEffectOperationContext = ({ request, path, method })=>{
75
+ const details = readOperationContextDetails(request);
76
+ const servicePath = new URL(request.url).pathname;
77
+ const traceparent = readHeader(request.headers, create_request_namespaceObject.BFF_TRACEPARENT_HEADER) || details.traceparent;
78
+ const parsedTraceparent = details.traceId && details.spanId ? {
79
+ traceId: details.traceId,
80
+ spanId: details.spanId
81
+ } : parseTraceparent(traceparent);
82
+ const locale = readHeader(request.headers, create_request_namespaceObject.BFF_LOCALE_HEADER);
83
+ const headerOperationId = readHeader(request.headers, create_request_namespaceObject.BFF_OPERATION_CONTEXT_HEADER);
84
+ return {
85
+ ...details,
86
+ ...headerOperationId || details.operationId ? {
87
+ operationId: headerOperationId || details.operationId
88
+ } : {},
89
+ routePath: servicePath,
90
+ method: (method || request.method || 'GET').toUpperCase(),
91
+ source: 'effect-adapter',
92
+ ...path && path !== servicePath ? {
93
+ attributes: {
94
+ mountedPath: path
95
+ }
96
+ } : {},
97
+ ...locale ? {
98
+ locale
99
+ } : {},
100
+ ...traceparent ? {
101
+ traceparent
102
+ } : {},
103
+ ...parsedTraceparent ? {
104
+ traceId: parsedTraceparent.traceId,
105
+ spanId: parsedTraceparent.spanId
106
+ } : {}
107
+ };
108
+ };
109
+ exports.createEffectOperationContext = __webpack_exports__.createEffectOperationContext;
110
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
111
+ "createEffectOperationContext"
112
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
113
+ Object.defineProperty(exports, '__esModule', {
114
+ value: true
115
+ });
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -45,6 +49,7 @@ __webpack_require__.d(__webpack_exports__, {
45
49
  runEffectView: ()=>runEffectView,
46
50
  view: ()=>view
47
51
  });
52
+ const create_request_namespaceObject = require("@modern-js/create-request");
48
53
  const Data_namespaceObject = require("effect/Data");
49
54
  const Effect_namespaceObject = require("effect/Effect");
50
55
  const Exit_namespaceObject = require("effect/Exit");
@@ -94,8 +99,19 @@ function getRpcSerializationLayer(serialization) {
94
99
  }
95
100
  }
96
101
  function makeEffectHttpApiClient(api, options) {
102
+ const requestContextHeaders = (0, create_request_namespaceObject.createRequestContextHeaders)(options?.requestContext);
103
+ const transformClient = (client)=>{
104
+ const contextClient = 0 === Object.keys(requestContextHeaders).length ? client : client.pipe(http_namespaceObject.HttpClient.mapRequest((request)=>{
105
+ let nextRequest = request;
106
+ for (const [header, value] of Object.entries(requestContextHeaders))if (void 0 === nextRequest.headers[header.toLowerCase()]) nextRequest = http_namespaceObject.HttpClientRequest.setHeader(nextRequest, header, value);
107
+ return nextRequest;
108
+ }));
109
+ return 'function' == typeof options?.transformClient ? options.transformClient(contextClient) : contextClient;
110
+ };
97
111
  return httpapi_namespaceObject.HttpApiClient.make(api, {
98
- baseUrl: options?.baseUrl
112
+ baseUrl: options?.baseUrl,
113
+ transformClient,
114
+ transformResponse: options?.transformResponse
99
115
  }).pipe(Effect_namespaceObject.provide(http_namespaceObject.FetchHttpClient.layer));
100
116
  }
101
117
  function makeEffectRpcClient(group, options) {
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -27,11 +27,15 @@ function __webpack_require__(moduleId) {
27
27
  };
28
28
  })();
29
29
  (()=>{
30
- __webpack_require__.d = (exports1, definition)=>{
31
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
32
- enumerable: true,
33
- get: definition[key]
34
- });
30
+ __webpack_require__.d = (exports1, getters, values)=>{
31
+ var define = (defs, kind)=>{
32
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
33
+ enumerable: true,
34
+ [kind]: defs[key]
35
+ });
36
+ };
37
+ define(getters, "get");
38
+ define(values, "value");
35
39
  };
36
40
  })();
37
41
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -621,9 +625,26 @@ export type EffectOperationManifest = Record<
621
625
  string,
622
626
  Record<string, EffectOperationDescriptor>
623
627
  >;
628
+ export type EffectOperationContext = {
629
+ requestId?: string;
630
+ operationId?: string;
631
+ routePath?: string;
632
+ method?: string;
633
+ schemaHash?: string;
634
+ operationVersion?: number;
635
+ locale?: string;
636
+ traceparent?: string;
637
+ traceId?: string;
638
+ spanId?: string;
639
+ source?: string;
640
+ scope?: Record<string, unknown>;
641
+ sessionClaims?: Record<string, unknown>;
642
+ attributes?: Record<string, unknown>;
643
+ };
624
644
  export type EffectRequestContext = {
625
645
  headers?: Record<string, string>;
626
646
  locale?: string;
647
+ operationContext?: EffectOperationContext;
627
648
  traceparent?: string;
628
649
  traceId?: string;
629
650
  spanId?: string;
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -2,6 +2,24 @@ import { generateClient } from "@modern-js/bff-core";
2
2
  import { logger } from "@modern-js/utils";
3
3
  import path from "path";
4
4
  import { generateEffectClientCode, resolveEffectEntryFile } from "./utils/effectClientGenerator.mjs";
5
+ async function transformEffectRuntimeSource(source, filename) {
6
+ const swc = await import("@swc/core");
7
+ const result = await swc.transform(source, {
8
+ filename,
9
+ sourceMaps: false,
10
+ jsc: {
11
+ parser: {
12
+ syntax: "typescript",
13
+ tsx: filename.endsWith('.tsx') || filename.endsWith('.jsx')
14
+ },
15
+ target: 'es2022'
16
+ },
17
+ module: {
18
+ type: 'es6'
19
+ }
20
+ });
21
+ return result.code;
22
+ }
5
23
  async function loader(source) {
6
24
  this.cacheable();
7
25
  const { resourcePath } = this;
@@ -13,6 +31,11 @@ async function loader(source) {
13
31
  apiDir: draftOptions.apiDir,
14
32
  effectEntry: draftOptions.effectEntry
15
33
  });
34
+ if ('effect' === draftOptions.bffRuntimeFramework && effectEntryFile && path.resolve(effectEntryFile) === path.resolve(resourcePath) && this.resourceQuery.includes('modern-bff-runtime')) {
35
+ const code = await transformEffectRuntimeSource(source, resourcePath);
36
+ callback(void 0, code);
37
+ return;
38
+ }
16
39
  if ('effect' === draftOptions.bffRuntimeFramework && effectEntryFile && path.resolve(effectEntryFile) === path.resolve(resourcePath)) {
17
40
  const code = await generateEffectClientCode({
18
41
  appDir: draftOptions.appDir,