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

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,138 +1,199 @@
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 middlewarePath = path.resolve(pwd, SERVER_DIR, "_middleware");
125
+ var loadMod = function() {
126
+ var mod = requireExistModule(webAppPath, {
127
+ interop: false
128
+ });
129
+ var middlewareMode = requireExistModule(middlewarePath, {
130
+ interop: false
131
+ });
132
+ var _ref = mod || {}, defaultExports = _ref.default, middleware = _ref.middleware, hooks = _objectWithoutProperties(_ref, [
133
+ "default",
134
+ "middleware"
135
+ ]);
136
+ var ref = middlewareMode || {}, tmp = ref.middleware, unstableMiddleware = tmp === void 0 ? [] : tmp;
137
+ if (defaultExports) {
138
+ defaultExports(transformAPI);
139
+ }
140
+ Object.values(HOOKS).forEach(function(key) {
141
+ var fn = hooks[key];
142
+ if (fn) {
143
+ storage.hooks[key] = fn;
144
+ }
145
+ });
146
+ if (middleware) {
147
+ storage.middlewares = [].concat(middleware);
148
+ }
149
+ storage.middlewares = storage.middlewares.concat(unstableMiddleware);
150
+ };
151
+ return {
152
+ prepare: function prepare() {
153
+ loadMod();
154
+ },
155
+ reset: function reset() {
156
+ storage.reset();
157
+ loadMod();
158
+ },
159
+ gather: function gather(param) {
160
+ var addWebMiddleware = param.addWebMiddleware;
161
+ storage.middlewares.forEach(function(mid) {
162
+ addWebMiddleware(mid);
163
+ });
164
+ },
165
+ afterMatch: function afterMatch(context, next) {
166
+ if (!storage.hooks.afterMatch) {
167
+ return next();
168
+ }
169
+ return storage.hooks.afterMatch(context, next);
170
+ },
171
+ afterRender: function afterRender(context, next) {
172
+ if (!storage.hooks.afterRender) {
173
+ return next();
174
+ }
175
+ return storage.hooks.afterRender(context, next);
176
+ },
177
+ prepareWebServer: function prepareWebServer(param) {
178
+ var config = param.config;
179
+ var middleware = config.middleware;
180
+ var factory = compose(middleware);
181
+ return function(ctx) {
182
+ var res = ctx.source.res;
183
+ return new Promise(function(resolve, reject) {
184
+ res.on("finish", function(err) {
185
+ if (err) {
186
+ return reject(err);
187
+ }
188
+ return resolve();
189
+ });
190
+ var dispatch = factory(ctx, resolve, reject);
191
+ dispatch();
192
+ });
193
+ };
194
+ }
195
+ };
134
196
  }
135
- };
136
- }
137
- };
138
- });
197
+ };
198
+ };
199
+ export { server_default as default };
@@ -1,7 +1,6 @@
1
1
  import type { CliPlugin } from '@modern-js/core';
2
- import { UserConfig } from '@modern-js/server-core';
3
- declare const _default: () => CliPlugin<{
4
- userConfig: UserConfig;
5
- normalizedConfig: Required<UserConfig>;
6
- }>;
2
+ import type { AppTools } from '@modern-js/app-tools';
3
+
4
+ declare const _default: () => CliPlugin<AppTools>;
5
+
7
6
  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,18 +11,14 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.0.0-beta.3",
15
- "types": "./dist/types/server.d.ts",
16
- "jsnext:source": "./src/server.ts",
17
- "main": "./dist/js/node/server.js",
14
+ "version": "2.0.0-beta.6",
15
+ "types": "./dist/types/cli.d.ts",
16
+ "jsnext:source": "./src/cli",
17
+ "main": "./dist/js/node/cli.js",
18
18
  "exports": {
19
19
  ".": {
20
- "node": {
21
- "jsnext:source": "./src/server.ts",
22
- "import": "./dist/js/modern/server.js",
23
- "require": "./dist/js/node/server.js"
24
- },
25
- "default": "./dist/js/treeshaking/server.js"
20
+ "jsnext:source": "./src/cli.ts",
21
+ "default": "./dist/js/node/cli.js"
26
22
  },
27
23
  "./cli": {
28
24
  "jsnext:source": "./src/cli.ts",
@@ -48,20 +44,21 @@
48
44
  },
49
45
  "dependencies": {
50
46
  "@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"
47
+ "@modern-js/server-utils": "2.0.0-beta.6",
48
+ "@modern-js/utils": "2.0.0-beta.6",
49
+ "@modern-js/babel-compiler": "2.0.0-beta.6"
54
50
  },
55
51
  "devDependencies": {
56
52
  "typescript": "^4",
57
53
  "@types/jest": "^27",
58
54
  "@types/node": "^14",
59
55
  "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"
56
+ "@modern-js/server-core": "2.0.0-beta.6",
57
+ "@modern-js/app-tools": "2.0.0-beta.6",
58
+ "@modern-js/core": "2.0.0-beta.6",
59
+ "@scripts/build": "2.0.0-beta.6",
60
+ "@modern-js/types": "2.0.0-beta.6",
61
+ "@scripts/jest-config": "2.0.0-beta.6"
65
62
  },
66
63
  "sideEffects": [
67
64
  "*.css",