@modern-js/app-tools 2.63.1 → 2.63.2

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 (117) hide show
  1. package/bin/modern.js +1 -1
  2. package/dist/cjs/commands/build.js +19 -13
  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/{new/compat → compat}/hooks.js +5 -5
  9. package/dist/cjs/{new/compat → compat}/index.js +4 -1
  10. package/dist/cjs/config/default.js +6 -1
  11. package/dist/cjs/config/legacy/index.js +0 -1
  12. package/dist/cjs/index.js +154 -5
  13. package/dist/cjs/plugins/analyze/getServerRoutes.js +12 -2
  14. package/dist/cjs/plugins/analyze/index.js +25 -10
  15. package/dist/cjs/plugins/analyze/utils.js +6 -0
  16. package/dist/cjs/plugins/serverBuild.js +30 -32
  17. package/dist/cjs/{new/run.js → run/index.js} +6 -6
  18. package/dist/cjs/{new → utils}/getConfigFile.js +1 -1
  19. package/dist/cjs/{new/context.js → utils/initAppContext.js} +3 -3
  20. package/dist/cjs/{new/utils/index.js → utils/isAutoLoadPlugins.js} +6 -6
  21. package/dist/cjs/utils/loadPlugins.js +35 -4
  22. package/dist/cjs/utils/printInstructions.js +2 -11
  23. package/dist/cjs/utils/restart.js +2 -2
  24. package/dist/esm/commands/build.js +18 -12
  25. package/dist/esm/commands/deploy.js +6 -6
  26. package/dist/esm/commands/dev.js +11 -11
  27. package/dist/esm/commands/index.js +8 -8
  28. package/dist/esm/commands/inspect.js +1 -1
  29. package/dist/esm/commands/serve.js +6 -6
  30. package/dist/esm/{new/compat → compat}/hooks.js +15 -25
  31. package/dist/esm/{new/compat → compat}/index.js +4 -1
  32. package/dist/esm/config/default.js +12 -1
  33. package/dist/esm/config/legacy/index.js +0 -1
  34. package/dist/esm/index.js +245 -2
  35. package/dist/esm/plugins/analyze/getServerRoutes.js +11 -2
  36. package/dist/esm/plugins/analyze/index.js +76 -34
  37. package/dist/esm/plugins/analyze/utils.js +5 -0
  38. package/dist/esm/plugins/serverBuild.js +52 -56
  39. package/dist/esm/{new/run.js → run/index.js} +6 -6
  40. package/dist/esm/{new → utils}/getConfigFile.js +1 -1
  41. package/dist/esm/{new/utils/index.js → utils/isAutoLoadPlugins.js} +6 -6
  42. package/dist/esm/utils/loadPlugins.js +95 -7
  43. package/dist/esm/utils/printInstructions.js +1 -28
  44. package/dist/esm/utils/restart.js +3 -3
  45. package/dist/esm-node/commands/build.js +19 -13
  46. package/dist/esm-node/commands/deploy.js +5 -5
  47. package/dist/esm-node/commands/dev.js +12 -12
  48. package/dist/esm-node/commands/index.js +6 -6
  49. package/dist/esm-node/commands/inspect.js +1 -1
  50. package/dist/esm-node/commands/serve.js +5 -5
  51. package/dist/esm-node/{new/compat → compat}/hooks.js +5 -5
  52. package/dist/esm-node/{new/compat → compat}/index.js +4 -1
  53. package/dist/esm-node/config/default.js +6 -1
  54. package/dist/esm-node/config/legacy/index.js +0 -1
  55. package/dist/esm-node/index.js +140 -2
  56. package/dist/esm-node/plugins/analyze/getServerRoutes.js +11 -2
  57. package/dist/esm-node/plugins/analyze/index.js +26 -11
  58. package/dist/esm-node/plugins/analyze/utils.js +5 -0
  59. package/dist/esm-node/plugins/serverBuild.js +30 -32
  60. package/dist/esm-node/{new/run.js → run/index.js} +6 -6
  61. package/dist/esm-node/{new → utils}/getConfigFile.js +1 -1
  62. package/dist/esm-node/{new/utils/index.js → utils/isAutoLoadPlugins.js} +2 -2
  63. package/dist/esm-node/utils/loadPlugins.js +34 -4
  64. package/dist/esm-node/utils/printInstructions.js +1 -9
  65. package/dist/esm-node/utils/restart.js +2 -2
  66. package/dist/types/commands/build.d.ts +2 -2
  67. package/dist/types/commands/deploy.d.ts +2 -2
  68. package/dist/types/commands/dev.d.ts +2 -2
  69. package/dist/types/commands/index.d.ts +6 -6
  70. package/dist/types/commands/inspect.d.ts +2 -2
  71. package/dist/types/commands/serve.d.ts +2 -2
  72. package/dist/types/{new/compat → compat}/hooks.d.ts +2 -2
  73. package/dist/types/compat/index.d.ts +2 -0
  74. package/dist/types/index.d.ts +5 -3
  75. package/dist/types/plugins/analyze/getServerRoutes.d.ts +1 -0
  76. package/dist/types/plugins/analyze/utils.d.ts +1 -0
  77. package/dist/types/plugins/serverBuild.d.ts +2 -2
  78. package/dist/types/types/config/index.d.ts +0 -1
  79. package/dist/types/types/index.d.ts +2 -0
  80. package/dist/types/types/new.d.ts +11 -16
  81. package/dist/types/utils/generateWatchFiles.d.ts +2 -2
  82. package/dist/types/utils/isAutoLoadPlugins.d.ts +1 -0
  83. package/dist/types/utils/loadPlugins.d.ts +13 -3
  84. package/dist/types/utils/printInstructions.d.ts +1 -3
  85. package/dist/types/utils/restart.d.ts +2 -3
  86. package/package.json +23 -23
  87. package/dist/cjs/hooks.js +0 -60
  88. package/dist/cjs/new/index.js +0 -79
  89. package/dist/cjs/new/loadPlugins.js +0 -57
  90. package/dist/cjs/old.js +0 -179
  91. package/dist/esm/hooks.js +0 -36
  92. package/dist/esm/new/index.js +0 -55
  93. package/dist/esm/new/loadPlugins.js +0 -94
  94. package/dist/esm/old.js +0 -258
  95. package/dist/esm-node/hooks.js +0 -36
  96. package/dist/esm-node/new/index.js +0 -52
  97. package/dist/esm-node/new/loadPlugins.js +0 -33
  98. package/dist/esm-node/old.js +0 -140
  99. package/dist/types/hooks.d.ts +0 -2
  100. package/dist/types/new/compat/index.d.ts +0 -2
  101. package/dist/types/new/index.d.ts +0 -6
  102. package/dist/types/new/loadPlugins.d.ts +0 -9
  103. package/dist/types/new/utils/index.d.ts +0 -1
  104. package/dist/types/old.d.ts +0 -13
  105. /package/dist/cjs/{new/compat → compat}/utils.js +0 -0
  106. /package/dist/cjs/{new/constants.js → constants.js} +0 -0
  107. /package/dist/esm/{new/compat → compat}/utils.js +0 -0
  108. /package/dist/esm/{new/constants.js → constants.js} +0 -0
  109. /package/dist/esm/{new/context.js → utils/initAppContext.js} +0 -0
  110. /package/dist/esm-node/{new/compat → compat}/utils.js +0 -0
  111. /package/dist/esm-node/{new/constants.js → constants.js} +0 -0
  112. /package/dist/esm-node/{new/context.js → utils/initAppContext.js} +0 -0
  113. /package/dist/types/{new/compat → compat}/utils.d.ts +0 -0
  114. /package/dist/types/{new/constants.d.ts → constants.d.ts} +0 -0
  115. /package/dist/types/{new/run.d.ts → run/index.d.ts} +0 -0
  116. /package/dist/types/{new → utils}/getConfigFile.d.ts +0 -0
  117. /package/dist/types/{new/context.d.ts → utils/initAppContext.d.ts} +0 -0
