@modern-js/app-tools 2.49.3-alpha.2 → 2.49.3-alpha.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. package/dist/cjs/analyze/getServerRoutes.js +4 -3
  2. package/dist/cjs/plugins/deploy/dependencies.js +1 -12
  3. package/dist/cjs/plugins/deploy/index.js +25 -147
  4. package/dist/cjs/plugins/deploy/platforms/netlify.js +118 -0
  5. package/dist/cjs/plugins/deploy/platforms/netlifyEntry.js +60 -0
  6. package/dist/cjs/plugins/deploy/platforms/node.js +90 -0
  7. package/dist/cjs/plugins/deploy/platforms/nodeEntry.js +41 -0
  8. package/dist/cjs/plugins/deploy/platforms/platform.js +16 -0
  9. package/dist/cjs/plugins/deploy/platforms/vercel.js +145 -0
  10. package/dist/cjs/plugins/deploy/platforms/vercelEntry.js +60 -0
  11. package/dist/cjs/plugins/deploy/utils.js +22 -8
  12. package/dist/cjs/utils/routes.js +7 -2
  13. package/dist/esm/analyze/getServerRoutes.js +5 -4
  14. package/dist/esm/plugins/deploy/dependencies.js +1 -47
  15. package/dist/esm/plugins/deploy/index.js +66 -245
  16. package/dist/esm/plugins/deploy/platforms/netlify.js +174 -0
  17. package/dist/esm/plugins/deploy/platforms/netlifyEntry.js +202 -0
  18. package/dist/esm/plugins/deploy/platforms/node.js +122 -0
  19. package/dist/esm/plugins/deploy/platforms/nodeEntry.js +104 -0
  20. package/dist/esm/plugins/deploy/platforms/platform.js +0 -0
  21. package/dist/esm/plugins/deploy/platforms/vercel.js +220 -0
  22. package/dist/esm/plugins/deploy/platforms/vercelEntry.js +202 -0
  23. package/dist/esm/plugins/deploy/utils.js +55 -3
  24. package/dist/esm/utils/routes.js +6 -2
  25. package/dist/esm-node/analyze/getServerRoutes.js +5 -4
  26. package/dist/esm-node/plugins/deploy/dependencies.js +1 -12
  27. package/dist/esm-node/plugins/deploy/index.js +24 -136
  28. package/dist/esm-node/plugins/deploy/platforms/netlify.js +84 -0
  29. package/dist/esm-node/plugins/deploy/platforms/netlifyEntry.js +68 -0
  30. package/dist/esm-node/plugins/deploy/platforms/node.js +56 -0
  31. package/dist/esm-node/plugins/deploy/platforms/nodeEntry.js +40 -0
  32. package/dist/esm-node/plugins/deploy/platforms/platform.js +0 -0
  33. package/dist/esm-node/plugins/deploy/platforms/vercel.js +111 -0
  34. package/dist/esm-node/plugins/deploy/platforms/vercelEntry.js +68 -0
  35. package/dist/esm-node/plugins/deploy/utils.js +20 -7
  36. package/dist/esm-node/utils/routes.js +6 -2
  37. package/dist/types/plugins/deploy/platforms/netlify.d.ts +2 -0
  38. package/dist/types/plugins/deploy/platforms/netlifyEntry.d.ts +2 -0
  39. package/dist/types/plugins/deploy/platforms/node.d.ts +2 -0
  40. package/dist/types/plugins/deploy/platforms/nodeEntry.d.ts +1 -0
  41. package/dist/types/plugins/deploy/platforms/platform.d.ts +10 -0
  42. package/dist/types/plugins/deploy/platforms/vercel.d.ts +2 -0
  43. package/dist/types/plugins/deploy/platforms/vercelEntry.d.ts +2 -0
  44. package/dist/types/plugins/deploy/utils.d.ts +8 -1
  45. package/dist/types/utils/routes.d.ts +3 -3
  46. package/package.json +21 -21
  47. package/dist/cjs/plugins/deploy/entrys/netlify.js +0 -95
  48. package/dist/cjs/plugins/deploy/entrys/node.js +0 -88
  49. package/dist/cjs/plugins/deploy/entrys/vercel.js +0 -97
  50. package/dist/esm/plugins/deploy/entrys/netlify.js +0 -41
  51. package/dist/esm/plugins/deploy/entrys/node.js +0 -39
  52. package/dist/esm/plugins/deploy/entrys/vercel.js +0 -43
  53. package/dist/esm-node/plugins/deploy/entrys/netlify.js +0 -71
  54. package/dist/esm-node/plugins/deploy/entrys/node.js +0 -64
  55. package/dist/esm-node/plugins/deploy/entrys/vercel.js +0 -73
  56. package/dist/types/plugins/deploy/entrys/netlify.d.ts +0 -5
  57. package/dist/types/plugins/deploy/entrys/node.d.ts +0 -5
  58. package/dist/types/plugins/deploy/entrys/vercel.d.ts +0 -6
