@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.
- package/dist/cjs/cli.js +9 -5
- package/dist/cjs/constants.js +13 -9
- package/dist/cjs/index.js +9 -5
- package/dist/cjs/loader.js +32 -5
- package/dist/cjs/runtime/create-request/index.js +9 -5
- package/dist/cjs/runtime/data-platform/index.js +48 -13
- package/dist/cjs/runtime/effect/adapter.js +24 -87
- package/dist/cjs/runtime/effect/context.js +19 -7
- package/dist/cjs/runtime/effect/edge.js +173 -0
- package/dist/cjs/runtime/effect/handler.js +597 -0
- package/dist/cjs/runtime/effect/index.js +30 -547
- package/dist/cjs/runtime/effect/module.js +142 -0
- package/dist/cjs/runtime/effect/operation-context.js +115 -0
- package/dist/cjs/runtime/effect-client/index.js +22 -6
- package/dist/cjs/runtime/hono/adapter.js +9 -5
- package/dist/cjs/runtime/hono/index.js +9 -5
- package/dist/cjs/runtime/hono/operators.js +9 -5
- package/dist/cjs/server.js +9 -5
- package/dist/cjs/utils/clientGenerator.js +9 -5
- package/dist/cjs/utils/createHonoRoutes.js +9 -5
- package/dist/cjs/utils/crossProjectApiPlugin.js +9 -5
- package/dist/cjs/utils/effectClientGenerator.js +26 -5
- package/dist/cjs/utils/pluginGenerator.js +9 -5
- package/dist/cjs/utils/runtimeGenerator.js +9 -5
- package/dist/esm/loader.mjs +23 -0
- package/dist/esm/runtime/data-platform/index.mjs +31 -9
- package/dist/esm/runtime/effect/adapter.mjs +16 -83
- package/dist/esm/runtime/effect/context.mjs +3 -1
- package/dist/esm/runtime/effect/edge.mjs +90 -0
- package/dist/esm/runtime/effect/handler.mjs +438 -0
- package/dist/esm/runtime/effect/index.mjs +3 -437
- package/dist/esm/runtime/effect/module.mjs +104 -0
- package/dist/esm/runtime/effect/operation-context.mjs +77 -0
- package/dist/esm/runtime/effect-client/index.mjs +14 -2
- package/dist/esm/utils/effectClientGenerator.mjs +17 -0
- package/dist/esm-node/loader.mjs +23 -0
- package/dist/esm-node/runtime/data-platform/index.mjs +31 -9
- package/dist/esm-node/runtime/effect/adapter.mjs +16 -83
- package/dist/esm-node/runtime/effect/context.mjs +3 -1
- package/dist/esm-node/runtime/effect/edge.mjs +91 -0
- package/dist/esm-node/runtime/effect/handler.mjs +439 -0
- package/dist/esm-node/runtime/effect/index.mjs +3 -437
- package/dist/esm-node/runtime/effect/module.mjs +105 -0
- package/dist/esm-node/runtime/effect/operation-context.mjs +78 -0
- package/dist/esm-node/runtime/effect-client/index.mjs +14 -2
- package/dist/esm-node/utils/effectClientGenerator.mjs +17 -0
- package/dist/types/runtime/create-request/index.d.ts +1 -0
- package/dist/types/runtime/data-platform/index.d.ts +4 -0
- package/dist/types/runtime/effect/context.d.ts +3 -6
- package/dist/types/runtime/effect/edge.d.ts +25 -0
- package/dist/types/runtime/effect/handler.d.ts +173 -0
- package/dist/types/runtime/effect/index.d.ts +2 -170
- package/dist/types/runtime/effect/module.d.ts +28 -0
- package/dist/types/runtime/effect/operation-context.d.ts +10 -0
- package/dist/types/runtime/effect-client/index.d.ts +6 -1
- package/dist/types/utils/createHonoRoutes.d.ts +3 -3
- package/dist/types/utils/effectClientGenerator.d.ts +1 -1
- 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,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
(()=>{
|
package/dist/cjs/server.js
CHANGED
|
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
|
|
|
10
10
|
};
|
|
11
11
|
})();
|
|
12
12
|
(()=>{
|
|
13
|
-
__webpack_require__.d = (exports1,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
(()=>{
|
package/dist/esm/loader.mjs
CHANGED
|
@@ -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,
|