@modern-js/app-tools 2.63.1-alpha.0 → 2.63.1

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.
Files changed (99) hide show
  1. package/bin/modern.js +1 -1
  2. package/dist/cjs/commands/build.js +13 -19
  3. package/dist/cjs/commands/deploy.js +5 -5
  4. package/dist/cjs/commands/dev.js +11 -11
  5. package/dist/cjs/commands/index.js +6 -6
  6. package/dist/cjs/commands/inspect.js +1 -1
  7. package/dist/cjs/commands/serve.js +4 -4
  8. package/dist/cjs/hooks.js +60 -0
  9. package/dist/cjs/index.js +5 -154
  10. package/dist/cjs/{compat → new/compat}/hooks.js +5 -5
  11. package/dist/cjs/{compat → new/compat}/index.js +1 -4
  12. package/dist/cjs/{utils/initAppContext.js → new/context.js} +3 -3
  13. package/dist/cjs/{utils → new}/getConfigFile.js +1 -1
  14. package/dist/cjs/new/index.js +79 -0
  15. package/dist/cjs/new/loadPlugins.js +57 -0
  16. package/dist/cjs/{run/index.js → new/run.js} +6 -6
  17. package/dist/cjs/{utils/isAutoLoadPlugins.js → new/utils/index.js} +6 -6
  18. package/dist/cjs/old.js +179 -0
  19. package/dist/cjs/plugins/serverBuild.js +32 -30
  20. package/dist/cjs/utils/loadPlugins.js +4 -35
  21. package/dist/cjs/utils/printInstructions.js +11 -2
  22. package/dist/cjs/utils/restart.js +2 -2
  23. package/dist/esm/commands/build.js +12 -18
  24. package/dist/esm/commands/deploy.js +6 -6
  25. package/dist/esm/commands/dev.js +11 -11
  26. package/dist/esm/commands/index.js +8 -8
  27. package/dist/esm/commands/inspect.js +1 -1
  28. package/dist/esm/commands/serve.js +6 -6
  29. package/dist/esm/hooks.js +36 -0
  30. package/dist/esm/index.js +2 -245
  31. package/dist/esm/{compat → new/compat}/hooks.js +25 -15
  32. package/dist/esm/{compat → new/compat}/index.js +1 -4
  33. package/dist/esm/{utils → new}/getConfigFile.js +1 -1
  34. package/dist/esm/new/index.js +55 -0
  35. package/dist/esm/new/loadPlugins.js +94 -0
  36. package/dist/esm/{run/index.js → new/run.js} +6 -6
  37. package/dist/esm/{utils/isAutoLoadPlugins.js → new/utils/index.js} +6 -6
  38. package/dist/esm/old.js +258 -0
  39. package/dist/esm/plugins/serverBuild.js +56 -52
  40. package/dist/esm/utils/loadPlugins.js +7 -95
  41. package/dist/esm/utils/printInstructions.js +28 -1
  42. package/dist/esm/utils/restart.js +3 -3
  43. package/dist/esm-node/commands/build.js +13 -19
  44. package/dist/esm-node/commands/deploy.js +5 -5
  45. package/dist/esm-node/commands/dev.js +12 -12
  46. package/dist/esm-node/commands/index.js +6 -6
  47. package/dist/esm-node/commands/inspect.js +1 -1
  48. package/dist/esm-node/commands/serve.js +5 -5
  49. package/dist/esm-node/hooks.js +36 -0
  50. package/dist/esm-node/index.js +2 -140
  51. package/dist/esm-node/{compat → new/compat}/hooks.js +5 -5
  52. package/dist/esm-node/{compat → new/compat}/index.js +1 -4
  53. package/dist/esm-node/{utils → new}/getConfigFile.js +1 -1
  54. package/dist/esm-node/new/index.js +52 -0
  55. package/dist/esm-node/new/loadPlugins.js +33 -0
  56. package/dist/esm-node/{run/index.js → new/run.js} +6 -6
  57. package/dist/esm-node/{utils/isAutoLoadPlugins.js → new/utils/index.js} +2 -2
  58. package/dist/esm-node/old.js +140 -0
  59. package/dist/esm-node/plugins/serverBuild.js +32 -30
  60. package/dist/esm-node/utils/loadPlugins.js +4 -34
  61. package/dist/esm-node/utils/printInstructions.js +9 -1
  62. package/dist/esm-node/utils/restart.js +2 -2
  63. package/dist/types/commands/build.d.ts +2 -2
  64. package/dist/types/commands/deploy.d.ts +2 -2
  65. package/dist/types/commands/dev.d.ts +2 -2
  66. package/dist/types/commands/index.d.ts +6 -6
  67. package/dist/types/commands/inspect.d.ts +2 -2
  68. package/dist/types/commands/serve.d.ts +2 -2
  69. package/dist/types/hooks.d.ts +2 -0
  70. package/dist/types/index.d.ts +3 -5
  71. package/dist/types/{compat → new/compat}/hooks.d.ts +2 -2
  72. package/dist/types/new/compat/index.d.ts +2 -0
  73. package/dist/types/new/index.d.ts +6 -0
  74. package/dist/types/new/loadPlugins.d.ts +9 -0
  75. package/dist/types/new/utils/index.d.ts +1 -0
  76. package/dist/types/old.d.ts +13 -0
  77. package/dist/types/plugins/serverBuild.d.ts +2 -2
  78. package/dist/types/types/index.d.ts +0 -2
  79. package/dist/types/types/new.d.ts +16 -11
  80. package/dist/types/utils/generateWatchFiles.d.ts +2 -2
  81. package/dist/types/utils/loadPlugins.d.ts +3 -13
  82. package/dist/types/utils/printInstructions.d.ts +3 -1
  83. package/dist/types/utils/restart.d.ts +3 -2
  84. package/package.json +23 -22
  85. package/dist/types/compat/index.d.ts +0 -2
  86. package/dist/types/utils/isAutoLoadPlugins.d.ts +0 -1
  87. /package/dist/cjs/{compat → new/compat}/utils.js +0 -0
  88. /package/dist/cjs/{constants.js → new/constants.js} +0 -0
  89. /package/dist/esm/{compat → new/compat}/utils.js +0 -0
  90. /package/dist/esm/{constants.js → new/constants.js} +0 -0
  91. /package/dist/esm/{utils/initAppContext.js → new/context.js} +0 -0
  92. /package/dist/esm-node/{compat → new/compat}/utils.js +0 -0
  93. /package/dist/esm-node/{constants.js → new/constants.js} +0 -0
  94. /package/dist/esm-node/{utils/initAppContext.js → new/context.js} +0 -0
  95. /package/dist/types/{compat → new/compat}/utils.d.ts +0 -0
  96. /package/dist/types/{constants.d.ts → new/constants.d.ts} +0 -0
  97. /package/dist/types/{utils/initAppContext.d.ts → new/context.d.ts} +0 -0
  98. /package/dist/types/{utils → new}/getConfigFile.d.ts +0 -0
  99. /package/dist/types/{run/index.d.ts → new/run.d.ts} +0 -0
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var loadPlugins_exports = {};
20
+ __export(loadPlugins_exports, {
21
+ loadInternalPlugins: () => loadInternalPlugins
22
+ });
23
+ module.exports = __toCommonJS(loadPlugins_exports);
24
+ var import_utils = require("@modern-js/utils");
25
+ const debug = (0, import_utils.createDebugger)("load-plugins");
26
+ const resolveCliPlugin = async (p, appDirectory) => {
27
+ const pkg = typeof p === "string" ? p : p[0];
28
+ const pluginOptions = typeof p === "string" ? void 0 : p[1];
29
+ const path = (0, import_utils.tryResolve)(pkg, appDirectory);
30
+ let module2;
31
+ try {
32
+ module2 = await (0, import_utils.compatibleRequire)(path);
33
+ } catch (e) {
34
+ ({ default: module2 } = await (0, import_utils.dynamicImport)(path));
35
+ }
36
+ if (typeof module2 === "function") {
37
+ const result = module2(pluginOptions);
38
+ return result;
39
+ }
40
+ return module2;
41
+ };
42
+ const loadInternalPlugins = async (appDirectory, internalPlugins, autoLoad, autoLoadPlugins) => {
43
+ const plugins = [
44
+ ...autoLoadPlugins ? (0, import_utils.getInternalPlugins)(appDirectory, internalPlugins) : [],
45
+ ...autoLoad ? (0, import_utils.getInternalPlugins)(appDirectory, autoLoad) : []
46
+ ];
47
+ const loadedPlugins = await Promise.all(plugins.map((plugin) => {
48
+ const loadedPlugin = resolveCliPlugin(plugin, appDirectory);
49
+ debug(`resolve plugin %s: %s`, plugin, loadedPlugin);
50
+ return loadedPlugin;
51
+ }));
52
+ return loadedPlugins;
53
+ };
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ loadInternalPlugins
57
+ });
@@ -24,11 +24,11 @@ module.exports = __toCommonJS(run_exports);
24
24
  var import_cli = require("@modern-js/plugin-v2/cli");
