@modern-js/plugin-server 2.0.0-beta.3 → 2.0.0-beta.4

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.
@@ -1,138 +1,193 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
- var _excluded = ["default", "middleware"];
6
- import path from 'path';
7
- import { isProd, logger, requireExistModule, SERVER_DIR } from '@modern-js/utils';
8
- var WEB_APP_NAME = 'index';
9
- var HOOKS;
10
- (function (HOOKS) {
11
- HOOKS["AFTER_MATCH"] = "afterMatch";
12
- HOOKS["AFTER_RENDER"] = "afterRender";
13
- })(HOOKS || (HOOKS = {}));
14
- var Storage = /*#__PURE__*/function () {
15
- function Storage() {
16
- _classCallCheck(this, Storage);
17
- _defineProperty(this, "middlewares", []);
18
- _defineProperty(this, "hooks", {});
19
- }
20
- _createClass(Storage, [{
21
- key: "reset",
22
- value: function reset() {
23
- this.middlewares = [];
24
- this.hooks = {};
1
+ function _classCallCheck(instance, Constructor) {
2
+ if (!(instance instanceof Constructor)) {
3
+ throw new TypeError("Cannot call a class as a function");
25
4
  }
26
- }]);
27
- return Storage;
28
- }();
29
- var createTransformAPI = function createTransformAPI(storage) {
30
- return new Proxy({}, {
31
- get: function get(target, name) {
32
- if (name === 'addMiddleware') {
33
- return function (fn) {
34
- return storage.middlewares.push(fn);
35
- };
36
- }
37
- return function (fn) {
38
- logger.warn('declare hook in default export is to be deprecated, use named export instead');
39
- storage.hooks[name] = fn;
40
- };
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);
41
13
  }
42
- });
43
- };
44
- var compose = function compose(middlewares) {
45
- return function (ctx, resolve, reject) {
46
- var i = 0;
47
- var dispatch = function dispatch() {
48
- var _handler, _handler$catch;
49
- var handler = middlewares[i++];
50
- if (!handler) {
51
- return resolve();
52
- }
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);
54
- };
55
- return dispatch;
56
- };
57
- };
58
- export default (function () {
59
- return {
60
- name: '@modern-js/plugin-server',
61
- setup: function setup(api) {
62
- var _api$useAppContext = api.useAppContext(),
63
- appDirectory = _api$useAppContext.appDirectory,
64
- distDirectory = _api$useAppContext.distDirectory;
65
- var storage = new Storage();
66
- var transformAPI = createTransformAPI(storage);
67
- var pwd = isProd() ? distDirectory : appDirectory;
68
- var webAppPath = path.resolve(pwd, SERVER_DIR, WEB_APP_NAME);
69
- var loadMod = function loadMod() {
70
- var mod = requireExistModule(webAppPath, {
71
- interop: false
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
72
27
  });
73
- var defaultExports = mod["default"],
74
- middleware = mod.middleware,
75
- hooks = _objectWithoutProperties(mod, _excluded);
76
- if (defaultExports) {
77
- defaultExports(transformAPI);
28
+ } else {
29
+ obj[key] = value;
30
+ }
31
+ return obj;
32
+ }
33
+ function _objectWithoutProperties(source, excluded) {
34
+ if (source == null) return {};
35
+ var target = _objectWithoutPropertiesLoose(source, excluded);
36
+ var key, i;
37
+ if (Object.getOwnPropertySymbols) {
38
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
39
+ for(i = 0; i < sourceSymbolKeys.length; i++){
40
+ key = sourceSymbolKeys[i];
41
+ if (excluded.indexOf(key) >= 0) continue;
42
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
43
+ target[key] = source[key];
78
44
  }
79
-
80
- // named export hooks will overrides hooks in default export function
81
- Object.values(HOOKS).forEach(function (key) {
82
- var fn = hooks[key];
83
- if (fn) {
84
- storage.hooks[key] = fn;
85
- }
86
- });
87
- if (middleware) {
88
- storage.middlewares = [].concat(middleware);
45
+ }
46
+ return target;
47
+ }
48
+ function _objectWithoutPropertiesLoose(source, excluded) {
49
+ if (source == null) return {};
50
+ var target = {};
51
+ var sourceKeys = Object.keys(source);
52
+ var key, i;
53
+ for(i = 0; i < sourceKeys.length; i++){
54
+ key = sourceKeys[i];
55
+ if (excluded.indexOf(key) >= 0) continue;
56
+ target[key] = source[key];
57
+ }
58
+ return target;
59
+ }
60
+ import path from "path";
61
+ import { isProd, logger, requireExistModule, SERVER_DIR } from "@modern-js/utils";
62
+ var WEB_APP_NAME = "index";
63
+ var HOOKS = /* @__PURE__ */ function(HOOKS2) {
64
+ HOOKS2["AFTER_MATCH"] = "afterMatch";
65
+ HOOKS2["AFTER_RENDER"] = "afterRender";
66
+ return HOOKS2;
67
+ }(HOOKS || {});
68
+ var Storage = /*#__PURE__*/ function() {
69
+ "use strict";
70
+ function Storage() {
71
+ _classCallCheck(this, Storage);
72
+ _defineProperty(this, "middlewares", []);
73
+ _defineProperty(this, "hooks", {});
74
+ }
75
+ _createClass(Storage, [
76
+ {
77
+ key: "reset",
78
+ value: function reset() {
79
+ this.middlewares = [];
80
+ this.hooks = {};
81
+ }
89
82
  }
90
- };
91
- return {
92
- prepare: function prepare() {
93
- loadMod();
94
- },
95
- reset: function reset() {
96
- storage.reset();
97
- loadMod();
98
- },
99
- gather: function gather(_ref) {
100
- var addWebMiddleware = _ref.addWebMiddleware;
101
- storage.middlewares.forEach(function (mid) {
102
- addWebMiddleware(mid);
103
- });
104
- },
105
- afterMatch: function afterMatch(context, next) {
106
- if (!storage.hooks.afterMatch) {
107
- return next();
108
- }
109
- return storage.hooks.afterMatch(context, next);
110
- },
111
- afterRender: function afterRender(context, next) {
112
- if (!storage.hooks.afterRender) {
113
- return next();
114
- }
115
- return storage.hooks.afterRender(context, next);
116
- },
117
- prepareWebServer: function prepareWebServer(_ref2) {
118
- var config = _ref2.config;
119
- var middleware = config.middleware;
120
- var factory = compose(middleware);
121
- return function (ctx) {
122
- var res = ctx.source.res;
123
- return new Promise(function (resolve, reject) {
124
- res.on('finish', function (err) {
125
- if (err) {
126
- return reject(err);
127
- }
83
+ ]);
84
+ return Storage;
85
+ }();
86
+ var createTransformAPI = function(storage) {
87
+ return new Proxy({}, {
88
+ get: function get(target, name) {
89
+ if (name === "addMiddleware") {
90
+ return function(fn) {
91
+ return storage.middlewares.push(fn);
92
+ };
93
+ }
94
+ return function(fn) {
95
+ logger.warn("declare hook in default export is to be deprecated, use named export instead");
96
+ storage.hooks[name] = fn;
97
+ };
98
+ }
99
+ });
100
+ };
101
+ var compose = function(middlewares) {
102
+ return function(ctx, resolve, reject) {
103
+ var i = 0;
104
+ var dispatch = function() {
105
+ var ref, ref1;
106
+ var handler = middlewares[i++];
107
+ if (!handler) {
128
108
  return resolve();
129
- });
130
- var dispatch = factory(ctx, resolve, reject);
131
- dispatch();
132
- });
133
- };
109
+ }
110
+ return (ref = handler(ctx, dispatch)) === null || ref === void 0 ? void 0 : (ref1 = ref.catch) === null || ref1 === void 0 ? void 0 : ref1.call(ref, reject);
111
+ };
112
+ return dispatch;
113
+ };
114
+ };
115
+ var server_default = function() {
116
+ return {
117
+ name: "@modern-js/plugin-server",
118
+ setup: function(api) {
119
+ var ref = api.useAppContext(), appDirectory = ref.appDirectory, distDirectory = ref.distDirectory;
120
+ var storage = new Storage();
121
+ var transformAPI = createTransformAPI(storage);
122
+ var pwd = isProd() ? distDirectory : appDirectory;
123
+ var webAppPath = path.resolve(pwd, SERVER_DIR, WEB_APP_NAME);
124
+ var loadMod = function() {
125
+ var mod = requireExistModule(webAppPath, {
126
+ interop: false
127
+ });
128
+ var defaultExports = mod.default, middleware = mod.middleware, hooks = _objectWithoutProperties(mod, [
129
+ "default",
130
+ "middleware"
131
+ ]);
132
+ if (defaultExports) {
133
+ defaultExports(transformAPI);
134
+ }
135
+ Object.values(HOOKS).forEach(function(key) {
136
+ var fn = hooks[key];
137
+ if (fn) {
138
+ storage.hooks[key] = fn;
139
+ }
140
+ });
141
+ if (middleware) {
142
+ storage.middlewares = [].concat(middleware);
143
+ }
144
+ };
145
+ return {
146
+ prepare: function prepare() {
147
+ loadMod();
148
+ },
149
+ reset: function reset() {
150
+ storage.reset();
151
+ loadMod();
152
+ },
153
+ gather: function gather(param) {
154
+ var addWebMiddleware = param.addWebMiddleware;
155
+ storage.middlewares.forEach(function(mid) {
156
+ addWebMiddleware(mid);
157
+ });
158
+ },
159
+ afterMatch: function afterMatch(context, next) {
160
+ if (!storage.hooks.afterMatch) {
161
+ return next();
162
+ }
163
+ return storage.hooks.afterMatch(context, next);
164
+ },
165
+ afterRender: function afterRender(context, next) {
166
+ if (!storage.hooks.afterRender) {
167
+ return next();
168
+ }
169
+ return storage.hooks.afterRender(context, next);
170
+ },
171
+ prepareWebServer: function prepareWebServer(param) {
172
+ var config = param.config;
173
+ var middleware = config.middleware;
174
+ var factory = compose(middleware);
175
+ return function(ctx) {
176
+ var res = ctx.source.res;
177
+ return new Promise(function(resolve, reject) {
178
+ res.on("finish", function(err) {
179
+ if (err) {
180
+ return reject(err);
181
+ }
182
+ return resolve();
183
+ });
184
+ var dispatch = factory(ctx, resolve, reject);
185
+ dispatch();
186
+ });
187
+ };
188
+ }
189
+ };
134
190
  }
135
- };
136
- }
137
- };
138
- });
191
+ };
192
+ };
193
+ export { server_default as default };
@@ -1,7 +1,9 @@
1
1
  import type { CliPlugin } from '@modern-js/core';
2
2
  import { UserConfig } from '@modern-js/server-core';
3
+
3
4
  declare const _default: () => CliPlugin<{
4
5
  userConfig: UserConfig;
5
6
  normalizedConfig: Required<UserConfig>;
6
7
  }>;
8
+
7
9
  export default _default;
@@ -1,3 +1,5 @@
1
1
  import type { ServerPlugin } from '@modern-js/server-core';
2
+
2
3
  declare const _default: () => ServerPlugin;
4
+
3
5
  export default _default;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.0.0-beta.3",
14
+ "version": "2.0.0-beta.4",
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.3",
52
- "@modern-js/server-utils": "2.0.0-beta.3",
53
- "@modern-js/utils": "2.0.0-beta.3"
51
+ "@modern-js/babel-compiler": "2.0.0-beta.4",
52
+ "@modern-js/server-utils": "2.0.0-beta.4",
53
+ "@modern-js/utils": "2.0.0-beta.4"
54
54
  },
55
55
  "devDependencies": {
56
56
  "typescript": "^4",
57
57
  "@types/jest": "^27",
58
58
  "@types/node": "^14",
59
59
  "jest": "^27",
60
- "@modern-js/server-core": "2.0.0-beta.3",
61
- "@modern-js/core": "2.0.0-beta.3",
62
- "@scripts/build": "2.0.0-beta.3",
63
- "@modern-js/types": "2.0.0-beta.3",
64
- "@scripts/jest-config": "2.0.0-beta.3"
60
+ "@modern-js/server-core": "2.0.0-beta.4",
61
+ "@modern-js/core": "2.0.0-beta.4",
62
+ "@scripts/build": "2.0.0-beta.4",
63
+ "@modern-js/types": "2.0.0-beta.4",
64
+ "@scripts/jest-config": "2.0.0-beta.4"
65
65
  },
66
66
  "sideEffects": [
67
67
  "*.css",