@@ -0,0 +1,202 @@
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __commonJS = (cb, mod) => function __require() {
3
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
+ };
5
+ var require_netlifyEntry = __commonJS({
6
+ "src/plugins/deploy/platforms/netlifyEntry.js"(exports, module) {
7
+ var _async_to_generator = require("@swc/helpers/_/_async_to_generator");
8
+ var _object_spread = require("@swc/helpers/_/_object_spread");
9
+ var _ts_generator = require("@swc/helpers/_/_ts_generator");
10
+ var fs = require("node:fs/promises");
11
+ var path = require("node:path");
12
+ var createNetlifyFunction = require("@modern-js/prod-server/netlify").createNetlifyFunction;
13
+ p_genPluginImportsCode;
14
+ if (!process.env.NODE_ENV) {
15
+ process.env.NODE_ENV = "production";
16
+ }
17
+ var requestHandler = null;
18
+ var handlerCreationPromise = null;
19
+ function loadRoutes(routeFilepath) {
20
+ return _loadRoutes.apply(this, arguments);
21
+ }
22
+ function _loadRoutes() {
23
+ _loadRoutes = _async_to_generator._(function(routeFilepath) {
24
+ var content, routeSpec, error;
25
+ return _ts_generator._(this, function(_state) {
26
+ switch (_state.label) {
27
+ case 0:
28
+ _state.trys.push([
29
+ 0,
30
+ 3,
31
+ ,
32
+ 4
33
+ ]);
34
+ return [
35
+ 4,
36
+ fs.access(routeFilepath)
37
+ ];
38
+ case 1:
39
+ _state.sent();
40
+ return [
41
+ 4,
42
+ fs.readFile(routeFilepath, "utf-8")
43
+ ];
44
+ case 2:
45
+ content = _state.sent();
46
+ routeSpec = JSON.parse(content);
47
+ return [
48
+ 2,
49
+ routeSpec.routes || []
50
+ ];
51
+ case 3:
52
+ error = _state.sent();
53
+ console.warn("route.json not found or invalid, continuing with empty routes.");
54
+ return [
55
+ 2,
56
+ []
57
+ ];
58
+ case 4:
59
+ return [
60
+ 2
61
+ ];
62
+ }
63
+ });
64
+ });
65
+ return _loadRoutes.apply(this, arguments);
66
+ }
67
+ function initServer() {
68
+ return _initServer.apply(this, arguments);
69
+ }
70
+ function _initServer() {
71
+ _initServer = _async_to_generator._(function() {
72
+ var routeFilepath, routes, dynamicProdOptions, prodServerOptions, requestHandler2;
73
+ return _ts_generator._(this, function(_state) {
74
+ switch (_state.label) {
75
+ case 0:
76
+ routeFilepath = path.join(__dirname, p_ROUTE_SPEC_FILE);
77
+ return [
78
+ 4,
79
+ loadRoutes(routeFilepath)
80
+ ];
81
+ case 1:
82
+ routes = _state.sent();
83
+ dynamicProdOptions = p_dynamicProdOptions;
84
+ prodServerOptions = _object_spread._({
85
+ pwd: __dirname,
86
+ routes,
87
+ disableCustomHook: true,
88
+ appContext: {
89
+ sharedDirectory: p_sharedDirectory,
90
+ apiDirectory: p_apiDirectory,
91
+ lambdaDirectory: p_lambdaDirectory
92
+ }
93
+ }, dynamicProdOptions);
94
+ return [
95
+ 4,
96
+ createNetlifyFunction(prodServerOptions)
97
+ ];
98
+ case 2:
99
+ requestHandler2 = _state.sent();
100
+ return [
101
+ 2,
102
+ requestHandler2
103
+ ];
104
+ }
105
+ });
106
+ });
107
+ return _initServer.apply(this, arguments);
108
+ }
109
+ function createHandler() {
110
+ return _createHandler.apply(this, arguments);
111
+ }
112
+ function _createHandler() {
113
+ _createHandler = _async_to_generator._(function() {
114
+ return _ts_generator._(this, function(_state) {
115
+ switch (_state.label) {
116
+ case 0:
117
+ if (!handlerCreationPromise) {
118
+ handlerCreationPromise = _async_to_generator._(function() {
119
+ var error;
120
+ return _ts_generator._(this, function(_state2) {
121
+ switch (_state2.label) {
122
+ case 0:
123
+ _state2.trys.push([
124
+ 0,
125
+ 2,
126
+ ,
127
+ 3
128
+ ]);
129
+ return [
130
+ 4,
131
+ initServer()
132
+ ];
133
+ case 1:
134
+ requestHandler = _state2.sent();
135
+ return [
136
+ 3,
137
+ 3
138
+ ];
139
+ case 2:
140
+ error = _state2.sent();
141
+ console.error("Error creating server:", error);
142
+ process.exit(1);
143
+ return [
144
+ 3,
145
+ 3
146
+ ];
147
+ case 3:
148
+ return [
149
+ 2
150
+ ];
151
+ }
152
+ });
153
+ })();
154
+ }
155
+ return [
156
+ 4,
157
+ handlerCreationPromise
158
+ ];
159
+ case 1:
160
+ _state.sent();
161
+ return [
162
+ 2,
163
+ requestHandler
164
+ ];
165
+ }
166
+ });
167
+ });
168
+ return _createHandler.apply(this, arguments);
169
+ }
170
+ createHandler();
171
+ module.exports.default = function() {
172
+ var _ref = _async_to_generator._(function(request, context) {
173
+ return _ts_generator._(this, function(_state) {
174
+ switch (_state.label) {
175
+ case 0:
176
+ if (!!requestHandler)
177
+ return [
178
+ 3,
179
+ 2
180
+ ];
181
+ return [
182
+ 4,
183
+ createHandler()
184
+ ];
185
+ case 1:
186
+ _state.sent();
187
+ _state.label = 2;
188
+ case 2:
189
+ return [
190
+ 2,
191
+ requestHandler(request, context)
192
+ ];
193
+ }
194
+ });
195
+ });
196
+ return function(request, context) {
197
+ return _ref.apply(this, arguments);
198
+ };
199
+ }();
200
+ }
201
+ });
202
+ export default require_netlifyEntry();
@@ -0,0 +1,122 @@
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, getInternalPlugins, chalk } from "@modern-js/utils";
5
+ import { genPluginImportsCode, serverAppContenxtTemplate } from "../utils";
6
+ import { handleDependencies } from "../dependencies";
7
+ var createNodePreset = function(appContext, config, needModernServer) {
8
+ var appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverInternalPlugins = appContext.serverInternalPlugins;
9
+ var plugins = getInternalPlugins(appDirectory, serverInternalPlugins);
10
+ var outputDirectory = path.join(appDirectory, ".output");
11
+ var staticDirectory = path.join(outputDirectory, "static");
12
+ var entryFilePath = path.join(outputDirectory, "index.js");
13
+ return {
14
+ prepare: function prepare() {
15
+ return _async_to_generator(function() {
16
+ return _ts_generator(this, function(_state) {
17
+ switch (_state.label) {
18
+ case 0:
19
+ return [
20
+ 4,
21
+ fse.remove(outputDirectory)
22
+ ];
23
+ case 1:
24
+ _state.sent();
25
+ return [
26
+ 2
27
+ ];
28
+ }
29
+ });
30
+ })();
31
+ },
32
+ writeOutput: function writeOutput() {
33
+ return _async_to_generator(function() {
34
+ return _ts_generator(this, function(_state) {
35
+ switch (_state.label) {
36
+ case 0:
37
+ return [
38
+ 4,
39
+ fse.copy(distDirectory, outputDirectory)
40
+ ];
41
+ case 1:
42
+ _state.sent();
43
+ return [
44
+ 2
45
+ ];
46
+ }
47
+ });
48
+ })();
49
+ },
50
+ genEntry: function genEntry() {
51
+ return _async_to_generator(function() {
52
+ var _config_bff, serverConfig, pluginImportCode, dynamicProdOptions, entryCode, serverAppContext;
53
+ return _ts_generator(this, function(_state) {
54
+ switch (_state.label) {
55
+ case 0:
56
+ if (!needModernServer) {
57
+ return [
58
+ 2
59
+ ];
60
+ }
61
+ serverConfig = {
62
+ server: {
63
+ port: 8080
64
+ },
65
+ bff: {
66
+ prefix: config === null || config === void 0 ? void 0 : (_config_bff = config.bff) === null || _config_bff === void 0 ? void 0 : _config_bff.prefix
67
+ },
68
+ output: {
69
+ path: "."
70
+ }
71
+ };
72
+ pluginImportCode = genPluginImportsCode(plugins || []);
73
+ dynamicProdOptions = {
74
+ config: serverConfig,
75
+ serverConfigFile: DEFAULT_SERVER_CONFIG,
76
+ plugins
77
+ };
78
+ return [
79
+ 4,
80
+ fse.readFile(path.join(__dirname, "./nodeEntry.js"))
81
+ ];
82
+ case 1:
83
+ entryCode = _state.sent().toString();
84
+ serverAppContext = serverAppContenxtTemplate(appContext);
85
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", '"'.concat(ROUTE_SPEC_FILE, '"')).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_sharedDirectory", serverAppContext.sharedDirectory).replace("p_apiDirectory", serverAppContext.apiDirectory).replace("p_lambdaDirectory", serverAppContext.lambdaDirectory);
86
+ return [
87
+ 4,
88
+ fse.writeFile(entryFilePath, entryCode)
89
+ ];
90
+ case 2:
91
+ _state.sent();
92
+ return [
93
+ 4,
94
+ handleDependencies(appDirectory, outputDirectory, [
95
+ "@modern-js/prod-server"
96
+ ])
97
+ ];
98
+ case 3:
99
+ _state.sent();
100
+ return [
101
+ 2
102
+ ];
103
+ }
104
+ });
105
+ })();
106
+ },
107
+ end: function end() {
108
+ return _async_to_generator(function() {
109
+ return _ts_generator(this, function(_state) {
110
+ console.log("Static directory:", chalk.blue(path.relative(appDirectory, staticDirectory)));
111
+ console.log("You can preview this build by", chalk.blue("node .output/index"));
112
+ return [
113
+ 2
114
+ ];
115
+ });
116
+ })();
117
+ }
118
+ };
119
+ };
120
+ export {
121
+ createNodePreset
122
+ };
@@ -0,0 +1,104 @@
1
+ var _async_to_generator = require("@swc/helpers/_/_async_to_generator");
2
+ var _object_spread = require("@swc/helpers/_/_object_spread");
3
+ var _ts_generator = require("@swc/helpers/_/_ts_generator");
4
+ var fs = require("node:fs/promises");
5
+ var path = require("node:path");
6
+ var createProdServer = require("@modern-js/prod-server").createProdServer;
7
+ p_genPluginImportsCode;
8
+ if (!process.env.NODE_ENV) {
9
+ process.env.NODE_ENV = "production";
10
+ }
11
+ function loadRoutes(routeFilepath) {
12
+ return _loadRoutes.apply(this, arguments);
13
+ }
14
+ function _loadRoutes() {
15
+ _loadRoutes = _async_to_generator._(function(routeFilepath) {
16
+ var content, routeSpec, error;
17
+ return _ts_generator._(this, function(_state) {
18
+ switch (_state.label) {
19
+ case 0:
20
+ _state.trys.push([
21
+ 0,
22
+ 3,
23
+ ,
24
+ 4
25
+ ]);
26
+ return [
27
+ 4,
28
+ fs.access(routeFilepath)
29
+ ];
30
+ case 1:
31
+ _state.sent();
32
+ return [
33
+ 4,
34
+ fs.readFile(routeFilepath, "utf-8")
35
+ ];
36
+ case 2:
37
+ content = _state.sent();
38
+ routeSpec = JSON.parse(content);
39
+ return [
40
+ 2,
41
+ routeSpec.routes || []
42
+ ];
43
+ case 3:
44
+ error = _state.sent();
45
+ console.warn("route.json not found or invalid, continuing with empty routes.");
46
+ return [
47
+ 2,
48
+ []
49
+ ];
50
+ case 4:
51
+ return [
52
+ 2
53
+ ];
54
+ }
55
+ });
56
+ });
57
+ return _loadRoutes.apply(this, arguments);
58
+ }
59
+ function main() {
60
+ return _main.apply(this, arguments);
61
+ }
62
+ function _main() {
63
+ _main = _async_to_generator._(function() {
64
+ var routeFilepath, routes, dynamicProdOptions, prodServerOptions, app, port;
65
+ return _ts_generator._(this, function(_state) {
66
+ switch (_state.label) {
67
+ case 0:
68
+ routeFilepath = path.join(__dirname, p_ROUTE_SPEC_FILE);
69
+ return [
70
+ 4,
71
+ loadRoutes(routeFilepath)
72
+ ];
73
+ case 1:
74
+ routes = _state.sent();
75
+ dynamicProdOptions = p_dynamicProdOptions;
76
+ prodServerOptions = _object_spread._({
77
+ pwd: __dirname,
78
+ routes,
79
+ disableCustomHook: true,
80
+ appContext: {
81
+ sharedDirectory: p_sharedDirectory,
82
+ apiDirectory: p_apiDirectory,
83
+ lambdaDirectory: p_lambdaDirectory
84
+ }
85
+ }, dynamicProdOptions);
86
+ return [
87
+ 4,
88
+ createProdServer(prodServerOptions)
89
+ ];
90
+ case 2:
91
+ app = _state.sent();
92
+ port = process.env.PORT || 8080;
93
+ app.listen(port, function() {
94
+ console.log("\x1B[32mServer is listening on port", port, "\x1B[0m");
95
+ });
96
+ return [
97
+ 2
98
+ ];
99
+ }
100
+ });
101
+ });
102
+ return _main.apply(this, arguments);
103
+ }
104
+ main();
File without changes
@@ -0,0 +1,220 @@
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, getInternalPlugins } from "@modern-js/utils";
5
+ import { isMainEntry } from "../../../utils/routes";
6
+ import { genPluginImportsCode, serverAppContenxtTemplate } from "../utils";
7
+ import { handleDependencies } from "../dependencies";
8
+ var createVercelPreset = function(appContext, modernConfig, needModernServer) {
9
+ var appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverInternalPlugins = appContext.serverInternalPlugins, entrypoints = appContext.entrypoints;
10
+ var plugins = getInternalPlugins(appDirectory, serverInternalPlugins);
11
+ var vercelOutput = path.join(appDirectory, ".vercel");
12
+ var outputDirectory = path.join(vercelOutput, "output");
13
+ var funcsDirectory = path.join(outputDirectory, "functions", "index.func");
14
+ var entryFilePath = path.join(funcsDirectory, "index.js");
15
+ return {
16
+ prepare: function prepare() {
17
+ return _async_to_generator(function() {
18
+ return _ts_generator(this, function(_state) {
19
+ switch (_state.label) {
20
+ case 0:
21
+ return [
22
+ 4,
23
+ fse.remove(vercelOutput)
24
+ ];
25
+ case 1:
26
+ _state.sent();
27
+ return [
28
+ 2
29
+ ];
30
+ }
31
+ });
32
+ })();
33
+ },
34
+ writeOutput: function writeOutput() {
35
+ return _async_to_generator(function() {
36
+ var config, mainEntryName, staticDirectory, destHtmlDirectory, outputHtmlDirectory;
37
+ return _ts_generator(this, function(_state) {
38
+ switch (_state.label) {
39
+ case 0:
40
+ config = {
41
+ version: 3,
42
+ routes: [
43
+ {
44
+ src: "/static/(.*)",
45
+ headers: {
46
+ "cache-control": "s-maxage=31536000, immutable"
47
+ },
48
+ continue: true
49
+ },
50
+ {
51
+ handle: "filesystem"
52
+ }
53
+ ]
54
+ };
55
+ if (!needModernServer) {
56
+ mainEntryName = modernConfig.source.mainEntryName;
57
+ entrypoints.forEach(function(entry) {
58
+ var isMain = isMainEntry(entry.entryName, mainEntryName);
59
+ config.routes.push({
60
+ src: "/".concat(isMain ? "" : entry.entryName, "(?:/.*)?"),
61
+ headers: {
62
+ "cache-control": "s-maxage=0"
63
+ },
64
+ dest: "/html/".concat(entry.entryName, "/index.html")
65
+ });
66
+ });
67
+ } else {
68
+ config.routes.push({
69
+ src: "/(.*)",
70
+ dest: "/index"
71
+ });
72
+ }
73
+ return [
74
+ 4,
75
+ fse.ensureDir(outputDirectory)
76
+ ];
77
+ case 1:
78
+ _state.sent();
79
+ return [
80
+ 4,
81
+ fse.writeJSON(path.join(outputDirectory, "config.json"), config, {
82
+ spaces: 2
83
+ })
84
+ ];
85
+ case 2:
86
+ _state.sent();
87
+ staticDirectory = path.join(outputDirectory, "static/static");
88
+ return [
89
+ 4,
90
+ fse.copy(path.join(distDirectory, "static"), staticDirectory)
91
+ ];
92
+ case 3:
93
+ _state.sent();
94
+ if (!!needModernServer)
95
+ return [
96
+ 3,
97
+ 5
98
+ ];
99
+ destHtmlDirectory = path.join(distDirectory, "html");
100
+ outputHtmlDirectory = path.join(path.join(outputDirectory, "static"), "html");
101
+ return [
102
+ 4,
103
+ fse.copy(destHtmlDirectory, outputHtmlDirectory)
104
+ ];
105
+ case 4:
106
+ _state.sent();
107
+ return [
108
+ 3,
109
+ 9
110
+ ];
111
+ case 5:
112
+ return [
113
+ 4,
114
+ fse.ensureDir(funcsDirectory)
115
+ ];
116
+ case 6:
117
+ _state.sent();
118
+ return [
119
+ 4,
120
+ fse.copy(distDirectory, funcsDirectory, {
121
+ filter: function(src) {
122
+ var distStaticDirectory = path.join(distDirectory, "static");
123
+ return !src.includes(distStaticDirectory);
124
+ }
125
+ })
126
+ ];
127
+ case 7:
128
+ _state.sent();
129
+ return [
130
+ 4,
131
+ fse.writeJSON(path.join(funcsDirectory, ".vc-config.json"), {
132
+ runtime: "nodejs16.x",
133
+ handler: "index.js",
134
+ launcherType: "Nodejs",
135
+ shouldAddHelpers: false,
136
+ supportsResponseStreaming: true
137
+ })
138
+ ];
139
+ case 8:
140
+ _state.sent();
141
+ _state.label = 9;
142
+ case 9:
143
+ return [
144
+ 2
145
+ ];
146
+ }
147
+ });
148
+ })();
149
+ },
150
+ genEntry: function genEntry() {
151
+ return _async_to_generator(function() {
152
+ var _modernConfig_bff, serverConfig, pluginImportCode, dynamicProdOptions, serverAppContext, entryCode;
153
+ return _ts_generator(this, function(_state) {
154
+ switch (_state.label) {
155
+ case 0:
156
+ if (!needModernServer) {
157
+ return [
158
+ 2
159
+ ];
160
+ }
161
+ serverConfig = {
162
+ bff: {
163
+ prefix: modernConfig === null || modernConfig === void 0 ? void 0 : (_modernConfig_bff = modernConfig.bff) === null || _modernConfig_bff === void 0 ? void 0 : _modernConfig_bff.prefix
164
+ },
165
+ output: {
166
+ path: "."
167
+ }
168
+ };
169
+ pluginImportCode = genPluginImportsCode(plugins || []);
170
+ dynamicProdOptions = {
171
+ config: serverConfig,
172
+ serverConfigFile: DEFAULT_SERVER_CONFIG,
173
+ plugins
174
+ };
175
+ serverAppContext = serverAppContenxtTemplate(appContext);
176
+ return [
177
+ 4,
178
+ fse.readFile(path.join(__dirname, "./vercelEntry.js"))
179
+ ];
180
+ case 1:
181
+ entryCode = _state.sent().toString();
182
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", '"'.concat(ROUTE_SPEC_FILE, '"')).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_sharedDirectory", serverAppContext.sharedDirectory).replace("p_apiDirectory", serverAppContext.apiDirectory).replace("p_lambdaDirectory", serverAppContext.lambdaDirectory);
183
+ return [
184
+ 4,
185
+ fse.writeFile(entryFilePath, entryCode)
186
+ ];
187
+ case 2:
188
+ _state.sent();
189
+ return [
190
+ 2
191
+ ];
192
+ }
193
+ });
194
+ })();
195
+ },
196
+ end: function end() {
197
+ return _async_to_generator(function() {
198
+ return _ts_generator(this, function(_state) {
199
+ switch (_state.label) {
200
+ case 0:
201
+ return [
202
+ 4,
203
+ handleDependencies(appDirectory, funcsDirectory, [
204
+ "@modern-js/prod-server"
205
+ ])
206
+ ];
207
+ case 1:
208
+ _state.sent();
209
+ return [
210
+ 2
211
+ ];
212
+ }
213
+ });
214
+ })();
215
+ }
216
+ };
217
+ };
218
+ export {
219
+ createVercelPreset
220
+ };