@modern-js/app-tools 2.49.3-alpha.16 → 2.49.3-alpha.17
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/plugins/deploy/dependencies.js +0 -1
- package/dist/cjs/plugins/deploy/index.js +20 -21
- package/dist/cjs/plugins/deploy/platforms/netlify.js +23 -50
- package/dist/cjs/plugins/deploy/platforms/node.js +6 -1
- package/dist/cjs/plugins/deploy/platforms/vercel.js +9 -9
- package/dist/esm/plugins/deploy/dependencies.js +0 -1
- package/dist/esm/plugins/deploy/index.js +82 -24
- package/dist/esm/plugins/deploy/platforms/netlify.js +31 -77
- package/dist/esm/plugins/deploy/platforms/node.js +14 -2
- package/dist/esm/plugins/deploy/platforms/vercel.js +10 -10
- package/dist/esm-node/plugins/deploy/dependencies.js +0 -1
- package/dist/esm-node/plugins/deploy/index.js +20 -21
- package/dist/esm-node/plugins/deploy/platforms/netlify.js +23 -50
- package/dist/esm-node/plugins/deploy/platforms/node.js +7 -2
- package/dist/esm-node/plugins/deploy/platforms/vercel.js +9 -9
- package/dist/types/plugins/deploy/platforms/platform.d.ts +4 -3
- package/package.json +7 -7
- package/dist/cjs/plugins/deploy/index copy.js +0 -216
- package/dist/esm/plugins/deploy/index copy.js +0 -367
- package/dist/esm-node/plugins/deploy/index copy.js +0 -186
- package/dist/types/plugins/deploy/index copy.d.ts +0 -4
@@ -202,7 +202,6 @@ const handleDependencies = async (appDir, serverRootDir, include) => {
|
|
202
202
|
const version = Object.keys(pkg.versions)[0];
|
203
203
|
return (0, import_utils2.writePackage)(pkg, version, serverRootDir);
|
204
204
|
}));
|
205
|
-
console.log("multiVersionPkgs111111111", multiVersionPkgs);
|
206
205
|
for (const [pkgName, pkgVersions] of Object.entries(multiVersionPkgs)) {
|
207
206
|
const versionEntires = Object.entries(pkgVersions).sort(([v1, p1], [v2, p2]) => {
|
208
207
|
if (p1.length === 0) {
|
@@ -26,6 +26,21 @@ var import_utils = require("./utils");
|
|
26
26
|
var import_node = require("./platforms/node");
|
27
27
|
var import_vercel = require("./platforms/vercel");
|
28
28
|
var import_netlify = require("./platforms/netlify");
|
29
|
+
const deployPresets = {
|
30
|
+
node: import_node.createNodePreset,
|
31
|
+
vercel: import_vercel.createVercelPreset,
|
32
|
+
netlify: import_netlify.createNetlifyPreset
|
33
|
+
};
|
34
|
+
async function getDeployPreset(appContext, modernConfig, deployTarget) {
|
35
|
+
const { appDirectory, distDirectory } = appContext;
|
36
|
+
const { useSSR, useAPI, useWebServer } = (0, import_utils.getProjectUsage)(appDirectory, distDirectory);
|
37
|
+
const needModernServer = useSSR || useAPI || useWebServer;
|
38
|
+
const createPreset = deployPresets[deployTarget];
|
39
|
+
if (!createPreset) {
|
40
|
+
throw new Error(`Unknown deploy target: '${deployTarget}'. MODERNJS_DEPLOY should be 'node', 'vercel', or 'netlify'.`);
|
41
|
+
}
|
42
|
+
return createPreset(appContext, modernConfig, needModernServer);
|
43
|
+
}
|
29
44
|
var deploy_default = () => ({
|
30
45
|
name: "@modern-js/plugin-deploy",
|
31
46
|
pre: [
|
@@ -37,28 +52,12 @@ var deploy_default = () => ({
|
|
37
52
|
return {
|
38
53
|
async beforeDeploy() {
|
39
54
|
const appContext = api.useAppContext();
|
40
|
-
const { appDirectory, distDirectory } = appContext;
|
41
55
|
const modernConfig = api.useResolvedConfigContext();
|
42
|
-
const
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
deployPreset = (0, import_node.createNodePreset)(appContext, modernConfig, needModernServer);
|
48
|
-
break;
|
49
|
-
case "vercel":
|
50
|
-
deployPreset = (0, import_vercel.createVercelPreset)(appContext, modernConfig, needModernServer);
|
51
|
-
break;
|
52
|
-
case "netlify":
|
53
|
-
deployPreset = (0, import_netlify.createNetlifyPreset)(appContext, modernConfig, needModernServer);
|
54
|
-
break;
|
55
|
-
default: {
|
56
|
-
throw new Error("unknown deploy target, MODERNJS_DEPLOY should be set");
|
57
|
-
}
|
58
|
-
}
|
59
|
-
await (deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.prepare());
|
60
|
-
await (deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.writeOutput());
|
61
|
-
await (deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.genEntry());
|
56
|
+
const deployPreset = await getDeployPreset(appContext, modernConfig, deployTarget);
|
57
|
+
(deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.prepare) && await (deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.prepare());
|
58
|
+
(deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.writeOutput) && await (deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.writeOutput());
|
59
|
+
(deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.genEntry) && await (deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.genEntry());
|
60
|
+
(deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.end) && await (deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.end());
|
62
61
|
}
|
63
62
|
};
|
64
63
|
}
|
@@ -36,86 +36,59 @@ var import_utils = require("@modern-js/utils");
|
|
36
36
|
var import_routes = require("../../../utils/routes");
|
37
37
|
var import_utils2 = require("../utils");
|
38
38
|
var import_dependencies = require("../dependencies");
|
39
|
-
const createNetlifyPreset = (appContext,
|
40
|
-
const { appDirectory, distDirectory, serverInternalPlugins,
|
39
|
+
const createNetlifyPreset = (appContext, modernConfig, needModernServer) => {
|
40
|
+
const { appDirectory, distDirectory, serverInternalPlugins, entrypoints } = appContext;
|
41
41
|
const plugins = (0, import_utils.getInternalPlugins)(appDirectory, serverInternalPlugins);
|
42
42
|
const netlifyOutput = import_node_path.default.join(appDirectory, ".netlify");
|
43
|
-
const
|
44
|
-
const funcsDirectory = import_node_path.default.join(outputDirectory, "functions", "index.func");
|
43
|
+
const funcsDirectory = import_node_path.default.join(netlifyOutput, "functions");
|
45
44
|
const entryFilePath = import_node_path.default.join(funcsDirectory, "index.js");
|
46
45
|
return {
|
47
46
|
async prepare() {
|
48
47
|
await import_utils.fs.remove(netlifyOutput);
|
49
48
|
},
|
50
49
|
async writeOutput() {
|
51
|
-
const
|
52
|
-
|
53
|
-
routes: [
|
54
|
-
{
|
55
|
-
src: "/static/(.*)",
|
56
|
-
headers: {
|
57
|
-
"cache-control": "s-maxage=31536000, immutable"
|
58
|
-
},
|
59
|
-
continue: true
|
60
|
-
},
|
61
|
-
{
|
62
|
-
handle: "filesystem"
|
63
|
-
}
|
64
|
-
]
|
65
|
-
};
|
50
|
+
const routes = [];
|
51
|
+
const { source: { mainEntryName } } = modernConfig;
|
66
52
|
if (!needModernServer) {
|
67
|
-
const { source: { mainEntryName } } = config2;
|
68
53
|
entrypoints.forEach((entry) => {
|
69
54
|
const isMain = (0, import_routes.isMainEntry)(entry.entryName, mainEntryName);
|
70
|
-
|
71
|
-
src: `/${isMain ? "" : entry.entryName}
|
72
|
-
|
73
|
-
|
74
|
-
},
|
75
|
-
dest: `/html/${entry.entryName}/index.html`
|
55
|
+
routes.push({
|
56
|
+
src: `/${isMain ? "" : `${entry.entryName}/`}*`,
|
57
|
+
dest: `/html/${entry.entryName}/index.html`,
|
58
|
+
status: 200
|
76
59
|
});
|
77
60
|
});
|
78
61
|
} else {
|
79
|
-
|
80
|
-
src: "
|
81
|
-
dest:
|
62
|
+
routes.push({
|
63
|
+
src: "/*",
|
64
|
+
dest: `/.netlify/functions/index`,
|
65
|
+
status: 200
|
82
66
|
});
|
83
67
|
}
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
const staticDirectory = import_node_path.default.join(outputDirectory, "static/static");
|
89
|
-
await import_utils.fs.copy(import_node_path.default.join(distDirectory, "static"), staticDirectory);
|
90
|
-
if (!needModernServer) {
|
91
|
-
const destHtmlDirectory = import_node_path.default.join(distDirectory, "html");
|
92
|
-
const outputHtmlDirectory = import_node_path.default.join(import_node_path.default.join(outputDirectory, "static"), "html");
|
93
|
-
await import_utils.fs.copy(destHtmlDirectory, outputHtmlDirectory);
|
94
|
-
} else {
|
68
|
+
const redirectContent = routes.map((route) => {
|
69
|
+
return `${route.src} ${route.dest} ${route.status}`;
|
70
|
+
}).join("\n");
|
71
|
+
if (needModernServer) {
|
95
72
|
await import_utils.fs.ensureDir(funcsDirectory);
|
73
|
+
await import_utils.fs.copy(distDirectory, funcsDirectory);
|
96
74
|
await import_utils.fs.copy(distDirectory, funcsDirectory, {
|
97
75
|
filter: (src) => {
|
98
|
-
const distStaticDirectory = import_node_path.default.join(distDirectory,
|
76
|
+
const distStaticDirectory = import_node_path.default.join(distDirectory, `static`);
|
99
77
|
return !src.includes(distStaticDirectory);
|
100
78
|
}
|
101
79
|
});
|
102
|
-
await import_utils.fs.writeJSON(import_node_path.default.join(funcsDirectory, ".vc-config.json"), {
|
103
|
-
runtime: "nodejs16.x",
|
104
|
-
handler: "index.js",
|
105
|
-
launcherType: "Nodejs",
|
106
|
-
shouldAddHelpers: false,
|
107
|
-
supportsResponseStreaming: true
|
108
|
-
});
|
109
80
|
}
|
81
|
+
const redirectFilePath = import_node_path.default.join(distDirectory, "__redirects");
|
82
|
+
await import_utils.fs.writeFile(redirectFilePath, redirectContent);
|
110
83
|
},
|
111
84
|
async genEntry() {
|
112
|
-
var
|
85
|
+
var _modernConfig_bff;
|
113
86
|
if (!needModernServer) {
|
114
87
|
return;
|
115
88
|
}
|
116
89
|
const serverConfig = {
|
117
90
|
bff: {
|
118
|
-
prefix:
|
91
|
+
prefix: modernConfig === null || modernConfig === void 0 ? void 0 : (_modernConfig_bff = modernConfig.bff) === null || _modernConfig_bff === void 0 ? void 0 : _modernConfig_bff.prefix
|
119
92
|
},
|
120
93
|
output: {
|
121
94
|
path: "."
|
@@ -36,9 +36,10 @@ var import_utils = require("@modern-js/utils");
|
|
36
36
|
var import_utils2 = require("../utils");
|
37
37
|
var import_dependencies = require("../dependencies");
|
38
38
|
const createNodePreset = (appContext, config, needModernServer) => {
|
39
|
-
const { appDirectory, distDirectory, serverInternalPlugins
|
39
|
+
const { appDirectory, distDirectory, serverInternalPlugins } = appContext;
|
40
40
|
const plugins = (0, import_utils.getInternalPlugins)(appDirectory, serverInternalPlugins);
|
41
41
|
const outputDirectory = import_node_path.default.join(appDirectory, ".output");
|
42
|
+
const staticDirectory = import_node_path.default.join(outputDirectory, "static");
|
42
43
|
const entryFilePath = import_node_path.default.join(outputDirectory, "index.js");
|
43
44
|
return {
|
44
45
|
async prepare() {
|
@@ -76,6 +77,10 @@ const createNodePreset = (appContext, config, needModernServer) => {
|
|
76
77
|
await (0, import_dependencies.handleDependencies)(appDirectory, outputDirectory, [
|
77
78
|
"@modern-js/prod-server"
|
78
79
|
]);
|
80
|
+
},
|
81
|
+
async end() {
|
82
|
+
console.log("Static directory:", import_utils.chalk.blue(import_node_path.default.relative(appDirectory, staticDirectory)));
|
83
|
+
console.log(`You can preview this build by`, import_utils.chalk.blue(`node .output/index`));
|
79
84
|
}
|
80
85
|
};
|
81
86
|
};
|
@@ -36,8 +36,8 @@ var import_utils = require("@modern-js/utils");
|
|
36
36
|
var import_routes = require("../../../utils/routes");
|
37
37
|
var import_utils2 = require("../utils");
|
38
38
|
var import_dependencies = require("../dependencies");
|
39
|
-
const createVercelPreset = (appContext,
|
40
|
-
const { appDirectory, distDirectory, serverInternalPlugins,
|
39
|
+
const createVercelPreset = (appContext, modernConfig, needModernServer) => {
|
40
|
+
const { appDirectory, distDirectory, serverInternalPlugins, entrypoints } = appContext;
|
41
41
|
const plugins = (0, import_utils.getInternalPlugins)(appDirectory, serverInternalPlugins);
|
42
42
|
const vercelOutput = import_node_path.default.join(appDirectory, ".vercel");
|
43
43
|
const outputDirectory = import_node_path.default.join(vercelOutput, "output");
|
@@ -48,7 +48,7 @@ const createVercelPreset = (appContext, config, needModernServer) => {
|
|
48
48
|
await import_utils.fs.remove(vercelOutput);
|
49
49
|
},
|
50
50
|
async writeOutput() {
|
51
|
-
const
|
51
|
+
const config = {
|
52
52
|
version: 3,
|
53
53
|
routes: [
|
54
54
|
{
|
@@ -64,10 +64,10 @@ const createVercelPreset = (appContext, config, needModernServer) => {
|
|
64
64
|
]
|
65
65
|
};
|
66
66
|
if (!needModernServer) {
|
67
|
-
const { source: { mainEntryName } } =
|
67
|
+
const { source: { mainEntryName } } = modernConfig;
|
68
68
|
entrypoints.forEach((entry) => {
|
69
69
|
const isMain = (0, import_routes.isMainEntry)(entry.entryName, mainEntryName);
|
70
|
-
|
70
|
+
config.routes.push({
|
71
71
|
src: `/${isMain ? "" : entry.entryName}(?:/.*)?`,
|
72
72
|
headers: {
|
73
73
|
"cache-control": "s-maxage=0"
|
@@ -76,13 +76,13 @@ const createVercelPreset = (appContext, config, needModernServer) => {
|
|
76
76
|
});
|
77
77
|
});
|
78
78
|
} else {
|
79
|
-
|
79
|
+
config.routes.push({
|
80
80
|
src: "/(.*)",
|
81
81
|
dest: `/index`
|
82
82
|
});
|
83
83
|
}
|
84
84
|
await import_utils.fs.ensureDir(outputDirectory);
|
85
|
-
await import_utils.fs.writeJSON(import_node_path.default.join(outputDirectory, "config.json"),
|
85
|
+
await import_utils.fs.writeJSON(import_node_path.default.join(outputDirectory, "config.json"), config, {
|
86
86
|
spaces: 2
|
87
87
|
});
|
88
88
|
const staticDirectory = import_node_path.default.join(outputDirectory, "static/static");
|
@@ -109,13 +109,13 @@ const createVercelPreset = (appContext, config, needModernServer) => {
|
|
109
109
|
}
|
110
110
|
},
|
111
111
|
async genEntry() {
|
112
|
-
var
|
112
|
+
var _modernConfig_bff;
|
113
113
|
if (!needModernServer) {
|
114
114
|
return;
|
115
115
|
}
|
116
116
|
const serverConfig = {
|
117
117
|
bff: {
|
118
|
-
prefix:
|
118
|
+
prefix: modernConfig === null || modernConfig === void 0 ? void 0 : (_modernConfig_bff = modernConfig.bff) === null || _modernConfig_bff === void 0 ? void 0 : _modernConfig_bff.prefix
|
119
119
|
},
|
120
120
|
output: {
|
121
121
|
path: "."
|
@@ -432,7 +432,6 @@ var handleDependencies = function() {
|
|
432
432
|
];
|
433
433
|
case 12:
|
434
434
|
_state.sent();
|
435
|
-
console.log("multiVersionPkgs111111111", multiVersionPkgs);
|
436
435
|
_iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
437
436
|
_state.label = 13;
|
438
437
|
case 13:
|
@@ -5,6 +5,33 @@ import { getProjectUsage } from "./utils";
|
|
5
5
|
import { createNodePreset } from "./platforms/node";
|
6
6
|
import { createVercelPreset } from "./platforms/vercel";
|
7
7
|
import { createNetlifyPreset } from "./platforms/netlify";
|
8
|
+
var deployPresets = {
|
9
|
+
node: createNodePreset,
|
10
|
+
vercel: createVercelPreset,
|
11
|
+
netlify: createNetlifyPreset
|
12
|
+
};
|
13
|
+
function getDeployPreset(appContext, modernConfig, deployTarget) {
|
14
|
+
return _getDeployPreset.apply(this, arguments);
|
15
|
+
}
|
16
|
+
function _getDeployPreset() {
|
17
|
+
_getDeployPreset = _async_to_generator(function(appContext, modernConfig, deployTarget) {
|
18
|
+
var appDirectory, distDirectory, _getProjectUsage, useSSR, useAPI, useWebServer, needModernServer, createPreset;
|
19
|
+
return _ts_generator(this, function(_state) {
|
20
|
+
appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory;
|
21
|
+
_getProjectUsage = getProjectUsage(appDirectory, distDirectory), useSSR = _getProjectUsage.useSSR, useAPI = _getProjectUsage.useAPI, useWebServer = _getProjectUsage.useWebServer;
|
22
|
+
needModernServer = useSSR || useAPI || useWebServer;
|
23
|
+
createPreset = deployPresets[deployTarget];
|
24
|
+
if (!createPreset) {
|
25
|
+
throw new Error("Unknown deploy target: '".concat(deployTarget, "'. MODERNJS_DEPLOY should be 'node', 'vercel', or 'netlify'."));
|
26
|
+
}
|
27
|
+
return [
|
28
|
+
2,
|
29
|
+
createPreset(appContext, modernConfig, needModernServer)
|
30
|
+
];
|
31
|
+
});
|
32
|
+
});
|
33
|
+
return _getDeployPreset.apply(this, arguments);
|
34
|
+
}
|
8
35
|
function deploy_default() {
|
9
36
|
return {
|
10
37
|
name: "@modern-js/plugin-deploy",
|
@@ -17,47 +44,78 @@ function deploy_default() {
|
|
17
44
|
return {
|
18
45
|
beforeDeploy: function beforeDeploy() {
|
19
46
|
return _async_to_generator(function() {
|
20
|
-
var appContext,
|
47
|
+
var appContext, modernConfig, deployPreset, _tmp, _tmp1, _tmp2, _tmp3;
|
21
48
|
return _ts_generator(this, function(_state) {
|
22
49
|
switch (_state.label) {
|
23
50
|
case 0:
|
24
51
|
appContext = api.useAppContext();
|
25
|
-
appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory;
|
26
52
|
modernConfig = api.useResolvedConfigContext();
|
27
|
-
_getProjectUsage = getProjectUsage(appDirectory, distDirectory), useSSR = _getProjectUsage.useSSR, useAPI = _getProjectUsage.useAPI, useWebServer = _getProjectUsage.useWebServer;
|
28
|
-
needModernServer = useSSR || useAPI || useWebServer;
|
29
|
-
switch (deployTarget) {
|
30
|
-
case "node":
|
31
|
-
deployPreset = createNodePreset(appContext, modernConfig, needModernServer);
|
32
|
-
break;
|
33
|
-
case "vercel":
|
34
|
-
deployPreset = createVercelPreset(appContext, modernConfig, needModernServer);
|
35
|
-
break;
|
36
|
-
case "netlify":
|
37
|
-
deployPreset = createNetlifyPreset(appContext, modernConfig, needModernServer);
|
38
|
-
break;
|
39
|
-
default: {
|
40
|
-
throw new Error("unknown deploy target, MODERNJS_DEPLOY should be set");
|
41
|
-
}
|
42
|
-
}
|
43
53
|
return [
|
44
54
|
4,
|
45
|
-
|
55
|
+
getDeployPreset(appContext, modernConfig, deployTarget)
|
46
56
|
];
|
47
57
|
case 1:
|
48
|
-
_state.sent();
|
58
|
+
deployPreset = _state.sent();
|
59
|
+
_tmp = deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.prepare;
|
60
|
+
if (!_tmp)
|
61
|
+
return [
|
62
|
+
3,
|
63
|
+
3
|
64
|
+
];
|
49
65
|
return [
|
50
66
|
4,
|
51
|
-
deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.
|
67
|
+
deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.prepare()
|
52
68
|
];
|
53
69
|
case 2:
|
54
|
-
_state.sent();
|
70
|
+
_tmp = _state.sent();
|
71
|
+
_state.label = 3;
|
72
|
+
case 3:
|
73
|
+
_tmp;
|
74
|
+
_tmp1 = deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.writeOutput;
|
75
|
+
if (!_tmp1)
|
76
|
+
return [
|
77
|
+
3,
|
78
|
+
5
|
79
|
+
];
|
80
|
+
return [
|
81
|
+
4,
|
82
|
+
deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.writeOutput()
|
83
|
+
];
|
84
|
+
case 4:
|
85
|
+
_tmp1 = _state.sent();
|
86
|
+
_state.label = 5;
|
87
|
+
case 5:
|
88
|
+
_tmp1;
|
89
|
+
_tmp2 = deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.genEntry;
|
90
|
+
if (!_tmp2)
|
91
|
+
return [
|
92
|
+
3,
|
93
|
+
7
|
94
|
+
];
|
55
95
|
return [
|
56
96
|
4,
|
57
97
|
deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.genEntry()
|
58
98
|
];
|
59
|
-
case
|
60
|
-
_state.sent();
|
99
|
+
case 6:
|
100
|
+
_tmp2 = _state.sent();
|
101
|
+
_state.label = 7;
|
102
|
+
case 7:
|
103
|
+
_tmp2;
|
104
|
+
_tmp3 = deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.end;
|
105
|
+
if (!_tmp3)
|
106
|
+
return [
|
107
|
+
3,
|
108
|
+
9
|
109
|
+
];
|
110
|
+
return [
|
111
|
+
4,
|
112
|
+
deployPreset === null || deployPreset === void 0 ? void 0 : deployPreset.end()
|
113
|
+
];
|
114
|
+
case 8:
|
115
|
+
_tmp3 = _state.sent();
|
116
|
+
_state.label = 9;
|
117
|
+
case 9:
|
118
|
+
_tmp3;
|
61
119
|
return [
|
62
120
|
2
|
63
121
|
];
|
@@ -5,12 +5,11 @@ import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG, fs as fse, getInternalPlugins }
|
|
5
5
|
import { isMainEntry } from "../../../utils/routes";
|
6
6
|
import { genPluginImportsCode, serverAppContenxtTemplate } from "../utils";
|
7
7
|
import { handleDependencies } from "../dependencies";
|
8
|
-
var createNetlifyPreset = function(appContext,
|
9
|
-
var appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverInternalPlugins = appContext.serverInternalPlugins,
|
8
|
+
var createNetlifyPreset = function(appContext, modernConfig, needModernServer) {
|
9
|
+
var appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverInternalPlugins = appContext.serverInternalPlugins, entrypoints = appContext.entrypoints;
|
10
10
|
var plugins = getInternalPlugins(appDirectory, serverInternalPlugins);
|
11
11
|
var netlifyOutput = path.join(appDirectory, ".netlify");
|
12
|
-
var
|
13
|
-
var funcsDirectory = path.join(outputDirectory, "functions", "index.func");
|
12
|
+
var funcsDirectory = path.join(netlifyOutput, "functions");
|
14
13
|
var entryFilePath = path.join(funcsDirectory, "index.js");
|
15
14
|
return {
|
16
15
|
prepare: function prepare() {
|
@@ -33,87 +32,47 @@ var createNetlifyPreset = function(appContext, config, needModernServer) {
|
|
33
32
|
},
|
34
33
|
writeOutput: function writeOutput() {
|
35
34
|
return _async_to_generator(function() {
|
36
|
-
var
|
35
|
+
var routes, mainEntryName, redirectContent, redirectFilePath;
|
37
36
|
return _ts_generator(this, function(_state) {
|
38
37
|
switch (_state.label) {
|
39
38
|
case 0:
|
40
|
-
|
41
|
-
|
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
|
-
};
|
39
|
+
routes = [];
|
40
|
+
mainEntryName = modernConfig.source.mainEntryName;
|
55
41
|
if (!needModernServer) {
|
56
|
-
mainEntryName = config2.source.mainEntryName;
|
57
42
|
entrypoints.forEach(function(entry) {
|
58
43
|
var isMain = isMainEntry(entry.entryName, mainEntryName);
|
59
|
-
|
60
|
-
src: "/".concat(isMain ? "" : entry.entryName, "
|
61
|
-
|
62
|
-
|
63
|
-
},
|
64
|
-
dest: "/html/".concat(entry.entryName, "/index.html")
|
44
|
+
routes.push({
|
45
|
+
src: "/".concat(isMain ? "" : "".concat(entry.entryName, "/"), "*"),
|
46
|
+
dest: "/html/".concat(entry.entryName, "/index.html"),
|
47
|
+
status: 200
|
65
48
|
});
|
66
49
|
});
|
67
50
|
} else {
|
68
|
-
|
69
|
-
src: "
|
70
|
-
dest: "/index"
|
51
|
+
routes.push({
|
52
|
+
src: "/*",
|
53
|
+
dest: "/.netlify/functions/index",
|
54
|
+
status: 200
|
71
55
|
});
|
72
56
|
}
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
case 1:
|
78
|
-
_state.sent();
|
79
|
-
return [
|
80
|
-
4,
|
81
|
-
fse.writeJSON(path.join(outputDirectory, "config.json"), config2, {
|
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)
|
57
|
+
redirectContent = routes.map(function(route) {
|
58
|
+
return "".concat(route.src, " ").concat(route.dest, " ").concat(route.status);
|
59
|
+
}).join("\n");
|
60
|
+
if (!needModernServer)
|
95
61
|
return [
|
96
62
|
3,
|
97
|
-
|
63
|
+
4
|
98
64
|
];
|
99
|
-
destHtmlDirectory = path.join(distDirectory, "html");
|
100
|
-
outputHtmlDirectory = path.join(path.join(outputDirectory, "static"), "html");
|
101
65
|
return [
|
102
66
|
4,
|
103
|
-
fse.
|
67
|
+
fse.ensureDir(funcsDirectory)
|
104
68
|
];
|
105
|
-
case
|
69
|
+
case 1:
|
106
70
|
_state.sent();
|
107
|
-
return [
|
108
|
-
3,
|
109
|
-
9
|
110
|
-
];
|
111
|
-
case 5:
|
112
71
|
return [
|
113
72
|
4,
|
114
|
-
fse.
|
73
|
+
fse.copy(distDirectory, funcsDirectory)
|
115
74
|
];
|
116
|
-
case
|
75
|
+
case 2:
|
117
76
|
_state.sent();
|
118
77
|
return [
|
119
78
|
4,
|
@@ -124,22 +83,17 @@ var createNetlifyPreset = function(appContext, config, needModernServer) {
|
|
124
83
|
}
|
125
84
|
})
|
126
85
|
];
|
127
|
-
case
|
86
|
+
case 3:
|
128
87
|
_state.sent();
|
88
|
+
_state.label = 4;
|
89
|
+
case 4:
|
90
|
+
redirectFilePath = path.join(distDirectory, "__redirects");
|
129
91
|
return [
|
130
92
|
4,
|
131
|
-
fse.
|
132
|
-
runtime: "nodejs16.x",
|
133
|
-
handler: "index.js",
|
134
|
-
launcherType: "Nodejs",
|
135
|
-
shouldAddHelpers: false,
|
136
|
-
supportsResponseStreaming: true
|
137
|
-
})
|
93
|
+
fse.writeFile(redirectFilePath, redirectContent)
|
138
94
|
];
|
139
|
-
case
|
95
|
+
case 5:
|
140
96
|
_state.sent();
|
141
|
-
_state.label = 9;
|
142
|
-
case 9:
|
143
97
|
return [
|
144
98
|
2
|
145
99
|
];
|
@@ -149,7 +103,7 @@ var createNetlifyPreset = function(appContext, config, needModernServer) {
|
|
149
103
|
},
|
150
104
|
genEntry: function genEntry() {
|
151
105
|
return _async_to_generator(function() {
|
152
|
-
var
|
106
|
+
var _modernConfig_bff, serverConfig, pluginImportCode, dynamicProdOptions, entryCode, serverAppContext;
|
153
107
|
return _ts_generator(this, function(_state) {
|
154
108
|
switch (_state.label) {
|
155
109
|
case 0:
|
@@ -160,7 +114,7 @@ var createNetlifyPreset = function(appContext, config, needModernServer) {
|
|
160
114
|
}
|
161
115
|
serverConfig = {
|
162
116
|
bff: {
|
163
|
-
prefix:
|
117
|
+
prefix: modernConfig === null || modernConfig === void 0 ? void 0 : (_modernConfig_bff = modernConfig.bff) === null || _modernConfig_bff === void 0 ? void 0 : _modernConfig_bff.prefix
|
164
118
|
},
|
165
119
|
output: {
|
166
120
|
path: "."
|
@@ -1,13 +1,14 @@
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
3
3
|
import path from "node:path";
|
4
|
-
import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG, fs as fse, getInternalPlugins } from "@modern-js/utils";
|
4
|
+
import { ROUTE_SPEC_FILE, DEFAULT_SERVER_CONFIG, fs as fse, getInternalPlugins, chalk } from "@modern-js/utils";
|
5
5
|
import { genPluginImportsCode, serverAppContenxtTemplate } from "../utils";
|
6
6
|
import { handleDependencies } from "../dependencies";
|
7
7
|
var createNodePreset = function(appContext, config, needModernServer) {
|
8
|
-
var appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverInternalPlugins = appContext.serverInternalPlugins
|
8
|
+
var appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverInternalPlugins = appContext.serverInternalPlugins;
|
9
9
|
var plugins = getInternalPlugins(appDirectory, serverInternalPlugins);
|
10
10
|
var outputDirectory = path.join(appDirectory, ".output");
|
11
|
+
var staticDirectory = path.join(outputDirectory, "static");
|
11
12
|
var entryFilePath = path.join(outputDirectory, "index.js");
|
12
13
|
return {
|
13
14
|
prepare: function prepare() {
|
@@ -102,6 +103,17 @@ var createNodePreset = function(appContext, config, needModernServer) {
|
|
102
103
|
}
|
103
104
|
});
|
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
|
+
})();
|
105
117
|
}
|
106
118
|
};
|
107
119
|
};
|