@modern-js/app-tools 2.49.3-alpha.11 → 2.49.3-alpha.13

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.
@@ -168,12 +168,13 @@ var deploy_default = () => ({
168
168
  lambdaDirectory: `path.join(__dirname, "${import_path.default.relative(appDirectory, lambdaDirectory)}")`,
169
169
  metaName
170
170
  };
171
+ console.log("serverAppContext", serverAppContext);
171
172
  let code = ``;
172
173
  console.log("deployTarget111111111", deployTarget);
173
174
  switch (deployTarget) {
174
175
  case "node": {
175
176
  const { genNodeEntry } = await Promise.resolve().then(() => __toESM(require("./platforms/node")));
176
- code = genNodeEntry({
177
+ code = await genNodeEntry({
177
178
  plugins,
178
179
  config: modernConfig,
179
180
  appContext: serverAppContext
@@ -182,22 +183,16 @@ var deploy_default = () => ({
182
183
  }
183
184
  case "vercel": {
184
185
  const { genVercelEntry } = await Promise.resolve().then(() => __toESM(require("./platforms/vercel")));
185
- const serverAppContext2 = {
186
- sharedDirectory: import_path.default.join(__dirname, import_path.default.relative(appDirectory, sharedDirectory)),
187
- apiDirectory: import_path.default.join(__dirname, import_path.default.relative(appDirectory, apiDirectory)),
188
- lambdaDirectory: import_path.default.join(__dirname, import_path.default.relative(appDirectory, lambdaDirectory)),
189
- metaName
190
- };
191
186
  code = await genVercelEntry({
192
187
  plugins,
193
188
  config: modernConfig,
194
- appContext: serverAppContext2
189
+ appContext: serverAppContext
195
190
  });
196
191
  break;
197
192
  }
198
193
  case "netlify": {
199
194
  const { genNetlifyEntry } = await Promise.resolve().then(() => __toESM(require("./platforms/netlify")));
200
- code = genNetlifyEntry({
195
+ code = await genNetlifyEntry({
201
196
  plugins,
202
197
  config: modernConfig,
203
198
  appContext: serverAppContext
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,15 +17,24 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
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
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var node_exports = {};
20
30
  __export(node_exports, {
21
31
  genNodeEntry: () => genNodeEntry
22
32
  });
23
33
  module.exports = __toCommonJS(node_exports);
34
+ var import_node_path = __toESM(require("node:path"));
24
35
  var import_utils = require("@modern-js/utils");
25
36
  var import_utils2 = require("../utils");
26
- function genNodeEntry({ config, plugins, appContext } = {}) {
37
+ async function genNodeEntry({ config, plugins, appContext }) {
27
38
  const defaultConfig = {
28
39
  server: {
29
40
  port: 8080
@@ -32,55 +43,15 @@ function genNodeEntry({ config, plugins, appContext } = {}) {
32
43
  path: "."
33
44
  }
34
45
  };
35
- return `
36
-
37
- const fs = require('node:fs/promises');
38
- const path = require('node:path');
39
- const { createProdServer } = require('@modern-js/prod-server');
40
- ${(0, import_utils2.genPluginImportsCode)(plugins || [])}
41
-
42
- if(!process.env.NODE_ENV){
43
- process.env.NODE_ENV = 'production';
44
- }
45
-
46
- async function main() {
47
- try {
48
- let routes = [];
49
- const routeFilepath = path.join(__dirname, "${import_utils.ROUTE_SPEC_FILE}");
50
- try {
51
- await fs.access(routeFilepath);
52
- const content = await fs.readFile(routeFilepath, "utf-8");
53
- const routeSpec = JSON.parse(content);
54
- routes = routeSpec.routes;
55
- } catch (error) {
56
- console.warn('route.json not found, continuing with empty routes.');
57
- }
58
-
59
- const prodServerOptions = {
60
- pwd: __dirname,
61
- routes,
62
- config: ${JSON.stringify(config || defaultConfig)},
63
- serverConfigFile: '${import_utils.DEFAULT_SERVER_CONFIG}',
64
- plugins: ${(0, import_utils2.getPluginsCode)(plugins || [])},
65
- appContext: ${appContext ? (0, import_utils2.severAppContextTemplate)(appContext) : "undefined"},
66
- disableCustomHook: true
67
- }
68
-
69
- const app = await createProdServer(prodServerOptions)
70
-
71
- const port = process.env.PORT || 3000;
72
-
73
- app.listen(port, () => {
74
- console.log('\\x1b[32mServer is listening on port', port, '\\x1b[0m');
75
- });
76
- } catch(error) {
77
- console.error(error);
78
- process.exit(1);
79
- }
80
- }
81
-
82
- main();
83
- `;
46
+ const pluginImportCode = (0, import_utils2.genPluginImportsCode)(plugins || []);
47
+ const dynamicProdOptions = {
48
+ config: config || defaultConfig,
49
+ serverConfigFile: import_utils.DEFAULT_SERVER_CONFIG,
50
+ plugins
51
+ };
52
+ let entryCode = (await import_utils.fs.readFile(import_node_path.default.join(__dirname, "./nodeEntry.js"))).toString();
53
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${import_utils.ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_sharedDirectory", appContext.sharedDirectory).replace("p_apiDirectory", appContext.apiDirectory).replace("p_lambdaDirectory", appContext.lambdaDirectory);
54
+ return entryCode;
84
55
  }
85
56
  // Annotate the CommonJS export names for ESM import in node:
86
57
  0 && (module.exports = {
@@ -25,12 +25,17 @@ async function main() {
25
25
  pwd: __dirname,
26
26
  routes,
27
27
  disableCustomHook: true,
28
+ appContext: {
29
+ sharedDirectory: p_sharedDirectory,
30
+ apiDirectory: p_apiDirectory,
31
+ lambdaDirectory: p_lambdaDirectory
32
+ },
28
33
  ...dynamicProdOptions
29
34
  };
30
35
  const app = await createProdServer(prodServerOptions);
31
36
  const port = process.env.PORT || 8080;
32
37
  app.listen(port, () => {
33
- console.log("\\x1b[32mServer is listening on port", port, "\\x1b[0m");
38
+ console.log("\x1B[32mServer is listening on port", port, "\x1B[0m");
34
39
  });
35
40
  }
36
41
  main();
@@ -34,30 +34,20 @@ module.exports = __toCommonJS(vercel_exports);
34
34
  var import_node_path = __toESM(require("node:path"));
35
35
  var import_utils = require("@modern-js/utils");
36
36
  var import_utils2 = require("../utils");
37
- async function genVercelEntry({ config, plugins, appContext } = {}) {
37
+ async function genVercelEntry({ config, plugins, appContext }) {
38
38
  const defaultConfig = {
39
39
  output: {
40
40
  path: "."
41
41
  }
42
42
  };
43
- console.log("appContext.sharedDirectory", appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory);
44
43
  const pluginImportCode = (0, import_utils2.genPluginImportsCode)(plugins || []);
45
44
  const dynamicProdOptions = {
46
45
  config: config || defaultConfig,
47
46
  serverConfigFile: import_utils.DEFAULT_SERVER_CONFIG,
48
- plugins,
49
- appContext: appContext ? {
50
- sharedDirectory: appContext.sharedDirectory,
51
- apiDirectory: appContext.apiDirectory,
52
- lambdaDirectory: appContext.lambdaDirectory
53
- } : "undefined"
47
+ plugins
54
48
  };
55
49
  let entryCode = (await import_utils.fs.readFile(import_node_path.default.join(__dirname, "./vercelEntry.js"))).toString();
56
- entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${import_utils.ROUTE_SPEC_FILE}"`).replace(
57
- "p_dynamicProdOptions",
58
- // JSON.stringify(dynamicProdOptions),
59
- JSON.stringify(dynamicProdOptions)
60
- );
50
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${import_utils.ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_sharedDirectory", appContext.sharedDirectory).replace("p_apiDirectory", appContext.apiDirectory).replace("p_lambdaDirectory", appContext.lambdaDirectory);
61
51
  return entryCode;
62
52
  }
63
53
  // Annotate the CommonJS export names for ESM import in node:
@@ -27,6 +27,11 @@ async function initServer() {
27
27
  pwd: __dirname,
28
28
  routes,
29
29
  disableCustomHook: true,
30
+ appContext: {
31
+ sharedDirectory: p_sharedDirectory,
32
+ apiDirectory: p_apiDirectory,
33
+ lambdaDirectory: p_lambdaDirectory
34
+ },
30
35
  ...dynamicProdOptions
31
36
  };
32
37
  const app = await createProdServer(prodServerOptions);
@@ -18,7 +18,7 @@ function deploy_default() {
18
18
  return {
19
19
  beforeDeploy: function beforeDeploy() {
20
20
  return _async_to_generator(function() {
21
- var appContext, modernConfig, mainEntryName, appDirectory, distDirectory, serverInternalPlugins, sharedDirectory, apiDirectory, lambdaDirectory, metaName, entrypoints, _getProjectUsage, useSSR, useAPI, useWebServer, needModernServer, outputDirectory, funcsDirectory, staticDirectory, netlifyOutput, routes, redirectContent, redirectFilePath, vercelOutput, config, destHtmlDirectory, outputHtmlDirectory, plugins, serverAppContext, code, genNodeEntry, genVercelEntry, serverAppContext1, genNetlifyEntry, entryFilePath;
21
+ var appContext, modernConfig, mainEntryName, appDirectory, distDirectory, serverInternalPlugins, sharedDirectory, apiDirectory, lambdaDirectory, metaName, entrypoints, _getProjectUsage, useSSR, useAPI, useWebServer, needModernServer, outputDirectory, funcsDirectory, staticDirectory, netlifyOutput, routes, redirectContent, redirectFilePath, vercelOutput, config, destHtmlDirectory, outputHtmlDirectory, plugins, serverAppContext, code, genNodeEntry, genVercelEntry, genNetlifyEntry, entryFilePath;
22
22
  return _ts_generator(this, function(_state) {
23
23
  switch (_state.label) {
24
24
  case 0:
@@ -235,6 +235,7 @@ function deploy_default() {
235
235
  lambdaDirectory: 'path.join(__dirname, "'.concat(path.relative(appDirectory, lambdaDirectory), '")'),
236
236
  metaName
237
237
  };
238
+ console.log("serverAppContext", serverAppContext);
238
239
  code = "";
239
240
  console.log("deployTarget111111111", deployTarget);
240
241
  switch (deployTarget) {
@@ -246,17 +247,17 @@ function deploy_default() {
246
247
  case "vercel":
247
248
  return [
248
249
  3,
249
- 21
250
+ 22
250
251
  ];
251
252
  case "netlify":
252
253
  return [
253
254
  3,
254
- 24
255
+ 25
255
256
  ];
256
257
  }
257
258
  return [
258
259
  3,
259
- 26
260
+ 28
260
261
  ];
261
262
  case 19:
262
263
  return [
@@ -265,75 +266,79 @@ function deploy_default() {
265
266
  ];
266
267
  case 20:
267
268
  genNodeEntry = _state.sent().genNodeEntry;
268
- code = genNodeEntry({
269
- plugins,
270
- config: modernConfig,
271
- appContext: serverAppContext
272
- });
273
269
  return [
274
- 3,
275
- 27
270
+ 4,
271
+ genNodeEntry({
272
+ plugins,
273
+ config: modernConfig,
274
+ appContext: serverAppContext
275
+ })
276
276
  ];
277
277
  case 21:
278
+ code = _state.sent();
279
+ return [
280
+ 3,
281
+ 29
282
+ ];
283
+ case 22:
278
284
  return [
279
285
  4,
280
286
  import("./platforms/vercel")
281
287
  ];
282
- case 22:
288
+ case 23:
283
289
  genVercelEntry = _state.sent().genVercelEntry;
284
- serverAppContext1 = {
285
- sharedDirectory: path.join(__dirname, path.relative(appDirectory, sharedDirectory)),
286
- apiDirectory: path.join(__dirname, path.relative(appDirectory, apiDirectory)),
287
- lambdaDirectory: path.join(__dirname, path.relative(appDirectory, lambdaDirectory)),
288
- metaName
289
- };
290
290
  return [
291
291
  4,
292
292
  genVercelEntry({
293
293
  plugins,
294
294
  config: modernConfig,
295
- appContext: serverAppContext1
295
+ appContext: serverAppContext
296
296
  })
297
297
  ];
298
- case 23:
298
+ case 24:
299
299
  code = _state.sent();
300
300
  return [
301
301
  3,
302
- 27
302
+ 29
303
303
  ];
304
- case 24:
304
+ case 25:
305
305
  return [
306
306
  4,
307
307
  import("./platforms/netlify")
308
308
  ];
309
- case 25:
309
+ case 26:
310
310
  genNetlifyEntry = _state.sent().genNetlifyEntry;
311
- code = genNetlifyEntry({
312
- plugins,
313
- config: modernConfig,
314
- appContext: serverAppContext
315
- });
311
+ return [
312
+ 4,
313
+ genNetlifyEntry({
314
+ plugins,
315
+ config: modernConfig,
316
+ appContext: serverAppContext
317
+ })
318
+ ];
319
+ case 27:
320
+ code = _state.sent();
316
321
  return [
317
322
  3,
318
- 27
323
+ 29
319
324
  ];
320
- case 26:
325
+ case 28:
321
326
  {
322
327
  code = 'throw new Error("unknown deploy target, MODERNJS_DEPLOY should be set");';
323
328
  }
324
- _state.label = 27;
325
- case 27:
329
+ _state.label = 29;
330
+ case 29:
326
331
  entryFilePath = path.join(funcsDirectory, "index.js");
327
332
  if (!needModernServer)
328
333
  return [
329
334
  3,
330
- 30
335
+ 32
331
336
  ];
332
337
  return [
333
338
  4,
334
339
  fse.writeFile(entryFilePath, code)
335
340
  ];
336
- case 28:
341
+ case 30:
337
342
  _state.sent();
338
343
  return [
339
344
  4,
@@ -341,10 +346,10 @@ function deploy_default() {
341
346
  "@modern-js/prod-server"
342
347
  ])
343
348
  ];
344
- case 29:
349
+ case 31:
345
350
  _state.sent();
346
- _state.label = 30;
347
- case 30:
351
+ _state.label = 32;
352
+ case 32:
348
353
  return [
349
354
  2
350
355
  ];
@@ -1,38 +1,47 @@
1
- import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG } from "@modern-js/utils";
2
- import { genPluginImportsCode, getPluginsCode, severAppContextTemplate } from "../utils";
3
- function genNodeEntry() {
4
- var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, config = _ref.config, plugins = _ref.plugins, appContext = _ref.appContext;
5
- var defaultConfig = {
6
- server: {
7
- port: 8080
8
- },
9
- output: {
10
- path: "."
11
- }
12
- };
13
- return "\n\n const fs = require('node:fs/promises');\n const path = require('node:path');\n const { createProdServer } = require('@modern-js/prod-server');\n ".concat(genPluginImportsCode(plugins || []), `
14
-
15
- if(!process.env.NODE_ENV){
16
- process.env.NODE_ENV = 'production';
17
- }
18
-
19
- async function main() {
20
- try {
21
- let routes = [];
22
- const routeFilepath = path.join(__dirname, "`).concat(ROUTE_SPEC_FILE, `");
23
- try {
24
- await fs.access(routeFilepath);
25
- const content = await fs.readFile(routeFilepath, "utf-8");
26
- const routeSpec = JSON.parse(content);
27
- routes = routeSpec.routes;
28
- } catch (error) {
29
- console.warn('route.json not found, continuing with empty routes.');
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ import path from "node:path";
4
+ import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG, fs as fse } from "@modern-js/utils";
5
+ import { genPluginImportsCode } from "../utils";
6
+ function genNodeEntry(_) {
7
+ return _genNodeEntry.apply(this, arguments);
8
+ }
9
+ function _genNodeEntry() {
10
+ _genNodeEntry = _async_to_generator(function(param) {
11
+ var config, plugins, appContext, defaultConfig, pluginImportCode, dynamicProdOptions, entryCode;
12
+ return _ts_generator(this, function(_state) {
13
+ switch (_state.label) {
14
+ case 0:
15
+ config = param.config, plugins = param.plugins, appContext = param.appContext;
16
+ defaultConfig = {
17
+ server: {
18
+ port: 8080
19
+ },
20
+ output: {
21
+ path: "."
22
+ }
23
+ };
24
+ pluginImportCode = genPluginImportsCode(plugins || []);
25
+ dynamicProdOptions = {
26
+ config: config || defaultConfig,
27
+ serverConfigFile: DEFAULT_SERVER_CONFIG,
28
+ plugins
29
+ };
30
+ return [
31
+ 4,
32
+ fse.readFile(path.join(__dirname, "./nodeEntry.js"))
33
+ ];
34
+ case 1:
35
+ entryCode = _state.sent().toString();
36
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", '"'.concat(ROUTE_SPEC_FILE, '"')).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_sharedDirectory", appContext.sharedDirectory).replace("p_apiDirectory", appContext.apiDirectory).replace("p_lambdaDirectory", appContext.lambdaDirectory);
37
+ return [
38
+ 2,
39
+ entryCode
40
+ ];
30
41
  }
31
-
32
- const prodServerOptions = {
33
- pwd: __dirname,
34
- routes,
35
- config: `).concat(JSON.stringify(config || defaultConfig), ",\n serverConfigFile: '").concat(DEFAULT_SERVER_CONFIG, "',\n plugins: ").concat(getPluginsCode(plugins || []), ",\n appContext: ").concat(appContext ? severAppContextTemplate(appContext) : "undefined", ",\n disableCustomHook: true\n }\n\n const app = await createProdServer(prodServerOptions)\n\n const port = process.env.PORT || 3000;\n\n app.listen(port, () => {\n console.log('\\x1b[32mServer is listening on port', port, '\\x1b[0m');\n });\n } catch(error) {\n console.error(error);\n process.exit(1);\n }\n }\n\n main();\n ");
42
+ });
43
+ });
44
+ return _genNodeEntry.apply(this, arguments);
36
45
  }
37
46
  export {
38
47
  genNodeEntry
@@ -76,7 +76,12 @@ function _main() {
76
76
  prodServerOptions = _object_spread._({
77
77
  pwd: __dirname,
78
78
  routes,
79
- disableCustomHook: true
79
+ disableCustomHook: true,
80
+ appContext: {
81
+ sharedDirectory: p_sharedDirectory,
82
+ apiDirectory: p_apiDirectory,
83
+ lambdaDirectory: p_lambdaDirectory
84
+ }
80
85
  }, dynamicProdOptions);
81
86
  return [
82
87
  4,
@@ -86,7 +91,7 @@ function _main() {
86
91
  app = _state.sent();
87
92
  port = process.env.PORT || 8080;
88
93
  app.listen(port, function() {
89
- console.log("\\x1b[32mServer is listening on port", port, "\\x1b[0m");
94
+ console.log("\x1B[32mServer is listening on port", port, "\x1B[0m");
90
95
  });
91
96
  return [
92
97
  2
@@ -3,33 +3,26 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import path from "node:path";
4
4
  import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG, fs as fse } from "@modern-js/utils";
5
5
  import { genPluginImportsCode } from "../utils";
6
- function genVercelEntry() {
6
+ function genVercelEntry(_) {
7
7
  return _genVercelEntry.apply(this, arguments);
8
8
  }
9
9
  function _genVercelEntry() {
10
- _genVercelEntry = _async_to_generator(function() {
11
- var _ref, config, plugins, appContext, defaultConfig, pluginImportCode, dynamicProdOptions, entryCode;
12
- var _arguments = arguments;
10
+ _genVercelEntry = _async_to_generator(function(param) {
11
+ var config, plugins, appContext, defaultConfig, pluginImportCode, dynamicProdOptions, entryCode;
13
12
  return _ts_generator(this, function(_state) {
14
13
  switch (_state.label) {
15
14
  case 0:
16
- _ref = _arguments.length > 0 && _arguments[0] !== void 0 ? _arguments[0] : {}, config = _ref.config, plugins = _ref.plugins, appContext = _ref.appContext;
15
+ config = param.config, plugins = param.plugins, appContext = param.appContext;
17
16
  defaultConfig = {
18
17
  output: {
19
18
  path: "."
20
19
  }
21
20
  };
22
- console.log("appContext.sharedDirectory", appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory);
23
21
  pluginImportCode = genPluginImportsCode(plugins || []);
24
22
  dynamicProdOptions = {
25
23
  config: config || defaultConfig,
26
24
  serverConfigFile: DEFAULT_SERVER_CONFIG,
27
- plugins,
28
- appContext: appContext ? {
29
- sharedDirectory: appContext.sharedDirectory,
30
- apiDirectory: appContext.apiDirectory,
31
- lambdaDirectory: appContext.lambdaDirectory
32
- } : "undefined"
25
+ plugins
33
26
  };
34
27
  return [
35
28
  4,
@@ -37,11 +30,7 @@ function _genVercelEntry() {
37
30
  ];
38
31
  case 1:
39
32
  entryCode = _state.sent().toString();
40
- entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", '"'.concat(ROUTE_SPEC_FILE, '"')).replace(
41
- "p_dynamicProdOptions",
42
- // JSON.stringify(dynamicProdOptions),
43
- JSON.stringify(dynamicProdOptions)
44
- );
33
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", '"'.concat(ROUTE_SPEC_FILE, '"')).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_sharedDirectory", appContext.sharedDirectory).replace("p_apiDirectory", appContext.apiDirectory).replace("p_lambdaDirectory", appContext.lambdaDirectory);
45
34
  return [
46
35
  2,
47
36
  entryCode
@@ -84,7 +84,12 @@ var require_vercelEntry = __commonJS({
84
84
  prodServerOptions = _object_spread._({
85
85
  pwd: __dirname,
86
86
  routes,
87
- disableCustomHook: true
87
+ disableCustomHook: true,
88
+ appContext: {
89
+ sharedDirectory: p_sharedDirectory,
90
+ apiDirectory: p_apiDirectory,
91
+ lambdaDirectory: p_lambdaDirectory
92
+ }
88
93
  }, dynamicProdOptions);
89
94
  return [
90
95
  4,
@@ -135,12 +135,13 @@ var deploy_default = () => ({
135
135
  lambdaDirectory: `path.join(__dirname, "${path.relative(appDirectory, lambdaDirectory)}")`,
136
136
  metaName
137
137
  };
138
+ console.log("serverAppContext", serverAppContext);
138
139
  let code = ``;
139
140
  console.log("deployTarget111111111", deployTarget);
140
141
  switch (deployTarget) {
141
142
  case "node": {
142
143
  const { genNodeEntry } = await import("./platforms/node");
143
- code = genNodeEntry({
144
+ code = await genNodeEntry({
144
145
  plugins,
145
146
  config: modernConfig,
146
147
  appContext: serverAppContext
@@ -149,22 +150,16 @@ var deploy_default = () => ({
149
150
  }
150
151
  case "vercel": {
151
152
  const { genVercelEntry } = await import("./platforms/vercel");
152
- const serverAppContext2 = {
153
- sharedDirectory: path.join(__dirname, path.relative(appDirectory, sharedDirectory)),
154
- apiDirectory: path.join(__dirname, path.relative(appDirectory, apiDirectory)),
155
- lambdaDirectory: path.join(__dirname, path.relative(appDirectory, lambdaDirectory)),
156
- metaName
157
- };
158
153
  code = await genVercelEntry({
159
154
  plugins,
160
155
  config: modernConfig,
161
- appContext: serverAppContext2
156
+ appContext: serverAppContext
162
157
  });
163
158
  break;
164
159
  }
165
160
  case "netlify": {
166
161
  const { genNetlifyEntry } = await import("./platforms/netlify");
167
- code = genNetlifyEntry({
162
+ code = await genNetlifyEntry({
168
163
  plugins,
169
164
  config: modernConfig,
170
165
  appContext: serverAppContext
@@ -1,6 +1,7 @@
1
- import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG } from "@modern-js/utils";
2
- import { genPluginImportsCode, getPluginsCode, severAppContextTemplate } from "../utils";
3
- function genNodeEntry({ config, plugins, appContext } = {}) {
1
+ import path from "node:path";
2
+ import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG, fs as fse } from "@modern-js/utils";
3
+ import { genPluginImportsCode } from "../utils";
4
+ async function genNodeEntry({ config, plugins, appContext }) {
4
5
  const defaultConfig = {
5
6
  server: {
6
7
  port: 8080
@@ -9,55 +10,15 @@ function genNodeEntry({ config, plugins, appContext } = {}) {
9
10
  path: "."
10
11
  }
11
12
  };
12
- return `
13
-
14
- const fs = require('node:fs/promises');
15
- const path = require('node:path');
16
- const { createProdServer } = require('@modern-js/prod-server');
17
- ${genPluginImportsCode(plugins || [])}
18
-
19
- if(!process.env.NODE_ENV){
20
- process.env.NODE_ENV = 'production';
21
- }
22
-
23
- async function main() {
24
- try {
25
- let routes = [];
26
- const routeFilepath = path.join(__dirname, "${ROUTE_SPEC_FILE}");
27
- try {
28
- await fs.access(routeFilepath);
29
- const content = await fs.readFile(routeFilepath, "utf-8");
30
- const routeSpec = JSON.parse(content);
31
- routes = routeSpec.routes;
32
- } catch (error) {
33
- console.warn('route.json not found, continuing with empty routes.');
34
- }
35
-
36
- const prodServerOptions = {
37
- pwd: __dirname,
38
- routes,
39
- config: ${JSON.stringify(config || defaultConfig)},
40
- serverConfigFile: '${DEFAULT_SERVER_CONFIG}',
41
- plugins: ${getPluginsCode(plugins || [])},
42
- appContext: ${appContext ? severAppContextTemplate(appContext) : "undefined"},
43
- disableCustomHook: true
44
- }
45
-
46
- const app = await createProdServer(prodServerOptions)
47
-
48
- const port = process.env.PORT || 3000;
49
-
50
- app.listen(port, () => {
51
- console.log('\\x1b[32mServer is listening on port', port, '\\x1b[0m');
52
- });
53
- } catch(error) {
54
- console.error(error);
55
- process.exit(1);
56
- }
57
- }
58
-
59
- main();
60
- `;
13
+ const pluginImportCode = genPluginImportsCode(plugins || []);
14
+ const dynamicProdOptions = {
15
+ config: config || defaultConfig,
16
+ serverConfigFile: DEFAULT_SERVER_CONFIG,
17
+ plugins
18
+ };
19
+ let entryCode = (await fse.readFile(path.join(__dirname, "./nodeEntry.js"))).toString();
20
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_sharedDirectory", appContext.sharedDirectory).replace("p_apiDirectory", appContext.apiDirectory).replace("p_lambdaDirectory", appContext.lambdaDirectory);
21
+ return entryCode;
61
22
  }
62
23
  export {
63
24
  genNodeEntry
@@ -24,12 +24,17 @@ async function main() {
24
24
  pwd: __dirname,
25
25
  routes,
26
26
  disableCustomHook: true,
27
+ appContext: {
28
+ sharedDirectory: p_sharedDirectory,
29
+ apiDirectory: p_apiDirectory,
30
+ lambdaDirectory: p_lambdaDirectory
31
+ },
27
32
  ...dynamicProdOptions
28
33
  };
29
34
  const app = await createProdServer(prodServerOptions);
30
35
  const port = process.env.PORT || 8080;
31
36
  app.listen(port, () => {
32
- console.log("\\x1b[32mServer is listening on port", port, "\\x1b[0m");
37
+ console.log("\x1B[32mServer is listening on port", port, "\x1B[0m");
33
38
  });
34
39
  }
35
40
  main();
@@ -1,30 +1,20 @@
1
1
  import path from "node:path";
2
2
  import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG, fs as fse } from "@modern-js/utils";
3
3
  import { genPluginImportsCode } from "../utils";
4
- async function genVercelEntry({ config, plugins, appContext } = {}) {
4
+ async function genVercelEntry({ config, plugins, appContext }) {
5
5
  const defaultConfig = {
6
6
  output: {
7
7
  path: "."
8
8
  }
9
9
  };
10
- console.log("appContext.sharedDirectory", appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory);
11
10
  const pluginImportCode = genPluginImportsCode(plugins || []);
12
11
  const dynamicProdOptions = {
13
12
  config: config || defaultConfig,
14
13
  serverConfigFile: DEFAULT_SERVER_CONFIG,
15
- plugins,
16
- appContext: appContext ? {
17
- sharedDirectory: appContext.sharedDirectory,
18
- apiDirectory: appContext.apiDirectory,
19
- lambdaDirectory: appContext.lambdaDirectory
20
- } : "undefined"
14
+ plugins
21
15
  };
22
16
  let entryCode = (await fse.readFile(path.join(__dirname, "./vercelEntry.js"))).toString();
23
- entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${ROUTE_SPEC_FILE}"`).replace(
24
- "p_dynamicProdOptions",
25
- // JSON.stringify(dynamicProdOptions),
26
- JSON.stringify(dynamicProdOptions)
27
- );
17
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_sharedDirectory", appContext.sharedDirectory).replace("p_apiDirectory", appContext.apiDirectory).replace("p_lambdaDirectory", appContext.lambdaDirectory);
28
18
  return entryCode;
29
19
  }
30
20
  export {
@@ -32,6 +32,11 @@ var require_vercelEntry = __commonJS({
32
32
  pwd: __dirname,
33
33
  routes,
34
34
  disableCustomHook: true,
35
+ appContext: {
36
+ sharedDirectory: p_sharedDirectory,
37
+ apiDirectory: p_apiDirectory,
38
+ lambdaDirectory: p_lambdaDirectory
39
+ },
35
40
  ...dynamicProdOptions
36
41
  };
37
42
  const app = await createProdServer(prodServerOptions);
@@ -1,5 +1,8 @@
1
- export declare function genNodeEntry({ config, plugins, appContext, }?: {
2
- config?: Record<string, any>;
1
+ import { NormalizedConfig } from '@modern-js/core';
2
+ import { AppTools } from '../../../types';
3
+ import { AppContext } from './platform';
4
+ export declare function genNodeEntry({ config, plugins, appContext, }: {
5
+ config?: NormalizedConfig<AppTools>;
3
6
  plugins?: string[];
4
- appContext?: Record<string, any>;
5
- }): string;
7
+ appContext: AppContext;
8
+ }): Promise<string>;
@@ -1 +1,5 @@
1
- export {};
1
+ export type AppContext = {
2
+ sharedDirectory: string;
3
+ apiDirectory: string;
4
+ lambdaDirectory: string;
5
+ };
@@ -1,5 +1,8 @@
1
- export declare function genVercelEntry({ config, plugins, appContext, }?: {
2
- config?: Record<string, any>;
1
+ import { NormalizedConfig } from '@modern-js/core';
2
+ import { AppTools } from '../../../types';
3
+ import { AppContext } from './platform';
4
+ export declare function genVercelEntry({ config, plugins, appContext, }: {
5
+ config?: NormalizedConfig<AppTools>;
3
6
  plugins?: string[];
4
- appContext?: Record<string, any>;
7
+ appContext: AppContext;
5
8
  }): Promise<string>;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.49.3-alpha.11",
18
+ "version": "2.49.3-alpha.13",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -80,20 +80,20 @@
80
80
  "mlly": "^1.6.1",
81
81
  "pkg-types": "^1.1.0",
82
82
  "std-env": "^3.7.0",
83
- "@modern-js/core": "2.49.2",
84
- "@modern-js/plugin": "2.49.2",
83
+ "@modern-js/node-bundle-require": "2.49.2",
85
84
  "@modern-js/plugin-data-loader": "2.49.2",
85
+ "@modern-js/core": "2.49.2",
86
86
  "@modern-js/plugin-i18n": "2.49.2",
87
- "@modern-js/rsbuild-plugin-esbuild": "2.49.2",
88
- "@modern-js/prod-server": "2.49.2",
89
87
  "@modern-js/plugin-lint": "2.49.2",
88
+ "@modern-js/prod-server": "2.49.2",
89
+ "@modern-js/rsbuild-plugin-esbuild": "2.49.2",
90
+ "@modern-js/plugin": "2.49.2",
91
+ "@modern-js/server": "2.49.2",
90
92
  "@modern-js/server-core": "2.49.2",
91
- "@modern-js/node-bundle-require": "2.49.2",
93
+ "@modern-js/uni-builder": "2.49.2",
92
94
  "@modern-js/server-utils": "2.49.2",
93
95
  "@modern-js/types": "2.49.2",
94
- "@modern-js/uni-builder": "2.49.2",
95
- "@modern-js/utils": "2.49.2",
96
- "@modern-js/server": "2.49.2"
96
+ "@modern-js/utils": "2.49.2"
97
97
  },
98
98
  "devDependencies": {
99
99
  "@rsbuild/plugin-swc": "0.6.10",