@modern-js/app-tools 2.0.0-beta.3 → 2.0.0-beta.6
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.
- package/CHANGELOG.md +619 -0
- package/bin/modern.js +3 -0
- package/dist/js/modern/analyze/Builder.js +39 -0
- package/dist/js/modern/analyze/constants.js +48 -18
- package/dist/js/modern/analyze/generateCode.js +264 -225
- package/dist/js/modern/analyze/getBundleEntry.js +34 -32
- package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +99 -52
- package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +89 -47
- package/dist/js/modern/analyze/getClientRoutes/index.js +6 -2
- package/dist/js/modern/analyze/getClientRoutes/utils.js +23 -10
- package/dist/js/modern/analyze/getFileSystemEntry.js +52 -23
- package/dist/js/modern/analyze/getHtmlTemplate.js +89 -49
- package/dist/js/modern/analyze/getServerRoutes.js +122 -126
- package/dist/js/modern/analyze/index.js +204 -161
- package/dist/js/modern/analyze/isDefaultExportFunction.js +30 -16
- package/dist/js/modern/analyze/makeLegalIdentifier.js +10 -11
- package/dist/js/modern/analyze/nestedRoutes.js +118 -65
- package/dist/js/modern/analyze/templates.js +170 -81
- package/dist/js/modern/analyze/utils.js +104 -67
- package/dist/js/modern/builder/builderPlugins/compatModern.js +128 -109
- package/dist/js/modern/builder/index.js +120 -89
- package/dist/js/modern/builder/loaders/routerLoader.js +9 -12
- package/dist/js/modern/builder/loaders/serverModuleLoader.js +4 -1
- package/dist/js/modern/builder/share.js +23 -21
- package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +23 -22
- package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +31 -27
- package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +100 -84
- package/dist/js/modern/commands/build.js +67 -42
- package/dist/js/modern/commands/deploy.js +27 -4
- package/dist/js/modern/commands/dev.js +81 -34
- package/dist/js/modern/commands/index.js +1 -1
- package/dist/js/modern/commands/inspect.js +30 -5
- package/dist/js/modern/commands/serve.js +54 -0
- package/dist/js/modern/config/default.js +112 -145
- package/dist/js/modern/config/index.js +8 -2
- package/dist/js/modern/config/initial/createHtmlConfig.js +5 -2
- package/dist/js/modern/config/initial/createOutputConfig.js +10 -13
- package/dist/js/modern/config/initial/createSourceConfig.js +10 -3
- package/dist/js/modern/config/initial/createToolsConfig.js +7 -6
- package/dist/js/modern/config/initial/index.js +9 -4
- package/dist/js/modern/config/initial/inits.js +109 -73
- package/dist/js/modern/config/initial/transformNormalizedConfig.js +11 -4
- package/dist/js/modern/defineConfig.js +26 -11
- package/dist/js/modern/exports/server.js +4 -1
- package/dist/js/modern/hooks.js +16 -4
- package/dist/js/modern/index.js +178 -90
- package/dist/js/modern/initialize/index.js +100 -52
- package/dist/js/modern/locale/en.js +20 -21
- package/dist/js/modern/locale/index.js +6 -6
- package/dist/js/modern/locale/zh.js +21 -22
- package/dist/js/modern/schema/Schema.js +6 -5
- package/dist/js/modern/schema/index.js +53 -100
- package/dist/js/modern/schema/legacy.js +96 -231
- package/dist/js/modern/types/config/index.js +0 -1
- package/dist/js/modern/types/index.js +0 -1
- package/dist/js/modern/types/legacyConfig/output.js +0 -1
- package/dist/js/modern/utils/commands.js +10 -2
- package/dist/js/modern/utils/config.js +102 -41
- package/dist/js/modern/utils/createFileWatcher.js +84 -51
- package/dist/js/modern/utils/createServer.js +63 -17
- package/dist/js/modern/utils/getServerInternalPlugins.js +58 -0
- package/dist/js/modern/utils/getSpecifiedEntries.js +46 -19
- package/dist/js/modern/utils/language.js +6 -3
- package/dist/js/modern/utils/printInstructions.js +27 -8
- package/dist/js/modern/utils/restart.js +43 -16
- package/dist/js/modern/utils/routes.js +29 -12
- package/dist/js/node/analyze/Builder.js +64 -0
- package/dist/js/node/analyze/constants.js +86 -39
- package/dist/js/node/analyze/generateCode.js +285 -239
- package/dist/js/node/analyze/getBundleEntry.js +62 -44
- package/dist/js/node/analyze/getClientRoutes/getRoutes.js +138 -77
- package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +130 -74
- package/dist/js/node/analyze/getClientRoutes/index.js +27 -16
- package/dist/js/node/analyze/getClientRoutes/utils.js +51 -21
- package/dist/js/node/analyze/getFileSystemEntry.js +82 -39
- package/dist/js/node/analyze/getHtmlTemplate.js +120 -61
- package/dist/js/node/analyze/getServerRoutes.js +145 -137
- package/dist/js/node/analyze/index.js +233 -174
- package/dist/js/node/analyze/isDefaultExportFunction.js +59 -26
- package/dist/js/node/analyze/makeLegalIdentifier.js +31 -15
- package/dist/js/node/analyze/nestedRoutes.js +150 -79
- package/dist/js/node/analyze/templates.js +198 -90
- package/dist/js/node/analyze/utils.js +136 -81
- package/dist/js/node/builder/builderPlugins/compatModern.js +158 -122
- package/dist/js/node/builder/index.js +142 -98
- package/dist/js/node/builder/loaders/routerLoader.js +29 -18
- package/dist/js/node/builder/loaders/serverModuleLoader.js +24 -7
- package/dist/js/node/builder/share.js +50 -26
- package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +43 -26
- package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +51 -31
- package/dist/js/node/builder/webpackPlugins/routerPlugin.js +120 -90
- package/dist/js/node/commands/build.js +91 -52
- package/dist/js/node/commands/deploy.js +49 -10
- package/dist/js/node/commands/dev.js +105 -48
- package/dist/js/node/commands/index.js +19 -38
- package/dist/js/node/commands/inspect.js +52 -11
- package/dist/js/node/commands/serve.js +83 -0
- package/dist/js/node/config/default.js +131 -149
- package/dist/js/node/config/index.js +31 -28
- package/dist/js/node/config/initial/createHtmlConfig.js +26 -6
- package/dist/js/node/config/initial/createOutputConfig.js +31 -17
- package/dist/js/node/config/initial/createSourceConfig.js +31 -7
- package/dist/js/node/config/initial/createToolsConfig.js +28 -10
- package/dist/js/node/config/initial/index.js +34 -17
- package/dist/js/node/config/initial/inits.js +130 -81
- package/dist/js/node/config/initial/transformNormalizedConfig.js +40 -16
- package/dist/js/node/defineConfig.js +46 -17
- package/dist/js/node/exports/server.js +25 -10
- package/dist/js/node/hooks.js +53 -29
- package/dist/js/node/index.js +213 -129
- package/dist/js/node/initialize/index.js +117 -61
- package/dist/js/node/locale/en.js +40 -25
- package/dist/js/node/locale/index.js +31 -14
- package/dist/js/node/locale/zh.js +41 -26
- package/dist/js/node/schema/Schema.js +27 -10
- package/dist/js/node/schema/index.js +84 -114
- package/dist/js/node/schema/legacy.js +119 -240
- package/dist/js/node/types/config/deploy.js +15 -0
- package/dist/js/node/types/config/dev.js +15 -0
- package/dist/js/node/types/config/experiments.js +15 -0
- package/dist/js/node/types/config/html.js +15 -0
- package/dist/js/node/types/config/index.js +17 -16
- package/dist/js/node/types/config/output.js +15 -0
- package/dist/js/node/types/config/performance.js +15 -0
- package/dist/js/node/types/config/security.js +15 -0
- package/dist/js/node/types/config/source.js +15 -0
- package/dist/js/node/types/config/tools.js +15 -0
- package/dist/js/node/types/hooks.js +15 -0
- package/dist/js/node/types/index.js +19 -38
- package/dist/js/node/types/legacyConfig/deploy.js +15 -0
- package/dist/js/node/types/legacyConfig/dev.js +15 -0
- package/dist/js/node/types/legacyConfig/index.js +15 -0
- package/dist/js/node/types/legacyConfig/output.js +15 -5
- package/dist/js/node/types/legacyConfig/source.js +15 -0
- package/dist/js/node/types/legacyConfig/tools.js +15 -0
- package/dist/js/node/utils/commands.js +31 -6
- package/dist/js/node/utils/config.js +125 -51
- package/dist/js/node/utils/createFileWatcher.js +109 -61
- package/dist/js/node/utils/createServer.js +92 -25
- package/dist/js/node/utils/getServerInternalPlugins.js +79 -0
- package/dist/js/node/utils/getSpecifiedEntries.js +68 -25
- package/dist/js/node/utils/language.js +28 -8
- package/dist/js/node/utils/printInstructions.js +51 -16
- package/dist/js/node/utils/restart.js +65 -21
- package/dist/js/node/utils/routes.js +58 -19
- package/dist/js/node/utils/types.js +15 -0
- package/dist/js/treeshaking/analyze/Builder.js +199 -0
- package/dist/js/treeshaking/analyze/constants.js +37 -18
- package/dist/js/treeshaking/analyze/generateCode.js +597 -407
- package/dist/js/treeshaking/analyze/getBundleEntry.js +55 -63
- package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +217 -168
- package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +215 -169
- package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -2
- package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +19 -20
- package/dist/js/treeshaking/analyze/getFileSystemEntry.js +97 -86
- package/dist/js/treeshaking/analyze/getHtmlTemplate.js +298 -125
- package/dist/js/treeshaking/analyze/getServerRoutes.js +210 -147
- package/dist/js/treeshaking/analyze/index.js +575 -305
- package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +45 -26
- package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -16
- package/dist/js/treeshaking/analyze/nestedRoutes.js +419 -201
- package/dist/js/treeshaking/analyze/templates.js +438 -236
- package/dist/js/treeshaking/analyze/utils.js +367 -153
- package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +285 -199
- package/dist/js/treeshaking/builder/index.js +365 -165
- package/dist/js/treeshaking/builder/loaders/routerLoader.js +11 -12
- package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +3 -2
- package/dist/js/treeshaking/builder/share.js +38 -44
- package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +108 -44
- package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +70 -39
- package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +334 -112
- package/dist/js/treeshaking/commands/build.js +286 -88
- package/dist/js/treeshaking/commands/deploy.js +153 -25
- package/dist/js/treeshaking/commands/dev.js +313 -131
- package/dist/js/treeshaking/commands/index.js +1 -1
- package/dist/js/treeshaking/commands/inspect.js +147 -32
- package/dist/js/treeshaking/commands/serve.js +199 -0
- package/dist/js/treeshaking/config/default.js +207 -198
- package/dist/js/treeshaking/config/index.js +3 -2
- package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -31
- package/dist/js/treeshaking/config/initial/createOutputConfig.js +41 -70
- package/dist/js/treeshaking/config/initial/createSourceConfig.js +41 -40
- package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -38
- package/dist/js/treeshaking/config/initial/index.js +10 -9
- package/dist/js/treeshaking/config/initial/inits.js +205 -106
- package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +31 -34
- package/dist/js/treeshaking/defineConfig.js +60 -13
- package/dist/js/treeshaking/exports/server.js +2 -1
- package/dist/js/treeshaking/hooks.js +31 -25
- package/dist/js/treeshaking/index.js +681 -256
- package/dist/js/treeshaking/initialize/index.js +292 -113
- package/dist/js/treeshaking/locale/en.js +34 -33
- package/dist/js/treeshaking/locale/index.js +5 -5
- package/dist/js/treeshaking/locale/zh.js +34 -33
- package/dist/js/treeshaking/schema/Schema.js +267 -69
- package/dist/js/treeshaking/schema/index.js +171 -121
- package/dist/js/treeshaking/schema/legacy.js +323 -256
- package/dist/js/treeshaking/types/config/deploy.js +1 -0
- package/dist/js/treeshaking/types/config/dev.js +1 -0
- package/dist/js/treeshaking/types/config/experiments.js +1 -0
- package/dist/js/treeshaking/types/config/html.js +1 -0
- package/dist/js/treeshaking/types/config/index.js +0 -1
- package/dist/js/treeshaking/types/config/output.js +1 -0
- package/dist/js/treeshaking/types/config/performance.js +1 -0
- package/dist/js/treeshaking/types/config/security.js +1 -0
- package/dist/js/treeshaking/types/config/source.js +1 -0
- package/dist/js/treeshaking/types/config/tools.js +1 -0
- package/dist/js/treeshaking/types/hooks.js +1 -0
- package/dist/js/treeshaking/types/index.js +0 -1
- package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
- package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
- package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
- package/dist/js/treeshaking/types/legacyConfig/output.js +1 -1
- package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
- package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
- package/dist/js/treeshaking/utils/commands.js +10 -5
- package/dist/js/treeshaking/utils/config.js +295 -117
- package/dist/js/treeshaking/utils/createFileWatcher.js +278 -118
- package/dist/js/treeshaking/utils/createServer.js +252 -67
- package/dist/js/treeshaking/utils/getServerInternalPlugins.js +210 -0
- package/dist/js/treeshaking/utils/getSpecifiedEntries.js +182 -55
- package/dist/js/treeshaking/utils/language.js +6 -5
- package/dist/js/treeshaking/utils/printInstructions.js +151 -29
- package/dist/js/treeshaking/utils/restart.js +184 -42
- package/dist/js/treeshaking/utils/routes.js +151 -27
- package/dist/js/treeshaking/utils/types.js +1 -0
- package/dist/types/analyze/Builder.d.ts +8 -0
- package/dist/types/analyze/constants.d.ts +10 -1
- package/dist/types/analyze/index.d.ts +2 -0
- package/dist/types/analyze/templates.d.ts +3 -1
- package/dist/types/analyze/utils.d.ts +2 -1
- package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
- package/dist/types/builder/index.d.ts +3 -3
- package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
- package/dist/types/commands/index.d.ts +1 -1
- package/dist/types/commands/{start.d.ts → serve.d.ts} +0 -0
- package/dist/types/defineConfig.d.ts +1 -0
- package/dist/types/index.d.ts +7 -1
- package/dist/types/initialize/index.d.ts +2 -0
- package/dist/types/locale/en.d.ts +1 -1
- package/dist/types/locale/index.d.ts +2 -2
- package/dist/types/locale/zh.d.ts +1 -1
- package/dist/types/types/config/dev.d.ts +2 -2
- package/dist/types/types/config/index.d.ts +4 -0
- package/dist/types/types/config/output.d.ts +0 -1
- package/dist/types/types/config/source.d.ts +2 -0
- package/dist/types/types/config/tools.d.ts +2 -0
- package/dist/types/types/hooks.d.ts +8 -0
- package/dist/types/types/legacyConfig/dev.d.ts +1 -0
- package/dist/types/types/legacyConfig/output.d.ts +1 -1
- package/dist/types/types/legacyConfig/source.d.ts +1 -0
- package/dist/types/types/legacyConfig/tools.d.ts +1 -0
- package/dist/types/utils/commands.d.ts +2 -1
- package/dist/types/utils/config.d.ts +1 -0
- package/dist/types/utils/createServer.d.ts +1 -0
- package/dist/types/utils/getServerInternalPlugins.d.ts +2 -0
- package/dist/types/utils/restart.d.ts +1 -1
- package/package.json +26 -22
- package/dist/js/modern/commands/start.js +0 -30
- package/dist/js/node/commands/start.js +0 -38
- package/dist/js/treeshaking/commands/start.js +0 -69
|
@@ -1,85 +1,144 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
var __async = (__this, __arguments, generator) => {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
var fulfilled = (value) => {
|
|
27
|
+
try {
|
|
28
|
+
step(generator.next(value));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
reject(e);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var rejected = (value) => {
|
|
34
|
+
try {
|
|
35
|
+
step(generator.throw(value));
|
|
36
|
+
} catch (e) {
|
|
37
|
+
reject(e);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
41
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var getHtmlTemplate_exports = {};
|
|
45
|
+
__export(getHtmlTemplate_exports, {
|
|
46
|
+
getHtmlTemplate: () => getHtmlTemplate
|
|
5
47
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var templates =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
PartialPosition["BOTTOM"] = "bottom";
|
|
20
|
-
PartialPosition["INDEX"] = "index";
|
|
21
|
-
})(PartialPosition || (PartialPosition = {}));
|
|
48
|
+
module.exports = __toCommonJS(getHtmlTemplate_exports);
|
|
49
|
+
var import_path = __toESM(require("path"));
|
|
50
|
+
var import_utils = require("@modern-js/utils");
|
|
51
|
+
var import_constants = require("./constants");
|
|
52
|
+
var templates = __toESM(require("./templates"));
|
|
53
|
+
var PartialPosition = /* @__PURE__ */ ((PartialPosition2) => {
|
|
54
|
+
PartialPosition2["TOP"] = "top";
|
|
55
|
+
PartialPosition2["HEAD"] = "head";
|
|
56
|
+
PartialPosition2["BODY"] = "body";
|
|
57
|
+
PartialPosition2["BOTTOM"] = "bottom";
|
|
58
|
+
PartialPosition2["INDEX"] = "index";
|
|
59
|
+
return PartialPosition2;
|
|
60
|
+
})(PartialPosition || {});
|
|
22
61
|
const findPartials = (dir, entryName, position) => {
|
|
23
|
-
if (
|
|
24
|
-
const base = (0,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
62
|
+
if (import_utils.fs.existsSync(dir)) {
|
|
63
|
+
const base = (0, import_utils.findExists)(
|
|
64
|
+
import_constants.HTML_PARTIALS_EXTENSIONS.map(
|
|
65
|
+
(ext) => import_path.default.resolve(dir, `${position}${ext}`)
|
|
66
|
+
)
|
|
67
|
+
);
|
|
68
|
+
const file = entryName ? (0, import_utils.findExists)(
|
|
69
|
+
import_constants.HTML_PARTIALS_EXTENSIONS.map(
|
|
70
|
+
(ext) => import_path.default.resolve(dir, entryName, `${position}${ext}`)
|
|
71
|
+
)
|
|
72
|
+
) || base : base;
|
|
73
|
+
return file ? { file, content: import_utils.fs.readFileSync(file, "utf8") } : null;
|
|
30
74
|
}
|
|
31
75
|
return null;
|
|
32
76
|
};
|
|
33
|
-
|
|
34
|
-
// generate html template for
|
|
35
|
-
const getHtmlTemplate = async (entrypoints, api, {
|
|
77
|
+
const getHtmlTemplate = (_0, _1, _2) => __async(void 0, [_0, _1, _2], function* (entrypoints, api, {
|
|
36
78
|
appContext,
|
|
37
79
|
config
|
|
38
|
-
})
|
|
80
|
+
}) {
|
|
81
|
+
const { appDirectory, internalDirectory } = appContext;
|
|
39
82
|
const {
|
|
40
|
-
|
|
41
|
-
internalDirectory
|
|
42
|
-
} = appContext;
|
|
43
|
-
const {
|
|
44
|
-
source: {
|
|
45
|
-
configDir
|
|
46
|
-
}
|
|
83
|
+
source: { configDir }
|
|
47
84
|
} = config;
|
|
48
|
-
const htmlDir =
|
|
85
|
+
const htmlDir = import_path.default.resolve(
|
|
86
|
+
appDirectory,
|
|
87
|
+
configDir || "",
|
|
88
|
+
import_constants.HTML_PARTIALS_FOLDER
|
|
89
|
+
);
|
|
49
90
|
const htmlTemplates = {};
|
|
50
91
|
for (const entrypoint of entrypoints) {
|
|
51
|
-
const {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
92
|
+
const { entryName } = entrypoint;
|
|
93
|
+
const name = entrypoints.length === 1 && entryName === import_utils.MAIN_ENTRY_NAME ? "" : entryName;
|
|
94
|
+
const customIndexTemplate = findPartials(
|
|
95
|
+
htmlDir,
|
|
96
|
+
name,
|
|
97
|
+
"index" /* INDEX */
|
|
98
|
+
);
|
|
56
99
|
if (customIndexTemplate) {
|
|
57
100
|
htmlTemplates[entryName] = customIndexTemplate.file;
|
|
58
101
|
} else {
|
|
59
102
|
const hookRunners = api.useHookRunners();
|
|
60
|
-
const {
|
|
61
|
-
partials
|
|
62
|
-
} = await hookRunners.htmlPartials({
|
|
103
|
+
const { partials } = yield hookRunners.htmlPartials({
|
|
63
104
|
entrypoint,
|
|
64
|
-
partials: [
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
105
|
+
partials: [
|
|
106
|
+
"top" /* TOP */,
|
|
107
|
+
"head" /* HEAD */,
|
|
108
|
+
"body" /* BODY */
|
|
109
|
+
].reduce(
|
|
110
|
+
(previous, position) => {
|
|
111
|
+
const found = findPartials(htmlDir, name, position);
|
|
112
|
+
previous[position] = found ? [found.content] : [];
|
|
113
|
+
return previous;
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
top: [],
|
|
117
|
+
head: [],
|
|
118
|
+
body: []
|
|
119
|
+
}
|
|
120
|
+
)
|
|
73
121
|
});
|
|
74
|
-
const templatePath =
|
|
75
|
-
|
|
122
|
+
const templatePath = import_path.default.resolve(
|
|
123
|
+
internalDirectory,
|
|
124
|
+
entryName,
|
|
125
|
+
"index.html"
|
|
126
|
+
);
|
|
127
|
+
import_utils.fs.outputFileSync(templatePath, templates.html(partials), "utf8");
|
|
76
128
|
htmlTemplates[entryName] = templatePath;
|
|
77
|
-
const bottomTemplate = findPartials(
|
|
129
|
+
const bottomTemplate = findPartials(
|
|
130
|
+
htmlDir,
|
|
131
|
+
name,
|
|
132
|
+
"bottom" /* BOTTOM */
|
|
133
|
+
);
|
|
78
134
|
if (bottomTemplate) {
|
|
79
135
|
htmlTemplates[`__${entryName}-bottom__`] = bottomTemplate.content;
|
|
80
136
|
}
|
|
81
137
|
}
|
|
82
138
|
}
|
|
83
139
|
return htmlTemplates;
|
|
84
|
-
};
|
|
85
|
-
|
|
140
|
+
});
|
|
141
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
142
|
+
0 && (module.exports = {
|
|
143
|
+
getHtmlTemplate
|
|
144
|
+
});
|
|
@@ -1,186 +1,194 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
36
|
+
var __export = (target, all) => {
|
|
37
|
+
for (var name in all)
|
|
38
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
39
|
+
};
|
|
40
|
+
var __copyProps = (to, from, except, desc) => {
|
|
41
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
42
|
+
for (let key of __getOwnPropNames(from))
|
|
43
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
44
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
45
|
+
}
|
|
46
|
+
return to;
|
|
47
|
+
};
|
|
48
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
49
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
50
|
+
mod
|
|
51
|
+
));
|
|
52
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
53
|
+
var getServerRoutes_exports = {};
|
|
54
|
+
__export(getServerRoutes_exports, {
|
|
55
|
+
getServerRoutes: () => getServerRoutes
|
|
5
56
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
const _excluded = ["path"],
|
|
12
|
-
_excluded2 = ["path"];
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
15
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
-
/**
|
|
20
|
-
* Add base url for each server route.
|
|
21
|
-
* @param baseUrl - Base url from server.baseUrl
|
|
22
|
-
* @param routes - Server routes.
|
|
23
|
-
* @returns Server routes with baseUrl prefixed.
|
|
24
|
-
*/
|
|
57
|
+
module.exports = __toCommonJS(getServerRoutes_exports);
|
|
58
|
+
var import_path = __toESM(require("path"));
|
|
59
|
+
var import_fs = __toESM(require("fs"));
|
|
60
|
+
var import_utils = require("@modern-js/utils");
|
|
61
|
+
var import_utils2 = require("./utils");
|
|
25
62
|
const applyBaseUrl = (baseUrl, routes) => {
|
|
26
63
|
if (baseUrl) {
|
|
27
64
|
if (Array.isArray(baseUrl)) {
|
|
28
|
-
return baseUrl.reduce(
|
|
65
|
+
return baseUrl.reduce(
|
|
66
|
+
(previous, current) => [...previous, ...applyBaseUrl(current, routes)],
|
|
67
|
+
[]
|
|
68
|
+
);
|
|
29
69
|
} else {
|
|
30
|
-
return routes.map(route => {
|
|
31
|
-
const urlPath = (0,
|
|
32
|
-
return
|
|
33
|
-
urlPath: urlPath ===
|
|
70
|
+
return routes.map((route) => {
|
|
71
|
+
const urlPath = (0, import_utils.urlJoin)(baseUrl, route.urlPath);
|
|
72
|
+
return __spreadProps(__spreadValues({}, route), {
|
|
73
|
+
urlPath: urlPath === "/" ? urlPath : (0, import_utils.removeTailSlash)(urlPath)
|
|
34
74
|
});
|
|
35
75
|
});
|
|
36
76
|
}
|
|
37
77
|
}
|
|
38
78
|
return routes;
|
|
39
79
|
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
*
|
|
43
|
-
* @param original - Original entrypoint route info.
|
|
44
|
-
* @param routeOptions - Custom entrypoint route config from server.routes.
|
|
45
|
-
* @returns
|
|
46
|
-
*/
|
|
47
80
|
const applyRouteOptions = (original, routeOptions) => {
|
|
48
|
-
const {
|
|
49
|
-
route,
|
|
50
|
-
disableSpa
|
|
51
|
-
} = routeOptions;
|
|
81
|
+
const { route, disableSpa } = routeOptions;
|
|
52
82
|
original.isSPA = !disableSpa;
|
|
53
|
-
|
|
54
|
-
// set entryPath as dir
|
|
55
|
-
!original.isSPA && (original.entryPath = _path.default.dirname(original.entryPath));
|
|
83
|
+
!original.isSPA && (original.entryPath = import_path.default.dirname(original.entryPath));
|
|
56
84
|
let routes;
|
|
57
85
|
if (route) {
|
|
58
86
|
if (Array.isArray(route)) {
|
|
59
|
-
routes = route.map(url => {
|
|
60
|
-
if ((0,
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
path: urlPath
|
|
64
|
-
} = _ref,
|
|
65
|
-
other = _objectWithoutProperties(_ref, _excluded);
|
|
66
|
-
return _objectSpread(_objectSpread(_objectSpread({}, original), other), {}, {
|
|
87
|
+
routes = route.map((url) => {
|
|
88
|
+
if ((0, import_utils.isPlainObject)(url)) {
|
|
89
|
+
const _a2 = url, { path: urlPath } = _a2, other = __objRest(_a2, ["path"]);
|
|
90
|
+
return __spreadProps(__spreadValues(__spreadValues({}, original), other), {
|
|
67
91
|
urlPath
|
|
68
92
|
});
|
|
69
93
|
} else {
|
|
70
|
-
return
|
|
94
|
+
return __spreadProps(__spreadValues({}, original), {
|
|
71
95
|
urlPath: url
|
|
72
96
|
});
|
|
73
97
|
}
|
|
74
98
|
});
|
|
75
|
-
} else if ((0,
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
urlPath
|
|
83
|
-
})];
|
|
99
|
+
} else if ((0, import_utils.isPlainObject)(route)) {
|
|
100
|
+
const _a = route, { path: urlPath } = _a, other = __objRest(_a, ["path"]);
|
|
101
|
+
routes = [
|
|
102
|
+
__spreadProps(__spreadValues(__spreadValues({}, original), other), {
|
|
103
|
+
urlPath
|
|
104
|
+
})
|
|
105
|
+
];
|
|
84
106
|
} else {
|
|
85
|
-
routes = [
|
|
86
|
-
|
|
87
|
-
|
|
107
|
+
routes = [
|
|
108
|
+
__spreadProps(__spreadValues({}, original), {
|
|
109
|
+
urlPath: route
|
|
110
|
+
})
|
|
111
|
+
];
|
|
88
112
|
}
|
|
89
113
|
} else {
|
|
90
114
|
routes = [original];
|
|
91
115
|
}
|
|
92
116
|
return routes;
|
|
93
117
|
};
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Collect routes from entrypoints.
|
|
97
|
-
* @param entrypoints - Bundle entrypoints.
|
|
98
|
-
* @param config - Normalized user config.
|
|
99
|
-
* @returns entrypoint Routes
|
|
100
|
-
*/
|
|
101
118
|
const collectHtmlRoutes = (entrypoints, appContext, config) => {
|
|
102
119
|
const {
|
|
103
|
-
html: {
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
output: {
|
|
107
|
-
distPath: {
|
|
108
|
-
html: htmlPath
|
|
109
|
-
} = {},
|
|
110
|
-
enableModernMode
|
|
111
|
-
},
|
|
112
|
-
server: {
|
|
113
|
-
baseUrl,
|
|
114
|
-
routes,
|
|
115
|
-
ssr,
|
|
116
|
-
ssrByEntries
|
|
117
|
-
}
|
|
120
|
+
html: { disableHtmlFolder },
|
|
121
|
+
output: { distPath: { html: htmlPath } = {} },
|
|
122
|
+
server: { baseUrl, routes, ssr, ssrByEntries }
|
|
118
123
|
} = config;
|
|
119
|
-
const {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
route: routes[entryName]
|
|
124
|
+
const { packageName } = appContext;
|
|
125
|
+
let htmlRoutes = entrypoints.reduce(
|
|
126
|
+
(previous, { entryName }) => {
|
|
127
|
+
const entryOptions = (0, import_utils.getEntryOptions)(
|
|
128
|
+
entryName,
|
|
129
|
+
ssr,
|
|
130
|
+
ssrByEntries,
|
|
131
|
+
packageName
|
|
132
|
+
);
|
|
133
|
+
const isSSR = Boolean(entryOptions);
|
|
134
|
+
const { resHeaders } = (routes == null ? void 0 : routes[entryName]) || {};
|
|
135
|
+
let route = {
|
|
136
|
+
urlPath: `/${entryName === import_utils.MAIN_ENTRY_NAME ? "" : entryName}`,
|
|
137
|
+
entryName,
|
|
138
|
+
entryPath: (0, import_utils.removeLeadingSlash)(
|
|
139
|
+
import_path.default.posix.normalize(
|
|
140
|
+
`${htmlPath}/${entryName}${disableHtmlFolder ? ".html" : "/index.html"}`
|
|
141
|
+
)
|
|
142
|
+
),
|
|
143
|
+
isSPA: true,
|
|
144
|
+
isSSR,
|
|
145
|
+
responseHeaders: resHeaders,
|
|
146
|
+
bundle: isSSR ? `${import_utils.SERVER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0
|
|
143
147
|
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
+
if (routes == null ? void 0 : routes.hasOwnProperty(entryName)) {
|
|
149
|
+
const routeOptions = (0, import_utils.isPlainObject)(routes[entryName]) ? routes[entryName] : { route: routes[entryName] };
|
|
150
|
+
route = applyRouteOptions(route, routeOptions);
|
|
151
|
+
}
|
|
152
|
+
return Array.isArray(route) ? [...previous, ...route] : [...previous, route];
|
|
153
|
+
},
|
|
154
|
+
[]
|
|
155
|
+
);
|
|
148
156
|
htmlRoutes = applyBaseUrl(baseUrl, htmlRoutes);
|
|
149
157
|
return htmlRoutes;
|
|
150
158
|
};
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Collect static public file routes from config/public folder.
|
|
154
|
-
* @param appContext - App context info.
|
|
155
|
-
* @param config - normalized user config.
|
|
156
|
-
* @returns Static public file routes.
|
|
157
|
-
*/
|
|
158
159
|
const collectStaticRoutes = (appContext, config) => {
|
|
160
|
+
const { appDirectory } = appContext;
|
|
159
161
|
const {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const {
|
|
163
|
-
source: {
|
|
164
|
-
configDir
|
|
165
|
-
},
|
|
166
|
-
server: {
|
|
167
|
-
publicRoutes = {}
|
|
168
|
-
}
|
|
162
|
+
source: { configDir },
|
|
163
|
+
server: { publicRoutes = {} }
|
|
169
164
|
} = config;
|
|
170
|
-
const publicFolder =
|
|
171
|
-
return
|
|
172
|
-
const urlPath = `${(0,
|
|
165
|
+
const publicFolder = import_path.default.resolve(appDirectory, configDir || "", "public");
|
|
166
|
+
return import_fs.default.existsSync(publicFolder) ? (0, import_utils2.walkDirectory)(publicFolder).map((filePath) => {
|
|
167
|
+
const urlPath = `${(0, import_utils.urlJoin)(
|
|
168
|
+
toPosix(filePath).slice(toPosix(publicFolder).length)
|
|
169
|
+
)}`;
|
|
173
170
|
return {
|
|
174
|
-
urlPath: publicRoutes[(0,
|
|
171
|
+
urlPath: publicRoutes[(0, import_utils.removeLeadingSlash)(urlPath)] || urlPath,
|
|
175
172
|
isSPA: true,
|
|
176
173
|
isSSR: false,
|
|
177
|
-
entryPath: toPosix(
|
|
174
|
+
entryPath: toPosix(
|
|
175
|
+
import_path.default.relative(
|
|
176
|
+
import_path.default.resolve(appDirectory, configDir || ""),
|
|
177
|
+
filePath
|
|
178
|
+
)
|
|
179
|
+
)
|
|
178
180
|
};
|
|
179
181
|
}) : [];
|
|
180
182
|
};
|
|
181
183
|
const getServerRoutes = (entrypoints, {
|
|
182
184
|
appContext,
|
|
183
185
|
config
|
|
184
|
-
}) => [
|
|
185
|
-
|
|
186
|
-
|
|
186
|
+
}) => [
|
|
187
|
+
...collectHtmlRoutes(entrypoints, appContext, config),
|
|
188
|
+
...collectStaticRoutes(appContext, config)
|
|
189
|
+
];
|
|
190
|
+
const toPosix = (pathStr) => pathStr.split(import_path.default.sep).join(import_path.default.posix.sep);
|
|
191
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
192
|
+
0 && (module.exports = {
|
|
193
|
+
getServerRoutes
|
|
194
|
+
});
|