@modern-js/app-tools 2.57.2-alpha.0 → 2.58.0

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 (73) hide show
  1. package/dist/cjs/builder/builder-webpack/index.js +1 -1
  2. package/dist/cjs/builder/generator/index.js +2 -2
  3. package/dist/cjs/builder/index.js +2 -2
  4. package/dist/cjs/commands/build.js +0 -19
  5. package/dist/cjs/commands/dev.js +0 -9
  6. package/dist/cjs/commands/index.js +8 -8
  7. package/dist/cjs/index.js +1 -1
  8. package/dist/cjs/plugins/analyze/index.js +3 -3
  9. package/dist/cjs/plugins/deploy/dependencies/index.js +0 -1
  10. package/dist/cjs/plugins/deploy/dependencies/utils.js +0 -11
  11. package/dist/cjs/plugins/deploy/platforms/netlify.js +5 -14
  12. package/dist/cjs/plugins/deploy/platforms/{netlify-handler.js → netlifyEntry.js} +4 -6
  13. package/dist/cjs/plugins/deploy/platforms/node.js +4 -13
  14. package/dist/cjs/plugins/deploy/platforms/vercel.js +5 -14
  15. package/dist/cjs/plugins/deploy/platforms/{vercel-handler.js → vercelEntry.js} +1 -27
  16. package/dist/cjs/utils/config.js +1 -1
  17. package/dist/cjs/utils/loadPlugins.js +1 -1
  18. package/dist/cjs/utils/register.js +22 -49
  19. package/dist/esm/builder/builder-rspack/adapterCopy.js +4 -3
  20. package/dist/esm/builder/generator/getBuilderEnvironments.js +2 -0
  21. package/dist/esm/builder/generator/index.js +1 -1
  22. package/dist/esm/builder/index.js +2 -2
  23. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +1 -1
  24. package/dist/esm/commands/build.js +16 -9
  25. package/dist/esm/commands/dev.js +55 -37
  26. package/dist/esm/commands/index.js +7 -7
  27. package/dist/esm/index.js +1 -42
  28. package/dist/esm/plugins/analyze/index.js +10 -6
  29. package/dist/esm/plugins/deploy/dependencies/index.js +16 -8
  30. package/dist/esm/plugins/deploy/dependencies/utils.js +15 -7
  31. package/dist/esm/utils/createServer.js +1 -1
  32. package/dist/esm-node/builder/builder-rspack/adapterCopy.js +2 -2
  33. package/dist/esm-node/builder/generator/getBuilderEnvironments.js +1 -1
  34. package/dist/esm-node/builder/generator/index.js +1 -1
  35. package/dist/esm-node/builder/index.js +2 -2
  36. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +1 -1
  37. package/dist/esm-node/commands/build.js +3 -0
  38. package/dist/esm-node/commands/dev.js +24 -16
  39. package/dist/esm-node/commands/index.js +7 -7
  40. package/dist/esm-node/index.js +1 -17
  41. package/dist/esm-node/plugins/analyze/index.js +7 -5
  42. package/dist/esm-node/plugins/deploy/dependencies/index.js +15 -7
  43. package/dist/esm-node/plugins/deploy/dependencies/utils.js +11 -2
  44. package/dist/esm-node/utils/createServer.js +1 -1
  45. package/dist/types/builder/index.d.ts +1 -1
  46. package/dist/types/plugins/deploy/platforms/netlifyEntry.d.ts +2 -0
  47. package/dist/types/plugins/deploy/platforms/vercelEntry.d.ts +2 -0
  48. package/package.json +18 -18
  49. package/dist/cjs/esm/esbuild-loader.mjs +0 -20
  50. package/dist/cjs/esm/register-esm.mjs +0 -65
  51. package/dist/cjs/esm/ts-node-loader.mjs +0 -21
  52. package/dist/cjs/esm/utils.mjs +0 -43
  53. package/dist/cjs/plugins/deploy/platforms/netlify-entry.js +0 -3
  54. package/dist/cjs/plugins/deploy/platforms/netlify-entry.mjs +0 -1
  55. package/dist/cjs/plugins/deploy/platforms/vercel-entry.js +0 -3
  56. package/dist/cjs/plugins/deploy/platforms/vercel-entry.mjs +0 -3
  57. package/dist/esm/custom-loader.mjs +0 -41
  58. package/dist/esm/register-esm.mjs +0 -22
  59. package/dist/esm-node/esm/esbuild-loader.js +0 -39
  60. package/dist/esm-node/esm/register-esm.js +0 -39
  61. package/dist/esm-node/esm/ts-node-loader.js +0 -42
  62. package/dist/types/esm/esbuild-loader.d.mts +0 -6
  63. package/dist/types/esm/register-esm.d.mts +0 -5
  64. package/dist/types/esm/ts-node-loader.d.mts +0 -6
  65. package/dist/types/esm/utils.d.mts +0 -6
  66. package/dist/types/plugins/deploy/platforms/netlify-entry.d.cts +0 -1
  67. package/dist/types/plugins/deploy/platforms/netlify-entry.d.mts +0 -1
  68. package/dist/types/plugins/deploy/platforms/netlify-handler.d.cts +0 -1
  69. package/dist/types/plugins/deploy/platforms/vercel-entry.d.cts +0 -2
  70. package/dist/types/plugins/deploy/platforms/vercel-entry.d.mts +0 -2
  71. package/dist/types/plugins/deploy/platforms/vercel-handler.d.cts +0 -1
  72. /package/dist/cjs/plugins/deploy/platforms/{node-entry.js → nodeEntry.js} +0 -0
  73. /package/dist/types/plugins/deploy/platforms/{node-entry.d.ts → nodeEntry.d.ts} +0 -0
