@modern-js/app-tools 2.53.1-alpha.3 → 2.54.0
Sign up to get free protection for your applications and to get access to all the features.
- package/bin/modern.js +0 -2
- package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +2 -1
- package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +2 -2
- package/dist/cjs/commands/build.js +2 -0
- package/dist/cjs/commands/deploy.js +2 -2
- package/dist/cjs/commands/dev.js +19 -5
- package/dist/cjs/commands/index.js +113 -7
- package/dist/cjs/commands/serve.js +19 -5
- package/dist/cjs/hooks.js +5 -0
- package/dist/cjs/index.js +14 -83
- package/dist/cjs/plugins/analyze/constants.js +56 -0
- package/dist/cjs/{analyze → plugins/analyze}/generateCode.js +11 -84
- package/dist/cjs/{analyze → plugins/analyze}/getBundleEntry.js +11 -20
- package/dist/cjs/{analyze → plugins/analyze}/getFileSystemEntry.js +33 -47
- package/dist/cjs/{analyze → plugins/analyze}/getServerRoutes.js +1 -1
- package/dist/cjs/{analyze → plugins/analyze}/index.js +9 -24
- package/dist/cjs/plugins/analyze/templates.js +101 -0
- package/dist/cjs/{analyze → plugins/analyze}/utils.js +12 -55
- package/dist/cjs/plugins/deploy/dependencies/index.js +16 -25
- package/dist/cjs/plugins/deploy/dependencies/utils.js +1 -2
- package/dist/cjs/plugins/deploy/platforms/netlify.js +5 -9
- package/dist/cjs/plugins/deploy/platforms/node.js +5 -13
- package/dist/cjs/plugins/deploy/platforms/vercel.js +5 -9
- package/dist/cjs/{initialize → plugins/initialize}/index.js +1 -1
- package/dist/cjs/plugins/serverBuild.js +10 -4
- package/dist/cjs/utils/createServer.js +1 -1
- package/dist/cjs/utils/{getServerInternalPlugins.js → loadPlugins.js} +18 -11
- package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +4 -1
- package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +2 -2
- package/dist/esm/commands/build.js +16 -9
- package/dist/esm/commands/deploy.js +2 -2
- package/dist/esm/commands/dev.js +13 -9
- package/dist/esm/commands/index.js +411 -3
- package/dist/esm/commands/serve.js +12 -8
- package/dist/esm/hooks.js +5 -0
- package/dist/esm/index.js +12 -394
- package/dist/esm/plugins/analyze/constants.js +24 -0
- package/dist/esm/{analyze → plugins/analyze}/generateCode.js +27 -169
- package/dist/esm/plugins/analyze/getBundleEntry.js +101 -0
- package/dist/esm/plugins/analyze/getFileSystemEntry.js +195 -0
- package/dist/esm/{analyze → plugins/analyze}/getServerRoutes.js +1 -1
- package/dist/esm/{analyze → plugins/analyze}/index.js +42 -70
- package/dist/esm/plugins/analyze/templates.js +22 -0
- package/dist/esm/{analyze → plugins/analyze}/utils.js +13 -135
- package/dist/esm/plugins/deploy/dependencies/index.js +69 -94
- package/dist/esm/plugins/deploy/dependencies/utils.js +3 -4
- package/dist/esm/plugins/deploy/platforms/netlify.js +8 -10
- package/dist/esm/plugins/deploy/platforms/node.js +8 -14
- package/dist/esm/plugins/deploy/platforms/vercel.js +8 -10
- package/dist/esm/{initialize → plugins/initialize}/index.js +1 -1
- package/dist/esm/plugins/serverBuild.js +13 -6
- package/dist/esm/utils/createServer.js +2 -2
- package/dist/esm/utils/loadPlugins.js +64 -0
- package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +2 -1
- package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +2 -2
- package/dist/esm-node/commands/build.js +2 -0
- package/dist/esm-node/commands/deploy.js +2 -2
- package/dist/esm-node/commands/dev.js +11 -7
- package/dist/esm-node/commands/index.js +92 -3
- package/dist/esm-node/commands/serve.js +10 -6
- package/dist/esm-node/hooks.js +5 -0
- package/dist/esm-node/index.js +12 -79
- package/dist/esm-node/plugins/analyze/constants.js +24 -0
- package/dist/esm-node/{analyze → plugins/analyze}/generateCode.js +14 -87
- package/dist/esm-node/{analyze → plugins/analyze}/getBundleEntry.js +11 -20
- package/dist/esm-node/plugins/analyze/getFileSystemEntry.js +75 -0
- package/dist/esm-node/{analyze → plugins/analyze}/getServerRoutes.js +1 -1
- package/dist/esm-node/{analyze → plugins/analyze}/index.js +10 -25
- package/dist/esm-node/plugins/analyze/templates.js +75 -0
- package/dist/esm-node/{analyze → plugins/analyze}/utils.js +13 -52
- package/dist/esm-node/plugins/deploy/dependencies/index.js +18 -27
- package/dist/esm-node/plugins/deploy/dependencies/utils.js +1 -2
- package/dist/esm-node/plugins/deploy/platforms/netlify.js +6 -10
- package/dist/esm-node/plugins/deploy/platforms/node.js +6 -14
- package/dist/esm-node/plugins/deploy/platforms/vercel.js +6 -10
- package/dist/esm-node/{initialize → plugins/initialize}/index.js +1 -1
- package/dist/esm-node/plugins/serverBuild.js +11 -5
- package/dist/esm-node/utils/createServer.js +2 -2
- package/dist/esm-node/utils/loadPlugins.js +21 -0
- package/dist/types/builder/builder-webpack/createCopyPattern.d.ts +2 -2
- package/dist/types/commands/index.d.ts +10 -3
- package/dist/types/config/initialize/inits.d.ts +1 -1
- package/dist/types/exports/server.d.ts +4 -0
- package/dist/types/index.d.ts +2 -5
- package/dist/types/plugins/analyze/constants.d.ts +9 -0
- package/dist/types/{analyze → plugins/analyze}/generateCode.d.ts +1 -1
- package/dist/types/plugins/analyze/getBundleEntry.d.ts +4 -0
- package/dist/types/plugins/analyze/getFileSystemEntry.d.ts +5 -0
- package/dist/types/{analyze → plugins/analyze}/getHtmlTemplate.d.ts +1 -1
- package/dist/types/{analyze → plugins/analyze}/getServerRoutes.d.ts +1 -1
- package/dist/types/{analyze → plugins/analyze}/index.d.ts +1 -1
- package/dist/types/plugins/analyze/templates.d.ts +19 -0
- package/dist/types/{analyze → plugins/analyze}/utils.d.ts +4 -6
- package/dist/types/plugins/deploy/dependencies/index.d.ts +1 -9
- package/dist/types/plugins/deploy/dependencies/utils.d.ts +1 -7
- package/dist/types/{initialize → plugins/initialize}/index.d.ts +1 -1
- package/dist/types/types/hooks.d.ts +11 -1
- package/dist/types/utils/loadPlugins.d.ts +5 -0
- package/package.json +22 -30
- package/dist/cjs/analyze/constants.js +0 -122
- package/dist/cjs/analyze/getClientRoutes/getRoutes.js +0 -197
- package/dist/cjs/analyze/getClientRoutes/getRoutesLegacy.js +0 -195
- package/dist/cjs/analyze/getClientRoutes/index.js +0 -31
- package/dist/cjs/analyze/getClientRoutes/utils.js +0 -59
- package/dist/cjs/analyze/makeLegalIdentifier.js +0 -37
- package/dist/cjs/analyze/nestedRoutes.js +0 -295
- package/dist/cjs/analyze/templates.js +0 -444
- package/dist/cjs/plugins/deploy/exports.js +0 -28
- package/dist/esm/analyze/constants.js +0 -76
- package/dist/esm/analyze/getBundleEntry.js +0 -75
- package/dist/esm/analyze/getClientRoutes/getRoutes.js +0 -185
- package/dist/esm/analyze/getClientRoutes/getRoutesLegacy.js +0 -183
- package/dist/esm/analyze/getClientRoutes/index.js +0 -6
- package/dist/esm/analyze/getClientRoutes/utils.js +0 -28
- package/dist/esm/analyze/getFileSystemEntry.js +0 -113
- package/dist/esm/analyze/makeLegalIdentifier.js +0 -15
- package/dist/esm/analyze/nestedRoutes.js +0 -398
- package/dist/esm/analyze/templates.js +0 -435
- package/dist/esm/plugins/deploy/exports.js +0 -4
- package/dist/esm/utils/getServerInternalPlugins.js +0 -40
- package/dist/esm-node/analyze/constants.js +0 -76
- package/dist/esm-node/analyze/getClientRoutes/getRoutes.js +0 -163
- package/dist/esm-node/analyze/getClientRoutes/getRoutesLegacy.js +0 -161
- package/dist/esm-node/analyze/getClientRoutes/index.js +0 -6
- package/dist/esm-node/analyze/getClientRoutes/utils.js +0 -22
- package/dist/esm-node/analyze/getFileSystemEntry.js +0 -89
- package/dist/esm-node/analyze/makeLegalIdentifier.js +0 -13
- package/dist/esm-node/analyze/nestedRoutes.js +0 -259
- package/dist/esm-node/analyze/templates.js +0 -405
- package/dist/esm-node/plugins/deploy/exports.js +0 -4
- package/dist/esm-node/utils/getServerInternalPlugins.js +0 -15
- package/dist/js/modern/analyze/constants.js +0 -15
- package/dist/js/modern/analyze/generateCode.js +0 -179
- package/dist/js/modern/analyze/getBundleEntry.js +0 -75
- package/dist/js/modern/analyze/getClientRoutes.js +0 -219
- package/dist/js/modern/analyze/getFileSystemEntry.js +0 -74
- package/dist/js/modern/analyze/getHtmlTemplate.js +0 -82
- package/dist/js/modern/analyze/getServerRoutes.js +0 -192
- package/dist/js/modern/analyze/index.js +0 -148
- package/dist/js/modern/analyze/isDefaultExportFunction.js +0 -32
- package/dist/js/modern/analyze/makeLegalIdentifier.js +0 -16
- package/dist/js/modern/analyze/templates.js +0 -88
- package/dist/js/modern/analyze/utils.js +0 -92
- package/dist/js/modern/commands/build.js +0 -154
- package/dist/js/modern/commands/deploy.js +0 -5
- package/dist/js/modern/commands/dev.js +0 -95
- package/dist/js/modern/commands/index.js +0 -3
- package/dist/js/modern/commands/inspect.js +0 -69
- package/dist/js/modern/commands/start.js +0 -31
- package/dist/js/modern/exports/server.js +0 -1
- package/dist/js/modern/hooks.js +0 -21
- package/dist/js/modern/index.js +0 -109
- package/dist/js/modern/locale/en.js +0 -35
- package/dist/js/modern/locale/index.js +0 -9
- package/dist/js/modern/locale/zh.js +0 -35
- package/dist/js/modern/utils/config.js +0 -78
- package/dist/js/modern/utils/createCompiler.js +0 -61
- package/dist/js/modern/utils/createServer.js +0 -18
- package/dist/js/modern/utils/getSpecifiedEntries.js +0 -36
- package/dist/js/modern/utils/language.js +0 -5
- package/dist/js/modern/utils/printInstructions.js +0 -11
- package/dist/js/modern/utils/routes.js +0 -15
- package/dist/js/modern/utils/types.js +0 -0
- package/dist/js/node/analyze/constants.js +0 -36
- package/dist/js/node/analyze/generateCode.js +0 -208
- package/dist/js/node/analyze/getBundleEntry.js +0 -89
- package/dist/js/node/analyze/getClientRoutes.js +0 -241
- package/dist/js/node/analyze/getFileSystemEntry.js +0 -90
- package/dist/js/node/analyze/getHtmlTemplate.js +0 -106
- package/dist/js/node/analyze/getServerRoutes.js +0 -208
- package/dist/js/node/analyze/index.js +0 -178
- package/dist/js/node/analyze/isDefaultExportFunction.js +0 -50
- package/dist/js/node/analyze/makeLegalIdentifier.js +0 -24
- package/dist/js/node/analyze/templates.js +0 -106
- package/dist/js/node/analyze/utils.js +0 -113
- package/dist/js/node/commands/build.js +0 -174
- package/dist/js/node/commands/deploy.js +0 -14
- package/dist/js/node/commands/dev.js +0 -120
- package/dist/js/node/commands/index.js +0 -44
- package/dist/js/node/commands/inspect.js +0 -98
- package/dist/js/node/commands/start.js +0 -47
- package/dist/js/node/exports/server.js +0 -13
- package/dist/js/node/hooks.js +0 -39
- package/dist/js/node/index.js +0 -141
- package/dist/js/node/locale/en.js +0 -42
- package/dist/js/node/locale/index.js +0 -20
- package/dist/js/node/locale/zh.js +0 -42
- package/dist/js/node/utils/config.js +0 -103
- package/dist/js/node/utils/createCompiler.js +0 -81
- package/dist/js/node/utils/createServer.js +0 -35
- package/dist/js/node/utils/getSpecifiedEntries.js +0 -46
- package/dist/js/node/utils/language.js +0 -13
- package/dist/js/node/utils/printInstructions.js +0 -22
- package/dist/js/node/utils/routes.js +0 -25
- package/dist/js/node/utils/types.js +0 -0
- package/dist/types/analyze/constants.d.ts +0 -42
- package/dist/types/analyze/getBundleEntry.d.ts +0 -3
- package/dist/types/analyze/getClientRoutes/getRoutes.d.ts +0 -8
- package/dist/types/analyze/getClientRoutes/getRoutesLegacy.d.ts +0 -9
- package/dist/types/analyze/getClientRoutes/index.d.ts +0 -2
- package/dist/types/analyze/getClientRoutes/utils.d.ts +0 -5
- package/dist/types/analyze/getFileSystemEntry.d.ts +0 -4
- package/dist/types/analyze/makeLegalIdentifier.d.ts +0 -1
- package/dist/types/analyze/nestedRoutes.d.ts +0 -7
- package/dist/types/analyze/templates.d.ts +0 -30
- package/dist/types/plugins/deploy/exports.d.ts +0 -1
- package/dist/types/utils/getServerInternalPlugins.d.ts +0 -2
- /package/dist/cjs/{analyze → plugins/analyze}/getHtmlTemplate.js +0 -0
- /package/dist/cjs/{analyze → plugins/analyze}/isDefaultExportFunction.js +0 -0
- /package/dist/esm/{analyze → plugins/analyze}/getHtmlTemplate.js +0 -0
- /package/dist/esm/{analyze → plugins/analyze}/isDefaultExportFunction.js +0 -0
- /package/dist/esm-node/{analyze → plugins/analyze}/getHtmlTemplate.js +0 -0
- /package/dist/esm-node/{analyze → plugins/analyze}/isDefaultExportFunction.js +0 -0
- /package/dist/types/{analyze → plugins/analyze}/isDefaultExportFunction.d.ts +0 -0
@@ -2,12 +2,10 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
2
|
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
3
3
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
4
4
|
import path from "path";
|
5
|
-
import { fs, getEntryOptions,
|
5
|
+
import { findExists, fs, getEntryOptions, JS_EXTENSIONS, SERVER_RENDER_FUNCTION_NAME } from "@modern-js/utils";
|
6
6
|
import * as templates from "./templates";
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import { getDefaultImports, getServerLoadersFile, getServerCombinedModueFile } from "./utils";
|
10
|
-
import { walk } from "./nestedRoutes";
|
7
|
+
import { ENTRY_POINT_FILE_NAME, ENTRY_BOOTSTRAP_FILE_NAME } from "./constants";
|
8
|
+
import { getDefaultImports } from "./utils";
|
11
9
|
var createImportSpecifier = function(specifiers) {
|
12
10
|
var defaults = "";
|
13
11
|
var named = [];
|
@@ -94,170 +92,22 @@ var createImportStatements = function(statements) {
|
|
94
92
|
};
|
95
93
|
var generateCode = function() {
|
96
94
|
var _ref = _async_to_generator(function(appContext, config, entrypoints, api) {
|
97
|
-
var internalDirectory, srcDirectory, appDirectory, internalDirAlias, internalSrcAlias,
|
98
|
-
function generateEntryCode(entrypoint) {
|
95
|
+
var internalDirectory, srcDirectory, appDirectory, internalDirAlias, internalSrcAlias, runtimeConfigFile, hookRunners, customRuntimeConfig, importsStatemets;
|
96
|
+
function generateEntryCode(entrypoint, customRuntimeConfig2) {
|
99
97
|
return _generateEntryCode.apply(this, arguments);
|
100
98
|
}
|
101
99
|
function _generateEntryCode() {
|
102
|
-
_generateEntryCode = _async_to_generator(function(entrypoint) {
|
103
|
-
var entryName,
|
100
|
+
_generateEntryCode = _async_to_generator(function(entrypoint, customRuntimeConfig2) {
|
101
|
+
var entryName, isAutoMount, imports, entryFile;
|
104
102
|
return _ts_generator(this, function(_state) {
|
105
103
|
switch (_state.label) {
|
106
104
|
case 0:
|
107
|
-
entryName = entrypoint.entryName,
|
105
|
+
entryName = entrypoint.entryName, isAutoMount = entrypoint.isAutoMount;
|
108
106
|
if (!isAutoMount)
|
109
|
-
return [
|
110
|
-
3,
|
111
|
-
13
|
112
|
-
];
|
113
|
-
if (!fileSystemRoutes)
|
114
|
-
return [
|
115
|
-
3,
|
116
|
-
11
|
117
|
-
];
|
118
|
-
initialRoutes = [];
|
119
|
-
nestedRoutes = null;
|
120
|
-
if (entrypoint.entry) {
|
121
|
-
initialRoutes = getRoutes({
|
122
|
-
entrypoint,
|
123
|
-
srcDirectory,
|
124
|
-
srcAlias: internalSrcAlias,
|
125
|
-
internalDirectory,
|
126
|
-
internalDirAlias
|
127
|
-
});
|
128
|
-
}
|
129
|
-
if (!(!isV5 && entrypoint.nestedRoutesEntry))
|
130
107
|
return [
|
131
108
|
3,
|
132
109
|
2
|
133
110
|
];
|
134
|
-
return [
|
135
|
-
4,
|
136
|
-
walk(entrypoint.nestedRoutesEntry, entrypoint.nestedRoutesEntry, {
|
137
|
-
name: internalSrcAlias,
|
138
|
-
basename: srcDirectory
|
139
|
-
}, entrypoint.entryName, entrypoint.isMainEntry, oldVersion)
|
140
|
-
];
|
141
|
-
case 1:
|
142
|
-
nestedRoutes = _state.sent();
|
143
|
-
if (nestedRoutes) {
|
144
|
-
if (!Array.isArray(nestedRoutes)) {
|
145
|
-
nestedRoutes = [
|
146
|
-
nestedRoutes
|
147
|
-
];
|
148
|
-
}
|
149
|
-
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
150
|
-
try {
|
151
|
-
for (_iterator = nestedRoutes[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
152
|
-
route = _step.value;
|
153
|
-
initialRoutes.unshift(route);
|
154
|
-
}
|
155
|
-
} catch (err) {
|
156
|
-
_didIteratorError = true;
|
157
|
-
_iteratorError = err;
|
158
|
-
} finally {
|
159
|
-
try {
|
160
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
161
|
-
_iterator.return();
|
162
|
-
}
|
163
|
-
} finally {
|
164
|
-
if (_didIteratorError) {
|
165
|
-
throw _iteratorError;
|
166
|
-
}
|
167
|
-
}
|
168
|
-
}
|
169
|
-
}
|
170
|
-
_state.label = 2;
|
171
|
-
case 2:
|
172
|
-
return [
|
173
|
-
4,
|
174
|
-
hookRunners.modifyFileSystemRoutes({
|
175
|
-
entrypoint,
|
176
|
-
routes: initialRoutes
|
177
|
-
})
|
178
|
-
];
|
179
|
-
case 3:
|
180
|
-
routes = _state.sent().routes;
|
181
|
-
_$config = api.useResolvedConfigContext();
|
182
|
-
ssr = getEntryOptions(entryName, isMainEntry, _$config.server.ssr, _$config.server.ssrByEntries, packageName);
|
183
|
-
useSSG = isSSGEntry(_$config, entryName, entrypoints);
|
184
|
-
if (ssr) {
|
185
|
-
mode = typeof ssr === "object" ? ssr.mode || "string" : "string";
|
186
|
-
}
|
187
|
-
if (mode === "stream") {
|
188
|
-
hasPageRoute = routes.some(function(route2) {
|
189
|
-
return "type" in route2 && route2.type === "page";
|
190
|
-
});
|
191
|
-
if (hasPageRoute) {
|
192
|
-
logger.error("Streaming ssr is not supported when pages dir exists");
|
193
|
-
process.exit(1);
|
194
|
-
}
|
195
|
-
}
|
196
|
-
_ = hookRunners.beforeGenerateRoutes;
|
197
|
-
_tmp = {
|
198
|
-
entrypoint
|
199
|
-
};
|
200
|
-
return [
|
201
|
-
4,
|
202
|
-
templates.fileSystemRoutes({
|
203
|
-
routes,
|
204
|
-
ssrMode: useSSG ? "string" : mode,
|
205
|
-
nestedRoutesEntry: entrypoint.nestedRoutesEntry,
|
206
|
-
entryName: entrypoint.entryName,
|
207
|
-
internalDirectory,
|
208
|
-
splitRouteChunks: _$config === null || _$config === void 0 ? void 0 : (_config_output = _$config.output) === null || _config_output === void 0 ? void 0 : _config_output.splitRouteChunks
|
209
|
-
})
|
210
|
-
];
|
211
|
-
case 4:
|
212
|
-
return [
|
213
|
-
4,
|
214
|
-
_.apply(hookRunners, [
|
215
|
-
(_tmp.code = _state.sent(), _tmp)
|
216
|
-
])
|
217
|
-
];
|
218
|
-
case 5:
|
219
|
-
code = _state.sent().code;
|
220
|
-
if (!(entrypoint.nestedRoutesEntry && isUseSSRBundle(_$config)))
|
221
|
-
return [
|
222
|
-
3,
|
223
|
-
8
|
224
|
-
];
|
225
|
-
routesServerFile = getServerLoadersFile(internalDirectory, entryName);
|
226
|
-
code1 = templates.routesForServer({
|
227
|
-
routes
|
228
|
-
});
|
229
|
-
return [
|
230
|
-
4,
|
231
|
-
fs.ensureFile(routesServerFile)
|
232
|
-
];
|
233
|
-
case 6:
|
234
|
-
_state.sent();
|
235
|
-
return [
|
236
|
-
4,
|
237
|
-
fs.writeFile(routesServerFile, code1)
|
238
|
-
];
|
239
|
-
case 7:
|
240
|
-
_state.sent();
|
241
|
-
_state.label = 8;
|
242
|
-
case 8:
|
243
|
-
serverLoaderCombined = templates.ssrLoaderCombinedModule(entrypoints, entrypoint, _$config, appContext);
|
244
|
-
if (!serverLoaderCombined)
|
245
|
-
return [
|
246
|
-
3,
|
247
|
-
10
|
248
|
-
];
|
249
|
-
serverLoaderFile = getServerCombinedModueFile(internalDirectory, entryName);
|
250
|
-
return [
|
251
|
-
4,
|
252
|
-
fs.outputFile(serverLoaderFile, serverLoaderCombined)
|
253
|
-
];
|
254
|
-
case 9:
|
255
|
-
_state.sent();
|
256
|
-
_state.label = 10;
|
257
|
-
case 10:
|
258
|
-
fs.outputFileSync(path.resolve(internalDirectory, "./".concat(entryName, "/").concat(FILE_SYSTEM_ROUTES_FILE_NAME)), code, "utf8");
|
259
|
-
_state.label = 11;
|
260
|
-
case 11:
|
261
111
|
return [
|
262
112
|
4,
|
263
113
|
hookRunners.modifyEntryImports({
|
@@ -267,17 +117,19 @@ var generateCode = function() {
|
|
267
117
|
srcDirectory,
|
268
118
|
appDirectory,
|
269
119
|
internalSrcAlias,
|
270
|
-
internalDirAlias
|
120
|
+
internalDirAlias,
|
121
|
+
runtimeConfigFile,
|
122
|
+
customRuntimeConfig: customRuntimeConfig2
|
271
123
|
})
|
272
124
|
})
|
273
125
|
];
|
274
|
-
case
|
126
|
+
case 1:
|
275
127
|
imports = _state.sent().imports;
|
276
128
|
importsStatemets.set(entryName, imports);
|
277
129
|
entryFile = path.resolve(internalDirectory, "./".concat(entryName, "/").concat(ENTRY_POINT_FILE_NAME));
|
278
130
|
entrypoint.internalEntry = entryFile;
|
279
|
-
_state.label =
|
280
|
-
case
|
131
|
+
_state.label = 2;
|
132
|
+
case 2:
|
281
133
|
return [
|
282
134
|
2
|
283
135
|
];
|
@@ -289,15 +141,17 @@ var generateCode = function() {
|
|
289
141
|
return _ts_generator(this, function(_state) {
|
290
142
|
switch (_state.label) {
|
291
143
|
case 0:
|
292
|
-
internalDirectory = appContext.internalDirectory, srcDirectory = appContext.srcDirectory, appDirectory = appContext.appDirectory, internalDirAlias = appContext.internalDirAlias, internalSrcAlias = appContext.internalSrcAlias,
|
144
|
+
internalDirectory = appContext.internalDirectory, srcDirectory = appContext.srcDirectory, appDirectory = appContext.appDirectory, internalDirAlias = appContext.internalDirAlias, internalSrcAlias = appContext.internalSrcAlias, runtimeConfigFile = appContext.runtimeConfigFile;
|
293
145
|
hookRunners = api.useHookRunners();
|
294
|
-
|
295
|
-
|
146
|
+
customRuntimeConfig = findExists(JS_EXTENSIONS.map(function(ext) {
|
147
|
+
return path.resolve(srcDirectory, "".concat(runtimeConfigFile).concat(ext));
|
148
|
+
}));
|
296
149
|
importsStatemets = /* @__PURE__ */ new Map();
|
297
|
-
oldVersion = typeof (config === null || config === void 0 ? void 0 : config.runtime.router) === "object" ? Boolean((config === null || config === void 0 ? void 0 : config.runtime.router).oldVersion) : false;
|
298
150
|
return [
|
299
151
|
4,
|
300
|
-
Promise.all(entrypoints.map(
|
152
|
+
Promise.all(entrypoints.map(function(entrypoint) {
|
153
|
+
return generateEntryCode(entrypoint, customRuntimeConfig);
|
154
|
+
}))
|
301
155
|
];
|
302
156
|
case 1:
|
303
157
|
_state.sent();
|
@@ -316,14 +170,17 @@ var generateCode = function() {
|
|
316
170
|
}();
|
317
171
|
var generateIndexCode = function() {
|
318
172
|
var _ref = _async_to_generator(function(param) {
|
319
|
-
var appContext, api, entrypoints, config, importsStatemets, bundlerConfigs, hookRunners, mountId, internalDirectory, packageName;
|
173
|
+
var appContext, api, entrypoints, config, importsStatemets, bundlerConfigs, hookRunners, mountId, internalDirectory, packageName, srcDirectory, runtimeConfigFile, customRuntimeConfig;
|
320
174
|
return _ts_generator(this, function(_state) {
|
321
175
|
switch (_state.label) {
|
322
176
|
case 0:
|
323
177
|
appContext = param.appContext, api = param.api, entrypoints = param.entrypoints, config = param.config, importsStatemets = param.importsStatemets, bundlerConfigs = param.bundlerConfigs;
|
324
178
|
hookRunners = api.useHookRunners();
|
325
179
|
mountId = config.html.mountId;
|
326
|
-
internalDirectory = appContext.internalDirectory, packageName = appContext.packageName;
|
180
|
+
internalDirectory = appContext.internalDirectory, packageName = appContext.packageName, srcDirectory = appContext.srcDirectory, runtimeConfigFile = appContext.runtimeConfigFile;
|
181
|
+
customRuntimeConfig = findExists(JS_EXTENSIONS.map(function(ext) {
|
182
|
+
return path.resolve(srcDirectory, "".concat(runtimeConfigFile).concat(ext));
|
183
|
+
}));
|
327
184
|
return [
|
328
185
|
4,
|
329
186
|
Promise.all(entrypoints.map(function() {
|
@@ -355,6 +212,7 @@ var generateIndexCode = function() {
|
|
355
212
|
code: templates.renderFunction({
|
356
213
|
plugins,
|
357
214
|
customBootstrap,
|
215
|
+
customRuntimeConfig,
|
358
216
|
fileSystemRoutes
|
359
217
|
})
|
360
218
|
})
|
@@ -0,0 +1,101 @@
|
|
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 "path";
|
4
|
+
import { ensureAbsolutePath, fs, findExists, MAIN_ENTRY_NAME, JS_EXTENSIONS } from "@modern-js/utils";
|
5
|
+
import { getFileSystemEntry } from "./getFileSystemEntry";
|
6
|
+
import { isSubDirOrEqual } from "./utils";
|
7
|
+
var ensureExtensions = function(file) {
|
8
|
+
if (!path.extname(file)) {
|
9
|
+
return findExists(JS_EXTENSIONS.map(function(ext) {
|
10
|
+
return "".concat(file).concat(ext);
|
11
|
+
})) || file;
|
12
|
+
}
|
13
|
+
return file;
|
14
|
+
};
|
15
|
+
var isDirectory = function(file) {
|
16
|
+
return !path.extname(file);
|
17
|
+
};
|
18
|
+
var ifAlreadyExists = function(entrypoints, checked) {
|
19
|
+
return entrypoints.some(function(entrypoint) {
|
20
|
+
if (ensureExtensions(entrypoint.entry) === ensureExtensions(checked.entry)) {
|
21
|
+
checked.entryName = entrypoint.entryName;
|
22
|
+
return true;
|
23
|
+
}
|
24
|
+
if (isSubDirOrEqual(entrypoint.entry, checked.entry) || isSubDirOrEqual(checked.entry, entrypoint.entry)) {
|
25
|
+
throw new Error("Entry configuration conflicts\n Your configuration: ".concat(checked.entry, ".\n Default entrypoint: ").concat(entrypoint.entry, "\n Please reset source.entries or set source.disableDefaultEntries to disable the default entry rules."));
|
26
|
+
}
|
27
|
+
return false;
|
28
|
+
});
|
29
|
+
};
|
30
|
+
var getBundleEntry = function() {
|
31
|
+
var _ref = _async_to_generator(function(hookRunners, appContext, config) {
|
32
|
+
var appDirectory, packageName, _config_source, disableDefaultEntries, entries, entriesDir, mainEntryName, defaults, _tmp, entriesDirAbs, found;
|
33
|
+
return _ts_generator(this, function(_state) {
|
34
|
+
switch (_state.label) {
|
35
|
+
case 0:
|
36
|
+
appDirectory = appContext.appDirectory, packageName = appContext.packageName;
|
37
|
+
_config_source = config.source, disableDefaultEntries = _config_source.disableDefaultEntries, entries = _config_source.entries, entriesDir = _config_source.entriesDir, mainEntryName = _config_source.mainEntryName;
|
38
|
+
if (!disableDefaultEntries)
|
39
|
+
return [
|
40
|
+
3,
|
41
|
+
1
|
42
|
+
];
|
43
|
+
_tmp = [];
|
44
|
+
return [
|
45
|
+
3,
|
46
|
+
3
|
47
|
+
];
|
48
|
+
case 1:
|
49
|
+
return [
|
50
|
+
4,
|
51
|
+
getFileSystemEntry(hookRunners, appContext, config)
|
52
|
+
];
|
53
|
+
case 2:
|
54
|
+
_tmp = _state.sent();
|
55
|
+
_state.label = 3;
|
56
|
+
case 3:
|
57
|
+
defaults = _tmp;
|
58
|
+
if (entries) {
|
59
|
+
Object.keys(entries).forEach(function(name) {
|
60
|
+
var value = entries[name];
|
61
|
+
var entryName = typeof value === "string" ? value : value.entry;
|
62
|
+
var isAutoMount = typeof value === "string" ? true : !value.disableMount;
|
63
|
+
var entrypoint = {
|
64
|
+
entryName: name,
|
65
|
+
isMainEntry: false,
|
66
|
+
entry: ensureAbsolutePath(appDirectory, entryName),
|
67
|
+
absoluteEntryDir: isDirectory(ensureAbsolutePath(appDirectory, entryName)) ? ensureAbsolutePath(appDirectory, entryName) : path.dirname(ensureAbsolutePath(appDirectory, entryName)),
|
68
|
+
isAutoMount,
|
69
|
+
customBootstrap: typeof value === "string" ? false : value.customBootstrap && ensureAbsolutePath(appDirectory, value.customBootstrap),
|
70
|
+
fileSystemRoutes: fs.statSync(ensureAbsolutePath(appDirectory, entryName)).isDirectory() ? {} : void 0
|
71
|
+
};
|
72
|
+
if (!ifAlreadyExists(defaults, entrypoint)) {
|
73
|
+
defaults.push(entrypoint);
|
74
|
+
}
|
75
|
+
});
|
76
|
+
}
|
77
|
+
if (!disableDefaultEntries) {
|
78
|
+
entriesDirAbs = ensureAbsolutePath(appDirectory, entriesDir || "");
|
79
|
+
found = defaults.find(function(param) {
|
80
|
+
var entryName = param.entryName, entry = param.entry, _param_nestedRoutesEntry = param.nestedRoutesEntry, nestedRoutesEntry = _param_nestedRoutesEntry === void 0 ? "" : _param_nestedRoutesEntry;
|
81
|
+
return entryName === packageName || path.dirname(entry) === entriesDirAbs || path.dirname(nestedRoutesEntry) === entriesDirAbs;
|
82
|
+
});
|
83
|
+
if (found) {
|
84
|
+
found.entryName = mainEntryName || MAIN_ENTRY_NAME;
|
85
|
+
found.isMainEntry = true;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
return [
|
89
|
+
2,
|
90
|
+
defaults
|
91
|
+
];
|
92
|
+
}
|
93
|
+
});
|
94
|
+
});
|
95
|
+
return function getBundleEntry2(hookRunners, appContext, config) {
|
96
|
+
return _ref.apply(this, arguments);
|
97
|
+
};
|
98
|
+
}();
|
99
|
+
export {
|
100
|
+
getBundleEntry
|
101
|
+
};
|
@@ -0,0 +1,195 @@
|
|
1
|
+
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
|
+
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
3
|
+
import fs from "fs";
|
4
|
+
import path from "path";
|
5
|
+
import { findExists, ensureAbsolutePath, JS_EXTENSIONS } from "@modern-js/utils";
|
6
|
+
import { INDEX_FILE_NAME } from "./constants";
|
7
|
+
import { isDefaultExportFunction } from "./isDefaultExportFunction";
|
8
|
+
var hasIndex = function(dir) {
|
9
|
+
return findExists(JS_EXTENSIONS.map(function(ext) {
|
10
|
+
return path.resolve(dir, "".concat(INDEX_FILE_NAME).concat(ext));
|
11
|
+
}));
|
12
|
+
};
|
13
|
+
var isBundleEntry = function() {
|
14
|
+
var _ref = _async_to_generator(function(hookRunners, dir) {
|
15
|
+
return _ts_generator(this, function(_state) {
|
16
|
+
switch (_state.label) {
|
17
|
+
case 0:
|
18
|
+
return [
|
19
|
+
4,
|
20
|
+
hookRunners.checkEntryPoint({
|
21
|
+
path: dir,
|
22
|
+
entry: false
|
23
|
+
})
|
24
|
+
];
|
25
|
+
case 1:
|
26
|
+
return [
|
27
|
+
2,
|
28
|
+
_state.sent().entry || hasIndex(dir)
|
29
|
+
];
|
30
|
+
}
|
31
|
+
});
|
32
|
+
});
|
33
|
+
return function isBundleEntry2(hookRunners, dir) {
|
34
|
+
return _ref.apply(this, arguments);
|
35
|
+
};
|
36
|
+
}();
|
37
|
+
var scanDir = function(hookRunners, dirs) {
|
38
|
+
return Promise.all(dirs.map(function() {
|
39
|
+
var _ref = _async_to_generator(function(dir) {
|
40
|
+
var indexFile, customBootstrap, entryName, entryFile;
|
41
|
+
return _ts_generator(this, function(_state) {
|
42
|
+
switch (_state.label) {
|
43
|
+
case 0:
|
44
|
+
indexFile = hasIndex(dir);
|
45
|
+
customBootstrap = isDefaultExportFunction(indexFile) ? indexFile : false;
|
46
|
+
entryName = path.basename(dir);
|
47
|
+
if (indexFile && !customBootstrap) {
|
48
|
+
return [
|
49
|
+
2,
|
50
|
+
{
|
51
|
+
entryName,
|
52
|
+
isMainEntry: false,
|
53
|
+
entry: indexFile,
|
54
|
+
absoluteEntryDir: path.resolve(dir),
|
55
|
+
isAutoMount: false,
|
56
|
+
customBootstrap
|
57
|
+
}
|
58
|
+
];
|
59
|
+
}
|
60
|
+
return [
|
61
|
+
4,
|
62
|
+
hookRunners.checkEntryPoint({
|
63
|
+
path: dir,
|
64
|
+
entry: false
|
65
|
+
})
|
66
|
+
];
|
67
|
+
case 1:
|
68
|
+
entryFile = _state.sent().entry;
|
69
|
+
if (entryFile) {
|
70
|
+
return [
|
71
|
+
2,
|
72
|
+
{
|
73
|
+
entryName,
|
74
|
+
isMainEntry: false,
|
75
|
+
entry: entryFile,
|
76
|
+
absoluteEntryDir: path.resolve(dir),
|
77
|
+
isAutoMount: true,
|
78
|
+
customBootstrap
|
79
|
+
}
|
80
|
+
];
|
81
|
+
}
|
82
|
+
throw Error("There is no valid entry point in the current project!");
|
83
|
+
}
|
84
|
+
});
|
85
|
+
});
|
86
|
+
return function(dir) {
|
87
|
+
return _ref.apply(this, arguments);
|
88
|
+
};
|
89
|
+
}()));
|
90
|
+
};
|
91
|
+
var getFileSystemEntry = function() {
|
92
|
+
var _ref = _async_to_generator(function(hookRunners, appContext, config) {
|
93
|
+
var appDirectory, _config_source, entriesDir, disableEntryDirs, disabledDirs, src, dirs;
|
94
|
+
return _ts_generator(this, function(_state) {
|
95
|
+
switch (_state.label) {
|
96
|
+
case 0:
|
97
|
+
appDirectory = appContext.appDirectory;
|
98
|
+
_config_source = config.source, entriesDir = _config_source.entriesDir, disableEntryDirs = _config_source.disableEntryDirs;
|
99
|
+
disabledDirs = [];
|
100
|
+
if (disableEntryDirs && Array.isArray(disableEntryDirs)) {
|
101
|
+
disabledDirs = disableEntryDirs === null || disableEntryDirs === void 0 ? void 0 : disableEntryDirs.map(function(dir) {
|
102
|
+
return ensureAbsolutePath(appDirectory, dir);
|
103
|
+
});
|
104
|
+
}
|
105
|
+
src = ensureAbsolutePath(appDirectory, entriesDir || "");
|
106
|
+
if (!fs.existsSync(src))
|
107
|
+
return [
|
108
|
+
3,
|
109
|
+
5
|
110
|
+
];
|
111
|
+
if (!fs.statSync(src).isDirectory())
|
112
|
+
return [
|
113
|
+
3,
|
114
|
+
3
|
115
|
+
];
|
116
|
+
return [
|
117
|
+
4,
|
118
|
+
isBundleEntry(hookRunners, src)
|
119
|
+
];
|
120
|
+
case 1:
|
121
|
+
if (_state.sent()) {
|
122
|
+
return [
|
123
|
+
2,
|
124
|
+
scanDir(hookRunners, [
|
125
|
+
src
|
126
|
+
])
|
127
|
+
];
|
128
|
+
}
|
129
|
+
dirs = [];
|
130
|
+
return [
|
131
|
+
4,
|
132
|
+
Promise.all(fs.readdirSync(src).map(function() {
|
133
|
+
var _ref2 = _async_to_generator(function(filename) {
|
134
|
+
var file, _tmp;
|
135
|
+
return _ts_generator(this, function(_state2) {
|
136
|
+
switch (_state2.label) {
|
137
|
+
case 0:
|
138
|
+
file = path.join(src, filename);
|
139
|
+
_tmp = fs.statSync(file).isDirectory();
|
140
|
+
if (!_tmp)
|
141
|
+
return [
|
142
|
+
3,
|
143
|
+
2
|
144
|
+
];
|
145
|
+
return [
|
146
|
+
4,
|
147
|
+
isBundleEntry(hookRunners, file)
|
148
|
+
];
|
149
|
+
case 1:
|
150
|
+
_tmp = _state2.sent();
|
151
|
+
_state2.label = 2;
|
152
|
+
case 2:
|
153
|
+
if (_tmp && !disabledDirs.includes(file)) {
|
154
|
+
dirs.push(file);
|
155
|
+
}
|
156
|
+
return [
|
157
|
+
2
|
158
|
+
];
|
159
|
+
}
|
160
|
+
});
|
161
|
+
});
|
162
|
+
return function(filename) {
|
163
|
+
return _ref2.apply(this, arguments);
|
164
|
+
};
|
165
|
+
}()))
|
166
|
+
];
|
167
|
+
case 2:
|
168
|
+
_state.sent();
|
169
|
+
return [
|
170
|
+
2,
|
171
|
+
scanDir(hookRunners, dirs)
|
172
|
+
];
|
173
|
+
case 3:
|
174
|
+
throw Error("source.entriesDir accept a directory.");
|
175
|
+
case 4:
|
176
|
+
return [
|
177
|
+
3,
|
178
|
+
6
|
179
|
+
];
|
180
|
+
case 5:
|
181
|
+
throw Error("src dir ".concat(entriesDir, " not found."));
|
182
|
+
case 6:
|
183
|
+
return [
|
184
|
+
2
|
185
|
+
];
|
186
|
+
}
|
187
|
+
});
|
188
|
+
});
|
189
|
+
return function getFileSystemEntry2(hookRunners, appContext, config) {
|
190
|
+
return _ref.apply(this, arguments);
|
191
|
+
};
|
192
|
+
}();
|
193
|
+
export {
|
194
|
+
getFileSystemEntry
|
195
|
+
};
|
@@ -5,7 +5,7 @@ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
5
5
|
import path from "path";
|
6
6
|
import fs from "fs";
|
7
7
|
import { urlJoin, isPlainObject, removeLeadingSlash, getEntryOptions, SERVER_BUNDLE_DIRECTORY, removeTailSlash, SERVER_WORKER_BUNDLE_DIRECTORY } from "@modern-js/utils";
|
8
|
-
import { isMainEntry } from "
|
8
|
+
import { isMainEntry } from "../../utils/routes";
|
9
9
|
import { walkDirectory } from "./utils";
|
10
10
|
var applyBaseUrl = function(baseUrl, routes) {
|
11
11
|
if (baseUrl) {
|