@@ -50,39 +50,37 @@ function checkHasConfig(appDir, metaName = "modern-js") {
50
50
  var serverBuild_default = () => ({
51
51
  name: "@modern-js/server-build",
52
52
  setup(api) {
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
- });
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);
84
68
  }
85
69
  }
86
- };
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
+ });
87
85
  }
88
86
  });
@@ -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("./getConfigFile");
30
- var import_loadPlugins = require("./loadPlugins");
31
- var import_utils2 = require("./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");
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_utils2.getIsAutoLoadPlugins)(appDirectory, finalConfigFile);
53
+ const autoLoadPlugins = await (0, import_isAutoLoadPlugins.isAutoLoadPlugins)(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,
@@ -33,7 +33,7 @@ __export(getConfigFile_exports, {
33
33
  module.exports = __toCommonJS(getConfigFile_exports);
34
34
  var import_path = __toESM(require("path"));
35
35
  var import_utils = require("@modern-js/utils");
36
- var import_constants = require("./constants");
36
+ var import_constants = require("../constants");
37
37
  const getConfigFile = (configFile) => (0, import_utils.findExists)(import_utils.CONFIG_FILE_EXTENSIONS.map((extension) => import_path.default.resolve(process.cwd(), `${configFile || import_constants.DEFAULT_CONFIG_FILE}${extension}`)));
38
38
  // Annotate the CommonJS export names for ESM import in node:
39
39
  0 && (module.exports = {
@@ -26,11 +26,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var context_exports = {};
30
- __export(context_exports, {
29
+ var initAppContext_exports = {};
30
+ __export(initAppContext_exports, {
31
31
  initAppContext: () => initAppContext
32
32
  });
33
- module.exports = __toCommonJS(context_exports);
33
+ module.exports = __toCommonJS(initAppContext_exports);
34
34
  var import_path = __toESM(require("path"));
35
35
  var import_utils = require("@modern-js/utils");
36
36
  const initAppContext = ({ appDirectory, runtimeConfigFile, options, serverConfigFile, tempDir }) => {
@@ -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 utils_exports = {};
20
- __export(utils_exports, {
21
- getIsAutoLoadPlugins: () => getIsAutoLoadPlugins
19
+ var isAutoLoadPlugins_exports = {};
20
+ __export(isAutoLoadPlugins_exports, {
21
+ isAutoLoadPlugins: () => isAutoLoadPlugins
22
22
  });
23
- module.exports = __toCommonJS(utils_exports);
23
+ module.exports = __toCommonJS(isAutoLoadPlugins_exports);
24
24
  var import_cli = require("@modern-js/plugin-v2/cli");
25
- async function getIsAutoLoadPlugins(appDirectory, configFile = "modern.config.ts", packageJsonConfig = "ModernConfig") {
25
+ async function isAutoLoadPlugins(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 getIsAutoLoadPlugins(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
- getIsAutoLoadPlugins
33
+ isAutoLoadPlugins
34
34
  });
@@ -19,18 +19,20 @@ 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,
22
23
  loadServerPlugins: () => loadServerPlugins
23
24
  });
24
25
  module.exports = __toCommonJS(loadPlugins_exports);
25
26
  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");
26
29
  async function getServerPlugins(api, metaName = "modern-js") {
27
- const runner = api.useHookRunners();
28
- const { plugins } = await runner._internalServerPlugins({
30
+ const hooks = api.getHooks();
31
+ const { plugins } = await hooks._internalServerPlugins.call({
29
32
  plugins: []
30
33
  });
31
34
  const filtedPlugins = plugins.filter((plugin) => plugin.name.includes(metaName));
32
- api.setAppContext({
33
- ...api.useAppContext(),
35
+ api.updateAppContext({
34
36
  serverPlugins: filtedPlugins
35
37
  });
36
38
  return filtedPlugins;
@@ -40,8 +42,37 @@ async function loadServerPlugins(api, appDirectory, metaName) {
40
42
  const instances = await (0, import_prod_server.loadServerPlugins)(plugins, appDirectory);
41
43
  return instances;
42
44
  }
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
+ };
43
73
  // Annotate the CommonJS export names for ESM import in node:
44
74
  0 && (module.exports = {
45
75
  getServerPlugins,
76
+ loadInternalPlugins,
46
77
  loadServerPlugins
47
78
  });
@@ -18,8 +18,7 @@ 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,
22
- printInstructionsCompat: () => printInstructionsCompat
21
+ printInstructions: () => printInstructions
23
22
  });
24
23
  module.exports = __toCommonJS(printInstructions_exports);
25
24
  var import_utils = require("@modern-js/utils");
@@ -30,15 +29,7 @@ const printInstructions = async (hooks, appContext, config) => {
30
29
  });
31
30
  import_utils.logger.log(instructions);
32
31
  };
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
- };
40
32
  // Annotate the CommonJS export names for ESM import in node:
41
33
  0 && (module.exports = {
42
- printInstructions,
43
- printInstructionsCompat
34
+ printInstructions
44
35
  });
@@ -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(hooksRunner, filename) {
27
+ async function restart(hooks, 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 hooksRunner.beforeRestart();
32
+ await hooks.onBeforeRestart.call();
33
33
  try {
34
34
  await import_cli.cli.init(import_cli.cli.getPrevInitOptions());
35
35
  } catch (err) {
@@ -2,7 +2,6 @@ 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";
6
5
  import { logger } from "@modern-js/utils";
7
6
  import { buildServerConfig } from "../utils/config";
8
7
  import { loadServerPlugins } from "../utils/loadPlugins";
@@ -10,16 +9,16 @@ import { registerCompiler } from "../utils/register";
10
9
  import { generateRoutes } from "../utils/routes";
11
10
  var build = function() {
12
11
  var _ref = _async_to_generator(function(api, options) {
13
- var _resolvedConfig_source, resolvedConfig, appContext, hookRunners, _resolvedConfig_source1, registerEsm, apiOnly, appDirectory, distDirectory, serverConfigFile, distDirectory1, appDirectory1, serverConfigFile1;
12
+ var _resolvedConfig_source, resolvedConfig, appContext, hooks, _resolvedConfig_source1, registerEsm, apiOnly, appDirectory, distDirectory, serverConfigFile, distDirectory1, appDirectory1, serverConfigFile1;
14
13
  return _ts_generator(this, function(_state) {
15
14
  switch (_state.label) {
16
15
  case 0:
17
16
  if (options === null || options === void 0 ? void 0 : options.analyze) {
18
17
  process.env.BUNDLE_ANALYZE = "true";
19
18
  }
20
- resolvedConfig = api.useResolvedConfigContext();
21
- appContext = api.useAppContext();
22
- hookRunners = api.useHookRunners();
19
+ resolvedConfig = api.getNormalizedConfig();
20
+ appContext = api.getAppContext();
21
+ hooks = api.getHooks();
23
22
  return [
24
23
  4,
25
24
  loadServerPlugins(api, appContext.appDirectory, appContext.metaName)
@@ -64,9 +63,12 @@ var build = function() {
64
63
  appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverConfigFile = appContext.serverConfigFile;
65
64
  return [
66
65
  4,
67
- hookRunners.beforeBuild({
66
+ hooks.onBeforeBuild.call({
67
+ environments: {},
68
68
  // "null" bundlerConfigs
69
- bundlerConfigs: void 0
69
+ bundlerConfigs: void 0,
70
+ isFirstCompile: false,
71
+ isWatch: false
70
72
  })
71
73
  ];
72
74
  case 6:
@@ -89,9 +91,12 @@ var build = function() {
89
91
  _state.sent();
90
92
  return [
91
93
  4,
92
- hookRunners.afterBuild({
94
+ hooks.onAfterBuild.call({
95
+ environments: {},
93
96
  // "null" stats
94
- stats: void 0
97
+ stats: void 0,
98
+ isFirstCompile: false,
99
+ isWatch: false
95
100
  })
96
101
  ];
97
102
  case 9:
@@ -100,10 +105,11 @@ var build = function() {
100
105
  2
101
106
  ];
102
107
  case 10:
103
- resolvedConfig = _object_spread_props(_object_spread({}, resolvedConfig), {
104
- cliOptions: options
108
+ api.modifyResolvedConfig(function(config) {
109
+ return _object_spread_props(_object_spread({}, config), {
110
+ cliOptions: options
111
+ });
105
112
  });
106
- ResolvedConfigContext.set(resolvedConfig);
107
113
  distDirectory1 = appContext.distDirectory, appDirectory1 = appContext.appDirectory, serverConfigFile1 = appContext.serverConfigFile;
108
114
  return [
109
115
  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 hookRunners, metaName;
6
+ var hooks, metaName;
7
7
  return _ts_generator(this, function(_state) {
8
8
  switch (_state.label) {
9
9
  case 0:
10
- hookRunners = api.useHookRunners();
11
- metaName = api.useAppContext().metaName;
10
+ hooks = api.getHooks();
11
+ metaName = api.getAppContext().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
- hookRunners.beforeDeploy(options)
20
+ hooks.onBeforeDeploy.call(options)
21
21
  ];
22
22
  case 2:
23
23
  _state.sent();
24
24
  return [
25
25
  4,
26
- hookRunners.deploy(options)
26
+ hooks.deploy.call()
27
27
  ];
28
28
  case 3:
29
29
  _state.sent();
30
30
  return [
31
31
  4,
32
- hookRunners.afterDeploy(options)
32
+ hooks.onAfterDeploy.call(options)
33
33
  ];
34
34
  case 4:
35
35
  _state.sent();
@@ -3,28 +3,27 @@ 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";
7
6
  import { applyPlugins } from "@modern-js/prod-server";
8
7
  import { createDevServer } from "@modern-js/server";
9
8
  import { DEFAULT_DEV_HOST, SERVER_DIR, getMeta, logger } from "@modern-js/utils";
10
9
  import { buildServerConfig } from "../utils/config";
11
10
  import { setServer } from "../utils/createServer";
12
11
  import { loadServerPlugins } from "../utils/loadPlugins";
13
- import { printInstructionsCompat } from "../utils/printInstructions";
12
+ import { printInstructions } from "../utils/printInstructions";
14
13
  import { registerCompiler } from "../utils/register";
15
14
  import { generateRoutes } from "../utils/routes";
16
15
  var dev = function() {
17
16
  var _ref = _async_to_generator(function(api, options, devServerOptions) {
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;
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;
19
18
  return _ts_generator(this, function(_state) {
20
19
  switch (_state.label) {
21
20
  case 0:
22
21
  if (options.analyze) {
23
22
  process.env.BUNDLE_ANALYZE = "true";
24
23
  }
25
- normalizedConfig = api.useResolvedConfigContext();
26
- appContext = api.useAppContext();
27
- hookRunners = api.useHookRunners();
24
+ normalizedConfig = api.getNormalizedConfig();
25
+ appContext = api.getAppContext();
26
+ hooks = api.getHooks();
28
27
  if (!(appContext.moduleType && appContext.moduleType === "module"))
29
28
  return [
30
29
  3,
@@ -54,10 +53,11 @@ var dev = function() {
54
53
  ];
55
54
  case 4:
56
55
  _state.sent();
57
- normalizedConfig = _object_spread_props(_object_spread({}, normalizedConfig), {
58
- cliOptions: options
56
+ api.modifyResolvedConfig(function(config) {
57
+ return _object_spread_props(_object_spread({}, config), {
58
+ cliOptions: options
59
+ });
59
60
  });
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
- hookRunners.beforeDev()
77
+ hooks.onBeforeDev.call()
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
- printInstructionsCompat(hookRunners, appContext, normalizedConfig);
135
+ printInstructions(hooks, appContext, normalizedConfig);
136
136
  });
137
137
  return [
138
138
  3,
@@ -7,14 +7,14 @@ import { newAction, upgradeAction } from "@modern-js/utils";
7
7
  import { i18n, localeKeys } from "../locale";
8
8
  var devCommand = function() {
9
9
  var _ref = _async_to_generator(function(program, api) {
10
- var runner, devToolMetas, devProgram, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step;
10
+ var hooks, devToolMetas, devProgram, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step;
11
11
  return _ts_generator(this, function(_state) {
12
12
  switch (_state.label) {
13
13
  case 0:
14
- runner = api.useHookRunners();
14
+ hooks = api.getHooks();
15
15
  return [
16
16
  4,
17
- runner.registerDev()
17
+ hooks.registerDev.call()
18
18
  ];
19
19
  case 1:
20
20
  devToolMetas = _state.sent();
@@ -64,7 +64,7 @@ var devCommand = function() {
64
64
  switch (_state2.label) {
65
65
  case 0:
66
66
  options = _arguments.length > 0 && _arguments[0] !== void 0 ? _arguments[0] : {};
67
- appDirectory = api.useAppContext().appDirectory;
67
+ appDirectory = api.getAppContext().appDirectory;
68
68
  return [
69
69
  4,
70
70
  import("@modern-js/utils")
@@ -129,14 +129,14 @@ var devCommand = function() {
129
129
  }();
130
130
  var buildCommand = function() {
131
131
  var _ref = _async_to_generator(function(program, api) {
132
- var runner, platformBuilders, buildProgram, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step;
132
+ var hooks, platformBuilders, buildProgram, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step;
133
133
  return _ts_generator(this, function(_state) {
134
134
  switch (_state.label) {
135
135
  case 0:
136
- runner = api.useHookRunners();
136
+ hooks = api.getHooks();
137
137
  return [
138
138
  4,
139
- runner.registerBuildPlatform()
139
+ hooks.registerBuildPlatform.call()
140
140
  ];
141
141
  case 1:
142
142
  platformBuilders = _state.sent();
@@ -182,7 +182,7 @@ var buildCommand = function() {
182
182
  return _ts_generator(this, function(_state2) {
183
183
  switch (_state2.label) {
184
184
  case 0:
185
- appDirectory = api.useAppContext().appDirectory;
185
+ appDirectory = api.getAppContext().appDirectory;
186
186
  return [
187
187
  4,
188
188
  import("@modern-js/utils")
@@ -4,7 +4,7 @@ var inspect = function() {
4
4
  var _ref = _async_to_generator(function(api, options) {
5
5
  var appContext;
6
6
  return _ts_generator(this, function(_state) {
7
- appContext = api.useAppContext();
7
+ appContext = api.getAppContext();
8
8
  if (!appContext.builder) {
9
9
  throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
10
10
  }
@@ -6,16 +6,16 @@ import path from "path";
6
6
  import { createProdServer } from "@modern-js/prod-server";
7
7
  import { SERVER_DIR, getMeta, getTargetDir, isApiOnly, logger } from "@modern-js/utils";
8
8
  import { loadServerPlugins } from "../utils/loadPlugins";
9
- import { printInstructionsCompat } from "../utils/printInstructions";
9
+ import { printInstructions } from "../utils/printInstructions";
10
10
  var start = function() {
11
11
  var _ref = _async_to_generator(function(api) {
12
- var _userConfig_source, _userConfig_output_distPath, appContext, userConfig, hookRunners, distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile, apiOnly, runMode, meta, serverConfigPath, pluginInstances, app;
12
+ var _userConfig_source, _userConfig_output_distPath, appContext, userConfig, hooks, distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile, apiOnly, runMode, meta, serverConfigPath, pluginInstances, app;
13
13
  return _ts_generator(this, function(_state) {
14
14
  switch (_state.label) {
15
15
  case 0:
16
- appContext = api.useAppContext();
17
- userConfig = api.useResolvedConfigContext();
18
- hookRunners = api.useHookRunners();
16
+ appContext = api.getAppContext();
17
+ userConfig = api.getNormalizedConfig();
18
+ hooks = api.getHooks();
19
19
  distDirectory = appContext.distDirectory, appDirectory = appContext.appDirectory, internalDirectory = appContext.internalDirectory, port = appContext.port, metaName = appContext.metaName, serverRoutes = appContext.serverRoutes, serverConfigFile = appContext.serverConfigFile;
20
20
  logger.info("Starting production server...");
21
21
  return [
@@ -69,7 +69,7 @@ var start = function() {
69
69
  case 0:
70
70
  return [
71
71
  4,
72
- printInstructionsCompat(hookRunners, appContext, userConfig)
72
+ printInstructions(hooks, appContext, userConfig)
73
73
  ];
74
74
  case 1:
75
75
  _state2.sent();
@@ -1,6 +1,6 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- import { getModifyHtmlPartials } from "../../plugins/analyze/getHtmlTemplate";
3
+ import { getModifyHtmlPartials } from "../plugins/analyze/getHtmlTemplate";
4
4
  import { transformHookParams, transformHookResult, transformHookRunner } from "./utils";
5
5
  function getHookRunners(context) {
6
6
  var hooks = context.hooks;
@@ -374,35 +374,25 @@ function getHookRunners(context) {
374
374
  /**
375
375
  * @deprecated
376
376
  */
377
- registerDev: function() {
378
- var _ref = _async_to_generator(function(params) {
379
- return _ts_generator(this, function(_state) {
380
- return [
381
- 2,
382
- hooks.registerDev.call(params)
383
- ];
384
- });
377
+ registerDev: /* @__PURE__ */ _async_to_generator(function() {
378
+ return _ts_generator(this, function(_state) {
379
+ return [
380
+ 2,
381
+ hooks.registerDev.call()
382
+ ];
385
383
  });
386
- return function(params) {
387
- return _ref.apply(this, arguments);
388
- };
389
- }(),
384
+ }),
390
385
  /**
391
386
  * @deprecated
392
387
  */
393
- registerBuildPlatform: function() {
394
- var _ref = _async_to_generator(function(params) {
395
- return _ts_generator(this, function(_state) {
396
- return [
397
- 2,
398
- hooks.registerBuildPlatform.call(params)
399
- ];
400
- });
388
+ registerBuildPlatform: /* @__PURE__ */ _async_to_generator(function() {
389
+ return _ts_generator(this, function(_state) {
390
+ return [
391
+ 2,
392
+ hooks.registerBuildPlatform.call()
393
+ ];
401
394
  });
402
- return function(params) {
403
- return _ref.apply(this, arguments);
404
- };
405
- }(),
395
+ }),
406
396
  /**
407
397
  * @deprecated
408
398
  */
@@ -32,7 +32,10 @@ var compatPlugin = function() {
32
32
  registryHooks: {
33
33
  appendEntryCode: createCollectAsyncHook()
34
34
  },
35
- setup: function(_api) {
35
+ setup: function(api) {
36
+ api.updateAppContext({
37
+ toolsType: "app-tools"
38
+ });
36
39
  }
37
40
  };
38
41
  };
@@ -5,7 +5,18 @@ function createDefaultConfig(appContext) {
5
5
  var dev = {
6
6
  // `dev.port` should not have a default value
7
7
  // because we will use `server.port` by default
8
- port: void 0
8
+ port: void 0,
9
+ cliShortcuts: {
10
+ help: false,
11
+ // does not support restart server and print urls yet
12
+ custom: function() {
13
+ var shortcuts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
14
+ return shortcuts.filter(function(param) {
15
+ var key = param.key;
16
+ return key !== "r" && key !== "u";
17
+ });
18
+ }
19
+ }
9
20
  };
10
21
  var output = {
11
22
  distPath: {
@@ -21,7 +21,6 @@ function transformNormalizedConfig(config) {
21
21
  server,
22
22
  cliOptions,
23
23
  testing,
24
- devtools: {},
25
24
  builderPlugins: [],
26
25
  plugins,
27
26
  security: {},