@modern-js/plugin-server 2.14.0 → 2.16.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 +21 -0
- package/dist/cjs/cli.js +35 -58
- package/dist/cjs/server.js +52 -67
- package/dist/esm/cli.js +194 -186
- package/dist/esm/server.js +187 -179
- package/dist/esm-node/cli.js +13 -18
- package/dist/esm-node/server.js +34 -36
- package/package.json +14 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @modern-js/plugin-server
|
|
2
2
|
|
|
3
|
+
## 2.16.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 4e876ab: chore: package.json include the monorepo-relative directory
|
|
8
|
+
|
|
9
|
+
chore: 在 package.json 中声明 monorepo 的子路径
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [5954330]
|
|
12
|
+
- Updated dependencies [7596520]
|
|
13
|
+
- Updated dependencies [4e876ab]
|
|
14
|
+
- @modern-js/utils@2.16.0
|
|
15
|
+
- @modern-js/server-utils@2.16.0
|
|
16
|
+
|
|
17
|
+
## 2.15.0
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- @modern-js/server-utils@2.15.0
|
|
22
|
+
- @modern-js/utils@2.15.0
|
|
23
|
+
|
|
3
24
|
## 2.14.0
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
package/dist/cjs/cli.js
CHANGED
|
@@ -1,41 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var cli_exports = {};
|
|
29
|
-
__export(cli_exports, {
|
|
30
|
-
default: () => cli_default
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
31
4
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => _default
|
|
8
|
+
});
|
|
9
|
+
const _fs = /* @__PURE__ */ _interop_require_default(require("fs"));
|
|
10
|
+
const _path = /* @__PURE__ */ _interop_require_default(require("path"));
|
|
11
|
+
const _serverutils = require("@modern-js/server-utils");
|
|
12
|
+
const _utils = require("@modern-js/utils");
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
37
18
|
const TS_CONFIG_FILENAME = "tsconfig.json";
|
|
38
|
-
|
|
19
|
+
const _default = () => ({
|
|
39
20
|
name: "@modern-js/plugin-server",
|
|
40
21
|
setup: (api) => ({
|
|
41
22
|
config() {
|
|
@@ -44,43 +25,39 @@ var cli_default = () => ({
|
|
|
44
25
|
async afterBuild() {
|
|
45
26
|
const { appDirectory, distDirectory } = api.useAppContext();
|
|
46
27
|
const modernConfig = api.useResolvedConfigContext();
|
|
47
|
-
const distDir =
|
|
48
|
-
const serverDir =
|
|
49
|
-
const sharedDir =
|
|
50
|
-
const tsconfigPath =
|
|
28
|
+
const distDir = _path.default.resolve(distDirectory);
|
|
29
|
+
const serverDir = _path.default.resolve(appDirectory, _utils.SERVER_DIR);
|
|
30
|
+
const sharedDir = _path.default.resolve(appDirectory, _utils.SHARED_DIR);
|
|
31
|
+
const tsconfigPath = _path.default.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
51
32
|
const sourceDirs = [];
|
|
52
|
-
if (
|
|
33
|
+
if (_fs.default.existsSync(serverDir)) {
|
|
53
34
|
sourceDirs.push(serverDir);
|
|
54
35
|
}
|
|
55
|
-
if (
|
|
36
|
+
if (_fs.default.existsSync(sharedDir)) {
|
|
56
37
|
sourceDirs.push(sharedDir);
|
|
57
38
|
}
|
|
58
39
|
const { server } = modernConfig;
|
|
59
40
|
const { alias } = modernConfig.source;
|
|
60
41
|
const { babel } = modernConfig.tools;
|
|
61
42
|
if (sourceDirs.length > 0) {
|
|
62
|
-
await (0,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
distDir,
|
|
72
|
-
tsconfigPath
|
|
73
|
-
}
|
|
74
|
-
);
|
|
43
|
+
await (0, _serverutils.compile)(appDirectory, {
|
|
44
|
+
server,
|
|
45
|
+
alias,
|
|
46
|
+
babelConfig: babel
|
|
47
|
+
}, {
|
|
48
|
+
sourceDirs,
|
|
49
|
+
distDir,
|
|
50
|
+
tsconfigPath
|
|
51
|
+
});
|
|
75
52
|
}
|
|
76
53
|
},
|
|
77
54
|
collectServerPlugins({ plugins }) {
|
|
78
55
|
plugins.push({
|
|
79
56
|
"@modern-js/plugin-server": "@modern-js/plugin-server/server"
|
|
80
57
|
});
|
|
81
|
-
return {
|
|
58
|
+
return {
|
|
59
|
+
plugins
|
|
60
|
+
};
|
|
82
61
|
}
|
|
83
62
|
})
|
|
84
63
|
});
|
|
85
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
86
|
-
0 && (module.exports = {});
|
package/dist/cjs/server.js
CHANGED
|
@@ -1,97 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var server_exports = {};
|
|
29
|
-
__export(server_exports, {
|
|
30
|
-
default: () => server_default
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
31
4
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => _default
|
|
8
|
+
});
|
|
9
|
+
const _path = /* @__PURE__ */ _interop_require_default(require("path"));
|
|
10
|
+
const _utils = require("@modern-js/utils");
|
|
11
|
+
function _define_property(obj, key, value) {
|
|
12
|
+
if (key in obj) {
|
|
13
|
+
Object.defineProperty(obj, key, {
|
|
14
|
+
value,
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true
|
|
18
|
+
});
|
|
19
|
+
} else {
|
|
20
|
+
obj[key] = value;
|
|
21
|
+
}
|
|
22
|
+
return obj;
|
|
23
|
+
}
|
|
24
|
+
function _interop_require_default(obj) {
|
|
25
|
+
return obj && obj.__esModule ? obj : {
|
|
26
|
+
default: obj
|
|
27
|
+
};
|
|
28
|
+
}
|
|
35
29
|
const WEB_APP_NAME = "index";
|
|
36
|
-
var HOOKS
|
|
30
|
+
var HOOKS;
|
|
31
|
+
(function(HOOKS2) {
|
|
37
32
|
HOOKS2["AFTER_MATCH"] = "afterMatch";
|
|
38
33
|
HOOKS2["AFTER_RENDER"] = "afterRender";
|
|
39
|
-
|
|
40
|
-
})(HOOKS || {});
|
|
34
|
+
})(HOOKS || (HOOKS = {}));
|
|
41
35
|
class Storage {
|
|
42
|
-
constructor() {
|
|
43
|
-
this.middlewares = [];
|
|
44
|
-
this.hooks = {};
|
|
45
|
-
}
|
|
46
36
|
reset() {
|
|
47
37
|
this.middlewares = [];
|
|
48
38
|
this.hooks = {};
|
|
49
39
|
}
|
|
40
|
+
constructor() {
|
|
41
|
+
_define_property(this, "middlewares", []);
|
|
42
|
+
_define_property(this, "hooks", {});
|
|
43
|
+
}
|
|
50
44
|
}
|
|
51
|
-
const createTransformAPI = (storage) => new Proxy(
|
|
52
|
-
{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (name === "addMiddleware") {
|
|
56
|
-
return (fn) => storage.middlewares.push(fn);
|
|
57
|
-
}
|
|
58
|
-
return (fn) => {
|
|
59
|
-
import_utils.logger.warn(
|
|
60
|
-
"declare hook in default export is to be deprecated, use named export instead"
|
|
61
|
-
);
|
|
62
|
-
storage.hooks[name] = fn;
|
|
63
|
-
};
|
|
45
|
+
const createTransformAPI = (storage) => new Proxy({}, {
|
|
46
|
+
get(target, name) {
|
|
47
|
+
if (name === "addMiddleware") {
|
|
48
|
+
return (fn) => storage.middlewares.push(fn);
|
|
64
49
|
}
|
|
50
|
+
return (fn) => {
|
|
51
|
+
_utils.logger.warn("declare hook in default export is to be deprecated, use named export instead");
|
|
52
|
+
storage.hooks[name] = fn;
|
|
53
|
+
};
|
|
65
54
|
}
|
|
66
|
-
);
|
|
55
|
+
});
|
|
67
56
|
const compose = (middlewares) => {
|
|
68
57
|
return (ctx, resolve, reject) => {
|
|
69
58
|
let i = 0;
|
|
70
59
|
const dispatch = () => {
|
|
71
|
-
var
|
|
60
|
+
var _handler, _handler_catch;
|
|
72
61
|
const handler = middlewares[i++];
|
|
73
62
|
if (!handler) {
|
|
74
63
|
return resolve();
|
|
75
64
|
}
|
|
76
|
-
return (
|
|
65
|
+
return (_handler = handler(ctx, dispatch)) === null || _handler === void 0 ? void 0 : (_handler_catch = _handler.catch) === null || _handler_catch === void 0 ? void 0 : _handler_catch.call(_handler, reject);
|
|
77
66
|
};
|
|
78
67
|
return dispatch;
|
|
79
68
|
};
|
|
80
69
|
};
|
|
81
|
-
|
|
70
|
+
const _default = () => ({
|
|
82
71
|
name: "@modern-js/plugin-server",
|
|
83
72
|
setup: (api) => {
|
|
84
73
|
const { appDirectory, distDirectory } = api.useAppContext();
|
|
85
74
|
const storage = new Storage();
|
|
86
75
|
const transformAPI = createTransformAPI(storage);
|
|
87
|
-
const pwd = (0,
|
|
88
|
-
const webAppPath =
|
|
89
|
-
const middlewarePath =
|
|
76
|
+
const pwd = (0, _utils.isProd)() ? distDirectory : appDirectory;
|
|
77
|
+
const webAppPath = _path.default.resolve(pwd, _utils.SERVER_DIR, WEB_APP_NAME);
|
|
78
|
+
const middlewarePath = _path.default.resolve(pwd, _utils.SERVER_DIR, "_middleware");
|
|
90
79
|
const loadMod = () => {
|
|
91
|
-
const mod = (0,
|
|
80
|
+
const mod = (0, _utils.requireExistModule)(webAppPath, {
|
|
92
81
|
interop: false
|
|
93
82
|
});
|
|
94
|
-
const middlewareMode = (0,
|
|
83
|
+
const middlewareMode = (0, _utils.requireExistModule)(middlewarePath, {
|
|
95
84
|
interop: false
|
|
96
85
|
});
|
|
97
86
|
const { default: defaultExports, middleware, ...hooks } = mod || {};
|
|
@@ -139,9 +128,7 @@ var server_default = () => ({
|
|
|
139
128
|
const { middleware } = config;
|
|
140
129
|
const factory = compose(middleware);
|
|
141
130
|
return (ctx) => {
|
|
142
|
-
const {
|
|
143
|
-
source: { res }
|
|
144
|
-
} = ctx;
|
|
131
|
+
const { source: { res } } = ctx;
|
|
145
132
|
return new Promise((resolve, reject) => {
|
|
146
133
|
res.on("finish", (err) => {
|
|
147
134
|
if (err) {
|
|
@@ -157,5 +144,3 @@ var server_default = () => ({
|
|
|
157
144
|
};
|
|
158
145
|
}
|
|
159
146
|
});
|
|
160
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
161
|
-
0 && (module.exports = {});
|
package/dist/esm/cli.js
CHANGED
|
@@ -1,200 +1,208 @@
|
|
|
1
1
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
14
|
}
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
function _async_to_generator(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(void 0);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
29
|
}
|
|
30
|
-
var __generator =
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
var __generator = function(thisArg, body) {
|
|
31
|
+
var f, y, t, g, _ = {
|
|
32
|
+
label: 0,
|
|
33
|
+
sent: function() {
|
|
34
|
+
if (t[0] & 1)
|
|
35
|
+
throw t[1];
|
|
36
|
+
return t[1];
|
|
37
|
+
},
|
|
38
|
+
trys: [],
|
|
39
|
+
ops: []
|
|
40
|
+
};
|
|
41
|
+
return g = {
|
|
42
|
+
next: verb(0),
|
|
43
|
+
"throw": verb(1),
|
|
44
|
+
"return": verb(2)
|
|
45
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
46
|
+
return this;
|
|
47
|
+
}), g;
|
|
48
|
+
function verb(n) {
|
|
49
|
+
return function(v) {
|
|
50
|
+
return step([
|
|
51
|
+
n,
|
|
52
|
+
v
|
|
53
|
+
]);
|
|
39
54
|
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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) {
|
|
55
|
+
}
|
|
56
|
+
function step(op) {
|
|
57
|
+
if (f)
|
|
58
|
+
throw new TypeError("Generator is already executing.");
|
|
59
|
+
while (_)
|
|
60
|
+
try {
|
|
61
|
+
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)
|
|
62
|
+
return t;
|
|
63
|
+
if (y = 0, t)
|
|
64
|
+
op = [
|
|
65
|
+
op[0] & 2,
|
|
66
|
+
t.value
|
|
67
|
+
];
|
|
68
|
+
switch (op[0]) {
|
|
69
|
+
case 0:
|
|
70
|
+
case 1:
|
|
71
|
+
t = op;
|
|
72
|
+
break;
|
|
73
|
+
case 4:
|
|
74
|
+
_.label++;
|
|
75
|
+
return {
|
|
76
|
+
value: op[1],
|
|
77
|
+
done: false
|
|
78
|
+
};
|
|
79
|
+
case 5:
|
|
80
|
+
_.label++;
|
|
81
|
+
y = op[1];
|
|
110
82
|
op = [
|
|
111
|
-
|
|
112
|
-
e
|
|
83
|
+
0
|
|
113
84
|
];
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
85
|
+
continue;
|
|
86
|
+
case 7:
|
|
87
|
+
op = _.ops.pop();
|
|
88
|
+
_.trys.pop();
|
|
89
|
+
continue;
|
|
90
|
+
default:
|
|
91
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
92
|
+
_ = 0;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
96
|
+
_.label = op[1];
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
100
|
+
_.label = t[1];
|
|
101
|
+
t = op;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
if (t && _.label < t[2]) {
|
|
105
|
+
_.label = t[2];
|
|
106
|
+
_.ops.push(op);
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
if (t[2])
|
|
110
|
+
_.ops.pop();
|
|
111
|
+
_.trys.pop();
|
|
112
|
+
continue;
|
|
117
113
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
114
|
+
op = body.call(thisArg, _);
|
|
115
|
+
} catch (e) {
|
|
116
|
+
op = [
|
|
117
|
+
6,
|
|
118
|
+
e
|
|
119
|
+
];
|
|
120
|
+
y = 0;
|
|
121
|
+
} finally {
|
|
122
|
+
f = t = 0;
|
|
123
|
+
}
|
|
124
|
+
if (op[0] & 5)
|
|
125
|
+
throw op[1];
|
|
126
|
+
return {
|
|
127
|
+
value: op[0] ? op[1] : void 0,
|
|
128
|
+
done: true
|
|
129
|
+
};
|
|
130
|
+
}
|
|
124
131
|
};
|
|
125
132
|
import fs from "fs";
|
|
126
133
|
import path from "path";
|
|
127
134
|
import { compile } from "@modern-js/server-utils";
|
|
128
135
|
import { SHARED_DIR, SERVER_DIR } from "@modern-js/utils";
|
|
129
136
|
var TS_CONFIG_FILENAME = "tsconfig.json";
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
};
|
|
137
|
+
export default function() {
|
|
138
|
+
return {
|
|
139
|
+
name: "@modern-js/plugin-server",
|
|
140
|
+
setup: function(api) {
|
|
141
|
+
return {
|
|
142
|
+
config: function config() {
|
|
143
|
+
return {};
|
|
144
|
+
},
|
|
145
|
+
afterBuild: function afterBuild() {
|
|
146
|
+
return _async_to_generator(function() {
|
|
147
|
+
var _api_useAppContext, appDirectory, distDirectory, modernConfig, distDir, serverDir, sharedDir, tsconfigPath, sourceDirs, server, alias, babel;
|
|
148
|
+
return __generator(this, function(_state) {
|
|
149
|
+
switch (_state.label) {
|
|
150
|
+
case 0:
|
|
151
|
+
_api_useAppContext = api.useAppContext(), appDirectory = _api_useAppContext.appDirectory, distDirectory = _api_useAppContext.distDirectory;
|
|
152
|
+
modernConfig = api.useResolvedConfigContext();
|
|
153
|
+
distDir = path.resolve(distDirectory);
|
|
154
|
+
serverDir = path.resolve(appDirectory, SERVER_DIR);
|
|
155
|
+
sharedDir = path.resolve(appDirectory, SHARED_DIR);
|
|
156
|
+
tsconfigPath = path.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
157
|
+
sourceDirs = [];
|
|
158
|
+
if (fs.existsSync(serverDir)) {
|
|
159
|
+
sourceDirs.push(serverDir);
|
|
160
|
+
}
|
|
161
|
+
if (fs.existsSync(sharedDir)) {
|
|
162
|
+
sourceDirs.push(sharedDir);
|
|
163
|
+
}
|
|
164
|
+
server = modernConfig.server;
|
|
165
|
+
alias = modernConfig.source.alias;
|
|
166
|
+
babel = modernConfig.tools.babel;
|
|
167
|
+
if (!(sourceDirs.length > 0))
|
|
168
|
+
return [
|
|
169
|
+
3,
|
|
170
|
+
2
|
|
171
|
+
];
|
|
172
|
+
return [
|
|
173
|
+
4,
|
|
174
|
+
compile(appDirectory, {
|
|
175
|
+
server,
|
|
176
|
+
alias,
|
|
177
|
+
babelConfig: babel
|
|
178
|
+
}, {
|
|
179
|
+
sourceDirs,
|
|
180
|
+
distDir,
|
|
181
|
+
tsconfigPath
|
|
182
|
+
})
|
|
183
|
+
];
|
|
184
|
+
case 1:
|
|
185
|
+
_state.sent();
|
|
186
|
+
_state.label = 2;
|
|
187
|
+
case 2:
|
|
188
|
+
return [
|
|
189
|
+
2
|
|
190
|
+
];
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
})();
|
|
194
|
+
},
|
|
195
|
+
collectServerPlugins: function collectServerPlugins(param) {
|
|
196
|
+
var plugins = param.plugins;
|
|
197
|
+
plugins.push({
|
|
198
|
+
"@modern-js/plugin-server": "@modern-js/plugin-server/server"
|
|
199
|
+
});
|
|
200
|
+
return {
|
|
201
|
+
plugins
|
|
202
|
+
};
|
|
197
203
|
}
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
;
|
package/dist/esm/server.js
CHANGED
|
@@ -1,199 +1,207 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
function _class_call_check(instance, Constructor) {
|
|
2
|
+
if (!(instance instanceof Constructor)) {
|
|
3
|
+
throw new TypeError("Cannot call a class as a function");
|
|
4
|
+
}
|
|
5
5
|
}
|
|
6
6
|
function _defineProperties(target, props) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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)
|
|
12
|
+
descriptor.writable = true;
|
|
13
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
14
|
+
}
|
|
14
15
|
}
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
17
|
+
if (protoProps)
|
|
18
|
+
_defineProperties(Constructor.prototype, protoProps);
|
|
19
|
+
if (staticProps)
|
|
20
|
+
_defineProperties(Constructor, staticProps);
|
|
21
|
+
return Constructor;
|
|
19
22
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
function _define_property(obj, key, value) {
|
|
24
|
+
if (key in obj) {
|
|
25
|
+
Object.defineProperty(obj, key, {
|
|
26
|
+
value,
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
obj[key] = value;
|
|
33
|
+
}
|
|
34
|
+
return obj;
|
|
32
35
|
}
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
function _object_without_properties(source, excluded) {
|
|
37
|
+
if (source == null)
|
|
38
|
+
return {};
|
|
39
|
+
var target = _object_without_properties_loose(source, excluded);
|
|
40
|
+
var key, i;
|
|
41
|
+
if (Object.getOwnPropertySymbols) {
|
|
42
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
43
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
44
|
+
key = sourceSymbolKeys[i];
|
|
45
|
+
if (excluded.indexOf(key) >= 0)
|
|
46
|
+
continue;
|
|
47
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key))
|
|
48
|
+
continue;
|
|
49
|
+
target[key] = source[key];
|
|
45
50
|
}
|
|
46
|
-
|
|
51
|
+
}
|
|
52
|
+
return target;
|
|
47
53
|
}
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
function _object_without_properties_loose(source, excluded) {
|
|
55
|
+
if (source == null)
|
|
56
|
+
return {};
|
|
57
|
+
var target = {};
|
|
58
|
+
var sourceKeys = Object.keys(source);
|
|
59
|
+
var key, i;
|
|
60
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
61
|
+
key = sourceKeys[i];
|
|
62
|
+
if (excluded.indexOf(key) >= 0)
|
|
63
|
+
continue;
|
|
64
|
+
target[key] = source[key];
|
|
65
|
+
}
|
|
66
|
+
return target;
|
|
59
67
|
}
|
|
60
68
|
import path from "path";
|
|
61
69
|
import { isProd, logger, requireExistModule, SERVER_DIR } from "@modern-js/utils";
|
|
62
70
|
var WEB_APP_NAME = "index";
|
|
63
|
-
var HOOKS
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}(HOOKS || {});
|
|
68
|
-
var Storage =
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
var HOOKS;
|
|
72
|
+
(function(HOOKS2) {
|
|
73
|
+
HOOKS2["AFTER_MATCH"] = "afterMatch";
|
|
74
|
+
HOOKS2["AFTER_RENDER"] = "afterRender";
|
|
75
|
+
})(HOOKS || (HOOKS = {}));
|
|
76
|
+
var Storage = /* @__PURE__ */ function() {
|
|
77
|
+
"use strict";
|
|
78
|
+
function Storage2() {
|
|
79
|
+
_class_call_check(this, Storage2);
|
|
80
|
+
_define_property(this, "middlewares", []);
|
|
81
|
+
_define_property(this, "hooks", {});
|
|
82
|
+
}
|
|
83
|
+
_create_class(Storage2, [
|
|
84
|
+
{
|
|
85
|
+
key: "reset",
|
|
86
|
+
value: function reset() {
|
|
87
|
+
this.middlewares = [];
|
|
88
|
+
this.hooks = {};
|
|
89
|
+
}
|
|
74
90
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
key: "reset",
|
|
78
|
-
value: function reset() {
|
|
79
|
-
this.middlewares = [];
|
|
80
|
-
this.hooks = {};
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
]);
|
|
84
|
-
return Storage;
|
|
91
|
+
]);
|
|
92
|
+
return Storage2;
|
|
85
93
|
}();
|
|
86
94
|
var createTransformAPI = function(storage) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
return new Proxy({}, {
|
|
96
|
+
get: function get(target, name) {
|
|
97
|
+
if (name === "addMiddleware") {
|
|
98
|
+
return function(fn) {
|
|
99
|
+
return storage.middlewares.push(fn);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return function(fn) {
|
|
103
|
+
logger.warn("declare hook in default export is to be deprecated, use named export instead");
|
|
104
|
+
storage.hooks[name] = fn;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
});
|
|
100
108
|
};
|
|
101
109
|
var compose = function(middlewares) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
};
|
|
112
|
-
return dispatch;
|
|
110
|
+
return function(ctx, resolve, reject) {
|
|
111
|
+
var i = 0;
|
|
112
|
+
var dispatch = function() {
|
|
113
|
+
var _handler, _handler_catch;
|
|
114
|
+
var handler = middlewares[i++];
|
|
115
|
+
if (!handler) {
|
|
116
|
+
return resolve();
|
|
117
|
+
}
|
|
118
|
+
return (_handler = handler(ctx, dispatch)) === null || _handler === void 0 ? void 0 : (_handler_catch = _handler.catch) === null || _handler_catch === void 0 ? void 0 : _handler_catch.call(_handler, reject);
|
|
113
119
|
};
|
|
120
|
+
return dispatch;
|
|
121
|
+
};
|
|
114
122
|
};
|
|
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
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
return resolve();
|
|
189
|
-
});
|
|
190
|
-
var dispatch = factory(ctx, resolve, reject);
|
|
191
|
-
dispatch();
|
|
192
|
-
});
|
|
193
|
-
};
|
|
123
|
+
export default function() {
|
|
124
|
+
return {
|
|
125
|
+
name: "@modern-js/plugin-server",
|
|
126
|
+
setup: function(api) {
|
|
127
|
+
var _api_useAppContext = api.useAppContext(), appDirectory = _api_useAppContext.appDirectory, distDirectory = _api_useAppContext.distDirectory;
|
|
128
|
+
var storage = new Storage();
|
|
129
|
+
var transformAPI = createTransformAPI(storage);
|
|
130
|
+
var pwd = isProd() ? distDirectory : appDirectory;
|
|
131
|
+
var webAppPath = path.resolve(pwd, SERVER_DIR, WEB_APP_NAME);
|
|
132
|
+
var middlewarePath = path.resolve(pwd, SERVER_DIR, "_middleware");
|
|
133
|
+
var loadMod = function() {
|
|
134
|
+
var mod = requireExistModule(webAppPath, {
|
|
135
|
+
interop: false
|
|
136
|
+
});
|
|
137
|
+
var middlewareMode = requireExistModule(middlewarePath, {
|
|
138
|
+
interop: false
|
|
139
|
+
});
|
|
140
|
+
var _ref = mod || {}, defaultExports = _ref.default, middleware = _ref.middleware, hooks = _object_without_properties(_ref, [
|
|
141
|
+
"default",
|
|
142
|
+
"middleware"
|
|
143
|
+
]);
|
|
144
|
+
var _ref1 = middlewareMode || {}, tmp = _ref1.middleware, unstableMiddleware = tmp === void 0 ? [] : tmp;
|
|
145
|
+
if (defaultExports) {
|
|
146
|
+
defaultExports(transformAPI);
|
|
147
|
+
}
|
|
148
|
+
Object.values(HOOKS).forEach(function(key) {
|
|
149
|
+
var fn = hooks[key];
|
|
150
|
+
if (fn) {
|
|
151
|
+
storage.hooks[key] = fn;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
if (middleware) {
|
|
155
|
+
storage.middlewares = [].concat(middleware);
|
|
156
|
+
}
|
|
157
|
+
storage.middlewares = storage.middlewares.concat(unstableMiddleware);
|
|
158
|
+
};
|
|
159
|
+
return {
|
|
160
|
+
prepare: function prepare() {
|
|
161
|
+
loadMod();
|
|
162
|
+
},
|
|
163
|
+
reset: function reset() {
|
|
164
|
+
storage.reset();
|
|
165
|
+
loadMod();
|
|
166
|
+
},
|
|
167
|
+
gather: function gather(param) {
|
|
168
|
+
var addWebMiddleware = param.addWebMiddleware;
|
|
169
|
+
storage.middlewares.forEach(function(mid) {
|
|
170
|
+
addWebMiddleware(mid);
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
afterMatch: function afterMatch(context, next) {
|
|
174
|
+
if (!storage.hooks.afterMatch) {
|
|
175
|
+
return next();
|
|
176
|
+
}
|
|
177
|
+
return storage.hooks.afterMatch(context, next);
|
|
178
|
+
},
|
|
179
|
+
afterRender: function afterRender(context, next) {
|
|
180
|
+
if (!storage.hooks.afterRender) {
|
|
181
|
+
return next();
|
|
182
|
+
}
|
|
183
|
+
return storage.hooks.afterRender(context, next);
|
|
184
|
+
},
|
|
185
|
+
prepareWebServer: function prepareWebServer(param) {
|
|
186
|
+
var config = param.config;
|
|
187
|
+
var middleware = config.middleware;
|
|
188
|
+
var factory = compose(middleware);
|
|
189
|
+
return function(ctx) {
|
|
190
|
+
var res = ctx.source.res;
|
|
191
|
+
return new Promise(function(resolve, reject) {
|
|
192
|
+
res.on("finish", function(err) {
|
|
193
|
+
if (err) {
|
|
194
|
+
return reject(err);
|
|
194
195
|
}
|
|
195
|
-
|
|
196
|
+
return resolve();
|
|
197
|
+
});
|
|
198
|
+
var dispatch = factory(ctx, resolve, reject);
|
|
199
|
+
dispatch();
|
|
200
|
+
});
|
|
201
|
+
};
|
|
196
202
|
}
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
;
|
package/dist/esm-node/cli.js
CHANGED
|
@@ -3,7 +3,7 @@ import path from "path";
|
|
|
3
3
|
import { compile } from "@modern-js/server-utils";
|
|
4
4
|
import { SHARED_DIR, SERVER_DIR } from "@modern-js/utils";
|
|
5
5
|
const TS_CONFIG_FILENAME = "tsconfig.json";
|
|
6
|
-
|
|
6
|
+
export default () => ({
|
|
7
7
|
name: "@modern-js/plugin-server",
|
|
8
8
|
setup: (api) => ({
|
|
9
9
|
config() {
|
|
@@ -27,29 +27,24 @@ var cli_default = () => ({
|
|
|
27
27
|
const { alias } = modernConfig.source;
|
|
28
28
|
const { babel } = modernConfig.tools;
|
|
29
29
|
if (sourceDirs.length > 0) {
|
|
30
|
-
await compile(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
distDir,
|
|
40
|
-
tsconfigPath
|
|
41
|
-
}
|
|
42
|
-
);
|
|
30
|
+
await compile(appDirectory, {
|
|
31
|
+
server,
|
|
32
|
+
alias,
|
|
33
|
+
babelConfig: babel
|
|
34
|
+
}, {
|
|
35
|
+
sourceDirs,
|
|
36
|
+
distDir,
|
|
37
|
+
tsconfigPath
|
|
38
|
+
});
|
|
43
39
|
}
|
|
44
40
|
},
|
|
45
41
|
collectServerPlugins({ plugins }) {
|
|
46
42
|
plugins.push({
|
|
47
43
|
"@modern-js/plugin-server": "@modern-js/plugin-server/server"
|
|
48
44
|
});
|
|
49
|
-
return {
|
|
45
|
+
return {
|
|
46
|
+
plugins
|
|
47
|
+
};
|
|
50
48
|
}
|
|
51
49
|
})
|
|
52
50
|
});
|
|
53
|
-
export {
|
|
54
|
-
cli_default as default
|
|
55
|
-
};
|
package/dist/esm-node/server.js
CHANGED
|
@@ -1,57 +1,60 @@
|
|
|
1
|
+
function _define_property(obj, key, value) {
|
|
2
|
+
if (key in obj) {
|
|
3
|
+
Object.defineProperty(obj, key, {
|
|
4
|
+
value,
|
|
5
|
+
enumerable: true,
|
|
6
|
+
configurable: true,
|
|
7
|
+
writable: true
|
|
8
|
+
});
|
|
9
|
+
} else {
|
|
10
|
+
obj[key] = value;
|
|
11
|
+
}
|
|
12
|
+
return obj;
|
|
13
|
+
}
|
|
1
14
|
import path from "path";
|
|
2
|
-
import {
|
|
3
|
-
isProd,
|
|
4
|
-
logger,
|
|
5
|
-
requireExistModule,
|
|
6
|
-
SERVER_DIR
|
|
7
|
-
} from "@modern-js/utils";
|
|
15
|
+
import { isProd, logger, requireExistModule, SERVER_DIR } from "@modern-js/utils";
|
|
8
16
|
const WEB_APP_NAME = "index";
|
|
9
|
-
var HOOKS
|
|
17
|
+
var HOOKS;
|
|
18
|
+
(function(HOOKS2) {
|
|
10
19
|
HOOKS2["AFTER_MATCH"] = "afterMatch";
|
|
11
20
|
HOOKS2["AFTER_RENDER"] = "afterRender";
|
|
12
|
-
|
|
13
|
-
})(HOOKS || {});
|
|
21
|
+
})(HOOKS || (HOOKS = {}));
|
|
14
22
|
class Storage {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.middlewares = [];
|
|
17
|
-
this.hooks = {};
|
|
18
|
-
}
|
|
19
23
|
reset() {
|
|
20
24
|
this.middlewares = [];
|
|
21
25
|
this.hooks = {};
|
|
22
26
|
}
|
|
27
|
+
constructor() {
|
|
28
|
+
_define_property(this, "middlewares", []);
|
|
29
|
+
_define_property(this, "hooks", {});
|
|
30
|
+
}
|
|
23
31
|
}
|
|
24
|
-
const createTransformAPI = (storage) => new Proxy(
|
|
25
|
-
{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if (name === "addMiddleware") {
|
|
29
|
-
return (fn) => storage.middlewares.push(fn);
|
|
30
|
-
}
|
|
31
|
-
return (fn) => {
|
|
32
|
-
logger.warn(
|
|
33
|
-
"declare hook in default export is to be deprecated, use named export instead"
|
|
34
|
-
);
|
|
35
|
-
storage.hooks[name] = fn;
|
|
36
|
-
};
|
|
32
|
+
const createTransformAPI = (storage) => new Proxy({}, {
|
|
33
|
+
get(target, name) {
|
|
34
|
+
if (name === "addMiddleware") {
|
|
35
|
+
return (fn) => storage.middlewares.push(fn);
|
|
37
36
|
}
|
|
37
|
+
return (fn) => {
|
|
38
|
+
logger.warn("declare hook in default export is to be deprecated, use named export instead");
|
|
39
|
+
storage.hooks[name] = fn;
|
|
40
|
+
};
|
|
38
41
|
}
|
|
39
|
-
);
|
|
42
|
+
});
|
|
40
43
|
const compose = (middlewares) => {
|
|
41
44
|
return (ctx, resolve, reject) => {
|
|
42
45
|
let i = 0;
|
|
43
46
|
const dispatch = () => {
|
|
44
|
-
var
|
|
47
|
+
var _handler, _handler_catch;
|
|
45
48
|
const handler = middlewares[i++];
|
|
46
49
|
if (!handler) {
|
|
47
50
|
return resolve();
|
|
48
51
|
}
|
|
49
|
-
return (
|
|
52
|
+
return (_handler = handler(ctx, dispatch)) === null || _handler === void 0 ? void 0 : (_handler_catch = _handler.catch) === null || _handler_catch === void 0 ? void 0 : _handler_catch.call(_handler, reject);
|
|
50
53
|
};
|
|
51
54
|
return dispatch;
|
|
52
55
|
};
|
|
53
56
|
};
|
|
54
|
-
|
|
57
|
+
export default () => ({
|
|
55
58
|
name: "@modern-js/plugin-server",
|
|
56
59
|
setup: (api) => {
|
|
57
60
|
const { appDirectory, distDirectory } = api.useAppContext();
|
|
@@ -112,9 +115,7 @@ var server_default = () => ({
|
|
|
112
115
|
const { middleware } = config;
|
|
113
116
|
const factory = compose(middleware);
|
|
114
117
|
return (ctx) => {
|
|
115
|
-
const {
|
|
116
|
-
source: { res }
|
|
117
|
-
} = ctx;
|
|
118
|
+
const { source: { res } } = ctx;
|
|
118
119
|
return new Promise((resolve, reject) => {
|
|
119
120
|
res.on("finish", (err) => {
|
|
120
121
|
if (err) {
|
|
@@ -130,6 +131,3 @@ var server_default = () => ({
|
|
|
130
131
|
};
|
|
131
132
|
}
|
|
132
133
|
});
|
|
133
|
-
export {
|
|
134
|
-
server_default as default
|
|
135
|
-
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
"description": "A Progressive React Framework for modern web development.",
|
|
4
4
|
"homepage": "https://modernjs.dev",
|
|
5
5
|
"bugs": "https://github.com/web-infra-dev/modern.js/issues",
|
|
6
|
-
"repository":
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/web-infra-dev/modern.js",
|
|
9
|
+
"directory": "packages/server/plugin-server"
|
|
10
|
+
},
|
|
7
11
|
"license": "MIT",
|
|
8
12
|
"keywords": [
|
|
9
13
|
"react",
|
|
@@ -11,7 +15,7 @@
|
|
|
11
15
|
"modern",
|
|
12
16
|
"modern.js"
|
|
13
17
|
],
|
|
14
|
-
"version": "2.
|
|
18
|
+
"version": "2.16.0",
|
|
15
19
|
"types": "./dist/types/cli.d.ts",
|
|
16
20
|
"jsnext:source": "./src/cli",
|
|
17
21
|
"main": "./dist/cjs/cli.js",
|
|
@@ -47,20 +51,20 @@
|
|
|
47
51
|
},
|
|
48
52
|
"dependencies": {
|
|
49
53
|
"@babel/runtime": "^7.18.0",
|
|
50
|
-
"@modern-js/server-utils": "2.
|
|
51
|
-
"@modern-js/utils": "2.
|
|
54
|
+
"@modern-js/server-utils": "2.16.0",
|
|
55
|
+
"@modern-js/utils": "2.16.0"
|
|
52
56
|
},
|
|
53
57
|
"devDependencies": {
|
|
54
58
|
"typescript": "^4",
|
|
55
59
|
"@types/jest": "^29",
|
|
56
60
|
"@types/node": "^14",
|
|
57
61
|
"jest": "^29",
|
|
58
|
-
"@modern-js/server-core": "2.
|
|
59
|
-
"@modern-js/app-tools": "2.
|
|
60
|
-
"@modern-js/core": "2.
|
|
61
|
-
"@scripts/build": "2.
|
|
62
|
-
"@modern-js/types": "2.
|
|
63
|
-
"@scripts/jest-config": "2.
|
|
62
|
+
"@modern-js/server-core": "2.16.0",
|
|
63
|
+
"@modern-js/app-tools": "2.16.0",
|
|
64
|
+
"@modern-js/core": "2.16.0",
|
|
65
|
+
"@scripts/build": "2.16.0",
|
|
66
|
+
"@modern-js/types": "2.16.0",
|
|
67
|
+
"@scripts/jest-config": "2.16.0"
|
|
64
68
|
},
|
|
65
69
|
"sideEffects": [
|
|
66
70
|
"*.css",
|