@modern-js/plugin-express 1.7.1 → 1.15.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 +39 -0
- package/dist/js/modern/cli/index.js +2 -14
- package/dist/js/modern/context.js +1 -1
- package/dist/js/modern/plugin.js +12 -3
- package/dist/js/modern/runtime/hook.js +1 -0
- package/dist/js/modern/runtime/index.js +1 -0
- package/dist/js/node/cli/index.js +3 -15
- package/dist/js/node/context.js +2 -2
- package/dist/js/node/plugin.js +12 -3
- package/dist/js/node/runtime/hook.js +10 -0
- package/dist/js/node/runtime/index.js +10 -1
- package/dist/types/runtime/hook.d.ts +2 -0
- package/dist/types/runtime/index.d.ts +1 -0
- package/dist/types/runtime/operators.d.ts +2 -2
- package/package.json +9 -10
- package/types.d.ts +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# @modern-js/plugin-express
|
|
2
2
|
|
|
3
|
+
## 1.15.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 1f8b492: feat: support afterLambdaRegisted hook
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- c0d8dac: fix: remove package adapter-helpers and bff runtime export
|
|
12
|
+
- 4524de6: fix: add server hook and types
|
|
13
|
+
fix: 增加 server hook API
|
|
14
|
+
- Updated dependencies [c0d8dac]
|
|
15
|
+
- Updated dependencies [8658a78]
|
|
16
|
+
- Updated dependencies [05d4a4f]
|
|
17
|
+
- Updated dependencies [7bfaaf9]
|
|
18
|
+
- Updated dependencies [b1f7000]
|
|
19
|
+
- Updated dependencies [ad05af9]
|
|
20
|
+
- Updated dependencies [5d53d1c]
|
|
21
|
+
- Updated dependencies [37cd159]
|
|
22
|
+
- @modern-js/bff-core@1.15.0
|
|
23
|
+
- @modern-js/utils@1.15.0
|
|
24
|
+
- @modern-js/types@1.15.0
|
|
25
|
+
- @modern-js/bff-runtime@1.15.0
|
|
26
|
+
|
|
27
|
+
## 1.7.2
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- b5fe1a6: feat: support bff zod schema use transform/record/lazy
|
|
32
|
+
|
|
33
|
+
feat: 支持 bff 中 zod schema 使用 transform/record/lazy
|
|
34
|
+
|
|
35
|
+
- Updated dependencies [79e83ef]
|
|
36
|
+
- Updated dependencies [22f4dca]
|
|
37
|
+
- Updated dependencies [7b9067f]
|
|
38
|
+
- Updated dependencies [b5fe1a6]
|
|
39
|
+
- @modern-js/utils@1.9.0
|
|
40
|
+
- @modern-js/bff-core@1.2.2
|
|
41
|
+
|
|
3
42
|
## 1.7.1
|
|
4
43
|
|
|
5
44
|
### Patch Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import { createRuntimeExportsUtils } from '@modern-js/utils';
|
|
3
|
-
import { getRelativeRuntimePath } from '@modern-js/
|
|
3
|
+
import { getRelativeRuntimePath } from '@modern-js/bff-core';
|
|
4
4
|
export default (() => ({
|
|
5
5
|
name: '@modern-js/plugin-express',
|
|
6
6
|
setup: api => {
|
|
@@ -39,25 +39,13 @@ export default (() => ({
|
|
|
39
39
|
},
|
|
40
40
|
|
|
41
41
|
addRuntimeExports(input) {
|
|
42
|
-
const {
|
|
43
|
-
appDirectory
|
|
44
|
-
} = useAppContext();
|
|
45
|
-
|
|
46
|
-
const runtimePath = require.resolve(`@modern-js/runtime`, {
|
|
47
|
-
paths: [appDirectory]
|
|
48
|
-
});
|
|
49
|
-
|
|
50
42
|
const currentFile = bffExportsUtils.getPath();
|
|
51
|
-
const runtimeDir = path.dirname(runtimePath);
|
|
52
|
-
const relativeBffPath = path.relative(path.dirname(currentFile), path.join(runtimeDir, './exports/server'));
|
|
53
43
|
const relativeRuntimeModulePath = path.relative(path.dirname(currentFile), runtimeModulePath);
|
|
54
44
|
const relativeFramePath = path.relative(path.dirname(currentFile), require.resolve('express'));
|
|
55
|
-
bffExportsUtils.addExport(`const
|
|
56
|
-
const pluginRuntime = require('${relativeRuntimeModulePath}');
|
|
45
|
+
bffExportsUtils.addExport(`const pluginRuntime = require('${relativeRuntimeModulePath}');
|
|
57
46
|
const express = require('${relativeFramePath}')
|
|
58
47
|
module.exports = {
|
|
59
48
|
express: express,
|
|
60
|
-
...bffRuntime,
|
|
61
49
|
...pluginRuntime
|
|
62
50
|
}
|
|
63
51
|
`);
|
package/dist/js/modern/plugin.js
CHANGED
|
@@ -15,11 +15,11 @@ const findAppModule = async apiDir => {
|
|
|
15
15
|
if (await fs.pathExists(filename)) {
|
|
16
16
|
// 每次获取 app.ts 的时候,避免使用缓存的 app.ts
|
|
17
17
|
delete require.cache[filename];
|
|
18
|
-
return compatRequire(filename);
|
|
18
|
+
return [compatRequire(filename), require(filename)];
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
return
|
|
22
|
+
return [];
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
const initMiddlewares = (middleware, app) => {
|
|
@@ -63,7 +63,9 @@ export default (() => ({
|
|
|
63
63
|
const apiHandlerInfos = appContext.apiHandlerInfos;
|
|
64
64
|
|
|
65
65
|
if (mode === 'framework') {
|
|
66
|
-
|
|
66
|
+
const appModule = await findAppModule(apiDir);
|
|
67
|
+
app = appModule[0];
|
|
68
|
+
const hooks = appModule[1];
|
|
67
69
|
|
|
68
70
|
if (!app || !app.use) {
|
|
69
71
|
// console.warn('There is not api/app.ts.');
|
|
@@ -81,6 +83,13 @@ export default (() => ({
|
|
|
81
83
|
|
|
82
84
|
useRun(app);
|
|
83
85
|
registerRoutes(app, apiHandlerInfos);
|
|
86
|
+
const {
|
|
87
|
+
afterLambdaRegisted
|
|
88
|
+
} = hooks;
|
|
89
|
+
|
|
90
|
+
if (afterLambdaRegisted) {
|
|
91
|
+
afterLambdaRegisted(app);
|
|
92
|
+
}
|
|
84
93
|
} else if (mode === 'function') {
|
|
85
94
|
app = express();
|
|
86
95
|
initApp(app);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const hook = attacher => attacher;
|
|
@@ -9,7 +9,7 @@ var path = _interopRequireWildcard(require("path"));
|
|
|
9
9
|
|
|
10
10
|
var _utils = require("@modern-js/utils");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _bffCore = require("@modern-js/bff-core");
|
|
13
13
|
|
|
14
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
15
|
|
|
@@ -31,7 +31,7 @@ var _default = () => ({
|
|
|
31
31
|
} = appContext;
|
|
32
32
|
bffExportsUtils = (0, _utils.createRuntimeExportsUtils)(appContext.internalDirectory, 'server');
|
|
33
33
|
const serverRuntimePath = bffExportsUtils.getPath();
|
|
34
|
-
const relativeRuntimePath = (0,
|
|
34
|
+
const relativeRuntimePath = (0, _bffCore.getRelativeRuntimePath)(appDirectory, serverRuntimePath);
|
|
35
35
|
|
|
36
36
|
if (process.env.NODE_ENV === 'production') {
|
|
37
37
|
return {
|
|
@@ -53,25 +53,13 @@ var _default = () => ({
|
|
|
53
53
|
},
|
|
54
54
|
|
|
55
55
|
addRuntimeExports(input) {
|
|
56
|
-
const {
|
|
57
|
-
appDirectory
|
|
58
|
-
} = useAppContext();
|
|
59
|
-
|
|
60
|
-
const runtimePath = require.resolve(`@modern-js/runtime`, {
|
|
61
|
-
paths: [appDirectory]
|
|
62
|
-
});
|
|
63
|
-
|
|
64
56
|
const currentFile = bffExportsUtils.getPath();
|
|
65
|
-
const runtimeDir = path.dirname(runtimePath);
|
|
66
|
-
const relativeBffPath = path.relative(path.dirname(currentFile), path.join(runtimeDir, './exports/server'));
|
|
67
57
|
const relativeRuntimeModulePath = path.relative(path.dirname(currentFile), runtimeModulePath);
|
|
68
58
|
const relativeFramePath = path.relative(path.dirname(currentFile), require.resolve('express'));
|
|
69
|
-
bffExportsUtils.addExport(`const
|
|
70
|
-
const pluginRuntime = require('${relativeRuntimeModulePath}');
|
|
59
|
+
bffExportsUtils.addExport(`const pluginRuntime = require('${relativeRuntimeModulePath}');
|
|
71
60
|
const express = require('${relativeFramePath}')
|
|
72
61
|
module.exports = {
|
|
73
62
|
express: express,
|
|
74
|
-
...bffRuntime,
|
|
75
63
|
...pluginRuntime
|
|
76
64
|
}
|
|
77
65
|
`);
|
package/dist/js/node/context.js
CHANGED
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useContext = exports.run = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _bffCore = require("@modern-js/bff-core");
|
|
9
9
|
|
|
10
10
|
const {
|
|
11
11
|
run,
|
|
12
12
|
useContext
|
|
13
|
-
} = (0,
|
|
13
|
+
} = (0, _bffCore.createStorage)();
|
|
14
14
|
exports.useContext = useContext;
|
|
15
15
|
exports.run = run;
|
package/dist/js/node/plugin.js
CHANGED
|
@@ -35,11 +35,11 @@ const findAppModule = async apiDir => {
|
|
|
35
35
|
if (await _utils.fs.pathExists(filename)) {
|
|
36
36
|
// 每次获取 app.ts 的时候,避免使用缓存的 app.ts
|
|
37
37
|
delete require.cache[filename];
|
|
38
|
-
return (0, _utils.compatRequire)(filename);
|
|
38
|
+
return [(0, _utils.compatRequire)(filename), require(filename)];
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
return
|
|
42
|
+
return [];
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
const initMiddlewares = (middleware, app) => {
|
|
@@ -83,7 +83,9 @@ var _default = () => ({
|
|
|
83
83
|
const apiHandlerInfos = appContext.apiHandlerInfos;
|
|
84
84
|
|
|
85
85
|
if (mode === 'framework') {
|
|
86
|
-
|
|
86
|
+
const appModule = await findAppModule(apiDir);
|
|
87
|
+
app = appModule[0];
|
|
88
|
+
const hooks = appModule[1];
|
|
87
89
|
|
|
88
90
|
if (!app || !app.use) {
|
|
89
91
|
// console.warn('There is not api/app.ts.');
|
|
@@ -101,6 +103,13 @@ var _default = () => ({
|
|
|
101
103
|
|
|
102
104
|
useRun(app);
|
|
103
105
|
(0, _registerRoutes.default)(app, apiHandlerInfos);
|
|
106
|
+
const {
|
|
107
|
+
afterLambdaRegisted
|
|
108
|
+
} = hooks;
|
|
109
|
+
|
|
110
|
+
if (afterLambdaRegisted) {
|
|
111
|
+
afterLambdaRegisted(app);
|
|
112
|
+
}
|
|
104
113
|
} else if (mode === 'function') {
|
|
105
114
|
app = (0, _express.default)();
|
|
106
115
|
initApp(app);
|
|
@@ -4,8 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {
|
|
7
|
-
useContext: true
|
|
7
|
+
useContext: true,
|
|
8
|
+
hook: true
|
|
8
9
|
};
|
|
10
|
+
Object.defineProperty(exports, "hook", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _hook.hook;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
9
16
|
Object.defineProperty(exports, "useContext", {
|
|
10
17
|
enumerable: true,
|
|
11
18
|
get: function () {
|
|
@@ -29,6 +36,8 @@ Object.keys(_bffCore).forEach(function (key) {
|
|
|
29
36
|
|
|
30
37
|
var _context = require("../context");
|
|
31
38
|
|
|
39
|
+
var _hook = require("./hook");
|
|
40
|
+
|
|
32
41
|
var _operators = require("./operators");
|
|
33
42
|
|
|
34
43
|
Object.keys(_operators).forEach(function (key) {
|
|
@@ -4,8 +4,8 @@ import type { Request, Response } from 'express';
|
|
|
4
4
|
export declare type EndFunction = ((func: (res: Response) => void) => void) & ((data: unknown) => void);
|
|
5
5
|
declare type MaybeAsync<T> = T | Promise<T>;
|
|
6
6
|
declare type PipeFunction<T> = (value: T, end: EndFunction) => MaybeAsync<void> | MaybeAsync<T>;
|
|
7
|
-
export declare const Pipe: <T>(func: PipeFunction<T>) => Operator
|
|
7
|
+
export declare const Pipe: <T>(func: PipeFunction<T>) => Operator;
|
|
8
8
|
export declare type Pipe = typeof Pipe;
|
|
9
|
-
export declare const Middleware: (middleware: (req: Request, res: Response, next: NextFunction) => void) => Operator
|
|
9
|
+
export declare const Middleware: (middleware: (req: Request, res: Response, next: NextFunction) => void) => Operator;
|
|
10
10
|
export declare type Middleware = typeof Middleware;
|
|
11
11
|
export {};
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.15.0",
|
|
15
15
|
"jsnext:source": "./src/index.ts",
|
|
16
16
|
"types": "./dist/types/index.d.ts",
|
|
17
17
|
"main": "./dist/js/node/index.js",
|
|
@@ -34,11 +34,10 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@babel/runtime": "^7.18.0",
|
|
37
|
-
"@modern-js/
|
|
38
|
-
"@modern-js/bff-
|
|
39
|
-
"@modern-js/
|
|
40
|
-
"@modern-js/
|
|
41
|
-
"@modern-js/utils": "^1.8.0",
|
|
37
|
+
"@modern-js/bff-core": "1.15.0",
|
|
38
|
+
"@modern-js/bff-runtime": "1.15.0",
|
|
39
|
+
"@modern-js/types": "1.15.0",
|
|
40
|
+
"@modern-js/utils": "1.15.0",
|
|
42
41
|
"cookie-parser": "^1.4.5",
|
|
43
42
|
"finalhandler": "^1.1.2",
|
|
44
43
|
"formidable": "^1.2.2",
|
|
@@ -46,10 +45,10 @@
|
|
|
46
45
|
"type-is": "^1.6.18"
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
49
|
-
"@modern-js/core": "1.
|
|
50
|
-
"@modern-js/server-core": "1.
|
|
51
|
-
"@scripts/build": "
|
|
52
|
-
"@scripts/jest-config": "
|
|
48
|
+
"@modern-js/core": "1.15.0",
|
|
49
|
+
"@modern-js/server-core": "1.15.0",
|
|
50
|
+
"@scripts/build": "1.15.0",
|
|
51
|
+
"@scripts/jest-config": "1.15.0",
|
|
53
52
|
"@types/cookie-parser": "^1.4.2",
|
|
54
53
|
"@types/express": "^4.17.13",
|
|
55
54
|
"@types/finalhandler": "^1.1.1",
|