@@ -38,7 +38,7 @@ async function createWebpackBuilderForModern(options) {
38
38
  const { normalizedConfig } = options;
39
39
  if (normalizedConfig.tools.esbuild) {
40
40
  const { esbuild: esbuildOptions } = normalizedConfig.tools;
41
- const { pluginEsbuild } = await import("@modern-js/rsbuild-plugin-esbuild");
41
+ const { pluginEsbuild } = await Promise.resolve().then(() => __toESM(require("@modern-js/rsbuild-plugin-esbuild")));
42
42
  builder.addPlugins([
43
43
  pluginEsbuild(esbuildOptions)
44
44
  ]);
@@ -50,7 +50,7 @@ async function generateBuilder(options, bundlerType) {
50
50
  return builder;
51
51
  }
52
52
  async function applyBuilderPlugins(builder, options) {
53
- const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterWorker } = await import("../shared/builderPlugins/index.js");
53
+ const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterWorker } = await Promise.resolve().then(() => __toESM(require("../shared/builderPlugins")));
54
54
  builder.addPlugins([
55
55
  builderPluginAdapterBasic(),
56
56
  builderPluginAdapterSSR(options),
@@ -59,7 +59,7 @@ async function applyBuilderPlugins(builder, options) {
59
59
  ]);
60
60
  const { normalizedConfig } = options;
61
61
  if (!normalizedConfig.output.disableNodePolyfill) {
62
- const { pluginNodePolyfill } = await import("@rsbuild/plugin-node-polyfill");
62
+ const { pluginNodePolyfill } = await Promise.resolve().then(() => __toESM(require("@rsbuild/plugin-node-polyfill")));
63
63
  builder.addPlugins([
64
64
  pluginNodePolyfill()
65
65
  ]);
@@ -33,10 +33,10 @@ __export(builder_exports, {
33
33
  module.exports = __toCommonJS(builder_exports);
34
34
  async function createBuilderGenerator(bundler) {
35
35
  if (bundler === "rspack") {
36
- const { createRspackBuilderForModern } = await import("./builder-rspack/index.js");
36
+ const { createRspackBuilderForModern } = await Promise.resolve().then(() => __toESM(require("./builder-rspack")));
37
37
  return createRspackBuilderForModern;
38
38
  }
39
- const { createWebpackBuilderForModern } = await import("./builder-webpack/index.js");
39
+ const { createWebpackBuilderForModern } = await Promise.resolve().then(() => __toESM(require("./builder-webpack")));
40
40
  return createWebpackBuilderForModern;
41
41
  }
42
42
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var build_exports = {};
30
20
  __export(build_exports, {
@@ -46,15 +36,6 @@ const build = async (api, options) => {
46
36
  const appContext = api.useAppContext();
47
37
  const hookRunners = api.useHookRunners();
48
38
  await (0, import_loadPlugins.loadServerPlugins)(api, appContext.appDirectory, appContext.metaName);
49
- if (appContext.moduleType && appContext.moduleType === "module") {
50
- var _resolvedConfig_source1;
51
- const { registerEsm } = await import("../esm/register-esm.mjs");
52
- await registerEsm({
53
- appDir: appContext.appDirectory,
54
- distDir: appContext.distDirectory,
55
- alias: (_resolvedConfig_source1 = resolvedConfig.source) === null || _resolvedConfig_source1 === void 0 ? void 0 : _resolvedConfig_source1.alias
56
- });
57
- }
58
39
  await (0, import_register.registerCompiler)(appContext.appDirectory, appContext.distDirectory, resolvedConfig === null || resolvedConfig === void 0 ? void 0 : (_resolvedConfig_source = resolvedConfig.source) === null || _resolvedConfig_source === void 0 ? void 0 : _resolvedConfig_source.alias);
59
40
  const { apiOnly } = appContext;
60
41
  if (apiOnly) {
@@ -50,15 +50,6 @@ const dev = async (api, options, devServerOptions) => {
50
50
  let normalizedConfig = api.useResolvedConfigContext();
51
51
  const appContext = api.useAppContext();
52
52
  const hookRunners = api.useHookRunners();
53
- if (appContext.moduleType && appContext.moduleType === "module") {
54
- var _normalizedConfig_source1;
55
- const { registerEsm } = await import("../esm/register-esm.mjs");
56
- await registerEsm({
57
- appDir: appContext.appDirectory,
58
- distDir: appContext.distDirectory,
59
- alias: (_normalizedConfig_source1 = normalizedConfig.source) === null || _normalizedConfig_source1 === void 0 ? void 0 : _normalizedConfig_source1.alias
60
- });
61
- }
62
53
  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
54
  normalizedConfig = {
64
55
  ...normalizedConfig,
@@ -44,7 +44,7 @@ const devCommand = async (program, api) => {
44
44
  const runner = api.useHookRunners();
45
45
  const devToolMetas = await runner.registerDev();
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
- const { dev } = await import("./dev.js");
47
+ const { dev } = await Promise.resolve().then(() => __toESM(require("./dev")));
48
48
  await dev(api, options);
49
49
  });
50
50
  for (const meta of devToolMetas) {
@@ -54,7 +54,7 @@ const devCommand = async (program, api) => {
54
54
  for (const subCmd of meta.subCommands) {
55
55
  devProgram.command(subCmd).action(async (options = {}) => {
56
56
  const { appDirectory } = api.useAppContext();
57
- const { isTypescript } = await import("@modern-js/utils");
57
+ const { isTypescript } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
58
58
  await runner.beforeDevTask(meta);
59
59
  await meta.action(options, {
60
60
  isTsProject: isTypescript(appDirectory)
@@ -67,7 +67,7 @@ const buildCommand = async (program, api) => {
67
67
  const runner = api.useHookRunners();
68
68
  const platformBuilders = await runner.registerBuildPlatform();
69
69
  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) => {
70
- const { build } = await import("./build.js");
70
+ const { build } = await Promise.resolve().then(() => __toESM(require("./build")));
71
71
  await build(api, options);
72
72
  });
73
73
  for (const platformBuilder of platformBuilders) {
@@ -75,7 +75,7 @@ const buildCommand = async (program, api) => {
75
75
  for (const platform of platforms) {
76
76
  buildProgram.command(platform).action(async () => {
77
77
  const { appDirectory } = api.useAppContext();
78
- const { isTypescript } = await import("@modern-js/utils");
78
+ const { isTypescript } = await Promise.resolve().then(() => __toESM(require("@modern-js/utils")));
79
79
  await runner.beforeBuildPlatform(platformBuilders);
80
80
  await platformBuilder.build(platform, {
81
81
  isTsProject: isTypescript(appDirectory)
@@ -86,17 +86,17 @@ const buildCommand = async (program, api) => {
86
86
  };
87
87
  const serverCommand = (program, api) => {
88
88
  program.command("serve").usage("[options]").description(import_locale.i18n.t(import_locale.localeKeys.command.serve.describe)).option("--api-only", import_locale.i18n.t(import_locale.localeKeys.command.dev.apiOnly)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).action(async () => {
89
- const { start } = await import("./serve.js");
89
+ const { start } = await Promise.resolve().then(() => __toESM(require("./serve")));
90
90
  await start(api);
91
91
  });
92
92
  };
93
93
  const deployCommand = (program, api) => {
94
94
  program.command("deploy").usage("[options]").option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).option("-s --skip-build", import_locale.i18n.t(import_locale.localeKeys.command.shared.skipBuild)).description(import_locale.i18n.t(import_locale.localeKeys.command.deploy.describe)).action(async (options) => {
95
95
  if (!options.skipBuild) {
96
- const { build } = await import("./build.js");
96
+ const { build } = await Promise.resolve().then(() => __toESM(require("./build")));
97
97
  await build(api);
98
98
  }
99
- const { deploy } = await import("./deploy.js");
99
+ const { deploy } = await Promise.resolve().then(() => __toESM(require("./deploy")));
100
100
  await deploy(api, options);
101
101
  process.exit(0);
102
102
  });
@@ -111,7 +111,7 @@ const newCommand = (program, locale) => {
111
111
  };
112
112
  const inspectCommand = (program, api) => {
113
113
  program.command("inspect").description("inspect the internal configs").option(`--env <env>`, import_locale.i18n.t(import_locale.localeKeys.command.inspect.env), "development").option("--output <output>", import_locale.i18n.t(import_locale.localeKeys.command.inspect.output), "./").option("--verbose", import_locale.i18n.t(import_locale.localeKeys.command.inspect.verbose)).option("-c --config <config>", import_locale.i18n.t(import_locale.localeKeys.command.shared.config)).action(async (options) => {
114
- const { inspect } = await import("./inspect.js");
114
+ const { inspect } = await Promise.resolve().then(() => __toESM(require("./inspect")));
115
115
  inspect(api, options);
116
116
  });
117
117
  };
package/dist/cjs/index.js CHANGED
@@ -139,7 +139,7 @@ const appTools = (options = {
139
139
  async fileChange(e) {
140
140
  const { filename, eventType, isPrivate } = e;
141
141
  if (!isPrivate && (eventType === "change" || eventType === "unlink")) {
142
- const { closeServer } = await import("./utils/createServer");
142
+ const { closeServer } = await Promise.resolve().then(() => __toESM(require("./utils/createServer")));
143
143
  await closeServer();
144
144
  await (0, import_restart.restart)(api.useHookRunners(), filename);
145
145
  }
@@ -77,9 +77,9 @@ var analyze_default = ({ bundler }) => ({
77
77
  return;
78
78
  }
79
79
  const [{ getBundleEntry }, { getServerRoutes }, { getHtmlTemplate }] = await Promise.all([
80
- import("./getBundleEntry.js"),
81
- import("./getServerRoutes.js"),
82
- import("./getHtmlTemplate.js")
80
+ Promise.resolve().then(() => __toESM(require("./getBundleEntry"))),
81
+ Promise.resolve().then(() => __toESM(require("./getServerRoutes"))),
82
+ Promise.resolve().then(() => __toESM(require("./getHtmlTemplate")))
83
83
  ]);
84
84
  const { entrypoints } = await hookRunners.modifyEntrypoints({
85
85
  entrypoints: await getBundleEntry(hookRunners, appContext, resolvedConfig)
@@ -219,7 +219,6 @@ const handleDependencies = async ({ appDir, serverRootDir, includeEntries, trace
219
219
  name: `${projectPkgJson.name || "modernjs-project"}-prod`,
220
220
  version: projectPkgJson.version || "0.0.0",
221
221
  private: true,
222
- type: projectPkgJson.type || "commonjs",
223
222
  dependencies: Object.fromEntries([
224
223
  ...Object.values(tracedPackages).map((pkg) => [
225
224
  pkg.name,
@@ -143,17 +143,6 @@ const traceFiles = async ({ entryFiles, serverRootDir, base = "/", traceOptions
143
143
  return await (0, import_nft.nodeFileTrace)(entryFiles, {
144
144
  base,
145
145
  processCwd: serverRootDir,
146
- resolve: async (id, parent, job, isCjs) => {
147
- if (id.startsWith("@modern-js/prod-server")) {
148
- return require.resolve(id, {
149
- paths: [
150
- require.resolve("@modern-js/app-tools")
151
- ]
152
- });
153
- } else {
154
- return (0, import_nft.resolve)(id, parent, job, isCjs);
155
- }
156
- },
157
146
  ...traceOptions
158
147
  });
159
148
  };
@@ -50,13 +50,11 @@ async function cleanDistDirectory(dir) {
50
50
  }
51
51
  }
52
52
  const createNetlifyPreset = (appContext, modernConfig, needModernServer) => {
53
- const { appDirectory, distDirectory, entrypoints, serverPlugins, moduleType } = appContext;
54
- const isEsmProject = moduleType === "module";
53
+ const { appDirectory, distDirectory, entrypoints, serverPlugins } = appContext;
55
54
  const plugins = serverPlugins.map((plugin) => plugin.name);
56
55
  const netlifyOutput = import_node_path.default.join(appDirectory, ".netlify");
57
56
  const funcsDirectory = import_node_path.default.join(netlifyOutput, "functions");
58
57
  const entryFilePath = import_node_path.default.join(funcsDirectory, "index.js");
59
- const handlerFilePath = import_node_path.default.join(funcsDirectory, "netlify-handler.cjs");
60
58
  return {
61
59
  async prepare() {
62
60
  await import_utils.fs.remove(netlifyOutput);
@@ -105,9 +103,7 @@ const createNetlifyPreset = (appContext, modernConfig, needModernServer) => {
105
103
  prefix: modernConfig === null || modernConfig === void 0 ? void 0 : (_modernConfig_bff = modernConfig.bff) === null || _modernConfig_bff === void 0 ? void 0 : _modernConfig_bff.prefix
106
104
  },
107
105
  output: {
108
- distPath: {
109
- root: "."
110
- }
106
+ path: "."
111
107
  }
112
108
  };
113
109
  const pluginImportCode = (0, import_utils2.genPluginImportsCode)(plugins || []);
@@ -118,15 +114,10 @@ const createNetlifyPreset = (appContext, modernConfig, needModernServer) => {
118
114
  const pluginsCode = `[${plugins.map((plugin, index) => {
119
115
  return `plugin_${index}()`;
120
116
  }).join(",")}]`;
121
- let handlerCode = (await import_utils.fs.readFile(import_node_path.default.join(__dirname, "./netlify-handler.js"))).toString();
117
+ let entryCode = (await import_utils.fs.readFile(import_node_path.default.join(__dirname, "./netlifyEntry.js"))).toString();
122
118
  const serverAppContext = (0, import_utils2.serverAppContenxtTemplate)(appContext);
123
- handlerCode = handlerCode.replace("handlerCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${import_utils.ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_plugins", pluginsCode).replace("p_sharedDirectory", serverAppContext.sharedDirectory).replace("p_apiDirectory", serverAppContext.apiDirectory).replace("p_lambdaDirectory", serverAppContext.lambdaDirectory);
124
- await import_utils.fs.writeFile(handlerFilePath, handlerCode);
125
- if (isEsmProject) {
126
- await import_utils.fs.copy(import_node_path.default.join(__dirname, "./netlify-entry.mjs"), entryFilePath);
127
- } else {
128
- await import_utils.fs.copy(import_node_path.default.join(__dirname, "./netlify-entry.js"), entryFilePath);
129
- }
119
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${import_utils.ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_plugins", pluginsCode).replace("p_sharedDirectory", serverAppContext.sharedDirectory).replace("p_apiDirectory", serverAppContext.apiDirectory).replace("p_lambdaDirectory", serverAppContext.lambdaDirectory);
120
+ await import_utils.fs.writeFile(entryFilePath, entryCode);
130
121
  },
131
122
  async end() {
132
123
  if (process.env.NODE_ENV !== "development") {
@@ -53,11 +53,9 @@ async function createHandler() {
53
53
  return requestHandler;
54
54
  }
55
55
  createHandler();
56
- module.exports = {
57
- handler: async (request, context) => {
58
- if (!requestHandler) {
59
- await createHandler();
60
- }
61
- return requestHandler(request, context);
56
+ module.exports.default = async (request, context) => {
57
+ if (!requestHandler) {
58
+ await createHandler();
62
59
  }
60
+ return requestHandler(request, context);
63
61
  };
@@ -36,8 +36,7 @@ var import_utils = require("@modern-js/utils");
36
36
  var import_utils2 = require("../utils");
37
37
  var import_dependencies = require("../dependencies");
38
38
  const createNodePreset = (appContext, config) => {
39
- const { appDirectory, distDirectory, serverPlugins, moduleType } = appContext;
40
- const isEsmProject = moduleType === "module";
39
+ const { appDirectory, distDirectory, serverPlugins } = appContext;
41
40
  const plugins = serverPlugins.map((plugin) => plugin.name);
42
41
  const outputDirectory = import_node_path.default.join(appDirectory, ".output");
43
42
  const staticDirectory = import_node_path.default.join(outputDirectory, "static");
@@ -59,9 +58,7 @@ const createNodePreset = (appContext, config) => {
59
58
  prefix: config === null || config === void 0 ? void 0 : (_config_bff = config.bff) === null || _config_bff === void 0 ? void 0 : _config_bff.prefix
60
59
  },
61
60
  output: {
62
- distPath: {
63
- root: "."
64
- }
61
+ path: "."
65
62
  }
66
63
  };
67
64
  const pluginImportCode = (0, import_utils2.genPluginImportsCode)(plugins || []);
@@ -72,16 +69,10 @@ const createNodePreset = (appContext, config) => {
72
69
  const pluginsCode = `[${plugins.map((plugin, index) => {
73
70
  return `plugin_${index}()`;
74
71
  }).join(",")}]`;
75
- let entryCode = (await import_utils.fs.readFile(import_node_path.default.join(__dirname, "./node-entry.js"))).toString();
72
+ let entryCode = (await import_utils.fs.readFile(import_node_path.default.join(__dirname, "./nodeEntry.js"))).toString();
76
73
  const serverAppContext = (0, import_utils2.serverAppContenxtTemplate)(appContext);
77
74
  entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${import_utils.ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_plugins", pluginsCode).replace("p_sharedDirectory", serverAppContext.sharedDirectory).replace("p_apiDirectory", serverAppContext.apiDirectory).replace("p_lambdaDirectory", serverAppContext.lambdaDirectory);
78
- if (isEsmProject) {
79
- const cjsEntryFilePath = import_node_path.default.join(outputDirectory, "index.cjs");
80
- await import_utils.fs.writeFile(cjsEntryFilePath, entryCode);
81
- await import_utils.fs.writeFile(entryFilePath, `import('./index.cjs');`);
82
- } else {
83
- await import_utils.fs.writeFile(entryFilePath, entryCode);
84
- }
75
+ await import_utils.fs.writeFile(entryFilePath, entryCode);
85
76
  },
86
77
  async end() {
87
78
  console.log("Static directory:", import_utils.chalk.blue(import_node_path.default.relative(appDirectory, staticDirectory)));
@@ -37,14 +37,12 @@ var import_routes = require("../../../utils/routes");
37
37
  var import_utils2 = require("../utils");
38
38
  var import_dependencies = require("../dependencies");
39
39
  const createVercelPreset = (appContext, modernConfig, needModernServer) => {
40
- const { appDirectory, distDirectory, entrypoints, serverPlugins, moduleType } = appContext;
41
- const isEsmProject = moduleType === "module";
40
+ const { appDirectory, distDirectory, entrypoints, serverPlugins } = appContext;
42
41
  const plugins = serverPlugins.map((plugin) => plugin.name);
43
42
  const vercelOutput = import_node_path.default.join(appDirectory, ".vercel");
44
43
  const outputDirectory = import_node_path.default.join(vercelOutput, "output");
45
44
  const funcsDirectory = import_node_path.default.join(outputDirectory, "functions", "index.func");
46
45
  const entryFilePath = import_node_path.default.join(funcsDirectory, "index.js");
47
- const handlerFilePath = import_node_path.default.join(funcsDirectory, "vercel-handler.cjs");
48
46
  return {
49
47
  async prepare() {
50
48
  await import_utils.fs.remove(vercelOutput);
@@ -120,9 +118,7 @@ const createVercelPreset = (appContext, modernConfig, needModernServer) => {
120
118
  prefix: modernConfig === null || modernConfig === void 0 ? void 0 : (_modernConfig_bff = modernConfig.bff) === null || _modernConfig_bff === void 0 ? void 0 : _modernConfig_bff.prefix
121
119
  },
122
120
  output: {
123
- distPath: {
124
- root: "."
125
- }
121
+ path: "."
126
122
  }
127
123
  };
128
124
  const pluginImportCode = (0, import_utils2.genPluginImportsCode)(plugins || []);
@@ -134,14 +130,9 @@ const createVercelPreset = (appContext, modernConfig, needModernServer) => {
134
130
  return `plugin_${index}()`;
135
131
  }).join(",")}]`;
136
132
  const serverAppContext = (0, import_utils2.serverAppContenxtTemplate)(appContext);
137
- let handlerCode = (await import_utils.fs.readFile(import_node_path.default.join(__dirname, "./vercel-handler.js"))).toString();
138
- handlerCode = handlerCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${import_utils.ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_plugins", pluginsCode).replace("p_sharedDirectory", serverAppContext.sharedDirectory).replace("p_apiDirectory", serverAppContext.apiDirectory).replace("p_lambdaDirectory", serverAppContext.lambdaDirectory);
139
- await import_utils.fs.writeFile(handlerFilePath, handlerCode);
140
- if (isEsmProject) {
141
- await import_utils.fs.copy(import_node_path.default.join(__dirname, "./vercel-entry.mjs"), entryFilePath);
142
- } else {
143
- await import_utils.fs.copy(import_node_path.default.join(__dirname, "./vercel-entry.js"), entryFilePath);
144
- }
133
+ let entryCode = (await import_utils.fs.readFile(import_node_path.default.join(__dirname, "./vercelEntry.js"))).toString();
134
+ entryCode = entryCode.replace("p_genPluginImportsCode", pluginImportCode).replace("p_ROUTE_SPEC_FILE", `"${import_utils.ROUTE_SPEC_FILE}"`).replace("p_dynamicProdOptions", JSON.stringify(dynamicProdOptions)).replace("p_plugins", pluginsCode).replace("p_sharedDirectory", serverAppContext.sharedDirectory).replace("p_apiDirectory", serverAppContext.apiDirectory).replace("p_lambdaDirectory", serverAppContext.lambdaDirectory);
135
+ await import_utils.fs.writeFile(entryFilePath, entryCode);
145
136
  },
146
137
  async end() {
147
138
  if (!needModernServer) {
@@ -1,26 +1,4 @@
1
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 vercel_handler_exports = {};
20
- __export(vercel_handler_exports, {
21
- handler: () => handler
22
- });
23
- module.exports = __toCommonJS(vercel_handler_exports);
24
2
  const fs = require("node:fs/promises");
25
3
  const path = require("node:path");
26
4
  const { createProdServer } = require("@modern-js/prod-server");
@@ -75,13 +53,9 @@ async function createHandler() {
75
53
  return requestHandler;
76
54
  }
77
55
  createHandler();
78
- const handler = async (req, res) => {
56
+ module.exports = async (req, res) => {
79
57
  if (!requestHandler) {
80
58
  await createHandler();
81
59
  }
82
60
  return requestHandler(req, res);
83
61
  };
84
- // Annotate the CommonJS export names for ESM import in node:
85
- 0 && (module.exports = {
86
- handler
87
- });
@@ -40,7 +40,7 @@ var import_utils = require("@modern-js/utils");
40
40
  const defineServerConfig = (config) => config;
41
41
  const buildServerConfig = async ({ appDirectory, distDirectory, configFile, options, watch }) => {
42
42
  const configFilePath = await (0, import_utils.getServerConfig)(appDirectory, configFile);
43
- const getOutputFile = async (filepath) => path.resolve(distDirectory, `${filepath.replace(new RegExp(import_utils.CONFIG_FILE_EXTENSIONS.join("|")), "")}.cjs`);
43
+ const getOutputFile = async (filepath) => path.resolve(distDirectory, `${filepath.replace(new RegExp(import_utils.CONFIG_FILE_EXTENSIONS.join("|")), "")}.js`);
44
44
  if (configFilePath) {
45
45
  const configHelperFilePath = path.normalize(path.join(distDirectory, "./config-helper.js"));
46
46
  const helperCode = `
@@ -37,7 +37,7 @@ async function getServerPlugins(api, metaName = "modern-js") {
37
37
  }
38
38
  async function loadServerPlugins(api, appDirectory, metaName) {
39
39
  const plugins = await getServerPlugins(api, metaName);
40
- const instances = await (0, import_prod_server.loadServerPlugins)(plugins, appDirectory);
40
+ const instances = (0, import_prod_server.loadServerPlugins)(plugins, appDirectory);
41
41
  return instances;
42
42
  }
43
43
  // Annotate the CommonJS export names for ESM import in node:
@@ -33,14 +33,6 @@ __export(register_exports, {
33
33
  module.exports = __toCommonJS(register_exports);
34
34
  var import_node_path = __toESM(require("node:path"));
35
35
  var import_utils = require("@modern-js/utils");
36
- const registerEsbuild = async ({ isTsProject, tsConfig, distDir }) => {
37
- const esbuildRegister = await import("esbuild-register/dist/node");
38
- esbuildRegister.register({
39
- tsconfigRaw: isTsProject ? tsConfig : void 0,
40
- hookIgnoreNodeModules: true,
41
- hookMatcher: (fileName) => !fileName.startsWith(distDir)
42
- });
43
- };
44
36
  const registerCompiler = async (appDir = process.cwd(), distDir, alias) => {
45
37
  const TS_CONFIG_FILENAME = `tsconfig.json`;
46
38
  const tsconfigPath = import_node_path.default.resolve(appDir, TS_CONFIG_FILENAME);
@@ -52,17 +44,6 @@ const registerCompiler = async (appDir = process.cwd(), distDir, alias) => {
52
44
  const { paths = {}, absoluteBaseUrl = "./" } = aliasConfig;
53
45
  const tsPaths = Object.keys(paths).reduce((o, key) => {
54
46
  let tsPath = paths[key];
55
- if (typeof tsPath === "string" && key.startsWith("@") && tsPath.startsWith("@")) {
56
- try {
57
- tsPath = require.resolve(tsPath, {
58
- paths: [
59
- process.cwd(),
60
- ...module.paths
61
- ]
62
- });
63
- } catch {
64
- }
65
- }
66
47
  if (typeof tsPath === "string" && import_node_path.default.isAbsolute(tsPath)) {
67
48
  tsPath = import_node_path.default.relative(absoluteBaseUrl, tsPath);
68
49
  }
@@ -80,40 +61,32 @@ const registerCompiler = async (appDir = process.cwd(), distDir, alias) => {
80
61
  if (isTsProject) {
81
62
  tsConfig = (0, import_utils.readTsConfigByFile)(tsconfigPath);
82
63
  }
83
- const { MODERN_NODE_LOADER } = process.env;
84
- if (MODERN_NODE_LOADER !== "esbuild") {
85
- try {
86
- const tsNode = await import("ts-node");
87
- const tsNodeOptions = tsConfig["ts-node"];
88
- if (isTsProject) {
89
- tsNode.register({
90
- project: tsconfigPath,
91
- scope: true,
92
- // for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
93
- files: true,
94
- transpileOnly: true,
95
- ignore: [
96
- "(?:^|/)node_modules/",
97
- `(?:^|/)${import_node_path.default.relative(appDir, distDir)}/`
98
- ],
99
- ...tsNodeOptions
100
- });
101
- }
102
- } catch (error) {
103
- await registerEsbuild({
104
- isTsProject,
105
- tsConfig,
106
- distDir
64
+ try {
65
+ const tsNode = await Promise.resolve().then(() => __toESM(require("ts-node")));
66
+ const tsNodeOptions = tsConfig["ts-node"];
67
+ if (isTsProject) {
68
+ tsNode.register({
69
+ project: tsconfigPath,
70
+ scope: true,
71
+ // for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
72
+ files: true,
73
+ transpileOnly: true,
74
+ ignore: [
75
+ "(?:^|/)node_modules/",
76
+ `(?:^|/)${import_node_path.default.relative(appDir, distDir)}/`
77
+ ],
78
+ ...tsNodeOptions
107
79
  });
108
80
  }
109
- } else {
110
- await registerEsbuild({
111
- isTsProject,
112
- tsConfig,
113
- distDir
81
+ } catch (error) {
82
+ const esbuildRegister = await Promise.resolve().then(() => __toESM(require("esbuild-register/dist/node")));
83
+ esbuildRegister.register({
84
+ tsconfigRaw: isTsProject ? tsConfig : void 0,
85
+ hookIgnoreNodeModules: true,
86
+ hookMatcher: (fileName) => !fileName.startsWith(distDir)
114
87
  });
115
88
  }
116
- const tsConfigPaths = (await import("@modern-js/utils/tsconfig-paths")).default;
89
+ const tsConfigPaths = await Promise.resolve().then(() => __toESM(require("@modern-js/utils/tsconfig-paths")));
117
90
  if (await import_utils.fs.pathExists(appDir)) {
118
91
  const loaderRes = tsConfigPaths.loadConfig(appDir);
119
92
  if (loaderRes.resultType === "success") {
@@ -1,5 +1,6 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
+ import { _ as _type_of } from "@swc/helpers/_/_type_of";
3
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
5
  import path from "path";
5
6
  import fs from "@modern-js/utils/fs-extra";
@@ -61,7 +62,7 @@ var builderPluginAdpaterCopy = function(options) {
61
62
  return _transformHtmlFiles.apply(this, arguments);
62
63
  }
63
64
  function _transformHtmlFiles() {
64
- _transformHtmlFiles = /** tramsform public/*.html manaully */
65
+ _transformHtmlFiles = /** transform public/*.html manaully */
65
66
  _async_to_generator(function() {
66
67
  var _normalizedConfig_output_distPath, normalizedConfig, publicDir, HTML_REGEXP, filepaths;
67
68
  return _ts_generator(this, function(_state) {
@@ -99,7 +100,7 @@ var builderPluginAdpaterCopy = function(options) {
99
100
  ];
100
101
  case 1:
101
102
  content = _state2.sent();
102
- if (!publicPath)
103
+ if (!(publicPath && typeof publicPath === "string"))
103
104
  return [
104
105
  3,
105
106
  3
@@ -115,7 +116,7 @@ var builderPluginAdpaterCopy = function(options) {
115
116
  5
116
117
  ];
117
118
  case 3:
118
- logger.warn("Expect get a string from `publicPath`, but receive `undefined`.");
119
+ logger.warn("Expect get a string from `publicPath`, but receive `".concat(typeof publicPath === "undefined" ? "undefined" : _type_of(publicPath), "`."));
119
120
  return [
120
121
  4,
121
122
  fs.writeFile(file, content.replace(/<%=\s*assetPrefix\s*%>/g, removeTailSlash("/")))
@@ -38,6 +38,8 @@ function getBuilderEnvironments(normalizedConfig, appContext) {
38
38
  var v = entries[entry1];
39
39
  serverEntries[entry1] = v.map(function(entry2) {
40
40
  return entry2.replace("index.jsx", "index.server.jsx");
41
+ }).map(function(entry2) {
42
+ return entry2.replace("bootstrap.jsx", "bootstrap.server.jsx");
41
43
  });
42
44
  }
43
45
  var environments = {
@@ -54,7 +54,7 @@ function _applyBuilderPlugins() {
54
54
  case 0:
55
55
  return [
56
56
  4,
57
- import("../shared/builderPlugins/index.js")
57
+ import("../shared/builderPlugins")
58
58
  ];
59
59
  case 1:
60
60
  _ref = _state.sent(), builderPluginAdapterBasic = _ref.builderPluginAdapterBasic, builderPluginAdapterHtml = _ref.builderPluginAdapterHtml, builderPluginAdapterSSR = _ref.builderPluginAdapterSSR, builderPluginAdapterWorker = _ref.builderPluginAdapterWorker;
@@ -16,7 +16,7 @@ function _createBuilderGenerator() {
16
16
  ];
17
17
  return [
18
18
  4,
19
- import("./builder-rspack/index.js")
19
+ import("./builder-rspack")
20
20
  ];
21
21
  case 1:
22
22
  createRspackBuilderForModern = _state.sent().createRspackBuilderForModern;
@@ -27,7 +27,7 @@ function _createBuilderGenerator() {
27
27
  case 2:
28
28
  return [
29
29
  4,
30
- import("./builder-webpack/index.js")
30
+ import("./builder-webpack")
31
31
  ];
32
32
  case 3:
33
33
  createWebpackBuilderForModern = _state.sent().createWebpackBuilderForModern;
@@ -27,7 +27,7 @@ function applyNodeCompat(isServiceWorker, chain) {
27
27
  ".node.ts",
28
28
  ".node.tsx",
29
29
  ".server.js",
30
- ".server.ts",
30
+ ".server.jsx",
31
31
  ".server.ts",
32
32
  ".server.tsx"
33
33
  ];