@modern-js/plugin-server 2.0.0-beta.0 → 2.0.0-beta.2
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 +57 -0
- package/dist/js/modern/cli.js +0 -8
- package/dist/js/modern/server.js +6 -40
- package/dist/js/node/cli.js +0 -21
- package/dist/js/node/server.js +6 -47
- package/dist/js/treeshaking/cli.js +2 -10
- package/dist/js/treeshaking/server.js +6 -31
- package/dist/types/cli.d.ts +5 -3
- package/dist/types/server.d.ts +0 -2
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
1
|
# @modern-js/plugin-server
|
|
2
2
|
|
|
3
|
+
## 2.0.0-beta.2
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- dda38c9c3e: chore: v2
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 3bbea92b2a: feat: support Hook、Middleware new API
|
|
12
|
+
feat: 支持 Hook、Middleware 的新 API
|
|
13
|
+
- Updated dependencies [9b915e0c10]
|
|
14
|
+
- Updated dependencies [92f0ead]
|
|
15
|
+
- Updated dependencies [edd1cfb1af]
|
|
16
|
+
- Updated dependencies [cc971eabfc]
|
|
17
|
+
- Updated dependencies [5b9049f2e9]
|
|
18
|
+
- Updated dependencies [a8642da58f]
|
|
19
|
+
- Updated dependencies [92004d1]
|
|
20
|
+
- Updated dependencies [b8bbe036c7]
|
|
21
|
+
- Updated dependencies [c2bb0f1]
|
|
22
|
+
- Updated dependencies [d5a31df781]
|
|
23
|
+
- Updated dependencies [dda38c9c3e]
|
|
24
|
+
- Updated dependencies [3bbea92b2a]
|
|
25
|
+
- Updated dependencies [abf3421a75]
|
|
26
|
+
- Updated dependencies [543be9558e]
|
|
27
|
+
- Updated dependencies [14b712da84]
|
|
28
|
+
- @modern-js/server-utils@2.0.0-beta.2
|
|
29
|
+
- @modern-js/utils@2.0.0-beta.2
|
|
30
|
+
- @modern-js/babel-compiler@2.0.0-beta.2
|
|
31
|
+
|
|
32
|
+
## 2.0.0-beta.1
|
|
33
|
+
|
|
34
|
+
### Major Changes
|
|
35
|
+
|
|
36
|
+
- dda38c9: chore: v2
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- 3bbea92b2a: feat: support Hook、Middleware new API
|
|
41
|
+
feat: 支持 Hook、Middleware 的新 API
|
|
42
|
+
- Updated dependencies [9b915e0c10]
|
|
43
|
+
- Updated dependencies [92f0ead]
|
|
44
|
+
- Updated dependencies [edd1cfb1af]
|
|
45
|
+
- Updated dependencies [cc971eabfc]
|
|
46
|
+
- Updated dependencies [5b9049f]
|
|
47
|
+
- Updated dependencies [a8642da]
|
|
48
|
+
- Updated dependencies [92004d1]
|
|
49
|
+
- Updated dependencies [b8bbe036c7]
|
|
50
|
+
- Updated dependencies [d5a31df781]
|
|
51
|
+
- Updated dependencies [dda38c9]
|
|
52
|
+
- Updated dependencies [3bbea92b2a]
|
|
53
|
+
- Updated dependencies [abf3421]
|
|
54
|
+
- Updated dependencies [543be9558e]
|
|
55
|
+
- Updated dependencies [14b712d]
|
|
56
|
+
- @modern-js/server-utils@2.0.0-beta.1
|
|
57
|
+
- @modern-js/utils@2.0.0-beta.1
|
|
58
|
+
- @modern-js/babel-compiler@2.0.0-beta.1
|
|
59
|
+
|
|
3
60
|
## 2.0.0-beta.0
|
|
4
61
|
|
|
5
62
|
### Major Changes
|
package/dist/js/modern/cli.js
CHANGED
|
@@ -9,7 +9,6 @@ export default (() => ({
|
|
|
9
9
|
config() {
|
|
10
10
|
return {};
|
|
11
11
|
},
|
|
12
|
-
|
|
13
12
|
async afterBuild() {
|
|
14
13
|
const {
|
|
15
14
|
appDirectory,
|
|
@@ -21,32 +20,26 @@ export default (() => ({
|
|
|
21
20
|
const sharedDir = path.resolve(appDirectory, SHARED_DIR);
|
|
22
21
|
const tsconfigPath = path.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
23
22
|
const sourceDirs = [];
|
|
24
|
-
|
|
25
23
|
if (fs.existsSync(serverDir)) {
|
|
26
24
|
sourceDirs.push(serverDir);
|
|
27
25
|
}
|
|
28
|
-
|
|
29
26
|
if (fs.existsSync(sharedDir)) {
|
|
30
27
|
sourceDirs.push(sharedDir);
|
|
31
28
|
}
|
|
32
|
-
|
|
33
29
|
const {
|
|
34
30
|
server
|
|
35
31
|
} = modernConfig;
|
|
36
32
|
const {
|
|
37
33
|
alias,
|
|
38
|
-
envVars,
|
|
39
34
|
globalVars
|
|
40
35
|
} = modernConfig.source;
|
|
41
36
|
const {
|
|
42
37
|
babel
|
|
43
38
|
} = modernConfig.tools;
|
|
44
|
-
|
|
45
39
|
if (sourceDirs.length > 0) {
|
|
46
40
|
await compile(appDirectory, {
|
|
47
41
|
server,
|
|
48
42
|
alias,
|
|
49
|
-
envVars,
|
|
50
43
|
globalVars,
|
|
51
44
|
babelConfig: babel
|
|
52
45
|
}, {
|
|
@@ -56,6 +49,5 @@ export default (() => ({
|
|
|
56
49
|
});
|
|
57
50
|
}
|
|
58
51
|
}
|
|
59
|
-
|
|
60
52
|
})
|
|
61
53
|
}));
|
package/dist/js/modern/server.js
CHANGED
|
@@ -1,69 +1,50 @@
|
|
|
1
1
|
const _excluded = ["default", "middleware"];
|
|
2
|
-
|
|
3
2
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
|
-
|
|
5
3
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
6
|
-
|
|
7
4
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
-
|
|
9
5
|
import path from 'path';
|
|
10
6
|
import { isProd, logger, requireExistModule, SERVER_DIR } from '@modern-js/utils';
|
|
11
7
|
const WEB_APP_NAME = 'index';
|
|
12
8
|
var HOOKS;
|
|
13
|
-
|
|
14
9
|
(function (HOOKS) {
|
|
15
10
|
HOOKS["AFTER_MATCH"] = "afterMatch";
|
|
16
11
|
HOOKS["AFTER_RENDER"] = "afterRender";
|
|
17
12
|
})(HOOKS || (HOOKS = {}));
|
|
18
|
-
|
|
19
13
|
class Storage {
|
|
20
14
|
constructor() {
|
|
21
15
|
_defineProperty(this, "middlewares", []);
|
|
22
|
-
|
|
23
16
|
_defineProperty(this, "hooks", {});
|
|
24
17
|
}
|
|
25
|
-
|
|
26
18
|
reset() {
|
|
27
19
|
this.middlewares = [];
|
|
28
20
|
this.hooks = {};
|
|
29
21
|
}
|
|
30
|
-
|
|
31
22
|
}
|
|
32
|
-
|
|
33
23
|
const createTransformAPI = storage => new Proxy({}, {
|
|
34
24
|
get(target, name) {
|
|
35
25
|
if (name === 'addMiddleware') {
|
|
36
26
|
return fn => storage.middlewares.push(fn);
|
|
37
27
|
}
|
|
38
|
-
|
|
39
28
|
return fn => {
|
|
40
29
|
logger.warn('declare hook in default export is to be deprecated, use named export instead');
|
|
41
30
|
storage.hooks[name] = fn;
|
|
42
31
|
};
|
|
43
32
|
}
|
|
44
|
-
|
|
45
33
|
});
|
|
46
|
-
|
|
47
34
|
const compose = middlewares => {
|
|
48
35
|
return (ctx, resolve, reject) => {
|
|
49
36
|
let i = 0;
|
|
50
|
-
|
|
51
37
|
const dispatch = () => {
|
|
52
38
|
var _handler, _handler$catch;
|
|
53
|
-
|
|
54
39
|
const handler = middlewares[i++];
|
|
55
|
-
|
|
56
40
|
if (!handler) {
|
|
57
41
|
return resolve();
|
|
58
42
|
}
|
|
59
|
-
|
|
60
43
|
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);
|
|
61
44
|
};
|
|
62
|
-
|
|
63
45
|
return dispatch;
|
|
64
46
|
};
|
|
65
47
|
};
|
|
66
|
-
|
|
67
48
|
export default (() => ({
|
|
68
49
|
name: '@modern-js/plugin-server',
|
|
69
50
|
setup: api => {
|
|
@@ -75,46 +56,38 @@ export default (() => ({
|
|
|
75
56
|
const transformAPI = createTransformAPI(storage);
|
|
76
57
|
const pwd = isProd() ? distDirectory : appDirectory;
|
|
77
58
|
const webAppPath = path.resolve(pwd, SERVER_DIR, WEB_APP_NAME);
|
|
78
|
-
|
|
79
59
|
const loadMod = () => {
|
|
80
60
|
const mod = requireExistModule(webAppPath, {
|
|
81
61
|
interop: false
|
|
82
62
|
});
|
|
83
|
-
|
|
84
63
|
const {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
64
|
+
default: defaultExports,
|
|
65
|
+
middleware
|
|
66
|
+
} = mod,
|
|
67
|
+
hooks = _objectWithoutProperties(mod, _excluded);
|
|
90
68
|
if (defaultExports) {
|
|
91
69
|
defaultExports(transformAPI);
|
|
92
|
-
}
|
|
93
|
-
|
|
70
|
+
}
|
|
94
71
|
|
|
72
|
+
// named export hooks will overrides hooks in default export function
|
|
95
73
|
Object.values(HOOKS).forEach(key => {
|
|
96
74
|
const fn = hooks[key];
|
|
97
|
-
|
|
98
75
|
if (fn) {
|
|
99
76
|
storage.hooks[key] = fn;
|
|
100
77
|
}
|
|
101
78
|
});
|
|
102
|
-
|
|
103
79
|
if (middleware) {
|
|
104
80
|
storage.middlewares = [].concat(middleware);
|
|
105
81
|
}
|
|
106
82
|
};
|
|
107
|
-
|
|
108
83
|
return {
|
|
109
84
|
prepare() {
|
|
110
85
|
loadMod();
|
|
111
86
|
},
|
|
112
|
-
|
|
113
87
|
reset() {
|
|
114
88
|
storage.reset();
|
|
115
89
|
loadMod();
|
|
116
90
|
},
|
|
117
|
-
|
|
118
91
|
gather({
|
|
119
92
|
addWebMiddleware
|
|
120
93
|
}) {
|
|
@@ -122,23 +95,18 @@ export default (() => ({
|
|
|
122
95
|
addWebMiddleware(mid);
|
|
123
96
|
});
|
|
124
97
|
},
|
|
125
|
-
|
|
126
98
|
afterMatch(context, next) {
|
|
127
99
|
if (!storage.hooks.afterMatch) {
|
|
128
100
|
return next();
|
|
129
101
|
}
|
|
130
|
-
|
|
131
102
|
return storage.hooks.afterMatch(context, next);
|
|
132
103
|
},
|
|
133
|
-
|
|
134
104
|
afterRender(context, next) {
|
|
135
105
|
if (!storage.hooks.afterRender) {
|
|
136
106
|
return next();
|
|
137
107
|
}
|
|
138
|
-
|
|
139
108
|
return storage.hooks.afterRender(context, next);
|
|
140
109
|
},
|
|
141
|
-
|
|
142
110
|
prepareWebServer({
|
|
143
111
|
config
|
|
144
112
|
}) {
|
|
@@ -157,7 +125,6 @@ export default (() => ({
|
|
|
157
125
|
if (err) {
|
|
158
126
|
return reject(err);
|
|
159
127
|
}
|
|
160
|
-
|
|
161
128
|
return resolve();
|
|
162
129
|
});
|
|
163
130
|
const dispatch = factory(ctx, resolve, reject);
|
|
@@ -165,7 +132,6 @@ export default (() => ({
|
|
|
165
132
|
});
|
|
166
133
|
};
|
|
167
134
|
}
|
|
168
|
-
|
|
169
135
|
};
|
|
170
136
|
}
|
|
171
137
|
}));
|
package/dist/js/node/cli.js
CHANGED
|
@@ -4,68 +4,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _fs = _interopRequireDefault(require("fs"));
|
|
9
|
-
|
|
10
8
|
var _path = _interopRequireDefault(require("path"));
|
|
11
|
-
|
|
12
9
|
var _serverUtils = require("@modern-js/server-utils");
|
|
13
|
-
|
|
14
10
|
var _utils = require("@modern-js/utils");
|
|
15
|
-
|
|
16
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
12
|
const TS_CONFIG_FILENAME = 'tsconfig.json';
|
|
19
|
-
|
|
20
13
|
var _default = () => ({
|
|
21
14
|
name: '@modern-js/plugin-server',
|
|
22
15
|
setup: api => ({
|
|
23
16
|
config() {
|
|
24
17
|
return {};
|
|
25
18
|
},
|
|
26
|
-
|
|
27
19
|
async afterBuild() {
|
|
28
20
|
const {
|
|
29
21
|
appDirectory,
|
|
30
22
|
distDirectory
|
|
31
23
|
} = api.useAppContext();
|
|
32
24
|
const modernConfig = api.useResolvedConfigContext();
|
|
33
|
-
|
|
34
25
|
const distDir = _path.default.resolve(distDirectory);
|
|
35
|
-
|
|
36
26
|
const serverDir = _path.default.resolve(appDirectory, _utils.SERVER_DIR);
|
|
37
|
-
|
|
38
27
|
const sharedDir = _path.default.resolve(appDirectory, _utils.SHARED_DIR);
|
|
39
|
-
|
|
40
28
|
const tsconfigPath = _path.default.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
41
|
-
|
|
42
29
|
const sourceDirs = [];
|
|
43
|
-
|
|
44
30
|
if (_fs.default.existsSync(serverDir)) {
|
|
45
31
|
sourceDirs.push(serverDir);
|
|
46
32
|
}
|
|
47
|
-
|
|
48
33
|
if (_fs.default.existsSync(sharedDir)) {
|
|
49
34
|
sourceDirs.push(sharedDir);
|
|
50
35
|
}
|
|
51
|
-
|
|
52
36
|
const {
|
|
53
37
|
server
|
|
54
38
|
} = modernConfig;
|
|
55
39
|
const {
|
|
56
40
|
alias,
|
|
57
|
-
envVars,
|
|
58
41
|
globalVars
|
|
59
42
|
} = modernConfig.source;
|
|
60
43
|
const {
|
|
61
44
|
babel
|
|
62
45
|
} = modernConfig.tools;
|
|
63
|
-
|
|
64
46
|
if (sourceDirs.length > 0) {
|
|
65
47
|
await (0, _serverUtils.compile)(appDirectory, {
|
|
66
48
|
server,
|
|
67
49
|
alias,
|
|
68
|
-
envVars,
|
|
69
50
|
globalVars,
|
|
70
51
|
babelConfig: babel
|
|
71
52
|
}, {
|
|
@@ -75,8 +56,6 @@ var _default = () => ({
|
|
|
75
56
|
});
|
|
76
57
|
}
|
|
77
58
|
}
|
|
78
|
-
|
|
79
59
|
})
|
|
80
60
|
});
|
|
81
|
-
|
|
82
61
|
exports.default = _default;
|
package/dist/js/node/server.js
CHANGED
|
@@ -4,78 +4,54 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _path = _interopRequireDefault(require("path"));
|
|
9
|
-
|
|
10
8
|
var _utils = require("@modern-js/utils");
|
|
11
|
-
|
|
12
9
|
const _excluded = ["default", "middleware"];
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
11
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
17
|
-
|
|
18
12
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
19
|
-
|
|
20
13
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
|
-
|
|
22
14
|
const WEB_APP_NAME = 'index';
|
|
23
15
|
var HOOKS;
|
|
24
|
-
|
|
25
16
|
(function (HOOKS) {
|
|
26
17
|
HOOKS["AFTER_MATCH"] = "afterMatch";
|
|
27
18
|
HOOKS["AFTER_RENDER"] = "afterRender";
|
|
28
19
|
})(HOOKS || (HOOKS = {}));
|
|
29
|
-
|
|
30
20
|
class Storage {
|
|
31
21
|
constructor() {
|
|
32
22
|
_defineProperty(this, "middlewares", []);
|
|
33
|
-
|
|
34
23
|
_defineProperty(this, "hooks", {});
|
|
35
24
|
}
|
|
36
|
-
|
|
37
25
|
reset() {
|
|
38
26
|
this.middlewares = [];
|
|
39
27
|
this.hooks = {};
|
|
40
28
|
}
|
|
41
|
-
|
|
42
29
|
}
|
|
43
|
-
|
|
44
30
|
const createTransformAPI = storage => new Proxy({}, {
|
|
45
31
|
get(target, name) {
|
|
46
32
|
if (name === 'addMiddleware') {
|
|
47
33
|
return fn => storage.middlewares.push(fn);
|
|
48
34
|
}
|
|
49
|
-
|
|
50
35
|
return fn => {
|
|
51
36
|
_utils.logger.warn('declare hook in default export is to be deprecated, use named export instead');
|
|
52
|
-
|
|
53
37
|
storage.hooks[name] = fn;
|
|
54
38
|
};
|
|
55
39
|
}
|
|
56
|
-
|
|
57
40
|
});
|
|
58
|
-
|
|
59
41
|
const compose = middlewares => {
|
|
60
42
|
return (ctx, resolve, reject) => {
|
|
61
43
|
let i = 0;
|
|
62
|
-
|
|
63
44
|
const dispatch = () => {
|
|
64
45
|
var _handler, _handler$catch;
|
|
65
|
-
|
|
66
46
|
const handler = middlewares[i++];
|
|
67
|
-
|
|
68
47
|
if (!handler) {
|
|
69
48
|
return resolve();
|
|
70
49
|
}
|
|
71
|
-
|
|
72
50
|
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);
|
|
73
51
|
};
|
|
74
|
-
|
|
75
52
|
return dispatch;
|
|
76
53
|
};
|
|
77
54
|
};
|
|
78
|
-
|
|
79
55
|
var _default = () => ({
|
|
80
56
|
name: '@modern-js/plugin-server',
|
|
81
57
|
setup: api => {
|
|
@@ -86,48 +62,39 @@ var _default = () => ({
|
|
|
86
62
|
const storage = new Storage();
|
|
87
63
|
const transformAPI = createTransformAPI(storage);
|
|
88
64
|
const pwd = (0, _utils.isProd)() ? distDirectory : appDirectory;
|
|
89
|
-
|
|
90
65
|
const webAppPath = _path.default.resolve(pwd, _utils.SERVER_DIR, WEB_APP_NAME);
|
|
91
|
-
|
|
92
66
|
const loadMod = () => {
|
|
93
67
|
const mod = (0, _utils.requireExistModule)(webAppPath, {
|
|
94
68
|
interop: false
|
|
95
69
|
});
|
|
96
|
-
|
|
97
70
|
const {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
71
|
+
default: defaultExports,
|
|
72
|
+
middleware
|
|
73
|
+
} = mod,
|
|
74
|
+
hooks = _objectWithoutProperties(mod, _excluded);
|
|
103
75
|
if (defaultExports) {
|
|
104
76
|
defaultExports(transformAPI);
|
|
105
|
-
}
|
|
106
|
-
|
|
77
|
+
}
|
|
107
78
|
|
|
79
|
+
// named export hooks will overrides hooks in default export function
|
|
108
80
|
Object.values(HOOKS).forEach(key => {
|
|
109
81
|
const fn = hooks[key];
|
|
110
|
-
|
|
111
82
|
if (fn) {
|
|
112
83
|
storage.hooks[key] = fn;
|
|
113
84
|
}
|
|
114
85
|
});
|
|
115
|
-
|
|
116
86
|
if (middleware) {
|
|
117
87
|
storage.middlewares = [].concat(middleware);
|
|
118
88
|
}
|
|
119
89
|
};
|
|
120
|
-
|
|
121
90
|
return {
|
|
122
91
|
prepare() {
|
|
123
92
|
loadMod();
|
|
124
93
|
},
|
|
125
|
-
|
|
126
94
|
reset() {
|
|
127
95
|
storage.reset();
|
|
128
96
|
loadMod();
|
|
129
97
|
},
|
|
130
|
-
|
|
131
98
|
gather({
|
|
132
99
|
addWebMiddleware
|
|
133
100
|
}) {
|
|
@@ -135,23 +102,18 @@ var _default = () => ({
|
|
|
135
102
|
addWebMiddleware(mid);
|
|
136
103
|
});
|
|
137
104
|
},
|
|
138
|
-
|
|
139
105
|
afterMatch(context, next) {
|
|
140
106
|
if (!storage.hooks.afterMatch) {
|
|
141
107
|
return next();
|
|
142
108
|
}
|
|
143
|
-
|
|
144
109
|
return storage.hooks.afterMatch(context, next);
|
|
145
110
|
},
|
|
146
|
-
|
|
147
111
|
afterRender(context, next) {
|
|
148
112
|
if (!storage.hooks.afterRender) {
|
|
149
113
|
return next();
|
|
150
114
|
}
|
|
151
|
-
|
|
152
115
|
return storage.hooks.afterRender(context, next);
|
|
153
116
|
},
|
|
154
|
-
|
|
155
117
|
prepareWebServer({
|
|
156
118
|
config
|
|
157
119
|
}) {
|
|
@@ -170,7 +132,6 @@ var _default = () => ({
|
|
|
170
132
|
if (err) {
|
|
171
133
|
return reject(err);
|
|
172
134
|
}
|
|
173
|
-
|
|
174
135
|
return resolve();
|
|
175
136
|
});
|
|
176
137
|
const dispatch = factory(ctx, resolve, reject);
|
|
@@ -178,9 +139,7 @@ var _default = () => ({
|
|
|
178
139
|
});
|
|
179
140
|
};
|
|
180
141
|
}
|
|
181
|
-
|
|
182
142
|
};
|
|
183
143
|
}
|
|
184
144
|
});
|
|
185
|
-
|
|
186
145
|
exports.default = _default;
|
|
@@ -15,8 +15,7 @@ export default (function () {
|
|
|
15
15
|
},
|
|
16
16
|
afterBuild: function afterBuild() {
|
|
17
17
|
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
18
|
-
var _api$useAppContext, appDirectory, distDirectory, modernConfig, distDir, serverDir, sharedDir, tsconfigPath, sourceDirs, server, _modernConfig$source, alias,
|
|
19
|
-
|
|
18
|
+
var _api$useAppContext, appDirectory, distDirectory, modernConfig, distDir, serverDir, sharedDir, tsconfigPath, sourceDirs, server, _modernConfig$source, alias, globalVars, babel;
|
|
20
19
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
21
20
|
while (1) {
|
|
22
21
|
switch (_context.prev = _context.next) {
|
|
@@ -28,29 +27,23 @@ export default (function () {
|
|
|
28
27
|
sharedDir = path.resolve(appDirectory, SHARED_DIR);
|
|
29
28
|
tsconfigPath = path.resolve(appDirectory, TS_CONFIG_FILENAME);
|
|
30
29
|
sourceDirs = [];
|
|
31
|
-
|
|
32
30
|
if (fs.existsSync(serverDir)) {
|
|
33
31
|
sourceDirs.push(serverDir);
|
|
34
32
|
}
|
|
35
|
-
|
|
36
33
|
if (fs.existsSync(sharedDir)) {
|
|
37
34
|
sourceDirs.push(sharedDir);
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
server = modernConfig.server;
|
|
41
|
-
_modernConfig$source = modernConfig.source, alias = _modernConfig$source.alias,
|
|
37
|
+
_modernConfig$source = modernConfig.source, alias = _modernConfig$source.alias, globalVars = _modernConfig$source.globalVars;
|
|
42
38
|
babel = modernConfig.tools.babel;
|
|
43
|
-
|
|
44
39
|
if (!(sourceDirs.length > 0)) {
|
|
45
40
|
_context.next = 15;
|
|
46
41
|
break;
|
|
47
42
|
}
|
|
48
|
-
|
|
49
43
|
_context.next = 15;
|
|
50
44
|
return compile(appDirectory, {
|
|
51
45
|
server: server,
|
|
52
46
|
alias: alias,
|
|
53
|
-
envVars: envVars,
|
|
54
47
|
globalVars: globalVars,
|
|
55
48
|
babelConfig: babel
|
|
56
49
|
}, {
|
|
@@ -58,7 +51,6 @@ export default (function () {
|
|
|
58
51
|
distDir: distDir,
|
|
59
52
|
tsconfigPath: tsconfigPath
|
|
60
53
|
});
|
|
61
|
-
|
|
62
54
|
case 15:
|
|
63
55
|
case "end":
|
|
64
56
|
return _context.stop();
|
|
@@ -7,21 +7,16 @@ import path from 'path';
|
|
|
7
7
|
import { isProd, logger, requireExistModule, SERVER_DIR } from '@modern-js/utils';
|
|
8
8
|
var WEB_APP_NAME = 'index';
|
|
9
9
|
var HOOKS;
|
|
10
|
-
|
|
11
10
|
(function (HOOKS) {
|
|
12
11
|
HOOKS["AFTER_MATCH"] = "afterMatch";
|
|
13
12
|
HOOKS["AFTER_RENDER"] = "afterRender";
|
|
14
13
|
})(HOOKS || (HOOKS = {}));
|
|
15
|
-
|
|
16
14
|
var Storage = /*#__PURE__*/function () {
|
|
17
15
|
function Storage() {
|
|
18
16
|
_classCallCheck(this, Storage);
|
|
19
|
-
|
|
20
17
|
_defineProperty(this, "middlewares", []);
|
|
21
|
-
|
|
22
18
|
_defineProperty(this, "hooks", {});
|
|
23
19
|
}
|
|
24
|
-
|
|
25
20
|
_createClass(Storage, [{
|
|
26
21
|
key: "reset",
|
|
27
22
|
value: function reset() {
|
|
@@ -29,10 +24,8 @@ var Storage = /*#__PURE__*/function () {
|
|
|
29
24
|
this.hooks = {};
|
|
30
25
|
}
|
|
31
26
|
}]);
|
|
32
|
-
|
|
33
27
|
return Storage;
|
|
34
28
|
}();
|
|
35
|
-
|
|
36
29
|
var createTransformAPI = function createTransformAPI(storage) {
|
|
37
30
|
return new Proxy({}, {
|
|
38
31
|
get: function get(target, name) {
|
|
@@ -41,7 +34,6 @@ var createTransformAPI = function createTransformAPI(storage) {
|
|
|
41
34
|
return storage.middlewares.push(fn);
|
|
42
35
|
};
|
|
43
36
|
}
|
|
44
|
-
|
|
45
37
|
return function (fn) {
|
|
46
38
|
logger.warn('declare hook in default export is to be deprecated, use named export instead');
|
|
47
39
|
storage.hooks[name] = fn;
|
|
@@ -49,67 +41,53 @@ var createTransformAPI = function createTransformAPI(storage) {
|
|
|
49
41
|
}
|
|
50
42
|
});
|
|
51
43
|
};
|
|
52
|
-
|
|
53
44
|
var compose = function compose(middlewares) {
|
|
54
45
|
return function (ctx, resolve, reject) {
|
|
55
46
|
var i = 0;
|
|
56
|
-
|
|
57
47
|
var dispatch = function dispatch() {
|
|
58
48
|
var _handler, _handler$catch;
|
|
59
|
-
|
|
60
49
|
var handler = middlewares[i++];
|
|
61
|
-
|
|
62
50
|
if (!handler) {
|
|
63
51
|
return resolve();
|
|
64
52
|
}
|
|
65
|
-
|
|
66
53
|
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);
|
|
67
54
|
};
|
|
68
|
-
|
|
69
55
|
return dispatch;
|
|
70
56
|
};
|
|
71
57
|
};
|
|
72
|
-
|
|
73
58
|
export default (function () {
|
|
74
59
|
return {
|
|
75
60
|
name: '@modern-js/plugin-server',
|
|
76
61
|
setup: function setup(api) {
|
|
77
62
|
var _api$useAppContext = api.useAppContext(),
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
63
|
+
appDirectory = _api$useAppContext.appDirectory,
|
|
64
|
+
distDirectory = _api$useAppContext.distDirectory;
|
|
81
65
|
var storage = new Storage();
|
|
82
66
|
var transformAPI = createTransformAPI(storage);
|
|
83
67
|
var pwd = isProd() ? distDirectory : appDirectory;
|
|
84
68
|
var webAppPath = path.resolve(pwd, SERVER_DIR, WEB_APP_NAME);
|
|
85
|
-
|
|
86
69
|
var loadMod = function loadMod() {
|
|
87
70
|
var mod = requireExistModule(webAppPath, {
|
|
88
71
|
interop: false
|
|
89
72
|
});
|
|
90
|
-
|
|
91
73
|
var defaultExports = mod["default"],
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
74
|
+
middleware = mod.middleware,
|
|
75
|
+
hooks = _objectWithoutProperties(mod, _excluded);
|
|
95
76
|
if (defaultExports) {
|
|
96
77
|
defaultExports(transformAPI);
|
|
97
|
-
}
|
|
98
|
-
|
|
78
|
+
}
|
|
99
79
|
|
|
80
|
+
// named export hooks will overrides hooks in default export function
|
|
100
81
|
Object.values(HOOKS).forEach(function (key) {
|
|
101
82
|
var fn = hooks[key];
|
|
102
|
-
|
|
103
83
|
if (fn) {
|
|
104
84
|
storage.hooks[key] = fn;
|
|
105
85
|
}
|
|
106
86
|
});
|
|
107
|
-
|
|
108
87
|
if (middleware) {
|
|
109
88
|
storage.middlewares = [].concat(middleware);
|
|
110
89
|
}
|
|
111
90
|
};
|
|
112
|
-
|
|
113
91
|
return {
|
|
114
92
|
prepare: function prepare() {
|
|
115
93
|
loadMod();
|
|
@@ -128,14 +106,12 @@ export default (function () {
|
|
|
128
106
|
if (!storage.hooks.afterMatch) {
|
|
129
107
|
return next();
|
|
130
108
|
}
|
|
131
|
-
|
|
132
109
|
return storage.hooks.afterMatch(context, next);
|
|
133
110
|
},
|
|
134
111
|
afterRender: function afterRender(context, next) {
|
|
135
112
|
if (!storage.hooks.afterRender) {
|
|
136
113
|
return next();
|
|
137
114
|
}
|
|
138
|
-
|
|
139
115
|
return storage.hooks.afterRender(context, next);
|
|
140
116
|
},
|
|
141
117
|
prepareWebServer: function prepareWebServer(_ref2) {
|
|
@@ -149,7 +125,6 @@ export default (function () {
|
|
|
149
125
|
if (err) {
|
|
150
126
|
return reject(err);
|
|
151
127
|
}
|
|
152
|
-
|
|
153
128
|
return resolve();
|
|
154
129
|
});
|
|
155
130
|
var dispatch = factory(ctx, resolve, reject);
|
package/dist/types/cli.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { CliPlugin } from '@modern-js/core';
|
|
2
|
-
|
|
3
|
-
declare const _default: () => CliPlugin
|
|
4
|
-
|
|
2
|
+
import { UserConfig } from '@modern-js/server-core';
|
|
3
|
+
declare const _default: () => CliPlugin<{
|
|
4
|
+
userConfig: UserConfig;
|
|
5
|
+
normalizedConfig: Required<UserConfig>;
|
|
6
|
+
}>;
|
|
5
7
|
export default _default;
|
package/dist/types/server.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "2.0.0-beta.
|
|
14
|
+
"version": "2.0.0-beta.2",
|
|
15
15
|
"types": "./dist/types/server.d.ts",
|
|
16
16
|
"jsnext:source": "./src/server.ts",
|
|
17
17
|
"main": "./dist/js/node/server.js",
|
|
@@ -48,20 +48,20 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@babel/runtime": "^7.18.0",
|
|
51
|
-
"@modern-js/babel-compiler": "2.0.0-beta.
|
|
52
|
-
"@modern-js/server-utils": "2.0.0-beta.
|
|
53
|
-
"@modern-js/utils": "2.0.0-beta.
|
|
51
|
+
"@modern-js/babel-compiler": "2.0.0-beta.2",
|
|
52
|
+
"@modern-js/server-utils": "2.0.0-beta.2",
|
|
53
|
+
"@modern-js/utils": "2.0.0-beta.2"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@modern-js/server-core": "2.0.0-beta.0",
|
|
57
|
-
"@modern-js/core": "2.0.0-beta.0",
|
|
58
|
-
"@scripts/build": "2.0.0-beta.0",
|
|
59
|
-
"@modern-js/types": "2.0.0-beta.0",
|
|
60
56
|
"typescript": "^4",
|
|
61
57
|
"@types/jest": "^27",
|
|
62
58
|
"@types/node": "^14",
|
|
63
59
|
"jest": "^27",
|
|
64
|
-
"@
|
|
60
|
+
"@modern-js/server-core": "2.0.0-beta.2",
|
|
61
|
+
"@modern-js/core": "2.0.0-beta.2",
|
|
62
|
+
"@scripts/build": "2.0.0-beta.2",
|
|
63
|
+
"@modern-js/types": "2.0.0-beta.2",
|
|
64
|
+
"@scripts/jest-config": "2.0.0-beta.2"
|
|
65
65
|
},
|
|
66
66
|
"sideEffects": [
|
|
67
67
|
"*.css",
|
|
@@ -74,9 +74,9 @@
|
|
|
74
74
|
"registry": "https://registry.npmjs.org/"
|
|
75
75
|
},
|
|
76
76
|
"scripts": {
|
|
77
|
-
"dev": "modern build --watch",
|
|
78
|
-
"build": "modern build",
|
|
79
|
-
"new": "modern new",
|
|
77
|
+
"dev": "modern-lib build --watch",
|
|
78
|
+
"build": "modern-lib build",
|
|
79
|
+
"new": "modern-lib new",
|
|
80
80
|
"test": "jest --passWithNoTests"
|
|
81
81
|
}
|
|
82
82
|
}
|