@modern-js/plugin-bff 2.4.1-beta.0 → 2.5.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/CHANGELOG.md +16 -5
- package/cli.js +1 -1
- package/dist/{js/node → cjs}/cli.js +52 -66
- package/dist/{js/node → cjs}/constants.js +0 -0
- package/dist/{js/node → cjs}/helper.js +0 -0
- package/dist/{js/node → cjs}/index.js +0 -0
- package/dist/cjs/loader.js +66 -0
- package/dist/{js/node → cjs}/server.js +3 -19
- package/dist/{js/treeshaking → esm}/cli.js +61 -0
- package/dist/{js/treeshaking → esm}/constants.js +0 -0
- package/dist/{js/treeshaking → esm}/helper.js +0 -0
- package/dist/{js/treeshaking → esm}/index.js +0 -0
- package/dist/{js/treeshaking → esm}/loader.js +0 -0
- package/dist/{js/treeshaking → esm}/server.js +0 -0
- package/dist/{js/modern → esm-node}/cli.js +52 -66
- package/dist/{js/modern → esm-node}/constants.js +0 -0
- package/dist/{js/modern → esm-node}/helper.js +0 -0
- package/dist/{js/modern → esm-node}/index.js +0 -0
- package/dist/esm-node/loader.js +45 -0
- package/dist/{js/modern → esm-node}/server.js +3 -21
- package/package.json +19 -20
- package/server.js +1 -1
- package/dist/js/modern/loader.js +0 -67
- package/dist/js/node/loader.js +0 -88
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
# @modern-js/plugin-bff
|
|
2
2
|
|
|
3
|
-
## 2.
|
|
3
|
+
## 2.5.0
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
+
- 89ca6cc: refactor: merge build-config into scripts/build
|
|
8
|
+
|
|
9
|
+
refactor: 把 build-config 合并进 scripts/build
|
|
10
|
+
|
|
11
|
+
- 6fca567: feat: support bff handle complete server, include page render
|
|
12
|
+
feat: 支持 bff 处理整个服务,包括页面渲染
|
|
13
|
+
- 30614fa: chore: modify package.json entry fields and build config
|
|
14
|
+
chore: 更改 package.json entry 字段以及构建配置
|
|
15
|
+
- Updated dependencies [89ca6cc]
|
|
16
|
+
- Updated dependencies [30614fa]
|
|
17
|
+
- Updated dependencies [1b0ce87]
|
|
7
18
|
- Updated dependencies [11c053b]
|
|
8
|
-
- @modern-js/
|
|
9
|
-
- @modern-js/
|
|
10
|
-
- @modern-js/
|
|
11
|
-
- @modern-js/
|
|
19
|
+
- @modern-js/bff-core@2.5.0
|
|
20
|
+
- @modern-js/create-request@2.5.0
|
|
21
|
+
- @modern-js/server-utils@2.5.0
|
|
22
|
+
- @modern-js/utils@2.5.0
|
|
12
23
|
|
|
13
24
|
## 2.4.0
|
|
14
25
|
|
package/cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports = require('./dist/
|
|
1
|
+
module.exports = require('./dist/cjs/cli');
|
|
@@ -21,26 +21,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
21
|
mod
|
|
22
22
|
));
|
|
23
23
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
-
var __async = (__this, __arguments, generator) => {
|
|
25
|
-
return new Promise((resolve, reject) => {
|
|
26
|
-
var fulfilled = (value) => {
|
|
27
|
-
try {
|
|
28
|
-
step(generator.next(value));
|
|
29
|
-
} catch (e) {
|
|
30
|
-
reject(e);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
var rejected = (value) => {
|
|
34
|
-
try {
|
|
35
|
-
step(generator.throw(value));
|
|
36
|
-
} catch (e) {
|
|
37
|
-
reject(e);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
41
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
24
|
var cli_exports = {};
|
|
45
25
|
__export(cli_exports, {
|
|
46
26
|
default: () => cli_default
|
|
@@ -113,6 +93,16 @@ var cli_default = () => ({
|
|
|
113
93
|
isSPA: false,
|
|
114
94
|
isSSR: false
|
|
115
95
|
}));
|
|
96
|
+
if (bff == null ? void 0 : bff.enableHandleWeb) {
|
|
97
|
+
return {
|
|
98
|
+
routes: routes.map((route) => {
|
|
99
|
+
return {
|
|
100
|
+
...route,
|
|
101
|
+
isApi: true
|
|
102
|
+
};
|
|
103
|
+
}).concat(apiServerRoutes)
|
|
104
|
+
};
|
|
105
|
+
}
|
|
116
106
|
return { routes: routes.concat(apiServerRoutes) };
|
|
117
107
|
},
|
|
118
108
|
collectServerPlugins({ plugins }) {
|
|
@@ -121,53 +111,49 @@ var cli_default = () => ({
|
|
|
121
111
|
});
|
|
122
112
|
return { plugins };
|
|
123
113
|
},
|
|
124
|
-
beforeBuild() {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
});
|
|
114
|
+
async beforeBuild() {
|
|
115
|
+
if ((0, import_utils.isProd)()) {
|
|
116
|
+
const { internalDirectory } = api.useAppContext();
|
|
117
|
+
unRegisterResolveRuntimePath = (0, import_helper.registerModernRuntimePath)(internalDirectory);
|
|
118
|
+
}
|
|
131
119
|
},
|
|
132
|
-
afterBuild() {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
});
|
|
120
|
+
async afterBuild() {
|
|
121
|
+
if (unRegisterResolveRuntimePath) {
|
|
122
|
+
unRegisterResolveRuntimePath();
|
|
123
|
+
}
|
|
124
|
+
const { appDirectory, distDirectory } = api.useAppContext();
|
|
125
|
+
const modernConfig = api.useResolvedConfigContext();
|
|
126
|
+
const distDir = import_path.default.resolve(distDirectory);
|
|
127
|
+
const apiDir = import_path.default.resolve(appDirectory, import_utils.API_DIR);
|
|
128
|
+
const sharedDir = import_path.default.resolve(appDirectory, import_utils.SHARED_DIR);
|
|
129
|
+
const tsconfigPath = import_path.default.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
130
|
+
const sourceDirs = [];
|
|
131
|
+
if (import_utils.fs.existsSync(apiDir)) {
|
|
132
|
+
sourceDirs.push(apiDir);
|
|
133
|
+
}
|
|
134
|
+
if (import_utils.fs.existsSync(sharedDir)) {
|
|
135
|
+
sourceDirs.push(sharedDir);
|
|
136
|
+
}
|
|
137
|
+
const { server } = modernConfig;
|
|
138
|
+
const { alias, define, globalVars } = modernConfig.source;
|
|
139
|
+
const { babel } = modernConfig.tools;
|
|
140
|
+
if (sourceDirs.length > 0) {
|
|
141
|
+
await (0, import_server_utils.compile)(
|
|
142
|
+
appDirectory,
|
|
143
|
+
{
|
|
144
|
+
server,
|
|
145
|
+
alias,
|
|
146
|
+
define,
|
|
147
|
+
globalVars,
|
|
148
|
+
babelConfig: babel
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
sourceDirs,
|
|
152
|
+
distDir,
|
|
153
|
+
tsconfigPath
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}
|
|
171
157
|
}
|
|
172
158
|
};
|
|
173
159
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var loader_exports = {};
|
|
19
|
+
__export(loader_exports, {
|
|
20
|
+
default: () => loader_default
|
|
21
|
+
});
|
|
22
|
+
module.exports = __toCommonJS(loader_exports);
|
|
23
|
+
var import_bff_core = require("@modern-js/bff-core");
|
|
24
|
+
var import_utils = require("@modern-js/utils");
|
|
25
|
+
async function loader(source) {
|
|
26
|
+
this.cacheable();
|
|
27
|
+
const callback = this.async();
|
|
28
|
+
const draftOptions = this.getOptions();
|
|
29
|
+
const { resourcePath } = this;
|
|
30
|
+
const warning = `The file ${resourcePath} is not allowd to be imported in src directory, only API definition files are allowed.`;
|
|
31
|
+
if (!draftOptions.existLambda) {
|
|
32
|
+
import_utils.logger.warn(warning);
|
|
33
|
+
callback(null, `throw new Error('${warning}')`);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const options = {
|
|
37
|
+
prefix: Array.isArray(draftOptions.prefix) ? draftOptions.prefix[0] : draftOptions.prefix,
|
|
38
|
+
apiDir: draftOptions.apiDir,
|
|
39
|
+
target: draftOptions.target,
|
|
40
|
+
port: Number(draftOptions.port),
|
|
41
|
+
source,
|
|
42
|
+
resourcePath
|
|
43
|
+
};
|
|
44
|
+
const { lambdaDir } = draftOptions;
|
|
45
|
+
if (!resourcePath.startsWith(lambdaDir)) {
|
|
46
|
+
import_utils.logger.warn(warning);
|
|
47
|
+
callback(null, `throw new Error('${warning}')`);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (draftOptions.fetcher) {
|
|
51
|
+
options.fetcher = draftOptions.fetcher;
|
|
52
|
+
}
|
|
53
|
+
if (draftOptions.requestCreator) {
|
|
54
|
+
options.requestCreator = draftOptions.requestCreator;
|
|
55
|
+
}
|
|
56
|
+
options.requireResolve = require.resolve;
|
|
57
|
+
const result = await (0, import_bff_core.generateClient)(options);
|
|
58
|
+
if (result.isOk) {
|
|
59
|
+
callback(void 0, result.value);
|
|
60
|
+
} else {
|
|
61
|
+
callback(void 0, `throw new Error('${result.value}')`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
var loader_default = loader;
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {});
|
|
@@ -1,26 +1,9 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
9
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
-
var __spreadValues = (a, b) => {
|
|
13
|
-
for (var prop in b || (b = {}))
|
|
14
|
-
if (__hasOwnProp.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
if (__getOwnPropSymbols)
|
|
17
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
-
if (__propIsEnum.call(b, prop))
|
|
19
|
-
__defNormalProp(a, prop, b[prop]);
|
|
20
|
-
}
|
|
21
|
-
return a;
|
|
22
|
-
};
|
|
23
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
7
|
var __export = (target, all) => {
|
|
25
8
|
for (var name in all)
|
|
26
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -99,11 +82,12 @@ var server_default = () => ({
|
|
|
99
82
|
});
|
|
100
83
|
const apiMode = apiRouter.getApiMode();
|
|
101
84
|
const apiHandlerInfos = apiRouter.getApiHandlers();
|
|
102
|
-
api.setAppContext(
|
|
85
|
+
api.setAppContext({
|
|
86
|
+
...appContext,
|
|
103
87
|
apiRouter,
|
|
104
88
|
apiHandlerInfos,
|
|
105
89
|
apiMode
|
|
106
|
-
})
|
|
90
|
+
});
|
|
107
91
|
return next(props);
|
|
108
92
|
}
|
|
109
93
|
};
|
|
@@ -35,12 +35,64 @@ function _asyncToGenerator(fn) {
|
|
|
35
35
|
});
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
+
function _defineProperty(obj, key, value) {
|
|
39
|
+
if (key in obj) {
|
|
40
|
+
Object.defineProperty(obj, key, {
|
|
41
|
+
value: value,
|
|
42
|
+
enumerable: true,
|
|
43
|
+
configurable: true,
|
|
44
|
+
writable: true
|
|
45
|
+
});
|
|
46
|
+
} else {
|
|
47
|
+
obj[key] = value;
|
|
48
|
+
}
|
|
49
|
+
return obj;
|
|
50
|
+
}
|
|
38
51
|
function _iterableToArray(iter) {
|
|
39
52
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
40
53
|
}
|
|
41
54
|
function _nonIterableSpread() {
|
|
42
55
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
43
56
|
}
|
|
57
|
+
function _objectSpread(target) {
|
|
58
|
+
for(var i = 1; i < arguments.length; i++){
|
|
59
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
60
|
+
var ownKeys = Object.keys(source);
|
|
61
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
62
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
63
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
ownKeys.forEach(function(key) {
|
|
67
|
+
_defineProperty(target, key, source[key]);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return target;
|
|
71
|
+
}
|
|
72
|
+
function ownKeys(object, enumerableOnly) {
|
|
73
|
+
var keys = Object.keys(object);
|
|
74
|
+
if (Object.getOwnPropertySymbols) {
|
|
75
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
76
|
+
if (enumerableOnly) {
|
|
77
|
+
symbols = symbols.filter(function(sym) {
|
|
78
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
keys.push.apply(keys, symbols);
|
|
82
|
+
}
|
|
83
|
+
return keys;
|
|
84
|
+
}
|
|
85
|
+
function _objectSpreadProps(target, source) {
|
|
86
|
+
source = source != null ? source : {};
|
|
87
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
88
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
89
|
+
} else {
|
|
90
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
91
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
return target;
|
|
95
|
+
}
|
|
44
96
|
function _toConsumableArray(arr) {
|
|
45
97
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
46
98
|
}
|
|
@@ -221,6 +273,15 @@ var cli_default = function() {
|
|
|
221
273
|
isSSR: false
|
|
222
274
|
};
|
|
223
275
|
});
|
|
276
|
+
if (bff === null || bff === void 0 ? void 0 : bff.enableHandleWeb) {
|
|
277
|
+
return {
|
|
278
|
+
routes: routes.map(function(route) {
|
|
279
|
+
return _objectSpreadProps(_objectSpread({}, route), {
|
|
280
|
+
isApi: true
|
|
281
|
+
});
|
|
282
|
+
}).concat(apiServerRoutes)
|
|
283
|
+
};
|
|
284
|
+
}
|
|
224
285
|
return {
|
|
225
286
|
routes: routes.concat(apiServerRoutes)
|
|
226
287
|
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
var __async = (__this, __arguments, generator) => {
|
|
2
|
-
return new Promise((resolve, reject) => {
|
|
3
|
-
var fulfilled = (value) => {
|
|
4
|
-
try {
|
|
5
|
-
step(generator.next(value));
|
|
6
|
-
} catch (e) {
|
|
7
|
-
reject(e);
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
var rejected = (value) => {
|
|
11
|
-
try {
|
|
12
|
-
step(generator.throw(value));
|
|
13
|
-
} catch (e) {
|
|
14
|
-
reject(e);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
1
|
import path from "path";
|
|
22
2
|
import {
|
|
23
3
|
fs,
|
|
@@ -92,6 +72,16 @@ var cli_default = () => ({
|
|
|
92
72
|
isSPA: false,
|
|
93
73
|
isSSR: false
|
|
94
74
|
}));
|
|
75
|
+
if (bff == null ? void 0 : bff.enableHandleWeb) {
|
|
76
|
+
return {
|
|
77
|
+
routes: routes.map((route) => {
|
|
78
|
+
return {
|
|
79
|
+
...route,
|
|
80
|
+
isApi: true
|
|
81
|
+
};
|
|
82
|
+
}).concat(apiServerRoutes)
|
|
83
|
+
};
|
|
84
|
+
}
|
|
95
85
|
return { routes: routes.concat(apiServerRoutes) };
|
|
96
86
|
},
|
|
97
87
|
collectServerPlugins({ plugins }) {
|
|
@@ -100,53 +90,49 @@ var cli_default = () => ({
|
|
|
100
90
|
});
|
|
101
91
|
return { plugins };
|
|
102
92
|
},
|
|
103
|
-
beforeBuild() {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
});
|
|
93
|
+
async beforeBuild() {
|
|
94
|
+
if (isProd()) {
|
|
95
|
+
const { internalDirectory } = api.useAppContext();
|
|
96
|
+
unRegisterResolveRuntimePath = registerModernRuntimePath(internalDirectory);
|
|
97
|
+
}
|
|
110
98
|
},
|
|
111
|
-
afterBuild() {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
});
|
|
99
|
+
async afterBuild() {
|
|
100
|
+
if (unRegisterResolveRuntimePath) {
|
|
101
|
+
unRegisterResolveRuntimePath();
|
|
102
|
+
}
|
|
103
|
+
const { appDirectory, distDirectory } = api.useAppContext();
|
|
104
|
+
const modernConfig = api.useResolvedConfigContext();
|
|
105
|
+
const distDir = path.resolve(distDirectory);
|
|
106
|
+
const apiDir = path.resolve(appDirectory, API_DIR);
|
|
107
|
+
const sharedDir = path.resolve(appDirectory, SHARED_DIR);
|
|
108
|
+
const tsconfigPath = path.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
109
|
+
const sourceDirs = [];
|
|
110
|
+
if (fs.existsSync(apiDir)) {
|
|
111
|
+
sourceDirs.push(apiDir);
|
|
112
|
+
}
|
|
113
|
+
if (fs.existsSync(sharedDir)) {
|
|
114
|
+
sourceDirs.push(sharedDir);
|
|
115
|
+
}
|
|
116
|
+
const { server } = modernConfig;
|
|
117
|
+
const { alias, define, globalVars } = modernConfig.source;
|
|
118
|
+
const { babel } = modernConfig.tools;
|
|
119
|
+
if (sourceDirs.length > 0) {
|
|
120
|
+
await compile(
|
|
121
|
+
appDirectory,
|
|
122
|
+
{
|
|
123
|
+
server,
|
|
124
|
+
alias,
|
|
125
|
+
define,
|
|
126
|
+
globalVars,
|
|
127
|
+
babelConfig: babel
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
sourceDirs,
|
|
131
|
+
distDir,
|
|
132
|
+
tsconfigPath
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
}
|
|
150
136
|
}
|
|
151
137
|
};
|
|
152
138
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { generateClient } from "@modern-js/bff-core";
|
|
2
|
+
import { logger } from "@modern-js/utils";
|
|
3
|
+
async function loader(source) {
|
|
4
|
+
this.cacheable();
|
|
5
|
+
const callback = this.async();
|
|
6
|
+
const draftOptions = this.getOptions();
|
|
7
|
+
const { resourcePath } = this;
|
|
8
|
+
const warning = `The file ${resourcePath} is not allowd to be imported in src directory, only API definition files are allowed.`;
|
|
9
|
+
if (!draftOptions.existLambda) {
|
|
10
|
+
logger.warn(warning);
|
|
11
|
+
callback(null, `throw new Error('${warning}')`);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const options = {
|
|
15
|
+
prefix: Array.isArray(draftOptions.prefix) ? draftOptions.prefix[0] : draftOptions.prefix,
|
|
16
|
+
apiDir: draftOptions.apiDir,
|
|
17
|
+
target: draftOptions.target,
|
|
18
|
+
port: Number(draftOptions.port),
|
|
19
|
+
source,
|
|
20
|
+
resourcePath
|
|
21
|
+
};
|
|
22
|
+
const { lambdaDir } = draftOptions;
|
|
23
|
+
if (!resourcePath.startsWith(lambdaDir)) {
|
|
24
|
+
logger.warn(warning);
|
|
25
|
+
callback(null, `throw new Error('${warning}')`);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (draftOptions.fetcher) {
|
|
29
|
+
options.fetcher = draftOptions.fetcher;
|
|
30
|
+
}
|
|
31
|
+
if (draftOptions.requestCreator) {
|
|
32
|
+
options.requestCreator = draftOptions.requestCreator;
|
|
33
|
+
}
|
|
34
|
+
options.requireResolve = require.resolve;
|
|
35
|
+
const result = await generateClient(options);
|
|
36
|
+
if (result.isOk) {
|
|
37
|
+
callback(void 0, result.value);
|
|
38
|
+
} else {
|
|
39
|
+
callback(void 0, `throw new Error('${result.value}')`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
var loader_default = loader;
|
|
43
|
+
export {
|
|
44
|
+
loader_default as default
|
|
45
|
+
};
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defProps = Object.defineProperties;
|
|
3
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
1
|
import path from "path";
|
|
21
2
|
import { ApiRouter } from "@modern-js/bff-core";
|
|
22
3
|
import { API_DIR, isProd, requireExistModule } from "@modern-js/utils";
|
|
@@ -73,11 +54,12 @@ var server_default = () => ({
|
|
|
73
54
|
});
|
|
74
55
|
const apiMode = apiRouter.getApiMode();
|
|
75
56
|
const apiHandlerInfos = apiRouter.getApiHandlers();
|
|
76
|
-
api.setAppContext(
|
|
57
|
+
api.setAppContext({
|
|
58
|
+
...appContext,
|
|
77
59
|
apiRouter,
|
|
78
60
|
apiHandlerInfos,
|
|
79
61
|
apiMode
|
|
80
|
-
})
|
|
62
|
+
});
|
|
81
63
|
return next(props);
|
|
82
64
|
}
|
|
83
65
|
};
|
package/package.json
CHANGED
|
@@ -11,28 +11,27 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "2.
|
|
14
|
+
"version": "2.5.0",
|
|
15
15
|
"jsnext:source": "./src/cli.ts",
|
|
16
16
|
"types": "./dist/types/cli.d.ts",
|
|
17
|
-
"main": "./dist/
|
|
18
|
-
"module": "./dist/
|
|
19
|
-
"jsnext:modern": "./dist/js/modern/cli.js",
|
|
17
|
+
"main": "./dist/cjs/cli.js",
|
|
18
|
+
"module": "./dist/esm/cli.js",
|
|
20
19
|
"exports": {
|
|
21
20
|
".": {
|
|
22
21
|
"jsnext:source": "./src/cli.ts",
|
|
23
|
-
"default": "./dist/
|
|
22
|
+
"default": "./dist/cjs/cli.js"
|
|
24
23
|
},
|
|
25
24
|
"./cli": {
|
|
26
25
|
"jsnext:source": "./src/cli.ts",
|
|
27
|
-
"default": "./dist/
|
|
26
|
+
"default": "./dist/cjs/cli.js"
|
|
28
27
|
},
|
|
29
28
|
"./server": {
|
|
30
29
|
"jsnext:source": "./src/server.ts",
|
|
31
|
-
"default": "./dist/
|
|
30
|
+
"default": "./dist/cjs/server.js"
|
|
32
31
|
},
|
|
33
32
|
"./loader": {
|
|
34
33
|
"jsnext:source": "./src/loader.ts",
|
|
35
|
-
"default": "./dist/
|
|
34
|
+
"default": "./dist/cjs/loader.js"
|
|
36
35
|
}
|
|
37
36
|
},
|
|
38
37
|
"typesVersions": {
|
|
@@ -51,10 +50,10 @@
|
|
|
51
50
|
"dependencies": {
|
|
52
51
|
"@babel/core": "^7.18.0",
|
|
53
52
|
"@babel/runtime": "^7.18.0",
|
|
54
|
-
"@modern-js/bff-core": "2.
|
|
55
|
-
"@modern-js/create-request": "2.
|
|
56
|
-
"@modern-js/server-utils": "2.
|
|
57
|
-
"@modern-js/utils": "2.
|
|
53
|
+
"@modern-js/bff-core": "2.5.0",
|
|
54
|
+
"@modern-js/create-request": "2.5.0",
|
|
55
|
+
"@modern-js/server-utils": "2.5.0",
|
|
56
|
+
"@modern-js/utils": "2.5.0"
|
|
58
57
|
},
|
|
59
58
|
"devDependencies": {
|
|
60
59
|
"@types/babel__core": "^7.1.15",
|
|
@@ -66,14 +65,14 @@
|
|
|
66
65
|
"typescript": "^4",
|
|
67
66
|
"webpack": "^5.75.0",
|
|
68
67
|
"webpack-chain": "^6.5.1",
|
|
69
|
-
"@modern-js/runtime": "2.
|
|
70
|
-
"@modern-js/core": "2.
|
|
71
|
-
"@modern-js/bff-runtime": "2.
|
|
72
|
-
"@modern-js/server-core": "2.
|
|
73
|
-
"@modern-js/types": "2.
|
|
74
|
-
"@modern-js/app-tools": "
|
|
75
|
-
"@scripts/build": "2.
|
|
76
|
-
"@scripts/jest-config": "2.
|
|
68
|
+
"@modern-js/runtime": "2.5.0",
|
|
69
|
+
"@modern-js/core": "2.5.0",
|
|
70
|
+
"@modern-js/bff-runtime": "2.5.0",
|
|
71
|
+
"@modern-js/server-core": "2.5.0",
|
|
72
|
+
"@modern-js/types": "2.5.0",
|
|
73
|
+
"@modern-js/app-tools": "2.5.0",
|
|
74
|
+
"@scripts/build": "2.5.0",
|
|
75
|
+
"@scripts/jest-config": "2.5.0"
|
|
77
76
|
},
|
|
78
77
|
"sideEffects": false,
|
|
79
78
|
"publishConfig": {
|
package/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports = require('./dist/
|
|
1
|
+
module.exports = require('./dist/cjs/server');
|
package/dist/js/modern/loader.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
var __async = (__this, __arguments, generator) => {
|
|
2
|
-
return new Promise((resolve, reject) => {
|
|
3
|
-
var fulfilled = (value) => {
|
|
4
|
-
try {
|
|
5
|
-
step(generator.next(value));
|
|
6
|
-
} catch (e) {
|
|
7
|
-
reject(e);
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
var rejected = (value) => {
|
|
11
|
-
try {
|
|
12
|
-
step(generator.throw(value));
|
|
13
|
-
} catch (e) {
|
|
14
|
-
reject(e);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
import { generateClient } from "@modern-js/bff-core";
|
|
22
|
-
import { logger } from "@modern-js/utils";
|
|
23
|
-
function loader(source) {
|
|
24
|
-
return __async(this, null, function* () {
|
|
25
|
-
this.cacheable();
|
|
26
|
-
const callback = this.async();
|
|
27
|
-
const draftOptions = this.getOptions();
|
|
28
|
-
const { resourcePath } = this;
|
|
29
|
-
const warning = `The file ${resourcePath} is not allowd to be imported in src directory, only API definition files are allowed.`;
|
|
30
|
-
if (!draftOptions.existLambda) {
|
|
31
|
-
logger.warn(warning);
|
|
32
|
-
callback(null, `throw new Error('${warning}')`);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
const options = {
|
|
36
|
-
prefix: Array.isArray(draftOptions.prefix) ? draftOptions.prefix[0] : draftOptions.prefix,
|
|
37
|
-
apiDir: draftOptions.apiDir,
|
|
38
|
-
target: draftOptions.target,
|
|
39
|
-
port: Number(draftOptions.port),
|
|
40
|
-
source,
|
|
41
|
-
resourcePath
|
|
42
|
-
};
|
|
43
|
-
const { lambdaDir } = draftOptions;
|
|
44
|
-
if (!resourcePath.startsWith(lambdaDir)) {
|
|
45
|
-
logger.warn(warning);
|
|
46
|
-
callback(null, `throw new Error('${warning}')`);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
if (draftOptions.fetcher) {
|
|
50
|
-
options.fetcher = draftOptions.fetcher;
|
|
51
|
-
}
|
|
52
|
-
if (draftOptions.requestCreator) {
|
|
53
|
-
options.requestCreator = draftOptions.requestCreator;
|
|
54
|
-
}
|
|
55
|
-
options.requireResolve = require.resolve;
|
|
56
|
-
const result = yield generateClient(options);
|
|
57
|
-
if (result.isOk) {
|
|
58
|
-
callback(void 0, result.value);
|
|
59
|
-
} else {
|
|
60
|
-
callback(void 0, `throw new Error('${result.value}')`);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
var loader_default = loader;
|
|
65
|
-
export {
|
|
66
|
-
loader_default as default
|
|
67
|
-
};
|
package/dist/js/node/loader.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var __async = (__this, __arguments, generator) => {
|
|
19
|
-
return new Promise((resolve, reject) => {
|
|
20
|
-
var fulfilled = (value) => {
|
|
21
|
-
try {
|
|
22
|
-
step(generator.next(value));
|
|
23
|
-
} catch (e) {
|
|
24
|
-
reject(e);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
var rejected = (value) => {
|
|
28
|
-
try {
|
|
29
|
-
step(generator.throw(value));
|
|
30
|
-
} catch (e) {
|
|
31
|
-
reject(e);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
35
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var loader_exports = {};
|
|
39
|
-
__export(loader_exports, {
|
|
40
|
-
default: () => loader_default
|
|
41
|
-
});
|
|
42
|
-
module.exports = __toCommonJS(loader_exports);
|
|
43
|
-
var import_bff_core = require("@modern-js/bff-core");
|
|
44
|
-
var import_utils = require("@modern-js/utils");
|
|
45
|
-
function loader(source) {
|
|
46
|
-
return __async(this, null, function* () {
|
|
47
|
-
this.cacheable();
|
|
48
|
-
const callback = this.async();
|
|
49
|
-
const draftOptions = this.getOptions();
|
|
50
|
-
const { resourcePath } = this;
|
|
51
|
-
const warning = `The file ${resourcePath} is not allowd to be imported in src directory, only API definition files are allowed.`;
|
|
52
|
-
if (!draftOptions.existLambda) {
|
|
53
|
-
import_utils.logger.warn(warning);
|
|
54
|
-
callback(null, `throw new Error('${warning}')`);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const options = {
|
|
58
|
-
prefix: Array.isArray(draftOptions.prefix) ? draftOptions.prefix[0] : draftOptions.prefix,
|
|
59
|
-
apiDir: draftOptions.apiDir,
|
|
60
|
-
target: draftOptions.target,
|
|
61
|
-
port: Number(draftOptions.port),
|
|
62
|
-
source,
|
|
63
|
-
resourcePath
|
|
64
|
-
};
|
|
65
|
-
const { lambdaDir } = draftOptions;
|
|
66
|
-
if (!resourcePath.startsWith(lambdaDir)) {
|
|
67
|
-
import_utils.logger.warn(warning);
|
|
68
|
-
callback(null, `throw new Error('${warning}')`);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
if (draftOptions.fetcher) {
|
|
72
|
-
options.fetcher = draftOptions.fetcher;
|
|
73
|
-
}
|
|
74
|
-
if (draftOptions.requestCreator) {
|
|
75
|
-
options.requestCreator = draftOptions.requestCreator;
|
|
76
|
-
}
|
|
77
|
-
options.requireResolve = require.resolve;
|
|
78
|
-
const result = yield (0, import_bff_core.generateClient)(options);
|
|
79
|
-
if (result.isOk) {
|
|
80
|
-
callback(void 0, result.value);
|
|
81
|
-
} else {
|
|
82
|
-
callback(void 0, `throw new Error('${result.value}')`);
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
var loader_default = loader;
|
|
87
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
-
0 && (module.exports = {});
|