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

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -7,9 +7,10 @@ import { logger } from "@modern-js/utils";
7
7
  import { loadServerPlugins } from "../utils/loadPlugins";
8
8
  import { generateRoutes } from "../utils/routes";
9
9
  import { buildServerConfig } from "../utils/config";
10
+ import { registerCompiler } from "../utils/register";
10
11
  var build = function() {
11
12
  var _ref = _async_to_generator(function(api, options) {
12
- var resolvedConfig, appContext, hookRunners, apiOnly, appDirectory, distDirectory, serverConfigFile, distDirectory1, appDirectory1, serverConfigFile1;
13
+ var _resolvedConfig_source, resolvedConfig, appContext, hookRunners, apiOnly, appDirectory, distDirectory, serverConfigFile, distDirectory1, appDirectory1, serverConfigFile1;
13
14
  return _ts_generator(this, function(_state) {
14
15
  switch (_state.label) {
15
16
  case 0:
@@ -24,12 +25,18 @@ var build = function() {
24
25
  loadServerPlugins(api, appContext.appDirectory, appContext.metaName)
25
26
  ];
26
27
  case 1:
28
+ _state.sent();
29
+ return [
30
+ 4,
31
+ 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)
32
+ ];
33
+ case 2:
27
34
  _state.sent();
28
35
  apiOnly = appContext.apiOnly;
29
36
  if (!apiOnly)
30
37
  return [
31
38
  3,
32
- 6
39
+ 7
33
40
  ];
34
41
  appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverConfigFile = appContext.serverConfigFile;
35
42
  return [
@@ -39,7 +46,7 @@ var build = function() {
39
46
  bundlerConfigs: void 0
40
47
  })
41
48
  ];
42
- case 2:
49
+ case 3:
43
50
  _state.sent();
44
51
  return [
45
52
  4,
@@ -49,13 +56,13 @@ var build = function() {
49
56
  configFile: serverConfigFile
50
57
  })
51
58
  ];
52
- case 3:
59
+ case 4:
53
60
  _state.sent();
54
61
  return [
55
62
  4,
56
63
  generateRoutes(appContext)
57
64
  ];
58
- case 4:
65
+ case 5:
59
66
  _state.sent();
60
67
  return [
61
68
  4,
@@ -64,12 +71,12 @@ var build = function() {
64
71
  stats: void 0
65
72
  })
66
73
  ];
67
- case 5:
74
+ case 6:
68
75
  _state.sent();
69
76
  return [
70
77
  2
71
78
  ];
72
- case 6:
79
+ case 7:
73
80
  resolvedConfig = _object_spread_props(_object_spread({}, resolvedConfig), {
74
81
  cliOptions: options
75
82
  });
@@ -83,7 +90,7 @@ var build = function() {
83
90
  configFile: serverConfigFile1
84
91
  })
85
92
  ];
86
- case 7:
93
+ case 8:
87
94
  _state.sent();
88
95
  logger.info("Starting production build...");
