@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 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
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
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
- module.exports = __toCommonJS(cli_exports);
33
- var import_fs = __toESM(require("fs"));
34
- var import_path = __toESM(require("path"));
35
- var import_server_utils = require("@modern-js/server-utils");
36
- var import_utils = require("@modern-js/utils");
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
- var cli_default = () => ({
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 = import_path.default.resolve(distDirectory);
48
- const serverDir = import_path.default.resolve(appDirectory, import_utils.SERVER_DIR);
49
- const sharedDir = import_path.default.resolve(appDirectory, import_utils.SHARED_DIR);
50
- const tsconfigPath = import_path.default.resolve(appDirectory, TS_CONFIG_FILENAME);
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 (import_fs.default.existsSync(serverDir)) {
33
+ if (_fs.default.existsSync(serverDir)) {
53
34
  sourceDirs.push(serverDir);
54
35
  }
55
- if (import_fs.default.existsSync(sharedDir)) {
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, import_server_utils.compile)(
63
- appDirectory,
64
- {
65
- server,
66
- alias,
67
- babelConfig: babel
68
- },
69
- {
70
- sourceDirs,
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 { plugins };
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 = {});
@@ -1,97 +1,86 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
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
- module.exports = __toCommonJS(server_exports);
33
- var import_path = __toESM(require("path"));
34
- var import_utils = require("@modern-js/utils");
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 = /* @__PURE__ */ ((HOOKS2) => {
30
+ var HOOKS;
31
+ (function(HOOKS2) {
37
32
  HOOKS2["AFTER_MATCH"] = "afterMatch";
38
33
  HOOKS2["AFTER_RENDER"] = "afterRender";
39
- return HOOKS2;
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
- get(target, name) {
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 _a, _b;
60
+ var _handler, _handler_catch;
72
61
  const handler = middlewares[i++];
73
62
  if (!handler) {
74
63
  return resolve();
75
64
  }
76
- return (_b = (_a = handler(ctx, dispatch)) == null ? void 0 : _a.catch) == null ? void 0 : _b.call(_a, reject);
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
- var server_default = () => ({
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, import_utils.isProd)() ? distDirectory : appDirectory;
88
- const webAppPath = import_path.default.resolve(pwd, import_utils.SERVER_DIR, WEB_APP_NAME);
89
- const middlewarePath = import_path.default.resolve(pwd, import_utils.SERVER_DIR, "_middleware");
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, import_utils.requireExistModule)(webAppPath, {
80
+ const mod = (0, _utils.requireExistModule)(webAppPath, {
92
81
  interop: false
93
82
  });
94
- const middlewareMode = (0, import_utils.requireExistModule)(middlewarePath, {
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
- 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
- }
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 _asyncToGenerator(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(undefined);
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 = this && this.__generator || function(thisArg, body) {
31
- var f, y, t, g, _ = {
32
- label: 0,
33
- sent: function() {
34
- if (t[0] & 1) throw t[1];
35
- return t[1];
36
- },
37
- trys: [],
38
- ops: []
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
- return g = {
41
- next: verb(0),
42
- "throw": verb(1),
43
- "return": verb(2)
44
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
- return this;
46
- }), g;
47
- function verb(n) {
48
- return function(v) {
49
- return step([
50
- n,
51
- v
52
- ]);
53
- };
54
- }
55
- function step(op) {
56
- if (f) throw new TypeError("Generator is already executing.");
57
- while(_)try {
58
- 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) return t;
59
- if (y = 0, t) op = [
60
- op[0] & 2,
61
- t.value
62
- ];
63
- switch(op[0]){
64
- case 0:
65
- case 1:
66
- t = op;
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
- 6,
112
- e
83
+ 0
113
84
  ];
114
- y = 0;
115
- } finally{
116
- f = t = 0;
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
- if (op[0] & 5) throw op[1];
119
- return {
120
- value: op[0] ? op[1] : void 0,
121
- done: true
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
- var cli_default = function() {
131
- return {
132
- name: "@modern-js/plugin-server",
133
- setup: function(api) {
134
- return {
135
- config: function config() {
136
- return {};
137
- },
138
- afterBuild: function afterBuild() {
139
- return _asyncToGenerator(function() {
140
- var _api_useAppContext, appDirectory, distDirectory, modernConfig, distDir, serverDir, sharedDir, tsconfigPath, sourceDirs, server, alias, babel;
141
- return __generator(this, function(_state) {
142
- switch(_state.label){
143
- case 0:
144
- _api_useAppContext = api.useAppContext(), appDirectory = _api_useAppContext.appDirectory, distDirectory = _api_useAppContext.distDirectory;
145
- modernConfig = api.useResolvedConfigContext();
146
- distDir = path.resolve(distDirectory);
147
- serverDir = path.resolve(appDirectory, SERVER_DIR);
148
- sharedDir = path.resolve(appDirectory, SHARED_DIR);
149
- tsconfigPath = path.resolve(appDirectory, TS_CONFIG_FILENAME);
150
- sourceDirs = [];
151
- if (fs.existsSync(serverDir)) {
152
- sourceDirs.push(serverDir);
153
- }
154
- if (fs.existsSync(sharedDir)) {
155
- sourceDirs.push(sharedDir);
156
- }
157
- server = modernConfig.server;
158
- alias = modernConfig.source.alias;
159
- babel = modernConfig.tools.babel;
160
- if (!(sourceDirs.length > 0)) return [
161
- 3,
162
- 2
163
- ];
164
- return [
165
- 4,
166
- compile(appDirectory, {
167
- server: server,
168
- alias: alias,
169
- babelConfig: babel
170
- }, {
171
- sourceDirs: sourceDirs,
172
- distDir: distDir,
173
- tsconfigPath: tsconfigPath
174
- })
175
- ];
176
- case 1:
177
- _state.sent();
178
- _state.label = 2;
179
- case 2:
180
- return [
181
- 2
182
- ];
183
- }
184
- });
185
- })();
186
- },
187
- collectServerPlugins: function collectServerPlugins(param) {
188
- var plugins = param.plugins;
189
- plugins.push({
190
- "@modern-js/plugin-server": "@modern-js/plugin-server/server"
191
- });
192
- return {
193
- plugins: plugins
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
- export { cli_default as default };
204
+ };
205
+ }
206
+ };
207
+ }
208
+ ;
@@ -1,199 +1,207 @@
1
- function _classCallCheck(instance, Constructor) {
2
- if (!(instance instanceof Constructor)) {
3
- throw new TypeError("Cannot call a class as a function");
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
- 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);
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 _createClass(Constructor, protoProps, staticProps) {
16
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
17
- if (staticProps) _defineProperties(Constructor, staticProps);
18
- return Constructor;
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 _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
27
- });
28
- } else {
29
- obj[key] = value;
30
- }
31
- return obj;
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 _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];
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
- return target;
51
+ }
52
+ return target;
47
53
  }
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;
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 = /* @__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", {});
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
- _createClass(Storage, [
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
- 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
- });
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
- return function(ctx, resolve, reject) {
103
- var i = 0;
104
- var dispatch = function() {
105
- var _handler, _handler_catch;
106
- var handler = middlewares[i++];
107
- if (!handler) {
108
- return resolve();
109
- }
110
- 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);
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
- var server_default = function() {
116
- return {
117
- name: "@modern-js/plugin-server",
118
- setup: function(api) {
119
- var _api_useAppContext = api.useAppContext(), appDirectory = _api_useAppContext.appDirectory, distDirectory = _api_useAppContext.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 _ref1 = middlewareMode || {}, tmp = _ref1.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
- };
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
- export { server_default as default };
203
+ };
204
+ }
205
+ };
206
+ }
207
+ ;
@@ -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
- var cli_default = () => ({
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
- appDirectory,
32
- {
33
- server,
34
- alias,
35
- babelConfig: babel
36
- },
37
- {
38
- sourceDirs,
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 { plugins };
45
+ return {
46
+ plugins
47
+ };
50
48
  }
51
49
  })
52
50
  });
53
- export {
54
- cli_default as default
55
- };
@@ -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 = /* @__PURE__ */ ((HOOKS2) => {
17
+ var HOOKS;
18
+ (function(HOOKS2) {
10
19
  HOOKS2["AFTER_MATCH"] = "afterMatch";
11
20
  HOOKS2["AFTER_RENDER"] = "afterRender";
12
- return HOOKS2;
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
- get(target, name) {
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 _a, _b;
47
+ var _handler, _handler_catch;
45
48
  const handler = middlewares[i++];
46
49
  if (!handler) {
47
50
  return resolve();
48
51
  }
49
- return (_b = (_a = handler(ctx, dispatch)) == null ? void 0 : _a.catch) == null ? void 0 : _b.call(_a, reject);
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
- var server_default = () => ({
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": "web-infra-dev/modern.js",
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.14.0",
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.14.0",
51
- "@modern-js/utils": "2.14.0"
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.14.0",
59
- "@modern-js/app-tools": "2.14.0",
60
- "@modern-js/core": "2.14.0",
61
- "@scripts/build": "2.14.0",
62
- "@modern-js/types": "2.14.0",
63
- "@scripts/jest-config": "2.14.0"
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",