@modern-js/plugin-bff 2.35.1 → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli.js +54 -35
- package/dist/cjs/constants.js +25 -15
- package/dist/cjs/helper.js +38 -12
- package/dist/cjs/index.js +20 -4
- package/dist/cjs/loader.js +26 -13
- package/dist/cjs/server.js +44 -22
- package/dist/esm/cli.js +21 -16
- package/dist/esm/constants.js +6 -2
- package/dist/esm/helper.js +3 -1
- package/dist/esm/loader.js +6 -3
- package/dist/esm/server.js +9 -6
- package/dist/esm-node/cli.js +8 -3
- package/dist/esm-node/constants.js +6 -2
- package/dist/esm-node/helper.js +3 -1
- package/dist/esm-node/loader.js +4 -1
- package/dist/esm-node/server.js +4 -1
- package/package.json +13 -13
- package/types.d.ts +3 -0
package/dist/cjs/cli.js
CHANGED
|
@@ -1,28 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
6
9
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return bffPlugin;
|
|
15
|
-
},
|
|
16
|
-
default: function() {
|
|
17
|
-
return _default;
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
17
|
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var cli_exports = {};
|
|
30
|
+
__export(cli_exports, {
|
|
31
|
+
bffPlugin: () => bffPlugin,
|
|
32
|
+
default: () => cli_default
|
|
19
33
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
module.exports = __toCommonJS(cli_exports);
|
|
35
|
+
var import_path = __toESM(require("path"));
|
|
36
|
+
var import_utils = require("@modern-js/utils");
|
|
37
|
+
var import_server_utils = require("@modern-js/server-utils");
|
|
38
|
+
var import_bff_core = require("@modern-js/bff-core");
|
|
39
|
+
var import_helper = require("./helper");
|
|
26
40
|
const DEFAULT_API_PREFIX = "/api";
|
|
27
41
|
const TS_CONFIG_FILENAME = "tsconfig.json";
|
|
28
42
|
const bffPlugin = () => ({
|
|
@@ -66,8 +80,7 @@ const bffPlugin = () => ({
|
|
|
66
80
|
const { bff } = modernConfig || {};
|
|
67
81
|
const prefix = (bff === null || bff === void 0 ? void 0 : bff.prefix) || DEFAULT_API_PREFIX;
|
|
68
82
|
const httpMethodDecider = bff === null || bff === void 0 ? void 0 : bff.httpMethodDecider;
|
|
69
|
-
|
|
70
|
-
const apiRouter = new _bffcore.ApiRouter({
|
|
83
|
+
const apiRouter = new import_bff_core.ApiRouter({
|
|
71
84
|
apiDir: apiDirectory,
|
|
72
85
|
appDir: appDirectory,
|
|
73
86
|
lambdaDir: lambdaDirectory,
|
|
@@ -77,7 +90,7 @@ const bffPlugin = () => ({
|
|
|
77
90
|
});
|
|
78
91
|
const lambdaDir = apiRouter.getLambdaDir();
|
|
79
92
|
const existLambda = apiRouter.isExistLambda();
|
|
80
|
-
const apiRegexp = new RegExp((0,
|
|
93
|
+
const apiRegexp = new RegExp((0, import_utils.normalizeOutputPath)(`${apiDirectory}${import_path.default.sep}.*(.[tj]s)$`));
|
|
81
94
|
const name = isServer ? "server" : "client";
|
|
82
95
|
chain.module.rule(CHAIN_ID.RULE.JS).exclude.add(apiRegexp);
|
|
83
96
|
chain.module.rule(CHAIN_ID.RULE.JS_BFF_API).test(apiRegexp).use("custom-loader").loader(require.resolve("./loader").replace(/\\/g, "/")).options({
|
|
@@ -92,11 +105,13 @@ const bffPlugin = () => ({
|
|
|
92
105
|
requestCreator: bff === null || bff === void 0 ? void 0 : bff.requestCreator,
|
|
93
106
|
httpMethodDecider
|
|
94
107
|
});
|
|
108
|
+
chain.resolve.alias.set("@api", apiDirectory);
|
|
109
|
+
chain.resolve.alias.set("@modern-js/runtime/bff", isServer ? require.resolve("@modern-js/create-request/server") : require.resolve("@modern-js/create-request/client"));
|
|
95
110
|
}
|
|
96
111
|
},
|
|
97
112
|
source: {
|
|
98
113
|
moduleScopes: [
|
|
99
|
-
`./${
|
|
114
|
+
`./${import_utils.API_DIR}`,
|
|
100
115
|
/create-request/
|
|
101
116
|
]
|
|
102
117
|
}
|
|
@@ -142,9 +157,9 @@ const bffPlugin = () => ({
|
|
|
142
157
|
};
|
|
143
158
|
},
|
|
144
159
|
async beforeBuild() {
|
|
145
|
-
if ((0,
|
|
160
|
+
if ((0, import_utils.isProd)()) {
|
|
146
161
|
const { internalDirectory } = api.useAppContext();
|
|
147
|
-
unRegisterResolveRuntimePath = (0,
|
|
162
|
+
unRegisterResolveRuntimePath = (0, import_helper.registerModernRuntimePath)(internalDirectory);
|
|
148
163
|
}
|
|
149
164
|
},
|
|
150
165
|
async afterBuild() {
|
|
@@ -153,22 +168,22 @@ const bffPlugin = () => ({
|
|
|
153
168
|
}
|
|
154
169
|
const { appDirectory, distDirectory, apiDirectory, sharedDirectory } = api.useAppContext();
|
|
155
170
|
const modernConfig = api.useResolvedConfigContext();
|
|
156
|
-
const distDir =
|
|
157
|
-
const apiDir = apiDirectory ||
|
|
158
|
-
const sharedDir = sharedDirectory ||
|
|
159
|
-
const tsconfigPath =
|
|
171
|
+
const distDir = import_path.default.resolve(distDirectory);
|
|
172
|
+
const apiDir = apiDirectory || import_path.default.resolve(appDirectory, import_utils.API_DIR);
|
|
173
|
+
const sharedDir = sharedDirectory || import_path.default.resolve(appDirectory, import_utils.SHARED_DIR);
|
|
174
|
+
const tsconfigPath = import_path.default.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
160
175
|
const sourceDirs = [];
|
|
161
|
-
if (
|
|
176
|
+
if (import_utils.fs.existsSync(apiDir)) {
|
|
162
177
|
sourceDirs.push(apiDir);
|
|
163
178
|
}
|
|
164
|
-
if (
|
|
179
|
+
if (import_utils.fs.existsSync(sharedDir)) {
|
|
165
180
|
sourceDirs.push(sharedDir);
|
|
166
181
|
}
|
|
167
182
|
const { server } = modernConfig;
|
|
168
183
|
const { alias } = modernConfig.source;
|
|
169
184
|
const { babel } = modernConfig.tools;
|
|
170
185
|
if (sourceDirs.length > 0) {
|
|
171
|
-
await (0,
|
|
186
|
+
await (0, import_server_utils.compile)(appDirectory, {
|
|
172
187
|
server,
|
|
173
188
|
alias,
|
|
174
189
|
babelConfig: babel
|
|
@@ -182,4 +197,8 @@ const bffPlugin = () => ({
|
|
|
182
197
|
};
|
|
183
198
|
}
|
|
184
199
|
});
|
|
185
|
-
|
|
200
|
+
var cli_default = bffPlugin;
|
|
201
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
202
|
+
0 && (module.exports = {
|
|
203
|
+
bffPlugin
|
|
204
|
+
});
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
6
7
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return API_APP_NAME;
|
|
15
|
-
},
|
|
16
|
-
BUILD_FILES: function() {
|
|
17
|
-
return BUILD_FILES;
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var constants_exports = {};
|
|
20
|
+
__export(constants_exports, {
|
|
21
|
+
API_APP_NAME: () => API_APP_NAME,
|
|
22
|
+
BUILD_FILES: () => BUILD_FILES
|
|
19
23
|
});
|
|
24
|
+
module.exports = __toCommonJS(constants_exports);
|
|
20
25
|
const API_APP_NAME = "_app";
|
|
21
26
|
const BUILD_FILES = [
|
|
22
27
|
"**/*.[tj]sx?",
|
|
@@ -27,3 +32,8 @@ const BUILD_FILES = [
|
|
|
27
32
|
"!__tests__/*.tsx?",
|
|
28
33
|
"!__tests__/*.jsx?"
|
|
29
34
|
];
|
|
35
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
36
|
+
0 && (module.exports = {
|
|
37
|
+
API_APP_NAME,
|
|
38
|
+
BUILD_FILES
|
|
39
|
+
});
|
package/dist/cjs/helper.js
CHANGED
|
@@ -1,22 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
17
|
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var helper_exports = {};
|
|
30
|
+
__export(helper_exports, {
|
|
31
|
+
registerModernRuntimePath: () => registerModernRuntimePath
|
|
10
32
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
33
|
+
module.exports = __toCommonJS(helper_exports);
|
|
34
|
+
var path = __toESM(require("path"));
|
|
35
|
+
var import_bff_core = require("@modern-js/bff-core");
|
|
14
36
|
const serverRuntimeAlias = "@modern-js/runtime/server";
|
|
15
37
|
const serverRuntimePath = ".runtime-exports/server";
|
|
16
38
|
const registerModernRuntimePath = (internalDirectory) => {
|
|
17
39
|
const paths = {
|
|
18
|
-
[serverRuntimeAlias]:
|
|
40
|
+
[serverRuntimeAlias]: path.join(internalDirectory, serverRuntimePath)
|
|
19
41
|
};
|
|
20
|
-
const unRegister = (0,
|
|
42
|
+
const unRegister = (0, import_bff_core.registerPaths)(paths);
|
|
21
43
|
return unRegister;
|
|
22
44
|
};
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
registerModernRuntimePath
|
|
48
|
+
});
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var src_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(src_exports);
|
|
18
|
+
__reExport(src_exports, require("./constants"), module.exports);
|
|
19
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
20
|
+
0 && (module.exports = {
|
|
21
|
+
...require("./constants")
|
|
4
22
|
});
|
|
5
|
-
const _export_star = require("@swc/helpers/_/_export_star");
|
|
6
|
-
_export_star._(require("./constants"), exports);
|
package/dist/cjs/loader.js
CHANGED
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var loader_exports = {};
|
|
20
|
+
__export(loader_exports, {
|
|
21
|
+
default: () => loader_default
|
|
10
22
|
});
|
|
11
|
-
|
|
12
|
-
|
|
23
|
+
module.exports = __toCommonJS(loader_exports);
|
|
24
|
+
var import_bff_core = require("@modern-js/bff-core");
|
|
25
|
+
var import_utils = require("@modern-js/utils");
|
|
13
26
|
async function loader(source) {
|
|
14
27
|
this.cacheable();
|
|
15
28
|
const { resourcePath } = this;
|
|
@@ -18,7 +31,7 @@ async function loader(source) {
|
|
|
18
31
|
const draftOptions = this.getOptions();
|
|
19
32
|
const warning = `The file ${resourcePath} is not allowd to be imported in src directory, only API definition files are allowed.`;
|
|
20
33
|
if (!draftOptions.existLambda) {
|
|
21
|
-
|
|
34
|
+
import_utils.logger.warn(warning);
|
|
22
35
|
callback(null, `throw new Error('${warning}')`);
|
|
23
36
|
return;
|
|
24
37
|
}
|
|
@@ -35,7 +48,7 @@ async function loader(source) {
|
|
|
35
48
|
};
|
|
36
49
|
const { lambdaDir } = draftOptions;
|
|
37
50
|
if (!resourcePath.startsWith(lambdaDir)) {
|
|
38
|
-
|
|
51
|
+
import_utils.logger.warn(warning);
|
|
39
52
|
callback(null, `throw new Error('${warning}')`);
|
|
40
53
|
return;
|
|
41
54
|
}
|
|
@@ -46,11 +59,11 @@ async function loader(source) {
|
|
|
46
59
|
options.requestCreator = draftOptions.requestCreator;
|
|
47
60
|
}
|
|
48
61
|
options.requireResolve = require.resolve;
|
|
49
|
-
const result = await (0,
|
|
62
|
+
const result = await (0, import_bff_core.generateClient)(options);
|
|
50
63
|
if (result.isOk) {
|
|
51
64
|
callback(void 0, result.value);
|
|
52
65
|
} else {
|
|
53
66
|
callback(void 0, `throw new Error('${result.value}')`);
|
|
54
67
|
}
|
|
55
68
|
}
|
|
56
|
-
|
|
69
|
+
var loader_default = loader;
|
package/dist/cjs/server.js
CHANGED
|
@@ -1,25 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
17
|
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var server_exports = {};
|
|
30
|
+
__export(server_exports, {
|
|
31
|
+
default: () => server_default
|
|
10
32
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
33
|
+
module.exports = __toCommonJS(server_exports);
|
|
34
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
|
+
var import_path = __toESM(require("path"));
|
|
36
|
+
var import_bff_core = require("@modern-js/bff-core");
|
|
37
|
+
var import_utils = require("@modern-js/utils");
|
|
38
|
+
var import_constants = require("./constants");
|
|
17
39
|
class Storage {
|
|
18
40
|
reset() {
|
|
19
41
|
this.middlewares = [];
|
|
20
42
|
}
|
|
21
43
|
constructor() {
|
|
22
|
-
|
|
44
|
+
(0, import_define_property._)(this, "middlewares", []);
|
|
23
45
|
}
|
|
24
46
|
}
|
|
25
47
|
const createTransformAPI = (storage) => ({
|
|
@@ -27,7 +49,7 @@ const createTransformAPI = (storage) => ({
|
|
|
27
49
|
storage.middlewares.push(fn);
|
|
28
50
|
}
|
|
29
51
|
});
|
|
30
|
-
|
|
52
|
+
var server_default = () => ({
|
|
31
53
|
name: "@modern-js/plugin-bff",
|
|
32
54
|
setup: (api) => {
|
|
33
55
|
const storage = new Storage();
|
|
@@ -36,17 +58,17 @@ const _default = () => ({
|
|
|
36
58
|
return {
|
|
37
59
|
prepare() {
|
|
38
60
|
const { appDirectory, distDirectory } = api.useAppContext();
|
|
39
|
-
const root = (0,
|
|
40
|
-
const apiPath =
|
|
41
|
-
apiAppPath =
|
|
42
|
-
const apiMod = (0,
|
|
61
|
+
const root = (0, import_utils.isProd)() ? distDirectory : appDirectory;
|
|
62
|
+
const apiPath = import_path.default.resolve(root || process.cwd(), import_utils.API_DIR);
|
|
63
|
+
apiAppPath = import_path.default.resolve(apiPath, import_constants.API_APP_NAME);
|
|
64
|
+
const apiMod = (0, import_utils.requireExistModule)(apiAppPath);
|
|
43
65
|
if (apiMod && typeof apiMod === "function") {
|
|
44
66
|
apiMod(transformAPI);
|
|
45
67
|
}
|
|
46
68
|
},
|
|
47
69
|
reset() {
|
|
48
70
|
storage.reset();
|
|
49
|
-
const newApiModule = (0,
|
|
71
|
+
const newApiModule = (0, import_utils.requireExistModule)(apiAppPath);
|
|
50
72
|
if (newApiModule && typeof newApiModule === "function") {
|
|
51
73
|
newApiModule(transformAPI);
|
|
52
74
|
}
|
|
@@ -58,10 +80,10 @@ const _default = () => ({
|
|
|
58
80
|
},
|
|
59
81
|
prepareApiServer(props, next) {
|
|
60
82
|
const { pwd, prefix, httpMethodDecider } = props;
|
|
61
|
-
const apiDir =
|
|
83
|
+
const apiDir = import_path.default.resolve(pwd, import_utils.API_DIR);
|
|
62
84
|
const appContext = api.useAppContext();
|
|
63
85
|
const { apiDirectory, lambdaDirectory } = appContext;
|
|
64
|
-
const apiRouter = new
|
|
86
|
+
const apiRouter = new import_bff_core.ApiRouter({
|
|
65
87
|
appDir: pwd,
|
|
66
88
|
apiDir: apiDirectory || apiDir,
|
|
67
89
|
lambdaDir: lambdaDirectory,
|
package/dist/esm/cli.js
CHANGED
|
@@ -10,7 +10,7 @@ import { ApiRouter } from "@modern-js/bff-core";
|
|
|
10
10
|
import { registerModernRuntimePath } from "./helper";
|
|
11
11
|
var DEFAULT_API_PREFIX = "/api";
|
|
12
12
|
var TS_CONFIG_FILENAME = "tsconfig.json";
|
|
13
|
-
|
|
13
|
+
var bffPlugin = function() {
|
|
14
14
|
return {
|
|
15
15
|
name: "@modern-js/plugin-bff",
|
|
16
16
|
setup: function(api) {
|
|
@@ -53,13 +53,12 @@ export var bffPlugin = function() {
|
|
|
53
53
|
var bff = (modernConfig || {}).bff;
|
|
54
54
|
var prefix = (bff === null || bff === void 0 ? void 0 : bff.prefix) || DEFAULT_API_PREFIX;
|
|
55
55
|
var httpMethodDecider = bff === null || bff === void 0 ? void 0 : bff.httpMethodDecider;
|
|
56
|
-
chain.resolve.alias.set("@api", apiDirectory);
|
|
57
56
|
var apiRouter = new ApiRouter({
|
|
58
57
|
apiDir: apiDirectory,
|
|
59
58
|
appDir: appDirectory,
|
|
60
59
|
lambdaDir: lambdaDirectory,
|
|
61
|
-
prefix
|
|
62
|
-
httpMethodDecider
|
|
60
|
+
prefix,
|
|
61
|
+
httpMethodDecider,
|
|
63
62
|
isBuild: true
|
|
64
63
|
});
|
|
65
64
|
var lambdaDir = apiRouter.getLambdaDir();
|
|
@@ -68,17 +67,19 @@ export var bffPlugin = function() {
|
|
|
68
67
|
var name = isServer ? "server" : "client";
|
|
69
68
|
chain.module.rule(CHAIN_ID.RULE.JS).exclude.add(apiRegexp);
|
|
70
69
|
chain.module.rule(CHAIN_ID.RULE.JS_BFF_API).test(apiRegexp).use("custom-loader").loader(require.resolve("./loader").replace(/\\/g, "/")).options({
|
|
71
|
-
prefix
|
|
70
|
+
prefix,
|
|
72
71
|
appDir: appDirectory,
|
|
73
72
|
apiDir: apiDirectory,
|
|
74
|
-
lambdaDir
|
|
75
|
-
existLambda
|
|
76
|
-
port
|
|
73
|
+
lambdaDir,
|
|
74
|
+
existLambda,
|
|
75
|
+
port,
|
|
77
76
|
target: name,
|
|
78
77
|
// Internal field
|
|
79
78
|
requestCreator: bff === null || bff === void 0 ? void 0 : bff.requestCreator,
|
|
80
|
-
httpMethodDecider
|
|
79
|
+
httpMethodDecider
|
|
81
80
|
});
|
|
81
|
+
chain.resolve.alias.set("@api", apiDirectory);
|
|
82
|
+
chain.resolve.alias.set("@modern-js/runtime/bff", isServer ? require.resolve("@modern-js/create-request/server") : require.resolve("@modern-js/create-request/client"));
|
|
82
83
|
}
|
|
83
84
|
},
|
|
84
85
|
source: {
|
|
@@ -129,7 +130,7 @@ export var bffPlugin = function() {
|
|
|
129
130
|
"@modern-js/plugin-bff": "@modern-js/plugin-bff/server"
|
|
130
131
|
});
|
|
131
132
|
return {
|
|
132
|
-
plugins
|
|
133
|
+
plugins
|
|
133
134
|
};
|
|
134
135
|
},
|
|
135
136
|
beforeBuild: function beforeBuild() {
|
|
@@ -179,13 +180,13 @@ export var bffPlugin = function() {
|
|
|
179
180
|
return [
|
|
180
181
|
4,
|
|
181
182
|
compile(appDirectory, {
|
|
182
|
-
server
|
|
183
|
-
alias
|
|
183
|
+
server,
|
|
184
|
+
alias,
|
|
184
185
|
babelConfig: babel
|
|
185
186
|
}, {
|
|
186
|
-
sourceDirs
|
|
187
|
-
distDir
|
|
188
|
-
tsconfigPath
|
|
187
|
+
sourceDirs,
|
|
188
|
+
distDir,
|
|
189
|
+
tsconfigPath
|
|
189
190
|
})
|
|
190
191
|
];
|
|
191
192
|
case 1:
|
|
@@ -203,4 +204,8 @@ export var bffPlugin = function() {
|
|
|
203
204
|
}
|
|
204
205
|
};
|
|
205
206
|
};
|
|
206
|
-
|
|
207
|
+
var cli_default = bffPlugin;
|
|
208
|
+
export {
|
|
209
|
+
bffPlugin,
|
|
210
|
+
cli_default as default
|
|
211
|
+
};
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var API_APP_NAME = "_app";
|
|
2
|
+
var BUILD_FILES = [
|
|
3
3
|
"**/*.[tj]sx?",
|
|
4
4
|
"!**/*.test.jsx?",
|
|
5
5
|
"!**/*.test.tsx?",
|
|
@@ -8,3 +8,7 @@ export var BUILD_FILES = [
|
|
|
8
8
|
"!__tests__/*.tsx?",
|
|
9
9
|
"!__tests__/*.jsx?"
|
|
10
10
|
];
|
|
11
|
+
export {
|
|
12
|
+
API_APP_NAME,
|
|
13
|
+
BUILD_FILES
|
|
14
|
+
};
|
package/dist/esm/helper.js
CHANGED
package/dist/esm/loader.js
CHANGED
|
@@ -31,8 +31,8 @@ function _loader() {
|
|
|
31
31
|
lambdaDir: draftOptions.lambdaDir,
|
|
32
32
|
target: draftOptions.target,
|
|
33
33
|
port: Number(draftOptions.port),
|
|
34
|
-
source
|
|
35
|
-
resourcePath
|
|
34
|
+
source,
|
|
35
|
+
resourcePath,
|
|
36
36
|
httpMethodDecider: draftOptions.httpMethodDecider
|
|
37
37
|
};
|
|
38
38
|
lambdaDir = draftOptions.lambdaDir;
|
|
@@ -69,4 +69,7 @@ function _loader() {
|
|
|
69
69
|
});
|
|
70
70
|
return _loader.apply(this, arguments);
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
var loader_default = loader;
|
|
73
|
+
export {
|
|
74
|
+
loader_default as default
|
|
75
|
+
};
|
package/dist/esm/server.js
CHANGED
|
@@ -30,7 +30,7 @@ var createTransformAPI = function(storage) {
|
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
function server_default() {
|
|
34
34
|
return {
|
|
35
35
|
name: "@modern-js/plugin-bff",
|
|
36
36
|
setup: function(api) {
|
|
@@ -70,15 +70,15 @@ export default function() {
|
|
|
70
70
|
appDir: pwd,
|
|
71
71
|
apiDir: apiDirectory || apiDir,
|
|
72
72
|
lambdaDir: lambdaDirectory,
|
|
73
|
-
prefix
|
|
74
|
-
httpMethodDecider
|
|
73
|
+
prefix,
|
|
74
|
+
httpMethodDecider
|
|
75
75
|
});
|
|
76
76
|
var apiMode = apiRouter.getApiMode();
|
|
77
77
|
var apiHandlerInfos = apiRouter.getApiHandlers();
|
|
78
78
|
api.setAppContext(_object_spread_props(_object_spread({}, appContext), {
|
|
79
|
-
apiRouter
|
|
80
|
-
apiHandlerInfos
|
|
81
|
-
apiMode
|
|
79
|
+
apiRouter,
|
|
80
|
+
apiHandlerInfos,
|
|
81
|
+
apiMode
|
|
82
82
|
}));
|
|
83
83
|
return next(props);
|
|
84
84
|
}
|
|
@@ -87,3 +87,6 @@ export default function() {
|
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
89
|
;
|
|
90
|
+
export {
|
|
91
|
+
server_default as default
|
|
92
|
+
};
|
package/dist/esm-node/cli.js
CHANGED
|
@@ -5,7 +5,7 @@ import { ApiRouter } from "@modern-js/bff-core";
|
|
|
5
5
|
import { registerModernRuntimePath } from "./helper";
|
|
6
6
|
const DEFAULT_API_PREFIX = "/api";
|
|
7
7
|
const TS_CONFIG_FILENAME = "tsconfig.json";
|
|
8
|
-
|
|
8
|
+
const bffPlugin = () => ({
|
|
9
9
|
name: "@modern-js/plugin-bff",
|
|
10
10
|
setup: (api) => {
|
|
11
11
|
let unRegisterResolveRuntimePath = null;
|
|
@@ -46,7 +46,6 @@ export const bffPlugin = () => ({
|
|
|
46
46
|
const { bff } = modernConfig || {};
|
|
47
47
|
const prefix = (bff === null || bff === void 0 ? void 0 : bff.prefix) || DEFAULT_API_PREFIX;
|
|
48
48
|
const httpMethodDecider = bff === null || bff === void 0 ? void 0 : bff.httpMethodDecider;
|
|
49
|
-
chain.resolve.alias.set("@api", apiDirectory);
|
|
50
49
|
const apiRouter = new ApiRouter({
|
|
51
50
|
apiDir: apiDirectory,
|
|
52
51
|
appDir: appDirectory,
|
|
@@ -72,6 +71,8 @@ export const bffPlugin = () => ({
|
|
|
72
71
|
requestCreator: bff === null || bff === void 0 ? void 0 : bff.requestCreator,
|
|
73
72
|
httpMethodDecider
|
|
74
73
|
});
|
|
74
|
+
chain.resolve.alias.set("@api", apiDirectory);
|
|
75
|
+
chain.resolve.alias.set("@modern-js/runtime/bff", isServer ? require.resolve("@modern-js/create-request/server") : require.resolve("@modern-js/create-request/client"));
|
|
75
76
|
}
|
|
76
77
|
},
|
|
77
78
|
source: {
|
|
@@ -162,4 +163,8 @@ export const bffPlugin = () => ({
|
|
|
162
163
|
};
|
|
163
164
|
}
|
|
164
165
|
});
|
|
165
|
-
|
|
166
|
+
var cli_default = bffPlugin;
|
|
167
|
+
export {
|
|
168
|
+
bffPlugin,
|
|
169
|
+
cli_default as default
|
|
170
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
const API_APP_NAME = "_app";
|
|
2
|
+
const BUILD_FILES = [
|
|
3
3
|
"**/*.[tj]sx?",
|
|
4
4
|
"!**/*.test.jsx?",
|
|
5
5
|
"!**/*.test.tsx?",
|
|
@@ -8,3 +8,7 @@ export const BUILD_FILES = [
|
|
|
8
8
|
"!__tests__/*.tsx?",
|
|
9
9
|
"!__tests__/*.jsx?"
|
|
10
10
|
];
|
|
11
|
+
export {
|
|
12
|
+
API_APP_NAME,
|
|
13
|
+
BUILD_FILES
|
|
14
|
+
};
|
package/dist/esm-node/helper.js
CHANGED
package/dist/esm-node/loader.js
CHANGED
package/dist/esm-node/server.js
CHANGED
|
@@ -16,7 +16,7 @@ const createTransformAPI = (storage) => ({
|
|
|
16
16
|
storage.middlewares.push(fn);
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
|
|
19
|
+
var server_default = () => ({
|
|
20
20
|
name: "@modern-js/plugin-bff",
|
|
21
21
|
setup: (api) => {
|
|
22
22
|
const storage = new Storage();
|
|
@@ -70,3 +70,6 @@ export default () => ({
|
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
});
|
|
73
|
+
export {
|
|
74
|
+
server_default as default
|
|
75
|
+
};
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.36.0",
|
|
19
19
|
"jsnext:source": "./src/cli.ts",
|
|
20
20
|
"types": "./dist/types/cli.d.ts",
|
|
21
21
|
"main": "./dist/cjs/cli.js",
|
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@babel/core": "^7.22.15",
|
|
59
59
|
"@swc/helpers": "0.5.1",
|
|
60
|
-
"@modern-js/
|
|
61
|
-
"@modern-js/
|
|
62
|
-
"@modern-js/server-utils": "2.
|
|
63
|
-
"@modern-js/utils": "2.
|
|
60
|
+
"@modern-js/bff-core": "2.36.0",
|
|
61
|
+
"@modern-js/create-request": "2.36.0",
|
|
62
|
+
"@modern-js/server-utils": "2.36.0",
|
|
63
|
+
"@modern-js/utils": "2.36.0"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@types/babel__core": "^7.20.0",
|
|
@@ -71,14 +71,14 @@
|
|
|
71
71
|
"ts-jest": "^29.1.0",
|
|
72
72
|
"typescript": "^5",
|
|
73
73
|
"webpack": "^5.88.1",
|
|
74
|
-
"@modern-js/runtime": "2.
|
|
75
|
-
"@modern-js/core": "2.
|
|
76
|
-
"@modern-js/bff-runtime": "2.
|
|
77
|
-
"@modern-js/server-core": "2.
|
|
78
|
-
"@modern-js/types": "2.
|
|
79
|
-
"@modern-js/app-tools": "2.
|
|
80
|
-
"@scripts/build": "2.
|
|
81
|
-
"@scripts/jest-config": "2.
|
|
74
|
+
"@modern-js/runtime": "2.36.0",
|
|
75
|
+
"@modern-js/core": "2.36.0",
|
|
76
|
+
"@modern-js/bff-runtime": "2.36.0",
|
|
77
|
+
"@modern-js/server-core": "2.36.0",
|
|
78
|
+
"@modern-js/types": "2.36.0",
|
|
79
|
+
"@modern-js/app-tools": "2.36.0",
|
|
80
|
+
"@scripts/build": "2.36.0",
|
|
81
|
+
"@scripts/jest-config": "2.36.0"
|
|
82
82
|
},
|
|
83
83
|
"sideEffects": false,
|
|
84
84
|
"publishConfig": {
|
package/types.d.ts
ADDED