89
96
  if (!appContext.builder) {
@@ -93,7 +100,7 @@ var build = function() {
93
100
  4,
94
101
  appContext.builder.build()
95
102
  ];
96
- case 8:
103
+ case 9:
97
104
  _state.sent();
98
105
  return [
99
106
  2
@@ -4,22 +4,21 @@ 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
6
  import { ResolvedConfigContext } from "@modern-js/core";
7
- import { DEFAULT_DEV_HOST, SERVER_DIR, getMeta } from "@modern-js/utils";
7
+ import { DEFAULT_DEV_HOST, SERVER_DIR, getMeta, logger } from "@modern-js/utils";
8
8
  import { createDevServer } from "@modern-js/server";
9
9
  import { applyPlugins } from "@modern-js/prod-server";
10
10
  import { loadServerPlugins } from "../utils/loadPlugins";
11
+ import { registerCompiler } from "../utils/register";
11
12
  import { printInstructions } from "../utils/printInstructions";
12
13
  import { setServer } from "../utils/createServer";
13
14
  import { generateRoutes } from "../utils/routes";
14
15
  import { buildServerConfig } from "../utils/config";
15
16
  var dev = function() {
16
- var _ref = _async_to_generator(function(api, options) {
17
- var devServerOptions, _normalizedConfig_source, _normalizedConfig_tools, normalizedConfig, appContext, hookRunners, registerEsm, appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes, meta, serverConfigPath, pluginInstances, serverOptions, _normalizedConfig_dev, app, host, server;
18
- var _arguments = arguments;
17
+ var _ref = _async_to_generator(function(api, options, devServerOptions) {
18
+ var _normalizedConfig_source, _normalizedConfig_tools, _normalizedConfig_dev, normalizedConfig, appContext, hookRunners, appDirectory, distDirectory, port, apiOnly, serverConfigFile, metaName, serverRoutes, meta, serverConfigPath, pluginInstances, serverOptions, host, server, _ref2, server1, afterListen;
19
19
  return _ts_generator(this, function(_state) {
20
20
  switch (_state.label) {
21
21
  case 0:
22
- devServerOptions = _arguments.length > 2 && _arguments[2] !== void 0 ? _arguments[2] : {};
23
22
  if (options.analyze) {
24
23
  process.env.BUNDLE_ANALYZE = "true";
25
24
  }
@@ -28,19 +27,9 @@ var dev = function() {
28
27
  hookRunners = api.useHookRunners();
29
28
  return [
30
29
  4,
31
- import("../esm/register-esm.mjs")
30
+ 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)
32
31
  ];
33
32
  case 1:
34
- registerEsm = _state.sent().registerEsm;
35
- return [
36
- 4,
37
- registerEsm({
38
- appDir: appContext.appDirectory,
39
- distDir: appContext.distDirectory,
40
- alias: (_normalizedConfig_source = normalizedConfig.source) === null || _normalizedConfig_source === void 0 ? void 0 : _normalizedConfig_source.alias
41
- })
42
- ];
43
- case 2:
44
33
  _state.sent();
45
34
  normalizedConfig = _object_spread_props(_object_spread({}, normalizedConfig), {
46
35
  cliOptions: options
@@ -56,7 +45,7 @@ var dev = function() {
56
45
  watch: true
57
46
  })
58
47
  ];
59
- case 3:
48
+ case 2:
60
49
  _state.sent();
61
50
  meta = getMeta(metaName);
62
51
  serverConfigPath = path.resolve(appDirectory, SERVER_DIR, "".concat(meta, ".server"));
@@ -64,7 +53,7 @@ var dev = function() {
64
53
  4,
65
54
  hookRunners.beforeDev()
66
55
  ];
67
- case 4:
56
+ case 3:
68
57
  _state.sent();
69
58
  if (!appContext.builder && !apiOnly) {
70
59
  throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
@@ -73,13 +62,13 @@ var dev = function() {
73
62
  4,
74
63
  generateRoutes(appContext)
75
64
  ];
76
- case 5:
65
+ case 4:
77
66
  _state.sent();
78
67
  return [
79
68
  4,
80
69
  loadServerPlugins(api, appDirectory, metaName)
81
70
  ];
82
- case 6:
71
+ case 5:
83
72
  pluginInstances = _state.sent();
84
73
  serverOptions = _object_spread({
85
74
  metaName,
@@ -101,19 +90,21 @@ var dev = function() {
101
90
  serverConfigFile,
102
91
  plugins: pluginInstances
103
92
  }, devServerOptions);
93
+ host = ((_normalizedConfig_dev = normalizedConfig.dev) === null || _normalizedConfig_dev === void 0 ? void 0 : _normalizedConfig_dev.host) || DEFAULT_DEV_HOST;
104
94
  if (!apiOnly)
105
95
  return [
106
96
  3,
107
- 8
97
+ 7
108
98
  ];
109
99
  return [
110
100
  4,
111
- createDevServer(serverOptions, applyPlugins)
101
+ createDevServer(_object_spread_props(_object_spread({}, serverOptions), {
102
+ runCompile: false
103
+ }), (devServerOptions === null || devServerOptions === void 0 ? void 0 : devServerOptions.applyPlugins) || applyPlugins)
112
104
  ];
113
- case 7:
114
- app = _state.sent();
115
- host = ((_normalizedConfig_dev = normalizedConfig.dev) === null || _normalizedConfig_dev === void 0 ? void 0 : _normalizedConfig_dev.host) || DEFAULT_DEV_HOST;
116
- app.listen({
105
+ case 6:
106
+ server = _state.sent().server;
107
+ server.listen({
117
108
  port,
118
109
  host
119
110
  }, function() {
@@ -121,28 +112,55 @@ var dev = function() {
121
112
  });
122
113
  return [
123
114
  3,
124
- 10
115
+ 9
125
116
  ];
126
- case 8:
117
+ case 7:
127
118
  return [
128
119
  4,
129
- appContext.builder.startDevServer({
130
- serverOptions,
131
- applyPlugins
132
- })
120
+ createDevServer(_object_spread_props(_object_spread({}, serverOptions), {
121
+ builder: appContext.builder
122
+ }), (devServerOptions === null || devServerOptions === void 0 ? void 0 : devServerOptions.applyPlugins) || applyPlugins)
133
123
  ];
124
+ case 8:
125
+ _ref2 = _state.sent(), server1 = _ref2.server, afterListen = _ref2.afterListen;
126
+ server1.listen({
127
+ port,
128
+ host
129
+ }, function() {
130
+ var _ref3 = _async_to_generator(function(err) {
131
+ return _ts_generator(this, function(_state2) {
132
+ switch (_state2.label) {
133
+ case 0:
134
+ if (err) {
135
+ logger.error("Occur error %s, when start dev server", err);
136
+ }
137
+ logger.debug("listen dev server done");
138
+ return [
139
+ 4,
140
+ afterListen()
141
+ ];
142
+ case 1:
143
+ _state2.sent();
144
+ return [
145
+ 2
146
+ ];
147
+ }
148
+ });
149
+ });
150
+ return function(err) {
151
+ return _ref3.apply(this, arguments);
152
+ };
153
+ }());
154
+ setServer(server1);
155
+ _state.label = 9;
134
156
  case 9:
135
- server = _state.sent().server;
136
- setServer(server);
137
- _state.label = 10;
138
- case 10:
139
157
  return [
140
158
  2
141
159
  ];
142
160
  }
143
161
  });
144
162
  });
145
- return function dev2(api, options) {
163
+ return function dev2(api, options, devServerOptions) {
146
164
  return _ref.apply(this, arguments);
147
165
  };
148
166
  }();
@@ -26,7 +26,7 @@ var devCommand = function() {
26
26
  case 0:
27
27
  return [
28
28
  4,
29
- import("./dev.js")
29
+ import("./dev")
30
30
  ];
31
31
  case 1:
32
32
  dev = _state2.sent().dev;
@@ -152,7 +152,7 @@ var buildCommand = function() {
152
152
  case 0:
153
153
  return [
154
154
  4,
155
- import("./build.js")
155
+ import("./build")
156
156
  ];
157
157
  case 1:
158
158
  build = _state2.sent().build;
@@ -265,7 +265,7 @@ var serverCommand = function(program, api) {
265
265
  case 0:
266
266
  return [
267
267
  4,
268
- import("./serve.js")
268
+ import("./serve")
269
269
  ];
270
270
  case 1:
271
271
  start = _state.sent().start;
@@ -296,7 +296,7 @@ var deployCommand = function(program, api) {
296
296
  ];
297
297
  return [
298
298
  4,
299
- import("./build.js")
299
+ import("./build")
300
300
  ];
301
301
  case 1:
302
302
  build = _state.sent().build;
@@ -310,7 +310,7 @@ var deployCommand = function(program, api) {
310
310
  case 3:
311
311
  return [
312
312
  4,
313
- import("./deploy.js")
313
+ import("./deploy")
314
314
  ];
315
315
  case 4:
316
316
  deploy = _state.sent().deploy;
@@ -358,7 +358,7 @@ var newCommand = function(program, locale) {
358
358
  }());
359
359
  };
360
360
  var inspectCommand = function(program, api) {
361
- program.command("inspect").description("inspect the internal configs").option("--env <env>", i18n.t(localeKeys.command.inspect.env), "development").option("--output <output>", i18n.t(localeKeys.command.inspect.output), "/").option("--verbose", i18n.t(localeKeys.command.inspect.verbose)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).action(function() {
361
+ program.command("inspect").description("inspect the internal configs").option("--env <env>", i18n.t(localeKeys.command.inspect.env), "development").option("--output <output>", i18n.t(localeKeys.command.inspect.output), "./").option("--verbose", i18n.t(localeKeys.command.inspect.verbose)).option("-c --config <config>", i18n.t(localeKeys.command.shared.config)).action(function() {
362
362
  var _ref = _async_to_generator(function(options) {
363
363
  var inspect;
364
364
  return _ts_generator(this, function(_state) {
@@ -366,7 +366,7 @@ var inspectCommand = function(program, api) {
366
366
  case 0:
367
367
  return [
368
368
  4,
369
- import("./inspect.js")
369
+ import("./inspect")
370
370
  ];
371
371
  case 1:
372
372
  inspect = _state.sent().inspect;
package/dist/esm/index.js CHANGED
@@ -4,7 +4,7 @@ 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 "path";
6
6
  import { lintPlugin } from "@modern-js/plugin-lint";
7
- import { cleanRequireCache, emptyDir, getCommand, getArgv, fs, NESTED_ROUTE_SPEC_FILE } from "@modern-js/utils";
7
+ import { cleanRequireCache, emptyDir, getCommand, getArgv } from "@modern-js/utils";
8
8
  import { getLocaleLanguage } from "@modern-js/plugin-i18n/language-detector";
9
9
  import initializePlugin from "./plugins/initialize";
10
10
  import analyzePlugin from "./plugins/analyze";
@@ -52,7 +52,6 @@ var appTools = function() {
52
52
  api.setAppContext(_object_spread_props(_object_spread({}, appContext), {
53
53
  toolsType: "app-tools"
54
54
  }));
55
- var nestedRoutes = {};
56
55
  var locale = getLocaleLanguage();
57
56
  i18n.changeLanguage({
58
57
  locale
@@ -226,46 +225,6 @@ var appTools = function() {
226
225
  ];
227
226
  });
228
227
  })();
229
- },
230
- modifyFileSystemRoutes: function modifyFileSystemRoutes(param) {
231
- var entrypoint = param.entrypoint, routes = param.routes;
232
- return _async_to_generator(function() {
233
- return _ts_generator(this, function(_state) {
234
- nestedRoutes[entrypoint.entryName] = routes;
235
- return [
236
- 2,
237
- {
238
- entrypoint,
239
- routes
240
- }
241
- ];
242
- });
243
- })();
244
- },
245
- beforeGenerateRoutes: function beforeGenerateRoutes(param) {
246
- var entrypoint = param.entrypoint, code = param.code;
247
- return _async_to_generator(function() {
248
- var distDirectory;
249
- return _ts_generator(this, function(_state) {
250
- switch (_state.label) {
251
- case 0:
252
- distDirectory = api.useAppContext().distDirectory;
253
- return [
254
- 4,
255
- fs.outputJSON(path.resolve(distDirectory, NESTED_ROUTE_SPEC_FILE), nestedRoutes)
256
- ];
257
- case 1:
258
- _state.sent();
259
- return [
260
- 2,
261
- {
262
- entrypoint,
263
- code
264
- }
265
- ];
266
- }
267
- });
268
- })();
269
228
  }
270
229
  };
271
230
  }
@@ -12,7 +12,6 @@ import { getSelectedEntries } from "../../utils/getSelectedEntries";
12
12
  import { initialNormalizedConfig } from "../../config";
13
13
  import { createBuilderGenerator } from "../../builder";
14
14
  import { checkIsBuildCommands } from "./utils";
15
- import { compatibleRequire } from "@modern-js/utils";
16
15
  var debug = createDebugger("plugin-analyze");
17
16
  function analyze_default(param) {
18
17
  var bundler = param.bundler;
@@ -78,9 +77,9 @@ function analyze_default(param) {
78
77
  return [
79
78
  4,
80
79
  Promise.all([
81
- compatibleRequire(path.join(__dirname, "./getBundleEntry.js")),
82
- compatibleRequire(path.join(__dirname, "./getServerRoutes.js")),
83
- compatibleRequire(path.join(__dirname, "./getHtmlTemplate.js"))
80
+ import("./getBundleEntry"),
81
+ import("./getServerRoutes"),
82
+ import("./getHtmlTemplate")
84
83
  ])
85
84
  ];
86
85
  case 5:
@@ -203,11 +202,16 @@ function analyze_default(param) {
203
202
  builder = _state.sent();
204
203
  builder.onBeforeBuild(function() {
205
204
  var _ref2 = _async_to_generator(function(param2) {
206
- var bundlerConfigs, hookRunners2;
205
+ var bundlerConfigs, isFirstCompile, hookRunners2;
207
206
  return _ts_generator(this, function(_state2) {
208
207
  switch (_state2.label) {
209
208
  case 0:
210
- bundlerConfigs = param2.bundlerConfigs;
209
+ bundlerConfigs = param2.bundlerConfigs, isFirstCompile = param2.isFirstCompile;
210
+ if (!isFirstCompile) {
211
+ return [
212
+ 2
213
+ ];
214
+ }
211
215
  hookRunners2 = api.useHookRunners();
212
216
  return [
213
217
  4,
@@ -7,14 +7,15 @@ import path from "node:path";
7
7
  import { fs as fse, pkgUp, semver } from "@modern-js/utils";
8
8
  import { readPackageJSON } from "pkg-types";
9
9
  import { parseNodeModulePath } from "mlly";
10
- import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive } from "./utils";
10
+ import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive, isSubPath } from "./utils";
11
+ import { nodeFileTrace } from "@vercel/nft";
11
12
  var handleDependencies = function() {
12
13
  var _ref = _async_to_generator(function(param) {
13
- var appDir, serverRootDir, includeEntries, _param_traceFiles, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, base, entryFiles, fileTrace, currentProjectModules, tracedFiles, _, tracedPackages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, tracedFile, pkgName, tracedPackage, pkgJSON, tracedPackageVersion, shouldCopyWholePackage, _tracedPackageVersion_files, allFiles, err, multiVersionPkgs, singleVersionPackages, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, tracedPackage1, versions, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, version, projectPkgJson, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _loop, _iterator3, _step3, err, outputPkgPath, newPkgJson, finalPkgJson;
14
+ var appDir, serverRootDir, includeEntries, _param_traceFiles, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, traceOptions, base, entryFiles, fileTrace, currentProjectModules, dependencySearchRoot, tracedFiles, _, tracedPackages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, tracedFile, pkgName, tracedPackage, pkgJSON, tracedPackageVersion, shouldCopyWholePackage, _tracedPackageVersion_files, allFiles, err, multiVersionPkgs, singleVersionPackages, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, tracedPackage1, versions, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, version, projectPkgJson, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _loop, _iterator3, _step3, err, outputPkgPath, newPkgJson, finalPkgJson;
14
15
  return _ts_generator(this, function(_state) {
15
16
  switch (_state.label) {
16
17
  case 0:
17
- appDir = param.appDir, serverRootDir = param.serverRootDir, includeEntries = param.includeEntries, _param_traceFiles = param.traceFiles, traceFiles = _param_traceFiles === void 0 ? defaultTraceFiles : _param_traceFiles, entryFilter = param.entryFilter, modifyPackageJson = param.modifyPackageJson, copyWholePackage = param.copyWholePackage;
18
+ appDir = param.appDir, serverRootDir = param.serverRootDir, includeEntries = param.includeEntries, _param_traceFiles = param.traceFiles, traceFiles = _param_traceFiles === void 0 ? defaultTraceFiles : _param_traceFiles, entryFilter = param.entryFilter, modifyPackageJson = param.modifyPackageJson, copyWholePackage = param.copyWholePackage, traceOptions = param.traceOptions;
18
19
  base = "/";
19
20
  return [
20
21
  4,
@@ -24,11 +25,17 @@ var handleDependencies = function() {
24
25
  entryFiles = _state.sent();
25
26
  return [
26
27
  4,
27
- traceFiles(entryFiles.concat(includeEntries), serverRootDir, base)
28
+ traceFiles({
29
+ entryFiles: entryFiles.concat(includeEntries),
30
+ serverRootDir,
31
+ base,
32
+ traceOptions
33
+ })
28
34
  ];
29
35
  case 2:
30
36
  fileTrace = _state.sent();
31
37
  currentProjectModules = path.join(appDir, "node_modules");
38
+ dependencySearchRoot = path.resolve(appDir, "../../../../../../");
32
39
  _ = Object.fromEntries;
33
40
  return [
34
41
  4,
@@ -50,7 +57,7 @@ var handleDependencies = function() {
50
57
  ];
51
58
  case 1:
52
59
  filePath = _state2.sent();
53
- if (filePath.startsWith(serverRootDir) || filePath.startsWith(appDir) && !filePath.startsWith(currentProjectModules)) {
60
+ if (isSubPath(serverRootDir, filePath) || isSubPath(appDir, filePath) && !isSubPath(currentProjectModules, filePath)) {
54
61
  return [
55
62
  2
56
63
  ];
@@ -105,7 +112,7 @@ var handleDependencies = function() {
105
112
  _state2.label = 6;
106
113
  case 6:
107
114
  packageJsonPath = _tmp;
108
- if (!packageJsonPath)
115
+ if (!(packageJsonPath && isSubPath(dependencySearchRoot, packageJsonPath)))
109
116
  return [
110
117
  3,
111
118
  8
@@ -138,7 +145,7 @@ var handleDependencies = function() {
138
145
  path: filePath,
139
146
  parents,
140
147
  isDirectDep: parents.some(function(parent) {
141
- return parent.startsWith(appDir) && !parent.startsWith(currentProjectModules);
148
+ return isSubPath(appDir, parent) && !isSubPath(currentProjectModules, parent);
142
149
  }),
143
150
  subpath,
144
151
  pkgName: pkgName2,
@@ -602,5 +609,6 @@ var handleDependencies = function() {
602
609
  };
603
610
  }();
604
611
  export {
605
- handleDependencies
612
+ handleDependencies,
613
+ nodeFileTrace
606
614
  };
@@ -1,4 +1,5 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
3
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
5
  import path from "path";
@@ -335,19 +336,18 @@ var findPackageParents = function(pkg, version, tracedFiles) {
335
336
  });
336
337
  };
337
338
  var traceFiles = function() {
338
- var _ref = _async_to_generator(function(entryFiles, serverRootDir) {
339
- var base;
340
- var _arguments = arguments;
339
+ var _ref = _async_to_generator(function(param) {
340
+ var entryFiles, serverRootDir, _param_base, base, traceOptions;
341
341
  return _ts_generator(this, function(_state) {
342
342
  switch (_state.label) {
343
343
  case 0:
344
- base = _arguments.length > 2 && _arguments[2] !== void 0 ? _arguments[2] : "/";
344
+ entryFiles = param.entryFiles, serverRootDir = param.serverRootDir, _param_base = param.base, base = _param_base === void 0 ? "/" : _param_base, traceOptions = param.traceOptions;
345
345
  return [
346
346
  4,
347
- nodeFileTrace(entryFiles, {
347
+ nodeFileTrace(entryFiles, _object_spread({
348
348
  base,
349
349
  processCwd: serverRootDir
350
- })
350
+ }, traceOptions))
351
351
  ];
352
352
  case 1:
353
353
  return [
@@ -357,7 +357,7 @@ var traceFiles = function() {
357
357
  }
358
358
  });
359
359
  });
360
- return function traceFiles2(entryFiles, serverRootDir) {
360
+ return function traceFiles2(_) {
361
361
  return _ref.apply(this, arguments);
362
362
  };
363
363
  }();
@@ -374,10 +374,18 @@ var resolveTracedPath = function() {
374
374
  return _ref.apply(this, arguments);
375
375
  };
376
376
  }();
377
+ var isSubPath = function(parentPath, childPath) {
378
+ if (!parentPath || !childPath) {
379
+ return false;
380
+ }
381
+ var relative = path.relative(parentPath, childPath);
382
+ return relative && !relative.startsWith("..");
383
+ };
377
384
  export {
378
385
  findEntryFiles,
379
386
  findPackageParents,
380
387
  isFile,
388
+ isSubPath,
381
389
  linkPackage,
382
390
  readDirRecursive,
383
391
  resolveTracedPath,
@@ -38,7 +38,7 @@ var createServer = function() {
38
38
  createDevServer(options, applyPlugins)
39
39
  ];
40
40
  case 1:
41
- server = _state.sent();
41
+ server = _state.sent().server;
42
42
  return [
43
43
  2,
44
44
  server
@@ -40,10 +40,10 @@ const builderPluginAdpaterCopy = (options) => ({
40
40
  const filepaths = (await fs.readdir(publicDir)).map((file) => path.resolve(publicDir, file));
41
41
  await Promise.all(filepaths.filter((file) => HTML_REGEXP.test(file)).map(async (file) => {
42
42
  const content = await fs.readFile(file, "utf-8");
43
- if (publicPath) {
43
+ if (publicPath && typeof publicPath === "string") {
44
44
  await fs.writeFile(file, content.replace(/<%=\s*assetPrefix\s*%>/g, removeTailSlash(publicPath)));
45
45
  } else {
46
- logger.warn("Expect get a string from `publicPath`, but receive `undefined`.");
46
+ logger.warn(`Expect get a string from \`publicPath\`, but receive \`${typeof publicPath}\`.`);
47
47
  await fs.writeFile(file, content.replace(/<%=\s*assetPrefix\s*%>/g, removeTailSlash("/")));
48
48
  }
49
49
  }));
@@ -19,7 +19,7 @@ function getBuilderEnvironments(normalizedConfig, appContext) {
19
19
  const serverEntries = {};
20
20
  for (const entry in entries) {
21
21
  const v = entries[entry];
22
- serverEntries[entry] = v.map((entry2) => entry2.replace("index.jsx", "index.server.jsx"));
22
+ serverEntries[entry] = v.map((entry2) => entry2.replace("index.jsx", "index.server.jsx")).map((entry2) => entry2.replace("bootstrap.jsx", "bootstrap.server.jsx"));
23
23
  }
24
24
  const environments = {
25
25
  web: {
@@ -17,7 +17,7 @@ async function generateBuilder(options, bundlerType) {
17
17
  return builder;
18
18
  }
19
19
  async function applyBuilderPlugins(builder, options) {
20
- const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterWorker } = await import("../shared/builderPlugins/index.js");
20
+ const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterWorker } = await import("../shared/builderPlugins");
21
21
  builder.addPlugins([
22
22
  builderPluginAdapterBasic(),
23
23
  builderPluginAdapterSSR(options),
@@ -1,9 +1,9 @@
1
1
  async function createBuilderGenerator(bundler) {
2
2
  if (bundler === "rspack") {
3
- const { createRspackBuilderForModern } = await import("./builder-rspack/index.js");
3
+ const { createRspackBuilderForModern } = await import("./builder-rspack");
4
4
  return createRspackBuilderForModern;
5
5
  }
6
- const { createWebpackBuilderForModern } = await import("./builder-webpack/index.js");
6
+ const { createWebpackBuilderForModern } = await import("./builder-webpack");
7
7
  return createWebpackBuilderForModern;
8
8
  }
9
9
  export {
@@ -24,7 +24,7 @@ function applyNodeCompat(isServiceWorker, chain) {
24
24
  ".node.ts",
25
25
  ".node.tsx",
26
26
  ".server.js",
27
- ".server.ts",
27
+ ".server.jsx",
28
28
  ".server.ts",
29
29
  ".server.tsx"
30
30
  ];
@@ -3,7 +3,9 @@ import { logger } from "@modern-js/utils";
3
3
  import { loadServerPlugins } from "../utils/loadPlugins";
4
4
  import { generateRoutes } from "../utils/routes";
5
5
  import { buildServerConfig } from "../utils/config";
6
+ import { registerCompiler } from "../utils/register";
6
7
  const build = async (api, options) => {
8
+ var _resolvedConfig_source;
7
9
  if (options === null || options === void 0 ? void 0 : options.analyze) {
8
10
  process.env.BUNDLE_ANALYZE = "true";
9
11
  }
@@ -11,6 +13,7 @@ const build = async (api, options) => {
11
13
  const appContext = api.useAppContext();
12
14
  const hookRunners = api.useHookRunners();
13
15
  await loadServerPlugins(api, appContext.appDirectory, appContext.metaName);
16
+ await 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);
14
17
  const { apiOnly } = appContext;
15
18
  if (apiOnly) {
16
19
  const { appDirectory: appDirectory2, distDirectory: distDirectory2, serverConfigFile: serverConfigFile2 } = appContext;