@modern-js/app-tools 2.48.3 → 2.48.5-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,6 +23,8 @@ __export(dev_exports, {
23
23
  module.exports = __toCommonJS(dev_exports);
24
24
  var import_core = require("@modern-js/core");
25
25
  var import_utils = require("@modern-js/utils");
26
+ var import_server = require("@modern-js/server");
27
+ var import_prod_server = require("@modern-js/prod-server");
26
28
  var import_printInstructions = require("../utils/printInstructions");
27
29
  var import_createServer = require("../utils/createServer");
28
30
  var import_routes = require("../utils/routes");
@@ -41,7 +43,7 @@ const dev = async (api, options, devServerOptions = {}) => {
41
43
  cliOptions: options
42
44
  };
43
45
  import_core.ResolvedConfigContext.set(normalizedConfig);
44
- const { appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName } = appContext;
46
+ const { appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes } = appContext;
45
47
  await (0, import_config.buildServerConfig)({
46
48
  appDirectory,
47
49
  distDirectory,
@@ -55,6 +57,7 @@ const dev = async (api, options, devServerOptions = {}) => {
55
57
  await (0, import_routes.generateRoutes)(appContext);
56
58
  const serverInternalPlugins = await (0, import_getServerInternalPlugins.getServerInternalPlugins)(api);
57
59
  const serverOptions = {
60
+ metaName,
58
61
  dev: {
59
62
  port,
60
63
  https: normalizedConfig.dev.https,
@@ -62,37 +65,32 @@ const dev = async (api, options, devServerOptions = {}) => {
62
65
  ...(_normalizedConfig_tools = normalizedConfig.tools) === null || _normalizedConfig_tools === void 0 ? void 0 : _normalizedConfig_tools.devServer
63
66
  },
64
67
  appContext: {
65
- metaName,
66
- appDirectory: appContext.appDirectory,
67
- sharedDirectory: appContext.sharedDirectory,
68
+ appDirectory,
68
69
  apiDirectory: appContext.apiDirectory,
69
- lambdaDirectory: appContext.lambdaDirectory
70
+ lambdaDirectory: appContext.lambdaDirectory,
71
+ sharedDirectory: appContext.sharedDirectory
70
72
  },
73
+ routes: serverRoutes,
71
74
  pwd: appDirectory,
72
75
  config: normalizedConfig,
73
76
  serverConfigFile,
74
- internalPlugins: (0, import_createServer.injectDataLoaderPlugin)(serverInternalPlugins),
77
+ internalPlugins: serverInternalPlugins,
75
78
  ...devServerOptions
76
79
  };
77
80
  if (apiOnly) {
78
81
  var _normalizedConfig_dev;
79
- const app = await (0, import_createServer.createServer)({
80
- ...serverOptions,
81
- compiler: null
82
- });
82
+ const app = await (0, import_server.createDevServer)(serverOptions, import_prod_server.initProdMiddlewares);
83
83
  const host = ((_normalizedConfig_dev = normalizedConfig.dev) === null || _normalizedConfig_dev === void 0 ? void 0 : _normalizedConfig_dev.host) || import_utils.DEFAULT_DEV_HOST;
84
84
  app.listen({
85
85
  port,
86
86
  host
87
- }, async (err) => {
88
- if (err) {
89
- throw err;
90
- }
87
+ }, () => {
91
88
  (0, import_printInstructions.printInstructions)(hookRunners, appContext, normalizedConfig);
92
89
  });
93
90
  } else {
94
91
  const { server } = await appContext.builder.startDevServer({
95
- serverOptions
92
+ serverOptions,
93
+ initProdMiddlewares: import_prod_server.initProdMiddlewares
96
94
  });
97
95
  (0, import_createServer.setServer)(server);
98
96
  }
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var serve_exports = {};
30
20
  __export(serve_exports, {
@@ -32,21 +22,25 @@ __export(serve_exports, {
32
22
  });
33
23
  module.exports = __toCommonJS(serve_exports);
34
24
  var import_utils = require("@modern-js/utils");
35
- var import_prod_server = __toESM(require("@modern-js/prod-server"));
25
+ var import_prod_server = require("@modern-js/prod-server");
36
26
  var import_printInstructions = require("../utils/printInstructions");
37
- var import_createServer = require("../utils/createServer");
38
27
  var import_getServerInternalPlugins = require("../utils/getServerInternalPlugins");
39
28
  const start = async (api) => {
40
29
  var _userConfig_source, _userConfig_output_distPath;
41
30
  const appContext = api.useAppContext();
42
31
  const userConfig = api.useResolvedConfigContext();
43
32
  const hookRunners = api.useHookRunners();
44
- const { appDirectory, port, serverConfigFile, metaName } = appContext;
33
+ const { distDirectory, appDirectory, port, serverConfigFile, metaName, serverRoutes } = appContext;
45
34
  import_utils.logger.info(`Starting production server...`);
46
35
  const apiOnly = await (0, import_utils.isApiOnly)(appContext.appDirectory, userConfig === null || userConfig === void 0 ? void 0 : (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.entriesDir, appContext.apiDirectory);
36
+ let runMode;
37
+ if (apiOnly) {
38
+ runMode = "apiOnly";
39
+ }
47
40
  const serverInternalPlugins = await (0, import_getServerInternalPlugins.getServerInternalPlugins)(api);
48
- const app = await (0, import_prod_server.default)({
49
- pwd: appDirectory,
41
+ const app = await (0, import_prod_server.createProdServer)({
42
+ metaName,
43
+ pwd: distDirectory,
50
44
  config: {
51
45
  ...userConfig,
52
46
  dev: userConfig.dev,
@@ -55,20 +49,18 @@ const start = async (api) => {
55
49
  ...userConfig.output || {}
56
50
  }
57
51
  },
52
+ routes: serverRoutes,
58
53
  appContext: {
59
- metaName,
54
+ appDirectory,
60
55
  sharedDirectory: (0, import_utils.getTargetDir)(appContext.sharedDirectory, appContext.appDirectory, appContext.distDirectory),
61
56
  apiDirectory: (0, import_utils.getTargetDir)(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
62
57
  lambdaDirectory: (0, import_utils.getTargetDir)(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
63
58
  },
64
59
  serverConfigFile,
65
- internalPlugins: (0, import_createServer.injectDataLoaderPlugin)(serverInternalPlugins),
66
- apiOnly
60
+ internalPlugins: serverInternalPlugins,
61
+ runMode
67
62
  });
68
- app.listen(port, async (err) => {
69
- if (err) {
70
- throw err;
71
- }
63
+ app.listen(port, async () => {
72
64
  await (0, import_printInstructions.printInstructions)(hookRunners, appContext, userConfig);
73
65
  });
74
66
  };
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,25 +15,17 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var createServer_exports = {};
30
20
  __export(createServer_exports, {
31
21
  closeServer: () => closeServer,
32
22
  createServer: () => createServer,
33
23
  getServer: () => getServer,
34
- injectDataLoaderPlugin: () => injectDataLoaderPlugin,
35
24
  setServer: () => setServer
36
25
  });
37
26
  module.exports = __toCommonJS(createServer_exports);
38
27
  var import_server = require("@modern-js/server");
28
+ var import_prod_server = require("@modern-js/prod-server");
39
29
  let server = null;
40
30
  const getServer = () => server;
41
31
  const setServer = (newServer) => {
@@ -43,33 +33,21 @@ const setServer = (newServer) => {
43
33
  };
44
34
  const closeServer = async () => {
45
35
  if (server) {
46
- await server.close();
36
+ server.close();
47
37
  server = null;
48
38
  }
49
39
  };
50
40
  const createServer = async (options) => {
51
41
  if (server) {
52
- await server.close();
42
+ server.close();
53
43
  }
54
- server = new import_server.Server(options);
55
- const app = await server.init();
56
- return app;
57
- };
58
- const injectDataLoaderPlugin = (internalPlugins) => {
59
- const DataLoaderPlugin = require.resolve("@modern-js/plugin-data-loader/server");
60
- return {
61
- ...internalPlugins,
62
- "@modern-js/plugin-data-loader": {
63
- path: DataLoaderPlugin,
64
- forced: true
65
- }
66
- };
44
+ server = await (0, import_server.createDevServer)(options, import_prod_server.initProdMiddlewares);
45
+ return server;
67
46
  };
68
47
  // Annotate the CommonJS export names for ESM import in node:
69
48
  0 && (module.exports = {
70
49
  closeServer,
71
50
  createServer,
72
51
  getServer,
73
- injectDataLoaderPlugin,
74
52
  setServer
75
53
  });
@@ -21,10 +21,10 @@ __export(env_exports, {
21
21
  getAutoInjectEnv: () => getAutoInjectEnv
22
22
  });
23
23
  module.exports = __toCommonJS(env_exports);
24
- var import_utils = require("@modern-js/utils");
24
+ var import_universal = require("@modern-js/utils/universal");
25
25
  function getAutoInjectEnv(appContext) {
26
26
  const { metaName } = appContext;
27
- const prefix = `${(0, import_utils.cutNameByHyphen)(metaName)}_`.toUpperCase();
27
+ const prefix = `${(0, import_universal.cutNameByHyphen)(metaName)}_`.toUpperCase();
28
28
  const envReg = new RegExp(`^${prefix}`);
29
29
  return Object.keys(process.env).reduce((prev, key) => {
30
30
  const value = process.env[key];
@@ -4,14 +4,16 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
5
  import { ResolvedConfigContext } from "@modern-js/core";
6
6
  import { DEFAULT_DEV_HOST } from "@modern-js/utils";
7
+ import { createDevServer } from "@modern-js/server";
8
+ import { initProdMiddlewares } from "@modern-js/prod-server";
7
9
  import { printInstructions } from "../utils/printInstructions";
8
- import { setServer, createServer, injectDataLoaderPlugin } from "../utils/createServer";
10
+ import { setServer } from "../utils/createServer";
9
11
  import { generateRoutes } from "../utils/routes";
10
12
  import { buildServerConfig } from "../utils/config";
11
13
  import { getServerInternalPlugins } from "../utils/getServerInternalPlugins";
12
14
  var dev = function() {
13
15
  var _ref = _async_to_generator(function(api, options) {
14
- var devServerOptions, _normalizedConfig_tools, normalizedConfig, appContext, hookRunners, appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverInternalPlugins, serverOptions, _normalizedConfig_dev, app, host, server;
16
+ var devServerOptions, _normalizedConfig_tools, normalizedConfig, appContext, hookRunners, appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes, serverInternalPlugins, serverOptions, _normalizedConfig_dev, app, host, server;
15
17
  var _arguments = arguments;
16
18
  return _ts_generator(this, function(_state) {
17
19
  switch (_state.label) {
@@ -27,7 +29,7 @@ var dev = function() {
27
29
  cliOptions: options
28
30
  });
29
31
  ResolvedConfigContext.set(normalizedConfig);
30
- appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, port = appContext.port, apiOnly = appContext.apiOnly, serverConfigFile = appContext.serverConfigFile, metaName = appContext.metaName;
32
+ appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, port = appContext.port, apiOnly = appContext.apiOnly, serverConfigFile = appContext.serverConfigFile, metaName = appContext.metaName, serverRoutes = appContext.serverRoutes;
31
33
  return [
32
34
  4,
33
35
  buildServerConfig({
@@ -61,22 +63,23 @@ var dev = function() {
61
63
  case 4:
62
64
  serverInternalPlugins = _state.sent();
63
65
  serverOptions = _object_spread({
66
+ metaName,
64
67
  dev: _object_spread({
65
68
  port,
66
69
  https: normalizedConfig.dev.https,
67
70
  host: normalizedConfig.dev.host
68
71
  }, (_normalizedConfig_tools = normalizedConfig.tools) === null || _normalizedConfig_tools === void 0 ? void 0 : _normalizedConfig_tools.devServer),
69
72
  appContext: {
70
- metaName,
71
- appDirectory: appContext.appDirectory,
72
- sharedDirectory: appContext.sharedDirectory,
73
+ appDirectory,
73
74
  apiDirectory: appContext.apiDirectory,
74
- lambdaDirectory: appContext.lambdaDirectory
75
+ lambdaDirectory: appContext.lambdaDirectory,
76
+ sharedDirectory: appContext.sharedDirectory
75
77
  },
78
+ routes: serverRoutes,
76
79
  pwd: appDirectory,
77
80
  config: normalizedConfig,
78
81
  serverConfigFile,
79
- internalPlugins: injectDataLoaderPlugin(serverInternalPlugins)
82
+ internalPlugins: serverInternalPlugins
80
83
  }, devServerOptions);
81
84
  if (!apiOnly)
82
85
  return [
@@ -85,9 +88,7 @@ var dev = function() {
85
88
  ];
86
89
  return [
87
90
  4,
88
- createServer(_object_spread_props(_object_spread({}, serverOptions), {
89
- compiler: null
90
- }))
91
+ createDevServer(serverOptions, initProdMiddlewares)
91
92
  ];
92
93
  case 5:
93
94
  app = _state.sent();
@@ -96,21 +97,8 @@ var dev = function() {
96
97
  port,
97
98
  host
98
99
  }, function() {
99
- var _ref2 = _async_to_generator(function(err) {
100
- return _ts_generator(this, function(_state2) {
101
- if (err) {
102
- throw err;
103
- }
104
- printInstructions(hookRunners, appContext, normalizedConfig);
105
- return [
106
- 2
107
- ];
108
- });
109
- });
110
- return function(err) {
111
- return _ref2.apply(this, arguments);
112
- };
113
- }());
100
+ printInstructions(hookRunners, appContext, normalizedConfig);
101
+ });
114
102
  return [
115
103
  3,
116
104
  8
@@ -119,7 +107,8 @@ var dev = function() {
119
107
  return [
120
108
  4,
121
109
  appContext.builder.startDevServer({
122
- serverOptions
110
+ serverOptions,
111
+ initProdMiddlewares
123
112
  })
124
113
  ];
125
114
  case 7:
@@ -3,20 +3,19 @@ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
5
  import { logger, isApiOnly, getTargetDir } from "@modern-js/utils";
6
- import server from "@modern-js/prod-server";
6
+ import { createProdServer } from "@modern-js/prod-server";
7
7
  import { printInstructions } from "../utils/printInstructions";
8
- import { injectDataLoaderPlugin } from "../utils/createServer";
9
8
  import { getServerInternalPlugins } from "../utils/getServerInternalPlugins";
10
9
  var start = function() {
11
10
  var _ref = _async_to_generator(function(api) {
12
- var _userConfig_source, _userConfig_output_distPath, appContext, userConfig, hookRunners, appDirectory, port, serverConfigFile, metaName, apiOnly, serverInternalPlugins, app;
11
+ var _userConfig_source, _userConfig_output_distPath, appContext, userConfig, hookRunners, distDirectory, appDirectory, port, serverConfigFile, metaName, serverRoutes, apiOnly, runMode, serverInternalPlugins, app;
13
12
  return _ts_generator(this, function(_state) {
14
13
  switch (_state.label) {
15
14
  case 0:
16
15
  appContext = api.useAppContext();
17
16
  userConfig = api.useResolvedConfigContext();
18
17
  hookRunners = api.useHookRunners();
19
- appDirectory = appContext.appDirectory, port = appContext.port, serverConfigFile = appContext.serverConfigFile, metaName = appContext.metaName;
18
+ distDirectory = appContext.distDirectory, appDirectory = appContext.appDirectory, port = appContext.port, serverConfigFile = appContext.serverConfigFile, metaName = appContext.metaName, serverRoutes = appContext.serverRoutes;
20
19
  logger.info("Starting production server...");
21
20
  return [
22
21
  4,
@@ -24,6 +23,9 @@ var start = function() {
24
23
  ];
25
24
  case 1:
26
25
  apiOnly = _state.sent();
26
+ if (apiOnly) {
27
+ runMode = "apiOnly";
28
+ }
27
29
  return [
28
30
  4,
29
31
  getServerInternalPlugins(api)
@@ -32,51 +34,45 @@ var start = function() {
32
34
  serverInternalPlugins = _state.sent();
33
35
  return [
34
36
  4,
35
- server({
36
- pwd: appDirectory,
37
+ createProdServer({
38
+ metaName,
39
+ pwd: distDirectory,
37
40
  config: _object_spread_props(_object_spread({}, userConfig), {
38
41
  dev: userConfig.dev,
39
42
  output: _object_spread({
40
43
  path: (_userConfig_output_distPath = userConfig.output.distPath) === null || _userConfig_output_distPath === void 0 ? void 0 : _userConfig_output_distPath.root
41
44
  }, userConfig.output || {})
42
45
  }),
46
+ routes: serverRoutes,
43
47
  appContext: {
44
- metaName,
48
+ appDirectory,
45
49
  sharedDirectory: getTargetDir(appContext.sharedDirectory, appContext.appDirectory, appContext.distDirectory),
46
50
  apiDirectory: getTargetDir(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
47
51
  lambdaDirectory: getTargetDir(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
48
52
  },
49
53
  serverConfigFile,
50
- internalPlugins: injectDataLoaderPlugin(serverInternalPlugins),
51
- apiOnly
54
+ internalPlugins: serverInternalPlugins,
55
+ runMode
52
56
  })
53
57
  ];
54
58
  case 3:
55
59
  app = _state.sent();
56
- app.listen(port, function() {
57
- var _ref2 = _async_to_generator(function(err) {
58
- return _ts_generator(this, function(_state2) {
59
- switch (_state2.label) {
60
- case 0:
61
- if (err) {
62
- throw err;
63
- }
64
- return [
65
- 4,
66
- printInstructions(hookRunners, appContext, userConfig)
67
- ];
68
- case 1:
69
- _state2.sent();
70
- return [
71
- 2
72
- ];
73
- }
74
- });
60
+ app.listen(port, /* @__PURE__ */ _async_to_generator(function() {
61
+ return _ts_generator(this, function(_state2) {
62
+ switch (_state2.label) {
63
+ case 0:
64
+ return [
65
+ 4,
66
+ printInstructions(hookRunners, appContext, userConfig)
67
+ ];
68
+ case 1:
69
+ _state2.sent();
70
+ return [
71
+ 2
72
+ ];
73
+ }
75
74
  });
76
- return function(err) {
77
- return _ref2.apply(this, arguments);
78
- };
79
- }());
75
+ }));
80
76
  return [
81
77
  2
82
78
  ];
@@ -1,8 +1,7 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
2
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
- import { Server } from "@modern-js/server";
3
+ import { createDevServer } from "@modern-js/server";
4
+ import { initProdMiddlewares } from "@modern-js/prod-server";
6
5
  var server = null;
7
6
  var getServer = function() {
8
7
  return server;
@@ -13,26 +12,13 @@ var setServer = function(newServer) {
13
12
  var closeServer = function() {
14
13
  var _ref = _async_to_generator(function() {
15
14
  return _ts_generator(this, function(_state) {
16
- switch (_state.label) {
17
- case 0:
18
- if (!server)
19
- return [
20
- 3,
21
- 2
22
- ];
23
- return [
24
- 4,
25
- server.close()
26
- ];
27
- case 1:
28
- _state.sent();
29
- server = null;
30
- _state.label = 2;
31
- case 2:
32
- return [
33
- 2
34
- ];
15
+ if (server) {
16
+ server.close();
17
+ server = null;
35
18
  }
19
+ return [
20
+ 2
21
+ ];
36
22
  });
37
23
  });
38
24
  return function closeServer2() {
@@ -41,33 +27,21 @@ var closeServer = function() {
41
27
  }();
42
28
  var createServer = function() {
43
29
  var _ref = _async_to_generator(function(options) {
44
- var app;
45
30
  return _ts_generator(this, function(_state) {
46
31
  switch (_state.label) {
47
32
  case 0:
48
- if (!server)
49
- return [
50
- 3,
51
- 2
52
- ];
33
+ if (server) {
34
+ server.close();
35
+ }
53
36
  return [
54
37
  4,
55
- server.close()
38
+ createDevServer(options, initProdMiddlewares)
56
39
  ];
57
40
  case 1:
58
- _state.sent();
59
- _state.label = 2;
60
- case 2:
61
- server = new Server(options);
62
- return [
63
- 4,
64
- server.init()
65
- ];
66
- case 3:
67
- app = _state.sent();
41
+ server = _state.sent();
68
42
  return [
69
43
  2,
70
- app
44
+ server
71
45
  ];
72
46
  }
73
47
  });
@@ -76,19 +50,9 @@ var createServer = function() {
76
50
  return _ref.apply(this, arguments);
77
51
  };
78
52
  }();
79
- var injectDataLoaderPlugin = function(internalPlugins) {
80
- var DataLoaderPlugin = require.resolve("@modern-js/plugin-data-loader/server");
81
- return _object_spread_props(_object_spread({}, internalPlugins), {
82
- "@modern-js/plugin-data-loader": {
83
- path: DataLoaderPlugin,
84
- forced: true
85
- }
86
- });
87
- };
88
53
  export {
89
54
  closeServer,
90
55
  createServer,
91
56
  getServer,
92
- injectDataLoaderPlugin,
93
57
  setServer
94
58
  };
@@ -1,4 +1,4 @@
1
- import { cutNameByHyphen } from "@modern-js/utils";
1
+ import { cutNameByHyphen } from "@modern-js/utils/universal";
2
2
  function getAutoInjectEnv(appContext) {
3
3
  var metaName = appContext.metaName;
4
4
  var prefix = "".concat(cutNameByHyphen(metaName), "_").toUpperCase();
@@ -1,7 +1,9 @@
1
1
  import { ResolvedConfigContext } from "@modern-js/core";
2
2
  import { DEFAULT_DEV_HOST } from "@modern-js/utils";
3
+ import { createDevServer } from "@modern-js/server";
4
+ import { initProdMiddlewares } from "@modern-js/prod-server";
3
5
  import { printInstructions } from "../utils/printInstructions";
4
- import { setServer, createServer, injectDataLoaderPlugin } from "../utils/createServer";
6
+ import { setServer } from "../utils/createServer";
5
7
  import { generateRoutes } from "../utils/routes";
6
8
  import { buildServerConfig } from "../utils/config";
7
9
  import { getServerInternalPlugins } from "../utils/getServerInternalPlugins";
@@ -18,7 +20,7 @@ const dev = async (api, options, devServerOptions = {}) => {
18
20
  cliOptions: options
19
21
  };
20
22
  ResolvedConfigContext.set(normalizedConfig);
21
- const { appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName } = appContext;
23
+ const { appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes } = appContext;
22
24
  await buildServerConfig({
23
25
  appDirectory,
24
26
  distDirectory,
@@ -32,6 +34,7 @@ const dev = async (api, options, devServerOptions = {}) => {
32
34
  await generateRoutes(appContext);
33
35
  const serverInternalPlugins = await getServerInternalPlugins(api);
34
36
  const serverOptions = {
37
+ metaName,
35
38
  dev: {
36
39
  port,
37
40
  https: normalizedConfig.dev.https,
@@ -39,37 +42,32 @@ const dev = async (api, options, devServerOptions = {}) => {
39
42
  ...(_normalizedConfig_tools = normalizedConfig.tools) === null || _normalizedConfig_tools === void 0 ? void 0 : _normalizedConfig_tools.devServer
40
43
  },
41
44
  appContext: {
42
- metaName,
43
- appDirectory: appContext.appDirectory,
44
- sharedDirectory: appContext.sharedDirectory,
45
+ appDirectory,
45
46
  apiDirectory: appContext.apiDirectory,
46
- lambdaDirectory: appContext.lambdaDirectory
47
+ lambdaDirectory: appContext.lambdaDirectory,
48
+ sharedDirectory: appContext.sharedDirectory
47
49
  },
50
+ routes: serverRoutes,
48
51
  pwd: appDirectory,
49
52
  config: normalizedConfig,
50
53
  serverConfigFile,
51
- internalPlugins: injectDataLoaderPlugin(serverInternalPlugins),
54
+ internalPlugins: serverInternalPlugins,
52
55
  ...devServerOptions
53
56
  };
54
57
  if (apiOnly) {
55
58
  var _normalizedConfig_dev;
56
- const app = await createServer({
57
- ...serverOptions,
58
- compiler: null
59
- });
59
+ const app = await createDevServer(serverOptions, initProdMiddlewares);
60
60
  const host = ((_normalizedConfig_dev = normalizedConfig.dev) === null || _normalizedConfig_dev === void 0 ? void 0 : _normalizedConfig_dev.host) || DEFAULT_DEV_HOST;
61
61
  app.listen({
62
62
  port,
63
63
  host
64
- }, async (err) => {
65
- if (err) {
66
- throw err;
67
- }
64
+ }, () => {
68
65
  printInstructions(hookRunners, appContext, normalizedConfig);
69
66
  });
70
67
  } else {
71
68
  const { server } = await appContext.builder.startDevServer({
72
- serverOptions
69
+ serverOptions,
70
+ initProdMiddlewares
73
71
  });
74
72
  setServer(server);
75
73
  }
@@ -1,19 +1,23 @@
1
1
  import { logger, isApiOnly, getTargetDir } from "@modern-js/utils";
2
- import server from "@modern-js/prod-server";
2
+ import { createProdServer } from "@modern-js/prod-server";
3
3
  import { printInstructions } from "../utils/printInstructions";
4
- import { injectDataLoaderPlugin } from "../utils/createServer";
5
4
  import { getServerInternalPlugins } from "../utils/getServerInternalPlugins";
6
5
  const start = async (api) => {
7
6
  var _userConfig_source, _userConfig_output_distPath;
8
7
  const appContext = api.useAppContext();
9
8
  const userConfig = api.useResolvedConfigContext();
10
9
  const hookRunners = api.useHookRunners();
11
- const { appDirectory, port, serverConfigFile, metaName } = appContext;
10
+ const { distDirectory, appDirectory, port, serverConfigFile, metaName, serverRoutes } = appContext;
12
11
  logger.info(`Starting production server...`);
13
12
  const apiOnly = await isApiOnly(appContext.appDirectory, userConfig === null || userConfig === void 0 ? void 0 : (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.entriesDir, appContext.apiDirectory);
13
+ let runMode;
14
+ if (apiOnly) {
15
+ runMode = "apiOnly";
16
+ }
14
17
  const serverInternalPlugins = await getServerInternalPlugins(api);
15
- const app = await server({
16
- pwd: appDirectory,
18
+ const app = await createProdServer({
19
+ metaName,
20
+ pwd: distDirectory,
17
21
  config: {
18
22
  ...userConfig,
19
23
  dev: userConfig.dev,
@@ -22,20 +26,18 @@ const start = async (api) => {
22
26
  ...userConfig.output || {}
23
27
  }
24
28
  },
29
+ routes: serverRoutes,
25
30
  appContext: {
26
- metaName,
31
+ appDirectory,
27
32
  sharedDirectory: getTargetDir(appContext.sharedDirectory, appContext.appDirectory, appContext.distDirectory),
28
33
  apiDirectory: getTargetDir(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
29
34
  lambdaDirectory: getTargetDir(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
30
35
  },
31
36
  serverConfigFile,
32
- internalPlugins: injectDataLoaderPlugin(serverInternalPlugins),
33
- apiOnly
37
+ internalPlugins: serverInternalPlugins,
38
+ runMode
34
39
  });
35
- app.listen(port, async (err) => {
36
- if (err) {
37
- throw err;
38
- }
40
+ app.listen(port, async () => {
39
41
  await printInstructions(hookRunners, appContext, userConfig);
40
42
  });
41
43
  };
@@ -1,4 +1,5 @@
1
- import { Server } from "@modern-js/server";
1
+ import { createDevServer } from "@modern-js/server";
2
+ import { initProdMiddlewares } from "@modern-js/prod-server";
2
3
  let server = null;
3
4
  const getServer = () => server;
4
5
  const setServer = (newServer) => {
@@ -6,32 +7,20 @@ const setServer = (newServer) => {
6
7
  };
7
8
  const closeServer = async () => {
8
9
  if (server) {
9
- await server.close();
10
+ server.close();
10
11
  server = null;
11
12
  }
12
13
  };
13
14
  const createServer = async (options) => {
14
15
  if (server) {
15
- await server.close();
16
+ server.close();
16
17
  }
17
- server = new Server(options);
18
- const app = await server.init();
19
- return app;
20
- };
21
- const injectDataLoaderPlugin = (internalPlugins) => {
22
- const DataLoaderPlugin = require.resolve("@modern-js/plugin-data-loader/server");
23
- return {
24
- ...internalPlugins,
25
- "@modern-js/plugin-data-loader": {
26
- path: DataLoaderPlugin,
27
- forced: true
28
- }
29
- };
18
+ server = await createDevServer(options, initProdMiddlewares);
19
+ return server;
30
20
  };
31
21
  export {
32
22
  closeServer,
33
23
  createServer,
34
24
  getServer,
35
- injectDataLoaderPlugin,
36
25
  setServer
37
26
  };
@@ -1,4 +1,4 @@
1
- import { cutNameByHyphen } from "@modern-js/utils";
1
+ import { cutNameByHyphen } from "@modern-js/utils/universal";
2
2
  function getAutoInjectEnv(appContext) {
3
3
  const { metaName } = appContext;
4
4
  const prefix = `${cutNameByHyphen(metaName)}_`.toUpperCase();
@@ -1,12 +1,10 @@
1
- import { Server, ModernDevServerOptions } from '@modern-js/server';
2
- import type { InternalPlugins } from '@modern-js/types';
3
- export declare const getServer: () => Server | null;
1
+ /// <reference types="node" />
2
+ /// <reference types="node/http" />
3
+ /// <reference types="@modern-js/server-core/dist/types/core/server" />
4
+ /// <reference types="@modern-js/server-core/src/core/server" />
5
+ import type { Server } from 'node:http';
6
+ import { ModernDevServerOptions } from '@modern-js/server';
7
+ export declare const getServer: () => Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> | null;
4
8
  export declare const setServer: (newServer: Server) => void;
5
9
  export declare const closeServer: () => Promise<void>;
6
10
  export declare const createServer: (options: ModernDevServerOptions) => Promise<Server>;
7
- export declare const injectDataLoaderPlugin: (internalPlugins: InternalPlugins) => {
8
- '@modern-js/plugin-data-loader': {
9
- path: string;
10
- forced: boolean;
11
- };
12
- };
package/lib/types.d.ts CHANGED
@@ -61,6 +61,11 @@ declare module '*.svg' {
61
61
  export default content;
62
62
  }
63
63
 
64
+ declare module '*.svg?react' {
65
+ const ReactComponent: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
66
+ export default ReactComponent;
67
+ }
68
+
64
69
  declare module '*.bmp?inline' {
65
70
  const src: string;
66
71
  export default src;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.48.3",
18
+ "version": "2.48.5-alpha.0",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -69,37 +69,37 @@
69
69
  "@babel/parser": "^7.22.15",
70
70
  "@babel/traverse": "^7.23.2",
71
71
  "@babel/types": "^7.23.0",
72
- "@rsbuild/plugin-esbuild": "0.5.1",
73
- "@rsbuild/plugin-node-polyfill": "0.5.1",
74
- "@rsbuild/shared": "0.5.1",
75
- "@rsbuild/core": "0.5.1",
72
+ "@rsbuild/plugin-esbuild": "0.5.4",
73
+ "@rsbuild/plugin-node-polyfill": "0.5.4",
74
+ "@rsbuild/shared": "0.5.4",
75
+ "@rsbuild/core": "0.5.4",
76
76
  "es-module-lexer": "^1.1.0",
77
77
  "esbuild": "0.17.19",
78
78
  "@swc/helpers": "0.5.3",
79
- "@modern-js/uni-builder": "2.48.3",
80
- "@modern-js/core": "2.48.3",
81
- "@modern-js/node-bundle-require": "2.48.3",
82
- "@modern-js/plugin-data-loader": "2.48.3",
83
- "@modern-js/plugin": "2.48.3",
84
- "@modern-js/plugin-i18n": "2.48.3",
85
- "@modern-js/prod-server": "2.48.3",
86
- "@modern-js/plugin-lint": "2.48.3",
87
- "@modern-js/server": "2.48.3",
88
- "@modern-js/server-utils": "2.48.3",
89
- "@modern-js/utils": "2.48.3",
90
- "@modern-js/types": "2.48.3",
91
- "@modern-js/server-core": "2.48.3"
79
+ "@modern-js/uni-builder": "2.48.4",
80
+ "@modern-js/plugin": "2.48.4",
81
+ "@modern-js/core": "2.48.4",
82
+ "@modern-js/plugin-i18n": "2.48.4",
83
+ "@modern-js/node-bundle-require": "2.48.4",
84
+ "@modern-js/plugin-lint": "2.48.4",
85
+ "@modern-js/prod-server": "2.48.4",
86
+ "@modern-js/server": "2.48.4",
87
+ "@modern-js/types": "2.48.4",
88
+ "@modern-js/utils": "2.48.4",
89
+ "@modern-js/plugin-data-loader": "2.48.4",
90
+ "@modern-js/server-utils": "2.48.5-alpha.0",
91
+ "@modern-js/server-core": "2.48.5-alpha.1"
92
92
  },
93
93
  "devDependencies": {
94
- "@rsbuild/plugin-swc": "0.5.1",
94
+ "@rsbuild/plugin-swc": "0.5.4",
95
95
  "@types/babel__traverse": "7.18.5",
96
96
  "@types/jest": "^29",
97
97
  "@types/node": "^14",
98
98
  "jest": "^29",
99
99
  "typescript": "^5",
100
- "webpack": "^5.89.0",
101
- "@scripts/build": "2.48.3",
102
- "@scripts/jest-config": "2.48.3"
100
+ "webpack": "^5.91.0",
101
+ "@scripts/build": "2.48.4",
102
+ "@scripts/jest-config": "2.48.4"
103
103
  },
104
104
  "sideEffects": false,
105
105
  "publishConfig": {