@modern-js/app-tools 2.63.1 → 2.63.3
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/bin/modern.js +1 -1
- package/dist/cjs/commands/build.js +19 -13
- package/dist/cjs/commands/deploy.js +5 -5
- package/dist/cjs/commands/dev.js +11 -11
- package/dist/cjs/commands/index.js +6 -6
- package/dist/cjs/commands/inspect.js +1 -1
- package/dist/cjs/commands/serve.js +4 -4
- package/dist/cjs/{new/compat → compat}/hooks.js +21 -6
- package/dist/cjs/{new/compat → compat}/index.js +7 -2
- package/dist/cjs/{new/compat → compat}/utils.js +29 -8
- package/dist/cjs/config/default.js +6 -1
- package/dist/cjs/config/legacy/index.js +0 -1
- package/dist/cjs/index.js +154 -5
- package/dist/cjs/plugins/analyze/getServerRoutes.js +12 -2
- package/dist/cjs/plugins/analyze/index.js +25 -10
- package/dist/cjs/plugins/analyze/utils.js +6 -0
- package/dist/cjs/plugins/deploy/platforms/netlify.js +7 -4
- package/dist/cjs/plugins/deploy/platforms/node.js +6 -3
- package/dist/cjs/plugins/deploy/platforms/vercel.js +7 -4
- package/dist/cjs/plugins/serverBuild.js +30 -32
- package/dist/cjs/{new/run.js → run/index.js} +6 -6
- package/dist/cjs/{new → utils}/getConfigFile.js +1 -1
- package/dist/cjs/{new/context.js → utils/initAppContext.js} +3 -3
- package/dist/cjs/{new/utils/index.js → utils/isAutoLoadPlugins.js} +6 -6
- package/dist/cjs/utils/loadPlugins.js +35 -4
- package/dist/cjs/utils/printInstructions.js +2 -11
- package/dist/cjs/utils/restart.js +2 -2
- package/dist/esm/commands/build.js +18 -12
- package/dist/esm/commands/deploy.js +6 -6
- package/dist/esm/commands/dev.js +11 -11
- package/dist/esm/commands/index.js +8 -8
- package/dist/esm/commands/inspect.js +1 -1
- package/dist/esm/commands/serve.js +6 -6
- package/dist/esm/{new/compat → compat}/hooks.js +98 -49
- package/dist/esm/{new/compat → compat}/index.js +8 -3
- package/dist/esm/{new/compat → compat}/utils.js +29 -8
- package/dist/esm/config/default.js +12 -1
- package/dist/esm/config/legacy/index.js +0 -1
- package/dist/esm/index.js +245 -2
- package/dist/esm/plugins/analyze/getServerRoutes.js +11 -2
- package/dist/esm/plugins/analyze/index.js +76 -34
- package/dist/esm/plugins/analyze/utils.js +5 -0
- package/dist/esm/plugins/deploy/platforms/netlify.js +6 -3
- package/dist/esm/plugins/deploy/platforms/node.js +5 -2
- package/dist/esm/plugins/deploy/platforms/vercel.js +6 -3
- package/dist/esm/plugins/serverBuild.js +52 -56
- package/dist/esm/{new/run.js → run/index.js} +6 -6
- package/dist/esm/{new → utils}/getConfigFile.js +1 -1
- package/dist/esm/{new/utils/index.js → utils/isAutoLoadPlugins.js} +6 -6
- package/dist/esm/utils/loadPlugins.js +95 -7
- package/dist/esm/utils/printInstructions.js +1 -28
- package/dist/esm/utils/restart.js +3 -3
- package/dist/esm-node/commands/build.js +19 -13
- package/dist/esm-node/commands/deploy.js +5 -5
- package/dist/esm-node/commands/dev.js +12 -12
- package/dist/esm-node/commands/index.js +6 -6
- package/dist/esm-node/commands/inspect.js +1 -1
- package/dist/esm-node/commands/serve.js +5 -5
- package/dist/esm-node/{new/compat → compat}/hooks.js +21 -6
- package/dist/esm-node/{new/compat → compat}/index.js +8 -3
- package/dist/esm-node/{new/compat → compat}/utils.js +29 -8
- package/dist/esm-node/config/default.js +6 -1
- package/dist/esm-node/config/legacy/index.js +0 -1
- package/dist/esm-node/index.js +140 -2
- package/dist/esm-node/plugins/analyze/getServerRoutes.js +11 -2
- package/dist/esm-node/plugins/analyze/index.js +26 -11
- package/dist/esm-node/plugins/analyze/utils.js +5 -0
- package/dist/esm-node/plugins/deploy/platforms/netlify.js +6 -3
- package/dist/esm-node/plugins/deploy/platforms/node.js +5 -2
- package/dist/esm-node/plugins/deploy/platforms/vercel.js +6 -3
- package/dist/esm-node/plugins/serverBuild.js +30 -32
- package/dist/esm-node/{new/run.js → run/index.js} +6 -6
- package/dist/esm-node/{new → utils}/getConfigFile.js +1 -1
- package/dist/esm-node/{new/utils/index.js → utils/isAutoLoadPlugins.js} +2 -2
- package/dist/esm-node/utils/loadPlugins.js +34 -4
- package/dist/esm-node/utils/printInstructions.js +1 -9
- package/dist/esm-node/utils/restart.js +2 -2
- package/dist/types/commands/build.d.ts +2 -2
- package/dist/types/commands/deploy.d.ts +2 -2
- package/dist/types/commands/dev.d.ts +2 -2
- package/dist/types/commands/index.d.ts +6 -6
- package/dist/types/commands/inspect.d.ts +2 -2
- package/dist/types/commands/serve.d.ts +2 -2
- package/dist/types/{new/compat → compat}/hooks.d.ts +2 -2
- package/dist/types/compat/index.d.ts +2 -0
- package/dist/types/{new/compat → compat}/utils.d.ts +8 -1
- package/dist/types/index.d.ts +5 -3
- package/dist/types/plugins/analyze/getServerRoutes.d.ts +1 -0
- package/dist/types/plugins/analyze/utils.d.ts +1 -0
- package/dist/types/plugins/serverBuild.d.ts +2 -2
- package/dist/types/types/config/index.d.ts +0 -1
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/new.d.ts +11 -16
- package/dist/types/utils/generateWatchFiles.d.ts +2 -2
- package/dist/types/utils/isAutoLoadPlugins.d.ts +1 -0
- package/dist/types/utils/loadPlugins.d.ts +13 -3
- package/dist/types/utils/printInstructions.d.ts +1 -3
- package/dist/types/utils/restart.d.ts +2 -3
- package/package.json +24 -28
- package/dist/cjs/hooks.js +0 -60
- package/dist/cjs/new/index.js +0 -79
- package/dist/cjs/new/loadPlugins.js +0 -57
- package/dist/cjs/old.js +0 -179
- package/dist/cjs/plugins/deploy/dependencies/index.js +0 -237
- package/dist/cjs/plugins/deploy/dependencies/utils.js +0 -179
- package/dist/cjs/plugins/deploy/exports.js +0 -28
- package/dist/esm/hooks.js +0 -36
- package/dist/esm/new/index.js +0 -55
- package/dist/esm/new/loadPlugins.js +0 -94
- package/dist/esm/old.js +0 -258
- package/dist/esm/plugins/deploy/dependencies/index.js +0 -615
- package/dist/esm/plugins/deploy/dependencies/utils.js +0 -421
- package/dist/esm/plugins/deploy/exports.js +0 -4
- package/dist/esm-node/hooks.js +0 -36
- package/dist/esm-node/new/index.js +0 -52
- package/dist/esm-node/new/loadPlugins.js +0 -33
- package/dist/esm-node/old.js +0 -140
- package/dist/esm-node/plugins/deploy/dependencies/index.js +0 -202
- package/dist/esm-node/plugins/deploy/dependencies/utils.js +0 -137
- package/dist/esm-node/plugins/deploy/exports.js +0 -4
- package/dist/types/hooks.d.ts +0 -2
- package/dist/types/new/compat/index.d.ts +0 -2
- package/dist/types/new/index.d.ts +0 -6
- package/dist/types/new/loadPlugins.d.ts +0 -9
- package/dist/types/new/utils/index.d.ts +0 -1
- package/dist/types/old.d.ts +0 -13
- package/dist/types/plugins/deploy/dependencies/index.d.ts +0 -20
- package/dist/types/plugins/deploy/dependencies/utils.d.ts +0 -44
- package/dist/types/plugins/deploy/exports.d.ts +0 -1
- /package/dist/cjs/{new/constants.js → constants.js} +0 -0
- /package/dist/esm/{new/constants.js → constants.js} +0 -0
- /package/dist/esm/{new/context.js → utils/initAppContext.js} +0 -0
- /package/dist/esm-node/{new/constants.js → constants.js} +0 -0
- /package/dist/esm-node/{new/context.js → utils/initAppContext.js} +0 -0
- /package/dist/types/{new/constants.d.ts → constants.d.ts} +0 -0
- /package/dist/types/{new/run.d.ts → run/index.d.ts} +0 -0
- /package/dist/types/{new → utils}/getConfigFile.d.ts +0 -0
- /package/dist/types/{new/context.d.ts → utils/initAppContext.d.ts} +0 -0
package/bin/modern.js
CHANGED
|
@@ -10,7 +10,7 @@ if (!process.env.MODERN_JS_VERSION) {
|
|
|
10
10
|
process.env.MODERN_JS_VERSION = version;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
require('../dist/cjs/
|
|
13
|
+
require('../dist/cjs/run/index.js').run({
|
|
14
14
|
internalPlugins: {
|
|
15
15
|
cli: INTERNAL_APP_TOOLS_PLUGINS,
|
|
16
16
|
autoLoad: INTERNAL_APP_TOOLS_RUNTIME_PLUGINS,
|
|
@@ -31,7 +31,6 @@ __export(build_exports, {
|
|
|
31
31
|
build: () => build
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(build_exports);
|
|
34
|
-
var import_core = require("@modern-js/core");
|
|
35
34
|
var import_utils = require("@modern-js/utils");
|
|
36
35
|
var import_config = require("../utils/config");
|
|
37
36
|
var import_loadPlugins = require("../utils/loadPlugins");
|
|
@@ -42,9 +41,9 @@ const build = async (api, options) => {
|
|
|
42
41
|
if (options === null || options === void 0 ? void 0 : options.analyze) {
|
|
43
42
|
process.env.BUNDLE_ANALYZE = "true";
|
|
44
43
|
}
|
|
45
|
-
|
|
46
|
-
const appContext = api.
|
|
47
|
-
const
|
|
44
|
+
const resolvedConfig = api.getNormalizedConfig();
|
|
45
|
+
const appContext = api.getAppContext();
|
|
46
|
+
const hooks = api.getHooks();
|
|
48
47
|
await (0, import_loadPlugins.loadServerPlugins)(api, appContext.appDirectory, appContext.metaName);
|
|
49
48
|
if (appContext.moduleType && appContext.moduleType === "module") {
|
|
50
49
|
var _resolvedConfig_source1;
|
|
@@ -59,9 +58,12 @@ const build = async (api, options) => {
|
|
|
59
58
|
const { apiOnly } = appContext;
|
|
60
59
|
if (apiOnly) {
|
|
61
60
|
const { appDirectory: appDirectory2, distDirectory: distDirectory2, serverConfigFile: serverConfigFile2 } = appContext;
|
|
62
|
-
await
|
|
61
|
+
await hooks.onBeforeBuild.call({
|
|
62
|
+
environments: {},
|
|
63
63
|
// "null" bundlerConfigs
|
|
64
|
-
bundlerConfigs: void 0
|
|
64
|
+
bundlerConfigs: void 0,
|
|
65
|
+
isFirstCompile: false,
|
|
66
|
+
isWatch: false
|
|
65
67
|
});
|
|
66
68
|
await (0, import_config.buildServerConfig)({
|
|
67
69
|
appDirectory: appDirectory2,
|
|
@@ -69,17 +71,21 @@ const build = async (api, options) => {
|
|
|
69
71
|
configFile: serverConfigFile2
|
|
70
72
|
});
|
|
71
73
|
await (0, import_routes.generateRoutes)(appContext);
|
|
72
|
-
await
|
|
74
|
+
await hooks.onAfterBuild.call({
|
|
75
|
+
environments: {},
|
|
73
76
|
// "null" stats
|
|
74
|
-
stats: void 0
|
|
77
|
+
stats: void 0,
|
|
78
|
+
isFirstCompile: false,
|
|
79
|
+
isWatch: false
|
|
75
80
|
});
|
|
76
81
|
return;
|
|
77
82
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
api.modifyResolvedConfig((config) => {
|
|
84
|
+
return {
|
|
85
|
+
...config,
|
|
86
|
+
cliOptions: options
|
|
87
|
+
};
|
|
88
|
+
});
|
|
83
89
|
const { distDirectory, appDirectory, serverConfigFile } = appContext;
|
|
84
90
|
await (0, import_config.buildServerConfig)({
|
|
85
91
|
appDirectory,
|
|
@@ -23,12 +23,12 @@ __export(deploy_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(deploy_exports);
|
|
24
24
|
var import_loadPlugins = require("../utils/loadPlugins");
|
|
25
25
|
const deploy = async (api, options) => {
|
|
26
|
-
const
|
|
27
|
-
const { metaName } = api.
|
|
26
|
+
const hooks = api.getHooks();
|
|
27
|
+
const { metaName } = api.getAppContext();
|
|
28
28
|
await (0, import_loadPlugins.getServerPlugins)(api, metaName);
|
|
29
|
-
await
|
|
30
|
-
await
|
|
31
|
-
await
|
|
29
|
+
await hooks.onBeforeDeploy.call(options);
|
|
30
|
+
await hooks.deploy.call();
|
|
31
|
+
await hooks.onAfterDeploy.call(options);
|
|
32
32
|
};
|
|
33
33
|
// Annotate the CommonJS export names for ESM import in node:
|
|
34
34
|
0 && (module.exports = {
|
package/dist/cjs/commands/dev.js
CHANGED
|
@@ -32,7 +32,6 @@ __export(dev_exports, {
|
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(dev_exports);
|
|
34
34
|
var import_node_path = __toESM(require("node:path"));
|
|
35
|
-
var import_core = require("@modern-js/core");
|
|
36
35
|
var import_prod_server = require("@modern-js/prod-server");
|
|
37
36
|
var import_server = require("@modern-js/server");
|
|
38
37
|
var import_utils = require("@modern-js/utils");
|
|
@@ -47,9 +46,9 @@ const dev = async (api, options, devServerOptions) => {
|
|
|
47
46
|
if (options.analyze) {
|
|
48
47
|
process.env.BUNDLE_ANALYZE = "true";
|
|
49
48
|
}
|
|
50
|
-
|
|
51
|
-
const appContext = api.
|
|
52
|
-
const
|
|
49
|
+
const normalizedConfig = api.getNormalizedConfig();
|
|
50
|
+
const appContext = api.getAppContext();
|
|
51
|
+
const hooks = api.getHooks();
|
|
53
52
|
if (appContext.moduleType && appContext.moduleType === "module") {
|
|
54
53
|
var _normalizedConfig_source1;
|
|
55
54
|
const { registerEsm } = await import("../esm/register-esm.mjs");
|
|
@@ -60,11 +59,12 @@ const dev = async (api, options, devServerOptions) => {
|
|
|
60
59
|
});
|
|
61
60
|
}
|
|
62
61
|
await (0, import_register.registerCompiler)(appContext.appDirectory, appContext.distDirectory, normalizedConfig === null || normalizedConfig === void 0 ? void 0 : (_normalizedConfig_source = normalizedConfig.source) === null || _normalizedConfig_source === void 0 ? void 0 : _normalizedConfig_source.alias);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
api.modifyResolvedConfig((config) => {
|
|
63
|
+
return {
|
|
64
|
+
...config,
|
|
65
|
+
cliOptions: options
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
68
|
const { appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes } = appContext;
|
|
69
69
|
await (0, import_config.buildServerConfig)({
|
|
70
70
|
appDirectory,
|
|
@@ -74,7 +74,7 @@ const dev = async (api, options, devServerOptions) => {
|
|
|
74
74
|
});
|
|
75
75
|
const meta = (0, import_utils.getMeta)(metaName);
|
|
76
76
|
const serverConfigPath = import_node_path.default.resolve(appDirectory, import_utils.SERVER_DIR, `${meta}.server`);
|
|
77
|
-
await
|
|
77
|
+
await hooks.onBeforeDev.call();
|
|
78
78
|
if (!appContext.builder && !apiOnly) {
|
|
79
79
|
throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
|
|
80
80
|
}
|
|
@@ -113,7 +113,7 @@ const dev = async (api, options, devServerOptions) => {
|
|
|
113
113
|
port,
|
|
114
114
|
host
|
|
115
115
|
}, () => {
|
|
116
|
-
(0, import_printInstructions.
|
|
116
|
+
(0, import_printInstructions.printInstructions)(hooks, appContext, normalizedConfig);
|
|
117
117
|
});
|
|
118
118
|
} else {
|
|
119
119
|
const { server, afterListen } = await (0, import_server.createDevServer)({
|
|
@@ -41,8 +41,8 @@ var import_uni_builder = require("@modern-js/uni-builder");
|
|
|
41
41
|
var import_utils = require("@modern-js/utils");
|
|
42
42
|
var import_locale = require("../locale");
|
|
43
43
|
const devCommand = async (program, api) => {
|
|
44
|
-
const
|
|
45
|
-
const devToolMetas = await
|
|
44
|
+
const hooks = api.getHooks();
|
|
45
|
+
const devToolMetas = await hooks.registerDev.call();
|
|
46
46
|
const devProgram = program.command("dev").alias("start").usage("[options]").description(import_locale.i18n.t(import_locale.localeKeys.command.dev.describe)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).option("-e --entry [entry...]", import_locale.i18n.t(import_locale.localeKeys.command.dev.entry)).option("--analyze", import_locale.i18n.t(import_locale.localeKeys.command.shared.analyze)).option("--api-only", import_locale.i18n.t(import_locale.localeKeys.command.dev.apiOnly)).option("--web-only", import_locale.i18n.t(import_locale.localeKeys.command.dev.webOnly)).action(async (options) => {
|
|
47
47
|
const { dev } = await import("./dev.js");
|
|
48
48
|
await dev(api, options);
|
|
@@ -53,7 +53,7 @@ const devCommand = async (program, api) => {
|
|
|
53
53
|
}
|
|
54
54
|
for (const subCmd of meta.subCommands) {
|
|
55
55
|
devProgram.command(subCmd).action(async (options = {}) => {
|
|
56
|
-
const { appDirectory } = api.
|
|
56
|
+
const { appDirectory } = api.getAppContext();
|
|
57
57
|
const { isTypescript } = await import("@modern-js/utils");
|
|
58
58
|
await meta.action(options, {
|
|
59
59
|
isTsProject: isTypescript(appDirectory)
|
|
@@ -63,8 +63,8 @@ const devCommand = async (program, api) => {
|
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
const buildCommand = async (program, api) => {
|
|
66
|
-
const
|
|
67
|
-
const platformBuilders = await
|
|
66
|
+
const hooks = api.getHooks();
|
|
67
|
+
const platformBuilders = await hooks.registerBuildPlatform.call();
|
|
68
68
|
const buildProgram = program.command("build").usage("[options]").description(import_locale.i18n.t(import_locale.localeKeys.command.build.describe)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).option("--analyze", import_locale.i18n.t(import_locale.localeKeys.command.shared.analyze)).action(async (options) => {
|
|
69
69
|
const { build } = await import("./build.js");
|
|
70
70
|
await build(api, options);
|
|
@@ -73,7 +73,7 @@ const buildCommand = async (program, api) => {
|
|
|
73
73
|
const platforms = (0, import_uni_builder.castArray)(platformBuilder.platform);
|
|
74
74
|
for (const platform of platforms) {
|
|
75
75
|
buildProgram.command(platform).action(async () => {
|
|
76
|
-
const { appDirectory } = api.
|
|
76
|
+
const { appDirectory } = api.getAppContext();
|
|
77
77
|
const { isTypescript } = await import("@modern-js/utils");
|
|
78
78
|
await platformBuilder.build(platform, {
|
|
79
79
|
isTsProject: isTypescript(appDirectory)
|
|
@@ -22,7 +22,7 @@ __export(inspect_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(inspect_exports);
|
|
24
24
|
const inspect = async (api, options) => {
|
|
25
|
-
const appContext = api.
|
|
25
|
+
const appContext = api.getAppContext();
|
|
26
26
|
if (!appContext.builder) {
|
|
27
27
|
throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
|
|
28
28
|
}
|
|
@@ -38,9 +38,9 @@ var import_loadPlugins = require("../utils/loadPlugins");
|
|
|
38
38
|
var import_printInstructions = require("../utils/printInstructions");
|
|
39
39
|
const start = async (api) => {
|
|
40
40
|
var _userConfig_source, _userConfig_output_distPath;
|
|
41
|
-
const appContext = api.
|
|
42
|
-
const userConfig = api.
|
|
43
|
-
const
|
|
41
|
+
const appContext = api.getAppContext();
|
|
42
|
+
const userConfig = api.getNormalizedConfig();
|
|
43
|
+
const hooks = api.getHooks();
|
|
44
44
|
const { distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile } = appContext;
|
|
45
45
|
import_utils.logger.info(`Starting production server...`);
|
|
46
46
|
const apiOnly = await (0, import_utils.isApiOnly)(appContext.appDirectory, userConfig === null || userConfig === void 0 ? void 0 : (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.entriesDir, appContext.apiDirectory);
|
|
@@ -77,7 +77,7 @@ const start = async (api) => {
|
|
|
77
77
|
runMode
|
|
78
78
|
});
|
|
79
79
|
app.listen(port, async () => {
|
|
80
|
-
await (0, import_printInstructions.
|
|
80
|
+
await (0, import_printInstructions.printInstructions)(hooks, appContext, userConfig);
|
|
81
81
|
});
|
|
82
82
|
};
|
|
83
83
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -22,7 +22,7 @@ __export(hooks_exports, {
|
|
|
22
22
|
handleSetupResult: () => handleSetupResult
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(hooks_exports);
|
|
25
|
-
var import_getHtmlTemplate = require("
|
|
25
|
+
var import_getHtmlTemplate = require("../plugins/analyze/getHtmlTemplate");
|
|
26
26
|
var import_utils = require("./utils");
|
|
27
27
|
function getHookRunners(context) {
|
|
28
28
|
const { hooks } = context;
|
|
@@ -71,6 +71,14 @@ function getHookRunners(context) {
|
|
|
71
71
|
const result = await (hooks === null || hooks === void 0 ? void 0 : hooks.appendEntryCode.call(params));
|
|
72
72
|
return result;
|
|
73
73
|
},
|
|
74
|
+
// test plugin hooks
|
|
75
|
+
jestConfig: async (utils) => {
|
|
76
|
+
const result = await (hooks === null || hooks === void 0 ? void 0 : hooks.jestConfig.call(utils, (utils2) => utils2));
|
|
77
|
+
return result;
|
|
78
|
+
},
|
|
79
|
+
afterTest: async () => {
|
|
80
|
+
return hooks.afterTest.call();
|
|
81
|
+
},
|
|
74
82
|
/**
|
|
75
83
|
* common hooks
|
|
76
84
|
*/
|
|
@@ -134,14 +142,14 @@ function getHookRunners(context) {
|
|
|
134
142
|
/**
|
|
135
143
|
* @deprecated
|
|
136
144
|
*/
|
|
137
|
-
registerDev: async (
|
|
138
|
-
return hooks.registerDev.call(
|
|
145
|
+
registerDev: async () => {
|
|
146
|
+
return hooks.registerDev.call();
|
|
139
147
|
},
|
|
140
148
|
/**
|
|
141
149
|
* @deprecated
|
|
142
150
|
*/
|
|
143
|
-
registerBuildPlatform: async (
|
|
144
|
-
return hooks.registerBuildPlatform.call(
|
|
151
|
+
registerBuildPlatform: async () => {
|
|
152
|
+
return hooks.registerBuildPlatform.call();
|
|
145
153
|
},
|
|
146
154
|
/**
|
|
147
155
|
* @deprecated
|
|
@@ -160,7 +168,14 @@ function handleSetupResult(setupResult, api) {
|
|
|
160
168
|
if (typeof fn === "function") {
|
|
161
169
|
const newAPI = (0, import_utils.transformHookRunner)(key);
|
|
162
170
|
if (api[newAPI]) {
|
|
163
|
-
api[newAPI](async (params) =>
|
|
171
|
+
api[newAPI](async (...params) => {
|
|
172
|
+
const { isMultiple, params: transformParams } = (0, import_utils.transformHookParams)(key, params);
|
|
173
|
+
if (isMultiple) {
|
|
174
|
+
return (0, import_utils.transformHookResult)(key, await fn(...transformParams));
|
|
175
|
+
} else {
|
|
176
|
+
return (0, import_utils.transformHookResult)(key, await fn(transformParams));
|
|
177
|
+
}
|
|
178
|
+
});
|
|
164
179
|
}
|
|
165
180
|
}
|
|
166
181
|
});
|
|
@@ -49,9 +49,14 @@ const compatPlugin = () => ({
|
|
|
49
49
|
};
|
|
50
50
|
},
|
|
51
51
|
registryHooks: {
|
|
52
|
-
appendEntryCode: (0, import_plugin_v2.createCollectAsyncHook)()
|
|
52
|
+
appendEntryCode: (0, import_plugin_v2.createCollectAsyncHook)(),
|
|
53
|
+
jestConfig: (0, import_plugin_v2.createAsyncHook)(),
|
|
54
|
+
afterTest: (0, import_plugin_v2.createAsyncHook)()
|
|
53
55
|
},
|
|
54
|
-
setup: (
|
|
56
|
+
setup: (api) => {
|
|
57
|
+
api.updateAppContext({
|
|
58
|
+
toolsType: "app-tools"
|
|
59
|
+
});
|
|
55
60
|
}
|
|
56
61
|
});
|
|
57
62
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -23,6 +23,7 @@ __export(utils_exports, {
|
|
|
23
23
|
transformHookRunner: () => transformHookRunner
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(utils_exports);
|
|
26
|
+
var import_getHtmlTemplate = require("../plugins/analyze/getHtmlTemplate");
|
|
26
27
|
function transformHookRunner(hookRunnerName) {
|
|
27
28
|
switch (hookRunnerName) {
|
|
28
29
|
case "beforeConfig":
|
|
@@ -73,25 +74,45 @@ function transformHookParams(hookRunnerName, params) {
|
|
|
73
74
|
switch (hookRunnerName) {
|
|
74
75
|
case "resolvedConfig":
|
|
75
76
|
return {
|
|
76
|
-
|
|
77
|
+
isMultiple: false,
|
|
78
|
+
params: {
|
|
79
|
+
resolved: params[0]
|
|
80
|
+
}
|
|
77
81
|
};
|
|
78
82
|
case "htmlPartials":
|
|
79
83
|
return {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
isMultiple: false,
|
|
85
|
+
params: {
|
|
86
|
+
partials: {
|
|
87
|
+
top: params[0].partials.top.current,
|
|
88
|
+
head: params[0].partials.head.current,
|
|
89
|
+
body: params[0].partials.body.current
|
|
90
|
+
},
|
|
91
|
+
entrypoint: params[0].entrypoint
|
|
92
|
+
}
|
|
86
93
|
};
|
|
94
|
+
case "jestConfig": {
|
|
95
|
+
return {
|
|
96
|
+
isMultiple: true,
|
|
97
|
+
params
|
|
98
|
+
};
|
|
99
|
+
}
|
|
87
100
|
default:
|
|
88
|
-
return
|
|
101
|
+
return {
|
|
102
|
+
isMultiple: false,
|
|
103
|
+
params: params[0]
|
|
104
|
+
};
|
|
89
105
|
}
|
|
90
106
|
}
|
|
91
107
|
function transformHookResult(hookRunnerName, result) {
|
|
92
108
|
switch (hookRunnerName) {
|
|
93
109
|
case "resolvedConfig":
|
|
94
110
|
return result.resolved;
|
|
111
|
+
case "htmlPartials":
|
|
112
|
+
return {
|
|
113
|
+
partials: (0, import_getHtmlTemplate.getModifyHtmlPartials)(result.partials),
|
|
114
|
+
entrypoint: result.entrypoint
|
|
115
|
+
};
|
|
95
116
|
default:
|
|
96
117
|
return result;
|
|
97
118
|
}
|
|
@@ -28,7 +28,12 @@ function createDefaultConfig(appContext) {
|
|
|
28
28
|
const dev = {
|
|
29
29
|
// `dev.port` should not have a default value
|
|
30
30
|
// because we will use `server.port` by default
|
|
31
|
-
port: void 0
|
|
31
|
+
port: void 0,
|
|
32
|
+
cliShortcuts: {
|
|
33
|
+
help: false,
|
|
34
|
+
// does not support restart server and print urls yet
|
|
35
|
+
custom: (shortcuts = []) => shortcuts.filter(({ key }) => key !== "r" && key !== "u")
|
|
36
|
+
}
|
|
32
37
|
};
|
|
33
38
|
const output = {
|
|
34
39
|
distPath: {
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
@@ -16,25 +18,171 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
18
20
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
19
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
30
|
var src_exports = {};
|
|
21
31
|
__export(src_exports, {
|
|
22
|
-
appTools: () =>
|
|
32
|
+
appTools: () => appTools,
|
|
23
33
|
default: () => src_default,
|
|
24
34
|
defineConfig: () => import_defineConfig.defineConfig,
|
|
25
35
|
defineLegacyConfig: () => import_defineConfig.defineLegacyConfig,
|
|
26
36
|
dev: () => import_dev.dev,
|
|
27
|
-
initAppContext: () =>
|
|
37
|
+
initAppContext: () => import_initAppContext.initAppContext,
|
|
28
38
|
mergeConfig: () => import_core.mergeConfig
|
|
29
39
|
});
|
|
30
40
|
module.exports = __toCommonJS(src_exports);
|
|
31
|
-
var
|
|
32
|
-
var
|
|
41
|
+
var import_language_detector = require("@modern-js/plugin-i18n/language-detector");
|
|
42
|
+
var import_plugin_v2 = require("@modern-js/plugin-v2");
|
|
43
|
+
var import_uni_builder = require("@modern-js/uni-builder");
|
|
44
|
+
var import_utils = require("@modern-js/utils");
|
|
45
|
+
var import_commands = require("./commands");
|
|
46
|
+
var import_compat = require("./compat");
|
|
47
|
+
var import_constants = require("./constants");
|
|
48
|
+
var import_locale = require("./locale");
|
|
49
|
+
var import_analyze = __toESM(require("./plugins/analyze"));
|
|
50
|
+
var import_deploy = __toESM(require("./plugins/deploy"));
|
|
51
|
+
var import_initialize = __toESM(require("./plugins/initialize"));
|
|
52
|
+
var import_serverBuild = __toESM(require("./plugins/serverBuild"));
|
|
53
|
+
var import_generateWatchFiles = require("./utils/generateWatchFiles");
|
|
54
|
+
var import_initAppContext = require("./utils/initAppContext");
|
|
55
|
+
var import_restart = require("./utils/restart");
|
|
56
|
+
__reExport(src_exports, require("./defineConfig"), module.exports);
|
|
33
57
|
var import_defineConfig = require("./defineConfig");
|
|
34
58
|
var import_core = require("@modern-js/core");
|
|
35
59
|
var import_dev = require("./commands/dev");
|
|
36
60
|
__reExport(src_exports, require("./types"), module.exports);
|
|
37
|
-
|
|
61
|
+
const appTools = (options = {
|
|
62
|
+
// default webpack to be compatible with original projects
|
|
63
|
+
bundler: "webpack"
|
|
64
|
+
}) => ({
|
|
65
|
+
name: "@modern-js/app-tools",
|
|
66
|
+
usePlugins: [
|
|
67
|
+
(0, import_compat.compatPlugin)(),
|
|
68
|
+
(0, import_initialize.default)({
|
|
69
|
+
bundler: (options === null || options === void 0 ? void 0 : options.bundler) && [
|
|
70
|
+
"rspack",
|
|
71
|
+
"experimental-rspack"
|
|
72
|
+
].includes(options.bundler) ? "rspack" : "webpack"
|
|
73
|
+
}),
|
|
74
|
+
(0, import_analyze.default)({
|
|
75
|
+
bundler: (options === null || options === void 0 ? void 0 : options.bundler) && [
|
|
76
|
+
"rspack",
|
|
77
|
+
"experimental-rspack"
|
|
78
|
+
].includes(options.bundler) ? "rspack" : "webpack"
|
|
79
|
+
}),
|
|
80
|
+
(0, import_serverBuild.default)(),
|
|
81
|
+
(0, import_deploy.default)()
|
|
82
|
+
],
|
|
83
|
+
post: [
|
|
84
|
+
"@modern-js/plugin-initialize",
|
|
85
|
+
"@modern-js/plugin-analyze",
|
|
86
|
+
"@modern-js/plugin-ssr",
|
|
87
|
+
"@modern-js/plugin-document",
|
|
88
|
+
"@modern-js/plugin-state",
|
|
89
|
+
"@modern-js/plugin-router",
|
|
90
|
+
"@modern-js/plugin-router-v5",
|
|
91
|
+
"@modern-js/plugin-polyfill"
|
|
92
|
+
],
|
|
93
|
+
registryHooks: {
|
|
94
|
+
onBeforeConfig: (0, import_plugin_v2.createAsyncHook)(),
|
|
95
|
+
onAfterPrepare: (0, import_plugin_v2.createAsyncHook)(),
|
|
96
|
+
deploy: (0, import_plugin_v2.createAsyncHook)(),
|
|
97
|
+
_internalRuntimePlugins: (0, import_plugin_v2.createAsyncHook)(),
|
|
98
|
+
_internalServerPlugins: (0, import_plugin_v2.createAsyncHook)(),
|
|
99
|
+
checkEntryPoint: (0, import_plugin_v2.createAsyncHook)(),
|
|
100
|
+
modifyEntrypoints: (0, import_plugin_v2.createAsyncHook)(),
|
|
101
|
+
modifyFileSystemRoutes: (0, import_plugin_v2.createAsyncHook)(),
|
|
102
|
+
modifyServerRoutes: (0, import_plugin_v2.createAsyncHook)(),
|
|
103
|
+
generateEntryCode: (0, import_plugin_v2.createAsyncHook)(),
|
|
104
|
+
onBeforeGenerateRoutes: (0, import_plugin_v2.createAsyncHook)(),
|
|
105
|
+
onBeforePrintInstructions: (0, import_plugin_v2.createAsyncHook)(),
|
|
106
|
+
registerDev: (0, import_plugin_v2.createCollectAsyncHook)(),
|
|
107
|
+
registerBuildPlatform: (0, import_plugin_v2.createCollectAsyncHook)(),
|
|
108
|
+
addRuntimeExports: (0, import_plugin_v2.createAsyncHook)()
|
|
109
|
+
},
|
|
110
|
+
setup: (api) => {
|
|
111
|
+
var _userConfig_output;
|
|
112
|
+
const context = api.getAppContext();
|
|
113
|
+
const userConfig = api.getConfig();
|
|
114
|
+
const locale = (0, import_language_detector.getLocaleLanguage)();
|
|
115
|
+
import_locale.i18n.changeLanguage({
|
|
116
|
+
locale
|
|
117
|
+
});
|
|
118
|
+
api.updateAppContext((0, import_initAppContext.initAppContext)({
|
|
119
|
+
appDirectory: context.appDirectory,
|
|
120
|
+
options: {},
|
|
121
|
+
serverConfigFile: import_constants.DEFAULT_SERVER_CONFIG_FILE,
|
|
122
|
+
runtimeConfigFile: import_constants.DEFAULT_RUNTIME_CONFIG_FILE,
|
|
123
|
+
tempDir: (_userConfig_output = userConfig.output) === null || _userConfig_output === void 0 ? void 0 : _userConfig_output.tempDir
|
|
124
|
+
}));
|
|
125
|
+
api.addCommand(async ({ program }) => {
|
|
126
|
+
await (0, import_commands.devCommand)(program, api);
|
|
127
|
+
await (0, import_commands.buildCommand)(program, api);
|
|
128
|
+
(0, import_commands.serverCommand)(program, api);
|
|
129
|
+
(0, import_commands.deployCommand)(program, api);
|
|
130
|
+
(0, import_commands.newCommand)(program, locale);
|
|
131
|
+
(0, import_commands.inspectCommand)(program, api);
|
|
132
|
+
(0, import_commands.upgradeCommand)(program);
|
|
133
|
+
(0, import_utils.deprecatedCommands)(program);
|
|
134
|
+
});
|
|
135
|
+
api.onPrepare(async () => {
|
|
136
|
+
const command = (0, import_utils.getCommand)();
|
|
137
|
+
if (command === "deploy") {
|
|
138
|
+
const isSkipBuild = [
|
|
139
|
+
"-s",
|
|
140
|
+
"--skip-build"
|
|
141
|
+
].some((tag) => {
|
|
142
|
+
return (0, import_utils.getArgv)().includes(tag);
|
|
143
|
+
});
|
|
144
|
+
if (isSkipBuild) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (command === "dev" || command === "start" || command === "build" || command === "deploy") {
|
|
149
|
+
const resolvedConfig = api.getNormalizedConfig();
|
|
150
|
+
if (resolvedConfig.output.cleanDistPath) {
|
|
151
|
+
const appContext = api.getAppContext();
|
|
152
|
+
await (0, import_utils.emptyDir)(appContext.distDirectory);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
api.addWatchFiles(async () => {
|
|
157
|
+
const appContext = api.getAppContext();
|
|
158
|
+
const config = api.getNormalizedConfig();
|
|
159
|
+
const files = await (0, import_generateWatchFiles.generateWatchFiles)(appContext, config.source.configDir);
|
|
160
|
+
const watchFiles = (0, import_uni_builder.castArray)(config.dev.watchFiles);
|
|
161
|
+
watchFiles.forEach(({ type, paths }) => {
|
|
162
|
+
if (type === "reload-server") {
|
|
163
|
+
files.push(...Array.isArray(paths) ? paths : [
|
|
164
|
+
paths
|
|
165
|
+
]);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
return files;
|
|
169
|
+
});
|
|
170
|
+
api.onFileChanged(async (e) => {
|
|
171
|
+
const { filename, eventType, isPrivate } = e;
|
|
172
|
+
if (!isPrivate && (eventType === "change" || eventType === "unlink")) {
|
|
173
|
+
const { closeServer } = await import("./utils/createServer.js");
|
|
174
|
+
await closeServer();
|
|
175
|
+
await (0, import_restart.restart)(api.getHooks(), filename);
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
api.onBeforeRestart(() => {
|
|
179
|
+
(0, import_utils.cleanRequireCache)([
|
|
180
|
+
require.resolve("./plugins/analyze")
|
|
181
|
+
]);
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
var src_default = appTools;
|
|
38
186
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
187
|
0 && (module.exports = {
|
|
40
188
|
appTools,
|
|
@@ -43,5 +191,6 @@ var src_default = import_new.appTools;
|
|
|
43
191
|
dev,
|
|
44
192
|
initAppContext,
|
|
45
193
|
mergeConfig,
|
|
194
|
+
...require("./defineConfig"),
|
|
46
195
|
...require("./types")
|
|
47
196
|
});
|
|
@@ -28,10 +28,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var getServerRoutes_exports = {};
|
|
30
30
|
__export(getServerRoutes_exports, {
|
|
31
|
+
getProdServerRoutes: () => getProdServerRoutes,
|
|
31
32
|
getServerRoutes: () => getServerRoutes
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(getServerRoutes_exports);
|
|
34
|
-
var import_fs = __toESM(require("fs"));
|
|
35
35
|
var import_path = __toESM(require("path"));
|
|
36
36
|
var import_utils = require("@modern-js/utils");
|
|
37
37
|
var import_routes = require("../../utils/routes");
|
|
@@ -148,7 +148,7 @@ const collectStaticRoutes = (appContext, config) => {
|
|
|
148
148
|
const ignoreFiles = [
|
|
149
149
|
".gitkeep"
|
|
150
150
|
];
|
|
151
|
-
return
|
|
151
|
+
return import_utils.fs.existsSync(publicFolder) ? (0, import_utils2.walkDirectory)(publicFolder).filter((filePath) => !ignoreFiles.includes(import_path.default.basename(filePath))).map((filePath) => {
|
|
152
152
|
const urlPath = `${(0, import_utils.urlJoin)(toPosix(filePath).slice(toPosix(publicFolder).length))}`;
|
|
153
153
|
return {
|
|
154
154
|
urlPath: publicRoutes[(0, import_utils.removeLeadingSlash)(urlPath)] || urlPath,
|
|
@@ -163,7 +163,17 @@ const getServerRoutes = (entrypoints, { appContext, config }) => [
|
|
|
163
163
|
...collectStaticRoutes(appContext, config)
|
|
164
164
|
];
|
|
165
165
|
const toPosix = (pathStr) => pathStr.split(import_path.default.sep).join(import_path.default.posix.sep);
|
|
166
|
+
const getProdServerRoutes = (distDirectory) => {
|
|
167
|
+
const routeJSON = import_path.default.join(distDirectory, import_utils.ROUTE_SPEC_FILE);
|
|
168
|
+
try {
|
|
169
|
+
const { routes } = import_utils.fs.readJSONSync(routeJSON);
|
|
170
|
+
return routes;
|
|
171
|
+
} catch (e) {
|
|
172
|
+
throw new Error(`Failed to read routes from ${routeJSON}, please check if the file exists.`);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
166
175
|
// Annotate the CommonJS export names for ESM import in node:
|
|
167
176
|
0 && (module.exports = {
|
|
177
|
+
getProdServerRoutes,
|
|
168
178
|
getServerRoutes
|
|
169
179
|
});
|