@modern-js/plugin-bff 2.31.2 → 2.31.3-alpha.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/LICENSE +1 -1
- package/dist/cjs/cli.js +1 -0
- package/dist/esm/cli.js +1 -0
- package/dist/esm-node/cli.js +1 -0
- package/dist/js/modern/cli.js +156 -0
- package/dist/js/modern/constants.js +14 -0
- package/dist/js/modern/helper.js +14 -0
- package/dist/js/modern/index.js +1 -0
- package/dist/js/modern/loader.js +67 -0
- package/dist/js/modern/server.js +88 -0
- package/dist/js/node/cli.js +176 -0
- package/dist/js/node/constants.js +38 -0
- package/dist/js/node/helper.js +43 -0
- package/dist/js/node/index.js +17 -0
- package/dist/js/node/loader.js +88 -0
- package/dist/js/node/server.js +113 -0
- package/dist/js/treeshaking/cli.js +309 -0
- package/dist/js/treeshaking/constants.js +11 -0
- package/dist/js/treeshaking/helper.js +23 -0
- package/dist/js/treeshaking/index.js +1 -0
- package/dist/js/treeshaking/loader.js +191 -0
- package/dist/js/treeshaking/server.js +151 -0
- package/package.json +7 -8
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
+
try {
|
|
3
|
+
var info = gen[key](arg);
|
|
4
|
+
var value = info.value;
|
|
5
|
+
} catch (error) {
|
|
6
|
+
reject(error);
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (info.done) {
|
|
10
|
+
resolve(value);
|
|
11
|
+
} else {
|
|
12
|
+
Promise.resolve(value).then(_next, _throw);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function _asyncToGenerator(fn) {
|
|
16
|
+
return function() {
|
|
17
|
+
var self = this, args = arguments;
|
|
18
|
+
return new Promise(function(resolve, reject) {
|
|
19
|
+
var gen = fn.apply(self, args);
|
|
20
|
+
function _next(value) {
|
|
21
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
22
|
+
}
|
|
23
|
+
function _throw(err) {
|
|
24
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
25
|
+
}
|
|
26
|
+
_next(undefined);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
var __generator = this && this.__generator || function(thisArg, body) {
|
|
31
|
+
var f, y, t, g, _ = {
|
|
32
|
+
label: 0,
|
|
33
|
+
sent: function() {
|
|
34
|
+
if (t[0] & 1) throw t[1];
|
|
35
|
+
return t[1];
|
|
36
|
+
},
|
|
37
|
+
trys: [],
|
|
38
|
+
ops: []
|
|
39
|
+
};
|
|
40
|
+
return g = {
|
|
41
|
+
next: verb(0),
|
|
42
|
+
"throw": verb(1),
|
|
43
|
+
"return": verb(2)
|
|
44
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
45
|
+
return this;
|
|
46
|
+
}), g;
|
|
47
|
+
function verb(n) {
|
|
48
|
+
return function(v) {
|
|
49
|
+
return step([
|
|
50
|
+
n,
|
|
51
|
+
v
|
|
52
|
+
]);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function step(op) {
|
|
56
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
57
|
+
while(_)try {
|
|
58
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
59
|
+
if (y = 0, t) op = [
|
|
60
|
+
op[0] & 2,
|
|
61
|
+
t.value
|
|
62
|
+
];
|
|
63
|
+
switch(op[0]){
|
|
64
|
+
case 0:
|
|
65
|
+
case 1:
|
|
66
|
+
t = op;
|
|
67
|
+
break;
|
|
68
|
+
case 4:
|
|
69
|
+
_.label++;
|
|
70
|
+
return {
|
|
71
|
+
value: op[1],
|
|
72
|
+
done: false
|
|
73
|
+
};
|
|
74
|
+
case 5:
|
|
75
|
+
_.label++;
|
|
76
|
+
y = op[1];
|
|
77
|
+
op = [
|
|
78
|
+
0
|
|
79
|
+
];
|
|
80
|
+
continue;
|
|
81
|
+
case 7:
|
|
82
|
+
op = _.ops.pop();
|
|
83
|
+
_.trys.pop();
|
|
84
|
+
continue;
|
|
85
|
+
default:
|
|
86
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
87
|
+
_ = 0;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
91
|
+
_.label = op[1];
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
95
|
+
_.label = t[1];
|
|
96
|
+
t = op;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
if (t && _.label < t[2]) {
|
|
100
|
+
_.label = t[2];
|
|
101
|
+
_.ops.push(op);
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
if (t[2]) _.ops.pop();
|
|
105
|
+
_.trys.pop();
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
op = body.call(thisArg, _);
|
|
109
|
+
} catch (e) {
|
|
110
|
+
op = [
|
|
111
|
+
6,
|
|
112
|
+
e
|
|
113
|
+
];
|
|
114
|
+
y = 0;
|
|
115
|
+
} finally{
|
|
116
|
+
f = t = 0;
|
|
117
|
+
}
|
|
118
|
+
if (op[0] & 5) throw op[1];
|
|
119
|
+
return {
|
|
120
|
+
value: op[0] ? op[1] : void 0,
|
|
121
|
+
done: true
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
import { generateClient } from "@modern-js/bff-core";
|
|
126
|
+
import { logger } from "@modern-js/utils";
|
|
127
|
+
function loader(source) {
|
|
128
|
+
return _loader.apply(this, arguments);
|
|
129
|
+
}
|
|
130
|
+
function _loader() {
|
|
131
|
+
_loader = _asyncToGenerator(function(source) {
|
|
132
|
+
var callback, draftOptions, resourcePath, warning, options, lambdaDir, result;
|
|
133
|
+
return __generator(this, function(_state) {
|
|
134
|
+
switch(_state.label){
|
|
135
|
+
case 0:
|
|
136
|
+
this.cacheable();
|
|
137
|
+
callback = this.async();
|
|
138
|
+
draftOptions = this.getOptions();
|
|
139
|
+
resourcePath = this.resourcePath;
|
|
140
|
+
warning = "The file ".concat(resourcePath, " is not allowd to be imported in src directory, only API definition files are allowed.");
|
|
141
|
+
if (!draftOptions.existLambda) {
|
|
142
|
+
logger.warn(warning);
|
|
143
|
+
callback(null, "throw new Error('".concat(warning, "')"));
|
|
144
|
+
return [
|
|
145
|
+
2
|
|
146
|
+
];
|
|
147
|
+
}
|
|
148
|
+
options = {
|
|
149
|
+
prefix: Array.isArray(draftOptions.prefix) ? draftOptions.prefix[0] : draftOptions.prefix,
|
|
150
|
+
apiDir: draftOptions.apiDir,
|
|
151
|
+
target: draftOptions.target,
|
|
152
|
+
port: Number(draftOptions.port),
|
|
153
|
+
source: source,
|
|
154
|
+
resourcePath: resourcePath
|
|
155
|
+
};
|
|
156
|
+
lambdaDir = draftOptions.lambdaDir;
|
|
157
|
+
if (!resourcePath.startsWith(lambdaDir)) {
|
|
158
|
+
logger.warn(warning);
|
|
159
|
+
callback(null, "throw new Error('".concat(warning, "')"));
|
|
160
|
+
return [
|
|
161
|
+
2
|
|
162
|
+
];
|
|
163
|
+
}
|
|
164
|
+
if (draftOptions.fetcher) {
|
|
165
|
+
options.fetcher = draftOptions.fetcher;
|
|
166
|
+
}
|
|
167
|
+
if (draftOptions.requestCreator) {
|
|
168
|
+
options.requestCreator = draftOptions.requestCreator;
|
|
169
|
+
}
|
|
170
|
+
options.requireResolve = require.resolve;
|
|
171
|
+
return [
|
|
172
|
+
4,
|
|
173
|
+
generateClient(options)
|
|
174
|
+
];
|
|
175
|
+
case 1:
|
|
176
|
+
result = _state.sent();
|
|
177
|
+
if (result.isOk) {
|
|
178
|
+
callback(void 0, result.value);
|
|
179
|
+
} else {
|
|
180
|
+
callback(void 0, "throw new Error('".concat(result.value, "')"));
|
|
181
|
+
}
|
|
182
|
+
return [
|
|
183
|
+
2
|
|
184
|
+
];
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
return _loader.apply(this, arguments);
|
|
189
|
+
}
|
|
190
|
+
var loader_default = loader;
|
|
191
|
+
export { loader_default as default };
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
function _classCallCheck(instance, Constructor) {
|
|
2
|
+
if (!(instance instanceof Constructor)) {
|
|
3
|
+
throw new TypeError("Cannot call a class as a function");
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
function _defineProperties(target, props) {
|
|
7
|
+
for(var i = 0; i < props.length; i++){
|
|
8
|
+
var descriptor = props[i];
|
|
9
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
10
|
+
descriptor.configurable = true;
|
|
11
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
12
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
16
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
17
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
18
|
+
return Constructor;
|
|
19
|
+
}
|
|
20
|
+
function _defineProperty(obj, key, value) {
|
|
21
|
+
if (key in obj) {
|
|
22
|
+
Object.defineProperty(obj, key, {
|
|
23
|
+
value: value,
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true
|
|
27
|
+
});
|
|
28
|
+
} else {
|
|
29
|
+
obj[key] = value;
|
|
30
|
+
}
|
|
31
|
+
return obj;
|
|
32
|
+
}
|
|
33
|
+
function _objectSpread(target) {
|
|
34
|
+
for(var i = 1; i < arguments.length; i++){
|
|
35
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
36
|
+
var ownKeys = Object.keys(source);
|
|
37
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
38
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
39
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
ownKeys.forEach(function(key) {
|
|
43
|
+
_defineProperty(target, key, source[key]);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return target;
|
|
47
|
+
}
|
|
48
|
+
function ownKeys(object, enumerableOnly) {
|
|
49
|
+
var keys = Object.keys(object);
|
|
50
|
+
if (Object.getOwnPropertySymbols) {
|
|
51
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
52
|
+
if (enumerableOnly) {
|
|
53
|
+
symbols = symbols.filter(function(sym) {
|
|
54
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
keys.push.apply(keys, symbols);
|
|
58
|
+
}
|
|
59
|
+
return keys;
|
|
60
|
+
}
|
|
61
|
+
function _objectSpreadProps(target, source) {
|
|
62
|
+
source = source != null ? source : {};
|
|
63
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
64
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
65
|
+
} else {
|
|
66
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
67
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return target;
|
|
71
|
+
}
|
|
72
|
+
import path from "path";
|
|
73
|
+
import { ApiRouter } from "@modern-js/bff-core";
|
|
74
|
+
import { API_DIR, isProd, requireExistModule } from "@modern-js/utils";
|
|
75
|
+
import { API_APP_NAME } from "./constants";
|
|
76
|
+
var Storage = /*#__PURE__*/ function() {
|
|
77
|
+
"use strict";
|
|
78
|
+
function Storage() {
|
|
79
|
+
_classCallCheck(this, Storage);
|
|
80
|
+
_defineProperty(this, "middlewares", []);
|
|
81
|
+
}
|
|
82
|
+
_createClass(Storage, [
|
|
83
|
+
{
|
|
84
|
+
key: "reset",
|
|
85
|
+
value: function reset() {
|
|
86
|
+
this.middlewares = [];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
]);
|
|
90
|
+
return Storage;
|
|
91
|
+
}();
|
|
92
|
+
var createTransformAPI = function(storage) {
|
|
93
|
+
return {
|
|
94
|
+
addMiddleware: function addMiddleware(fn) {
|
|
95
|
+
storage.middlewares.push(fn);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
var server_default = function() {
|
|
100
|
+
return {
|
|
101
|
+
name: "@modern-js/plugin-bff",
|
|
102
|
+
setup: function(api) {
|
|
103
|
+
var storage = new Storage();
|
|
104
|
+
var transformAPI = createTransformAPI(storage);
|
|
105
|
+
var apiAppPath = "";
|
|
106
|
+
return {
|
|
107
|
+
prepare: function prepare() {
|
|
108
|
+
var ref = api.useAppContext(), appDirectory = ref.appDirectory, distDirectory = ref.distDirectory;
|
|
109
|
+
var root = isProd() ? distDirectory : appDirectory;
|
|
110
|
+
var apiPath = path.resolve(root || process.cwd(), API_DIR);
|
|
111
|
+
apiAppPath = path.resolve(apiPath, API_APP_NAME);
|
|
112
|
+
var apiMod = requireExistModule(apiAppPath);
|
|
113
|
+
if (apiMod && typeof apiMod === "function") {
|
|
114
|
+
apiMod(transformAPI);
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
reset: function reset() {
|
|
118
|
+
storage.reset();
|
|
119
|
+
var newApiModule = requireExistModule(apiAppPath);
|
|
120
|
+
if (newApiModule && typeof newApiModule === "function") {
|
|
121
|
+
newApiModule(transformAPI);
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
gather: function gather(param) {
|
|
125
|
+
var addAPIMiddleware = param.addAPIMiddleware;
|
|
126
|
+
storage.middlewares.forEach(function(mid) {
|
|
127
|
+
addAPIMiddleware(mid);
|
|
128
|
+
});
|
|
129
|
+
},
|
|
130
|
+
prepareApiServer: function prepareApiServer(props, next) {
|
|
131
|
+
var pwd = props.pwd, prefix = props.prefix;
|
|
132
|
+
var apiDir = path.resolve(pwd, API_DIR);
|
|
133
|
+
var appContext = api.useAppContext();
|
|
134
|
+
var apiRouter = new ApiRouter({
|
|
135
|
+
apiDir: apiDir,
|
|
136
|
+
prefix: prefix
|
|
137
|
+
});
|
|
138
|
+
var apiMode = apiRouter.getApiMode();
|
|
139
|
+
var apiHandlerInfos = apiRouter.getApiHandlers();
|
|
140
|
+
api.setAppContext(_objectSpreadProps(_objectSpread({}, appContext), {
|
|
141
|
+
apiRouter: apiRouter,
|
|
142
|
+
apiHandlerInfos: apiHandlerInfos,
|
|
143
|
+
apiMode: apiMode
|
|
144
|
+
}));
|
|
145
|
+
return next(props);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
export { server_default as default };
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.31.
|
|
18
|
+
"version": "2.31.3-alpha.0",
|
|
19
19
|
"jsnext:source": "./src/cli.ts",
|
|
20
20
|
"types": "./dist/types/cli.d.ts",
|
|
21
21
|
"main": "./dist/cjs/cli.js",
|
|
@@ -26,18 +26,18 @@
|
|
|
26
26
|
"default": "./dist/cjs/cli.js"
|
|
27
27
|
},
|
|
28
28
|
"./cli": {
|
|
29
|
-
"jsnext:source": "./src/cli.ts",
|
|
30
29
|
"types": "./dist/types/cli.d.ts",
|
|
30
|
+
"jsnext:source": "./src/cli.ts",
|
|
31
31
|
"default": "./dist/cjs/cli.js"
|
|
32
32
|
},
|
|
33
33
|
"./server": {
|
|
34
|
-
"jsnext:source": "./src/server.ts",
|
|
35
34
|
"types": "./dist/types/server.d.ts",
|
|
35
|
+
"jsnext:source": "./src/server.ts",
|
|
36
36
|
"default": "./dist/cjs/server.js"
|
|
37
37
|
},
|
|
38
38
|
"./loader": {
|
|
39
|
-
"jsnext:source": "./src/loader.ts",
|
|
40
39
|
"types": "./dist/types/loader.d.ts",
|
|
40
|
+
"jsnext:source": "./src/loader.ts",
|
|
41
41
|
"default": "./dist/cjs/loader.js"
|
|
42
42
|
}
|
|
43
43
|
},
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@babel/core": "^7.21.8",
|
|
59
59
|
"@swc/helpers": "0.5.1",
|
|
60
|
-
"@modern-js/bff-core": "2.31.2",
|
|
61
60
|
"@modern-js/create-request": "2.31.2",
|
|
61
|
+
"@modern-js/bff-core": "2.31.2",
|
|
62
62
|
"@modern-js/server-utils": "2.31.2",
|
|
63
63
|
"@modern-js/utils": "2.31.2"
|
|
64
64
|
},
|
|
@@ -71,15 +71,14 @@
|
|
|
71
71
|
"ts-jest": "^29.1.0",
|
|
72
72
|
"typescript": "^5",
|
|
73
73
|
"webpack": "^5.88.1",
|
|
74
|
-
"webpack-chain": "^6.5.1",
|
|
75
74
|
"@modern-js/runtime": "2.31.2",
|
|
76
75
|
"@modern-js/core": "2.31.2",
|
|
77
76
|
"@modern-js/bff-runtime": "2.31.2",
|
|
78
77
|
"@modern-js/server-core": "2.31.2",
|
|
79
78
|
"@modern-js/types": "2.31.2",
|
|
80
|
-
"@modern-js/app-tools": "2.31.2",
|
|
81
79
|
"@scripts/build": "2.31.1",
|
|
82
|
-
"@scripts/jest-config": "2.31.1"
|
|
80
|
+
"@scripts/jest-config": "2.31.1",
|
|
81
|
+
"@modern-js/app-tools": "2.31.2"
|
|
83
82
|
},
|
|
84
83
|
"sideEffects": false,
|
|
85
84
|
"publishConfig": {
|