25
25
  var import_run = require("@modern-js/plugin-v2/run");
26
26
  var import_utils = require("@modern-js/utils");
27
- var import_hooks = require("../compat/hooks");
28
- var import_constants = require("../constants");
29
- var import_getConfigFile = require("../utils/getConfigFile");
30
- var import_isAutoLoadPlugins = require("../utils/isAutoLoadPlugins");
31
- var import_loadPlugins = require("../utils/loadPlugins");
27
+ var import_hooks = require("./compat/hooks");
28
+ var import_constants = require("./constants");
29
+ var import_getConfigFile = require("./getConfigFile");
30
+ var import_loadPlugins = require("./loadPlugins");
31
+ var import_utils2 = require("./utils");
32
32
  async function run({ cwd, initialLog, version, internalPlugins, packageJsonConfig, configFile }) {
33
33
  const command = process.argv[2];
34
34
  const cliParams = (0, import_utils.minimist)(process.argv.slice(2));
@@ -50,7 +50,7 @@ async function run({ cwd, initialLog, version, internalPlugins, packageJsonConfi
50
50
  }
51
51
  const appDirectory = await (0, import_cli.initAppDir)(cwd);
52
52
  const finalConfigFile = customConfigFile || (0, import_getConfigFile.getConfigFile)(configFile);
53
- const autoLoadPlugins = await (0, import_isAutoLoadPlugins.isAutoLoadPlugins)(appDirectory, finalConfigFile);
53
+ const autoLoadPlugins = await (0, import_utils2.getIsAutoLoadPlugins)(appDirectory, finalConfigFile);
54
54
  const plugins = await (0, import_loadPlugins.loadInternalPlugins)(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, autoLoadPlugins);
55
55
  await (0, import_run.run)({
56
56
  cwd,
@@ -16,13 +16,13 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var isAutoLoadPlugins_exports = {};
20
- __export(isAutoLoadPlugins_exports, {
21
- isAutoLoadPlugins: () => isAutoLoadPlugins
19
+ var utils_exports = {};
20
+ __export(utils_exports, {
21
+ getIsAutoLoadPlugins: () => getIsAutoLoadPlugins
22
22
  });
23
- module.exports = __toCommonJS(isAutoLoadPlugins_exports);
23
+ module.exports = __toCommonJS(utils_exports);
24
24
  var import_cli = require("@modern-js/plugin-v2/cli");
25
- async function isAutoLoadPlugins(appDirectory, configFile = "modern.config.ts", packageJsonConfig = "ModernConfig") {
25
+ async function getIsAutoLoadPlugins(appDirectory, configFile = "modern.config.ts", packageJsonConfig = "ModernConfig") {
26
26
  var _loaded_config;
27
27
  const loaded = await (0, import_cli.createLoadedConfig)(appDirectory, configFile, packageJsonConfig);
28
28
  const autoLoadPlugins = (_loaded_config = loaded.config) === null || _loaded_config === void 0 ? void 0 : _loaded_config.autoLoadPlugins;
@@ -30,5 +30,5 @@ async function isAutoLoadPlugins(appDirectory, configFile = "modern.config.ts",
30
30
  }
31
31
  // Annotate the CommonJS export names for ESM import in node:
32
32
  0 && (module.exports = {
33
- isAutoLoadPlugins
33
+ getIsAutoLoadPlugins
34
34
  });
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
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
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var old_exports = {};
31
+ __export(old_exports, {
32
+ appTools: () => appTools,
33
+ default: () => old_default,
34
+ dev: () => import_dev.dev,
35
+ mergeConfig: () => import_core.mergeConfig
36
+ });
37
+ module.exports = __toCommonJS(old_exports);
38
+ var import_path = __toESM(require("path"));
39
+ var import_language_detector = require("@modern-js/plugin-i18n/language-detector");
40
+ var import_uni_builder = require("@modern-js/uni-builder");
41
+ var import_utils = require("@modern-js/utils");
42
+ var import_hooks = require("./hooks");
43
+ var import_locale = require("./locale");
44
+ var import_analyze = __toESM(require("./plugins/analyze"));
45
+ var import_deploy = __toESM(require("./plugins/deploy"));
46
+ var import_initialize = __toESM(require("./plugins/initialize"));
47
+ var import_serverBuild = __toESM(require("./plugins/serverBuild"));
48
+ var import_commands = require("./commands");
49
+ var import_generateWatchFiles = require("./utils/generateWatchFiles");
50
+ var import_restart = require("./utils/restart");
51
+ var import_dev = require("./commands/dev");
52
+ var import_core = require("@modern-js/core");
53
+ __reExport(old_exports, require("./defineConfig"), module.exports);
54
+ __reExport(old_exports, require("./types"), module.exports);
55
+ const appTools = (options = {
56
+ // default webpack to be compatible with original projects
57
+ bundler: "webpack"
58
+ }) => ({
59
+ name: "@modern-js/app-tools-old",
60
+ post: [
61
+ "@modern-js/plugin-initialize",
62
+ "@modern-js/plugin-analyze",
63
+ "@modern-js/plugin-ssr",
64
+ "@modern-js/plugin-document",
65
+ "@modern-js/plugin-state",
66
+ "@modern-js/plugin-router",
67
+ "@modern-js/plugin-router-v5",
68
+ "@modern-js/plugin-polyfill"
69
+ ],
70
+ registerHook: import_hooks.hooks,
71
+ usePlugins: [
72
+ (0, import_initialize.default)({
73
+ bundler: (options === null || options === void 0 ? void 0 : options.bundler) && [
74
+ "rspack",
75
+ "experimental-rspack"
76
+ ].includes(options.bundler) ? "rspack" : "webpack"
77
+ }),
78
+ (0, import_analyze.default)({
79
+ bundler: (options === null || options === void 0 ? void 0 : options.bundler) && [
80
+ "rspack",
81
+ "experimental-rspack"
82
+ ].includes(options.bundler) ? "rspack" : "webpack"
83
+ }),
84
+ (0, import_serverBuild.default)(),
85
+ (0, import_deploy.default)()
86
+ ],
87
+ setup: (api) => {
88
+ const appContext = api.useAppContext();
89
+ api.setAppContext({
90
+ ...appContext,
91
+ toolsType: "app-tools"
92
+ });
93
+ const locale = (0, import_language_detector.getLocaleLanguage)();
94
+ import_locale.i18n.changeLanguage({
95
+ locale
96
+ });
97
+ return {
98
+ async beforeConfig() {
99
+ var _userConfig_output;
100
+ const userConfig = api.useConfigContext();
101
+ const appContext2 = api.useAppContext();
102
+ if ((_userConfig_output = userConfig.output) === null || _userConfig_output === void 0 ? void 0 : _userConfig_output.tempDir) {
103
+ api.setAppContext({
104
+ ...appContext2,
105
+ internalDirectory: import_path.default.resolve(appContext2.appDirectory, userConfig.output.tempDir)
106
+ });
107
+ }
108
+ },
109
+ async commands({ program }) {
110
+ await (0, import_commands.devCommand)(program, api);
111
+ await (0, import_commands.buildCommand)(program, api);
112
+ (0, import_commands.serverCommand)(program, api);
113
+ (0, import_commands.deployCommand)(program, api);
114
+ (0, import_commands.newCommand)(program, locale);
115
+ (0, import_commands.inspectCommand)(program, api);
116
+ (0, import_commands.upgradeCommand)(program);
117
+ (0, import_utils.deprecatedCommands)(program);
118
+ },
119
+ async prepare() {
120
+ const command = (0, import_utils.getCommand)();
121
+ if (command === "deploy") {
122
+ const isSkipBuild = [
123
+ "-s",
124
+ "--skip-build"
125
+ ].some((tag) => {
126
+ return (0, import_utils.getArgv)().includes(tag);
127
+ });
128
+ if (isSkipBuild) {
129
+ return;
130
+ }
131
+ }
132
+ if (command === "dev" || command === "start" || command === "build" || command === "deploy") {
133
+ const resolvedConfig = api.useResolvedConfigContext();
134
+ if (resolvedConfig.output.cleanDistPath) {
135
+ const appContext2 = api.useAppContext();
136
+ await (0, import_utils.emptyDir)(appContext2.distDirectory);
137
+ }
138
+ }
139
+ },
140
+ async watchFiles() {
141
+ const appContext2 = api.useAppContext();
142
+ const config = api.useResolvedConfigContext();
143
+ const files = await (0, import_generateWatchFiles.generateWatchFiles)(appContext2, config.source.configDir);
144
+ const watchFiles = (0, import_uni_builder.castArray)(config.dev.watchFiles);
145
+ watchFiles.forEach(({ type, paths }) => {
146
+ if (type === "reload-server") {
147
+ files.push(...Array.isArray(paths) ? paths : [
148
+ paths
149
+ ]);
150
+ }
151
+ });
152
+ return files;
153
+ },
154
+ // 这里会被 core/initWatcher 监听的文件变动触发,如果是 src 目录下的文件变动,则不做 restart
155
+ async fileChange(e) {
156
+ const { filename, eventType, isPrivate } = e;
157
+ if (!isPrivate && (eventType === "change" || eventType === "unlink")) {
158
+ const { closeServer } = await import("./utils/createServer.js");
159
+ await closeServer();
160
+ await (0, import_restart.restart)(api.useHookRunners(), filename);
161
+ }
162
+ },
163
+ async beforeRestart() {
164
+ (0, import_utils.cleanRequireCache)([
165
+ require.resolve("./plugins/analyze")
166
+ ]);
167
+ }
168
+ };
169
+ }
170
+ });
171
+ var old_default = appTools;
172
+ // Annotate the CommonJS export names for ESM import in node:
173
+ 0 && (module.exports = {
174
+ appTools,
175
+ dev,
176
+ mergeConfig,
177
+ ...require("./defineConfig"),
178
+ ...require("./types")
179
+ });
@@ -50,37 +50,39 @@ function checkHasConfig(appDir, metaName = "modern-js") {
50
50
  var serverBuild_default = () => ({
51
51
  name: "@modern-js/server-build",
52
52
  setup(api) {
53
- api.onAfterBuild(async () => {
54
- const { appDirectory, distDirectory, metaName } = api.getAppContext();
55
- if (!checkHasCache(appDirectory) && !checkHasConfig(appDirectory, metaName)) {
56
- return;
57
- }
58
- const modernConfig = api.getNormalizedConfig();
59
- const distDir = import_path.default.resolve(distDirectory);
60
- const serverDir = import_path.default.resolve(appDirectory, import_utils.SERVER_DIR);
61
- const sharedDir = import_path.default.resolve(appDirectory, import_utils.SHARED_DIR);
62
- const tsconfigPath = import_path.default.resolve(appDirectory, TS_CONFIG_FILENAME);
63
- const sourceDirs = [];
64
- if (import_fs.default.existsSync(serverDir)) {
65
- sourceDirs.push(serverDir);
66
- if (import_fs.default.existsSync(sharedDir)) {
67
- sourceDirs.push(sharedDir);
53
+ return {
54
+ async afterBuild() {
55
+ const { appDirectory, distDirectory, metaName } = api.useAppContext();
56
+ if (!checkHasCache(appDirectory) && !checkHasConfig(appDirectory, metaName)) {
57
+ return;
58
+ }
59
+ const modernConfig = api.useResolvedConfigContext();
60
+ const distDir = import_path.default.resolve(distDirectory);
61
+ const serverDir = import_path.default.resolve(appDirectory, import_utils.SERVER_DIR);
62
+ const sharedDir = import_path.default.resolve(appDirectory, import_utils.SHARED_DIR);
63
+ const tsconfigPath = import_path.default.resolve(appDirectory, TS_CONFIG_FILENAME);
64
+ const sourceDirs = [];
65
+ if (import_fs.default.existsSync(serverDir)) {
66
+ sourceDirs.push(serverDir);
67
+ if (import_fs.default.existsSync(sharedDir)) {
68
+ sourceDirs.push(sharedDir);
69
+ }
70
+ }
71
+ const { server } = modernConfig;
72
+ const { alias } = modernConfig.source;
73
+ const { babel } = modernConfig.tools;
74
+ if (sourceDirs.length > 0) {
75
+ await (0, import_server_utils.compile)(appDirectory, {
76
+ server,
77
+ alias,
78
+ babelConfig: babel
79
+ }, {
80
+ sourceDirs,
81
+ distDir,
82
+ tsconfigPath
83
+ });
68
84
  }
69
85
  }
70
- const { server } = modernConfig;
71
- const { alias } = modernConfig.source;
72
- const { babel } = modernConfig.tools;
73
- if (sourceDirs.length > 0) {
74
- await (0, import_server_utils.compile)(appDirectory, {
75
- server,
76
- alias,
77
- babelConfig: babel
78
- }, {
79
- sourceDirs,
80
- distDir,
81
- tsconfigPath
82
- });
83
- }
84
- });
86
+ };
85
87
  }
86
88
  });
@@ -19,20 +19,18 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var loadPlugins_exports = {};
20
20
  __export(loadPlugins_exports, {
21
21
  getServerPlugins: () => getServerPlugins,
22
- loadInternalPlugins: () => loadInternalPlugins,
23
22
  loadServerPlugins: () => loadServerPlugins
24
23
  });
25
24
  module.exports = __toCommonJS(loadPlugins_exports);
26
25
  var import_prod_server = require("@modern-js/prod-server");
27
- var import_utils = require("@modern-js/utils");
28
- const debug = (0, import_utils.createDebugger)("load-plugins");
29
26
  async function getServerPlugins(api, metaName = "modern-js") {
30
- const hooks = api.getHooks();
31
- const { plugins } = await hooks._internalServerPlugins.call({
27
+ const runner = api.useHookRunners();
28
+ const { plugins } = await runner._internalServerPlugins({
32
29
  plugins: []
33
30
  });
34
31
  const filtedPlugins = plugins.filter((plugin) => plugin.name.includes(metaName));
35
- api.updateAppContext({
32
+ api.setAppContext({
33
+ ...api.useAppContext(),
36
34
  serverPlugins: filtedPlugins
37
35
  });
38
36
  return filtedPlugins;
@@ -42,37 +40,8 @@ async function loadServerPlugins(api, appDirectory, metaName) {
42
40
  const instances = await (0, import_prod_server.loadServerPlugins)(plugins, appDirectory);
43
41
  return instances;
44
42
  }
45
- const resolveCliPlugin = async (p, appDirectory) => {
46
- const pkg = typeof p === "string" ? p : p[0];
47
- const pluginOptions = typeof p === "string" ? void 0 : p[1];
48
- const path = (0, import_utils.tryResolve)(pkg, appDirectory);
49
- let module2;
50
- try {
51
- module2 = await (0, import_utils.compatibleRequire)(path);
52
- } catch (e) {
53
- ({ default: module2 } = await (0, import_utils.dynamicImport)(path));
54
- }
55
- if (typeof module2 === "function") {
56
- const result = module2(pluginOptions);
57
- return result;
58
- }
59
- return module2;
60
- };
61
- const loadInternalPlugins = async (appDirectory, internalPlugins, autoLoad, autoLoadPlugins) => {
62
- const plugins = [
63
- ...autoLoadPlugins ? (0, import_utils.getInternalPlugins)(appDirectory, internalPlugins) : [],
64
- ...autoLoad ? (0, import_utils.getInternalPlugins)(appDirectory, autoLoad) : []
65
- ];
66
- const loadedPlugins = await Promise.all(plugins.map((plugin) => {
67
- const loadedPlugin = resolveCliPlugin(plugin, appDirectory);
68
- debug(`resolve plugin %s: %s`, plugin, loadedPlugin);
69
- return loadedPlugin;
70
- }));
71
- return loadedPlugins;
72
- };
73
43
  // Annotate the CommonJS export names for ESM import in node:
74
44
  0 && (module.exports = {
75
45
  getServerPlugins,
76
- loadInternalPlugins,
77
46
  loadServerPlugins
78
47
  });
@@ -18,7 +18,8 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var printInstructions_exports = {};
20
20
  __export(printInstructions_exports, {
21
- printInstructions: () => printInstructions
21
+ printInstructions: () => printInstructions,
22
+ printInstructionsCompat: () => printInstructionsCompat
22
23
  });
23
24
  module.exports = __toCommonJS(printInstructions_exports);
24
25
  var import_utils = require("@modern-js/utils");
@@ -29,7 +30,15 @@ const printInstructions = async (hooks, appContext, config) => {
29
30
  });
30
31
  import_utils.logger.log(instructions);
31
32
  };
33
+ const printInstructionsCompat = async (hookRunners, appContext, config) => {
34
+ const message = (0, import_utils.prettyInstructions)(appContext, config);
35
+ const { instructions } = await hookRunners.beforePrintInstructions({
36
+ instructions: message
37
+ });
38
+ import_utils.logger.log(instructions);
39
+ };
32
40
  // Annotate the CommonJS export names for ESM import in node:
33
41
  0 && (module.exports = {
34
- printInstructions
42
+ printInstructions,
43
+ printInstructionsCompat
35
44
  });
@@ -24,12 +24,12 @@ module.exports = __toCommonJS(restart_exports);
24
24
  var import_cli = require("@modern-js/plugin-v2/cli");
25
25
  var import_utils = require("@modern-js/utils");
26
26
  var import_commander = require("@modern-js/utils/commander");
27
- async function restart(hooks, filename) {
27
+ async function restart(hooksRunner, filename) {
28
28
  (0, import_utils.clearConsole)();
29
29
  import_utils.logger.info(`Restart because ${import_utils.chalk.yellow(filename)} is changed...
30
30
  `);
31
31
  let hasGetError = false;
32
- await hooks.onBeforeRestart.call();
32
+ await hooksRunner.beforeRestart();
33
33
  try {
34
34
  await import_cli.cli.init(import_cli.cli.getPrevInitOptions());
35
35
  } catch (err) {
@@ -2,6 +2,7 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
+ import { ResolvedConfigContext } from "@modern-js/core";
5
6
  import { logger } from "@modern-js/utils";
6
7
  import { buildServerConfig } from "../utils/config";
7
8
  import { loadServerPlugins } from "../utils/loadPlugins";
@@ -9,16 +10,16 @@ import { registerCompiler } from "../utils/register";
9
10
  import { generateRoutes } from "../utils/routes";
10
11
  var build = function() {
11
12
  var _ref = _async_to_generator(function(api, options) {
12
- var _resolvedConfig_source, resolvedConfig, appContext, hooks, _resolvedConfig_source1, registerEsm, apiOnly, appDirectory, distDirectory, serverConfigFile, distDirectory1, appDirectory1, serverConfigFile1;
13
+ var _resolvedConfig_source, resolvedConfig, appContext, hookRunners, _resolvedConfig_source1, registerEsm, apiOnly, appDirectory, distDirectory, serverConfigFile, distDirectory1, appDirectory1, serverConfigFile1;
13
14
  return _ts_generator(this, function(_state) {
14
15
  switch (_state.label) {
15
16
  case 0:
16
17
  if (options === null || options === void 0 ? void 0 : options.analyze) {
17
18
  process.env.BUNDLE_ANALYZE = "true";
18
19
  }
19
- resolvedConfig = api.getNormalizedConfig();
20
- appContext = api.getAppContext();
21
- hooks = api.getHooks();
20
+ resolvedConfig = api.useResolvedConfigContext();
21
+ appContext = api.useAppContext();
22
+ hookRunners = api.useHookRunners();
22
23
  return [
23
24
  4,
24
25
  loadServerPlugins(api, appContext.appDirectory, appContext.metaName)
@@ -63,12 +64,9 @@ var build = function() {
63
64
  appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverConfigFile = appContext.serverConfigFile;
64
65
  return [
65
66
  4,
66
- hooks.onBeforeBuild.call({
67
- environments: {},
67
+ hookRunners.beforeBuild({
68
68
  // "null" bundlerConfigs
69
- bundlerConfigs: void 0,
70
- isFirstCompile: false,
71
- isWatch: false
69
+ bundlerConfigs: void 0
72
70
  })
73
71
  ];
74
72
  case 6:
@@ -91,12 +89,9 @@ var build = function() {
91
89
  _state.sent();
92
90
  return [
93
91
  4,
94
- hooks.onAfterBuild.call({
95
- environments: {},
92
+ hookRunners.afterBuild({
96
93
  // "null" stats
97
- stats: void 0,
98
- isFirstCompile: false,
99
- isWatch: false
94
+ stats: void 0
100
95
  })
101
96
  ];
102
97
  case 9:
@@ -105,11 +100,10 @@ var build = function() {
105
100
  2
106
101
  ];
107
102
  case 10:
108
- api.modifyResolvedConfig(function(config) {
109
- return _object_spread_props(_object_spread({}, config), {
110
- cliOptions: options
111
- });
103
+ resolvedConfig = _object_spread_props(_object_spread({}, resolvedConfig), {
104
+ cliOptions: options
112
105
  });
106
+ ResolvedConfigContext.set(resolvedConfig);
113
107
  distDirectory1 = appContext.distDirectory, appDirectory1 = appContext.appDirectory, serverConfigFile1 = appContext.serverConfigFile;
114
108
  return [
115
109
  4,
@@ -3,12 +3,12 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import { getServerPlugins } from "../utils/loadPlugins";
4
4
  var deploy = function() {
5
5
  var _ref = _async_to_generator(function(api, options) {
6
- var hooks, metaName;
6
+ var hookRunners, metaName;
7
7
  return _ts_generator(this, function(_state) {
8
8
  switch (_state.label) {
9
9
  case 0:
10
- hooks = api.getHooks();
11
- metaName = api.getAppContext().metaName;
10
+ hookRunners = api.useHookRunners();
11
+ metaName = api.useAppContext().metaName;
12
12
  return [
13
13
  4,
14
14
  getServerPlugins(api, metaName)
@@ -17,19 +17,19 @@ var deploy = function() {
17
17
  _state.sent();
18
18
  return [
19
19
  4,
20
- hooks.onBeforeDeploy.call(options)
20
+ hookRunners.beforeDeploy(options)
21
21
  ];
22
22
  case 2:
23
23
  _state.sent();
24
24
  return [
25
25
  4,
26
- hooks.deploy.call()
26
+ hookRunners.deploy(options)
27
27
  ];
28
28
  case 3:
29
29
  _state.sent();
30
30
  return [
31
31
  4,
32
- hooks.onAfterDeploy.call(options)
32
+ hookRunners.afterDeploy(options)
33
33
  ];
34
34
  case 4:
35
35
  _state.sent();
@@ -3,27 +3,28 @@ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
5
  import path from "node:path";
6
+ import { ResolvedConfigContext } from "@modern-js/core";
6
7
  import { applyPlugins } from "@modern-js/prod-server";
7
8
  import { createDevServer } from "@modern-js/server";
8
9
  import { DEFAULT_DEV_HOST, SERVER_DIR, getMeta, logger } from "@modern-js/utils";
9
10
  import { buildServerConfig } from "../utils/config";
10
11
  import { setServer } from "../utils/createServer";
11
12
  import { loadServerPlugins } from "../utils/loadPlugins";
12
- import { printInstructions } from "../utils/printInstructions";
13
+ import { printInstructionsCompat } from "../utils/printInstructions";
13
14
  import { registerCompiler } from "../utils/register";
14
15
  import { generateRoutes } from "../utils/routes";
15
16
  var dev = function() {
16
17
  var _ref = _async_to_generator(function(api, options, devServerOptions) {
17
- var _normalizedConfig_source, _normalizedConfig_tools, _normalizedConfig_dev, normalizedConfig, appContext, hooks, _normalizedConfig_source1, registerEsm, appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes, meta, serverConfigPath, pluginInstances, serverOptions, host, server, _ref2, server1, afterListen;
18
+ var _normalizedConfig_source, _normalizedConfig_tools, _normalizedConfig_dev, normalizedConfig, appContext, hookRunners, _normalizedConfig_source1, registerEsm, appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes, meta, serverConfigPath, pluginInstances, serverOptions, host, server, _ref2, server1, afterListen;
18
19
  return _ts_generator(this, function(_state) {
19
20
  switch (_state.label) {
20
21
  case 0:
21
22
  if (options.analyze) {
22
23
  process.env.BUNDLE_ANALYZE = "true";
23
24
  }
24
- normalizedConfig = api.getNormalizedConfig();
25
- appContext = api.getAppContext();
26
- hooks = api.getHooks();
25
+ normalizedConfig = api.useResolvedConfigContext();
26
+ appContext = api.useAppContext();
27
+ hookRunners = api.useHookRunners();
27
28
  if (!(appContext.moduleType && appContext.moduleType === "module"))
28
29
  return [
29
30
  3,
@@ -53,11 +54,10 @@ var dev = function() {
53
54
  ];
54
55
  case 4:
55
56
  _state.sent();
56
- api.modifyResolvedConfig(function(config) {
57
- return _object_spread_props(_object_spread({}, config), {
58
- cliOptions: options
59
- });
57
+ normalizedConfig = _object_spread_props(_object_spread({}, normalizedConfig), {
58
+ cliOptions: options
60
59
  });
60
+ ResolvedConfigContext.set(normalizedConfig);
61
61
  appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, port = appContext.port, apiOnly = appContext.apiOnly, serverConfigFile = appContext.serverConfigFile, metaName = appContext.metaName, serverRoutes = appContext.serverRoutes;
62
62
  return [
63
63
  4,
@@ -74,7 +74,7 @@ var dev = function() {
74
74
  serverConfigPath = path.resolve(appDirectory, SERVER_DIR, "".concat(meta, ".server"));
75
75
  return [
76
76
  4,
77
- hooks.onBeforeDev.call()
77
+ hookRunners.beforeDev()
78
78
  ];
79
79
  case 6:
80
80
  _state.sent();
@@ -132,7 +132,7 @@ var dev = function() {
132
132
  port,
133
133
  host
134
134
  }, function() {
135
- printInstructions(hooks, appContext, normalizedConfig);
135
+ printInstructionsCompat(hookRunners, appContext, normalizedConfig);
136
136
  });
137
137
  return [
138
138
  3,