@modern-js/app-tools 2.57.1-alpha.0 → 2.57.1-alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) 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 +19 -0
  5. package/dist/cjs/commands/dev.js +9 -0
  6. package/dist/cjs/commands/index.js +8 -8
  7. package/dist/cjs/esm/esbuild-loader.mjs +20 -0
  8. package/dist/cjs/esm/register-esm.mjs +65 -0
  9. package/dist/cjs/esm/ts-node-loader.mjs +21 -0
  10. package/dist/cjs/esm/utils.mjs +28 -0
  11. package/dist/cjs/index.js +1 -1
  12. package/dist/cjs/plugins/analyze/index.js +3 -3
  13. package/dist/cjs/plugins/deploy/dependencies/index.js +4 -3
  14. package/dist/cjs/plugins/deploy/dependencies/utils.js +12 -10
  15. package/dist/cjs/plugins/deploy/platforms/netlify-entry-cjs.js +3 -0
  16. package/dist/cjs/plugins/deploy/platforms/netlify-entry-mjs.js +28 -0
  17. package/dist/cjs/plugins/deploy/platforms/{netlifyEntry.js → netlify-handler.js} +27 -1
  18. package/dist/cjs/plugins/deploy/platforms/netlify.js +10 -3
  19. package/dist/cjs/plugins/deploy/platforms/node.js +9 -2
  20. package/dist/cjs/utils/loadPlugins.js +1 -1
  21. package/dist/cjs/utils/register.js +38 -22
  22. package/dist/esm/builder/generator/getBuilderEnvironments.js +0 -2
  23. package/dist/esm/builder/generator/index.js +1 -1
  24. package/dist/esm/builder/index.js +2 -2
  25. package/dist/esm/builder/shared/builderPlugins/adapterBasic.js +1 -1
  26. package/dist/esm/commands/build.js +9 -16
  27. package/dist/esm/commands/dev.js +37 -55
  28. package/dist/esm/commands/index.js +6 -6
  29. package/dist/esm/custom-loader.mjs +41 -0
  30. package/dist/esm/index.js +42 -1
  31. package/dist/esm/plugins/analyze/index.js +4 -3
  32. package/dist/esm/plugins/deploy/dependencies/index.js +5 -6
  33. package/dist/esm/plugins/deploy/dependencies/utils.js +0 -8
  34. package/dist/esm/register-esm.mjs +22 -0
  35. package/dist/esm/utils/createServer.js +1 -1
  36. package/dist/esm-node/builder/generator/getBuilderEnvironments.js +1 -1
  37. package/dist/esm-node/builder/generator/index.js +1 -1
  38. package/dist/esm-node/builder/index.js +2 -2
  39. package/dist/esm-node/builder/shared/builderPlugins/adapterBasic.js +1 -1
  40. package/dist/esm-node/commands/build.js +0 -3
  41. package/dist/esm-node/commands/dev.js +16 -24
  42. package/dist/esm-node/commands/index.js +6 -6
  43. package/dist/esm-node/esm/esbuild-loader.js +39 -0
  44. package/dist/esm-node/esm/register-esm.js +39 -0
  45. package/dist/esm-node/esm/ts-node-loader.js +42 -0
  46. package/dist/esm-node/index.js +17 -1
  47. package/dist/esm-node/plugins/analyze/index.js +4 -3
  48. package/dist/esm-node/plugins/deploy/dependencies/index.js +4 -5
  49. package/dist/esm-node/plugins/deploy/dependencies/utils.js +0 -8
  50. package/dist/esm-node/utils/createServer.js +1 -1
  51. package/dist/types/builder/index.d.ts +1 -1
  52. package/dist/types/esm/esbuild-loader.d.mts +6 -0
  53. package/dist/types/esm/register-esm.d.mts +5 -0
  54. package/dist/types/esm/ts-node-loader.d.mts +6 -0
  55. package/dist/types/esm/utils.d.mts +6 -0
  56. package/dist/types/plugins/deploy/dependencies/utils.d.ts +0 -1
  57. package/dist/types/plugins/deploy/platforms/netlify-entry-cjs.d.ts +1 -0
  58. package/dist/types/plugins/deploy/platforms/netlify-entry-mjs.d.ts +1 -0
  59. package/dist/types/plugins/deploy/platforms/netlify-handler.d.ts +1 -0
  60. package/package.json +7 -7
  61. package/dist/types/plugins/deploy/platforms/netlifyEntry.d.ts +0 -2
@@ -54,7 +54,7 @@ function _applyBuilderPlugins() {
54
54
  case 0:
55
55
  return [
56
56
  4,
57
- import("../shared/builderPlugins")
57
+ import("../shared/builderPlugins/index.js")
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")
19
+ import("./builder-rspack/index.js")
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")
30
+ import("./builder-webpack/index.js")
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.jsx",
30
+ ".server.ts",
31
31
  ".server.ts",
32
32
  ".server.tsx"
33
33
  ];
@@ -7,10 +7,9 @@ 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";
11
10
  var build = function() {
12
11
  var _ref = _async_to_generator(function(api, options) {
13
- var _resolvedConfig_source, resolvedConfig, appContext, hookRunners, apiOnly, appDirectory, distDirectory, serverConfigFile, distDirectory1, appDirectory1, serverConfigFile1;
12
+ var resolvedConfig, appContext, hookRunners, apiOnly, appDirectory, distDirectory, serverConfigFile, distDirectory1, appDirectory1, serverConfigFile1;
14
13
  return _ts_generator(this, function(_state) {
15
14
  switch (_state.label) {
16
15
  case 0:
@@ -25,18 +24,12 @@ var build = function() {
25
24
  loadServerPlugins(api, appContext.appDirectory, appContext.metaName)
26
25
  ];
27
26
  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:
34
27
  _state.sent();
35
28
  apiOnly = appContext.apiOnly;
36
29
  if (!apiOnly)
37
30
  return [
38
31
  3,
39
- 7
32
+ 6
40
33
  ];
41
34
  appDirectory = appContext.appDirectory, distDirectory = appContext.distDirectory, serverConfigFile = appContext.serverConfigFile;
42
35
  return [
@@ -46,7 +39,7 @@ var build = function() {
46
39
  bundlerConfigs: void 0
47
40
  })
48
41
  ];
49
- case 3:
42
+ case 2:
50
43
  _state.sent();
51
44
  return [
52
45
  4,
@@ -56,13 +49,13 @@ var build = function() {
56
49
  configFile: serverConfigFile
57
50
  })
58
51
  ];
59
- case 4:
52
+ case 3:
60
53
  _state.sent();
61
54
  return [
62
55
  4,
63
56
  generateRoutes(appContext)
64
57
  ];
65
- case 5:
58
+ case 4:
66
59
  _state.sent();
67
60
  return [
68
61
  4,
@@ -71,12 +64,12 @@ var build = function() {
71
64
  stats: void 0
72
65
  })
73
66
  ];
74
- case 6:
67
+ case 5:
75
68
  _state.sent();
76
69
  return [
77
70
  2
78
71
  ];
79
- case 7:
72
+ case 6:
80
73
  resolvedConfig = _object_spread_props(_object_spread({}, resolvedConfig), {
81
74
  cliOptions: options
82
75
  });
@@ -90,7 +83,7 @@ var build = function() {
90
83
  configFile: serverConfigFile1
91
84
  })
92
85
  ];
93
- case 8:
86
+ case 7:
94
87
  _state.sent();
95
88
  logger.info("Starting production build...");
96
89
  if (!appContext.builder) {
@@ -100,7 +93,7 @@ var build = function() {
100
93
  4,
101
94
  appContext.builder.build()
102
95
  ];
103
- case 9:
96
+ case 8:
104
97
  _state.sent();
105
98
  return [
106
99
  2
@@ -4,21 +4,22 @@ 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, logger } from "@modern-js/utils";
7
+ import { DEFAULT_DEV_HOST, SERVER_DIR, getMeta } 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";
12
11
  import { printInstructions } from "../utils/printInstructions";
13
12
  import { setServer } from "../utils/createServer";
14
13
  import { generateRoutes } from "../utils/routes";
15
14
  import { buildServerConfig } from "../utils/config";
16
15
  var dev = function() {
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;
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;
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] : {};
22
23
  if (options.analyze) {
23
24
  process.env.BUNDLE_ANALYZE = "true";
24
25
  }
@@ -27,9 +28,19 @@ var dev = function() {
27
28
  hookRunners = api.useHookRunners();
28
29
  return [
29
30
  4,
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)
31
+ import("../esm/register-esm.mjs")
31
32
  ];
32
33
  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:
33
44
  _state.sent();
34
45
  normalizedConfig = _object_spread_props(_object_spread({}, normalizedConfig), {
35
46
  cliOptions: options
@@ -45,7 +56,7 @@ var dev = function() {
45
56
  watch: true
46
57
  })
47
58
  ];
48
- case 2:
59
+ case 3:
49
60
  _state.sent();
50
61
  meta = getMeta(metaName);
51
62
  serverConfigPath = path.resolve(appDirectory, SERVER_DIR, "".concat(meta, ".server"));
@@ -53,7 +64,7 @@ var dev = function() {
53
64
  4,
54
65
  hookRunners.beforeDev()
55
66
  ];
56
- case 3:
67
+ case 4:
57
68
  _state.sent();
58
69
  if (!appContext.builder && !apiOnly) {
59
70
  throw new Error("Expect the Builder to have been initialized, But the appContext.builder received `undefined`");
@@ -62,13 +73,13 @@ var dev = function() {
62
73
  4,
63
74
  generateRoutes(appContext)
64
75
  ];
65
- case 4:
76
+ case 5:
66
77
  _state.sent();
67
78
  return [
68
79
  4,
69
80
  loadServerPlugins(api, appDirectory, metaName)
70
81
  ];
71
- case 5:
82
+ case 6:
72
83
  pluginInstances = _state.sent();
73
84
  serverOptions = _object_spread({
74
85
  metaName,
@@ -90,21 +101,19 @@ var dev = function() {
90
101
  serverConfigFile,
91
102
  plugins: pluginInstances
92
103
  }, devServerOptions);
93
- host = ((_normalizedConfig_dev = normalizedConfig.dev) === null || _normalizedConfig_dev === void 0 ? void 0 : _normalizedConfig_dev.host) || DEFAULT_DEV_HOST;
94
104
  if (!apiOnly)
95
105
  return [
96
106
  3,
97
- 7
107
+ 8
98
108
  ];
99
109
  return [
100
110
  4,
101
- createDevServer(_object_spread_props(_object_spread({}, serverOptions), {
102
- runCompile: false
103
- }), (devServerOptions === null || devServerOptions === void 0 ? void 0 : devServerOptions.applyPlugins) || applyPlugins)
111
+ createDevServer(serverOptions, applyPlugins)
104
112
  ];
105
- case 6:
106
- server = _state.sent().server;
107
- server.listen({
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({
108
117
  port,
109
118
  host
110
119
  }, function() {
@@ -112,55 +121,28 @@ var dev = function() {
112
121
  });
113
122
  return [
114
123
  3,
115
- 9
124
+ 10
116
125
  ];
117
- case 7:
126
+ case 8:
118
127
  return [
119
128
  4,
120
- createDevServer(_object_spread_props(_object_spread({}, serverOptions), {
121
- builder: appContext.builder
122
- }), (devServerOptions === null || devServerOptions === void 0 ? void 0 : devServerOptions.applyPlugins) || applyPlugins)
129
+ appContext.builder.startDevServer({
130
+ serverOptions,
131
+ applyPlugins
132
+ })
123
133
  ];
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;
156
134
  case 9:
135
+ server = _state.sent().server;
136
+ setServer(server);
137
+ _state.label = 10;
138
+ case 10:
157
139
  return [
158
140
  2
159
141
  ];
160
142
  }
161
143
  });
162
144
  });
163
- return function dev2(api, options, devServerOptions) {
145
+ return function dev2(api, options) {
164
146
  return _ref.apply(this, arguments);
165
147
  };
166
148
  }();
@@ -26,7 +26,7 @@ var devCommand = function() {
26
26
  case 0:
27
27
  return [
28
28
  4,
29
- import("./dev")
29
+ import("./dev.js")
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")
155
+ import("./build.js")
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")
268
+ import("./serve.js")
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")
299
+ import("./build.js")
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")
313
+ import("./deploy.js")
314
314
  ];
315
315
  case 4:
316
316
  deploy = _state.sent().deploy;
@@ -366,7 +366,7 @@ var inspectCommand = function(program, api) {
366
366
  case 0:
367
367
  return [
368
368
  4,
369
- import("./inspect")
369
+ import("./inspect.js")
370
370
  ];
371
371
  case 1:
372
372
  inspect = _state.sent().inspect;
@@ -0,0 +1,41 @@
1
+ import { pathToFileURL } from 'url';
2
+ import { resolve as tsNodeResolve } from 'ts-node/esm';
3
+ import * as tsConfigPaths from 'tsconfig-paths';
4
+ import fs from 'fs/promises'
5
+ import { getAliasConfig } from '@modern-js/utils';
6
+ import path from 'path'
7
+
8
+
9
+ let matchPath;
10
+ export function initialize({ appDir, alias }){
11
+ const TS_CONFIG_FILENAME = `tsconfig.json`;
12
+ const aliasConfig = getAliasConfig(alias, {
13
+ appDirectory: appDir,
14
+ tsconfigPath: path.resolve(appDir, TS_CONFIG_FILENAME),
15
+ });
16
+ const { paths = {}, absoluteBaseUrl = './' } = aliasConfig;
17
+ const tsPaths = Object.keys(paths).reduce((o, key) => {
18
+ let tsPath = paths[key];
19
+ if (typeof tsPath === 'string' && path.isAbsolute(tsPath)) {
20
+ tsPath = path.relative(absoluteBaseUrl, tsPath);
21
+ }
22
+ if (typeof tsPath === 'string') {
23
+ tsPath = [tsPath];
24
+ }
25
+ return {
26
+ ...o,
27
+ [`${key}`]: tsPath,
28
+ };
29
+ }, {});
30
+
31
+ matchPath = tsConfigPaths.createMatchPath(absoluteBaseUrl, tsPaths);
32
+ }
33
+
34
+ export function resolve(specifier, context, defaultResolve) {
35
+ const match = matchPath(specifier);
36
+ return match
37
+ ? tsNodeResolve(pathToFileURL(match).href, context, defaultResolve)
38
+ : tsNodeResolve(specifier, context, defaultResolve);
39
+ }
40
+
41
+ export { transformSource, load } from 'ts-node/esm';
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 } from "@modern-js/utils";
7
+ import { cleanRequireCache, emptyDir, getCommand, getArgv, fs, NESTED_ROUTE_SPEC_FILE } 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,6 +52,7 @@ var appTools = function() {
52
52
  api.setAppContext(_object_spread_props(_object_spread({}, appContext), {
53
53
  toolsType: "app-tools"
54
54
  }));
55
+ var nestedRoutes = {};
55
56
  var locale = getLocaleLanguage();
56
57
  i18n.changeLanguage({
57
58
  locale
@@ -225,6 +226,46 @@ var appTools = function() {
225
226
  ];
226
227
  });
227
228
  })();
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
+ })();
228
269
  }
229
270
  };
230
271
  }
@@ -12,6 +12,7 @@ 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";
15
16
  var debug = createDebugger("plugin-analyze");
16
17
  function analyze_default(param) {
17
18
  var bundler = param.bundler;
@@ -77,9 +78,9 @@ function analyze_default(param) {
77
78
  return [
78
79
  4,
79
80
  Promise.all([
80
- import("./getBundleEntry"),
81
- import("./getServerRoutes"),
82
- import("./getHtmlTemplate")
81
+ compatibleRequire(path.join(__dirname, "./getBundleEntry.js")),
82
+ compatibleRequire(path.join(__dirname, "./getServerRoutes.js")),
83
+ compatibleRequire(path.join(__dirname, "./getHtmlTemplate.js"))
83
84
  ])
84
85
  ];
85
86
  case 5:
@@ -7,10 +7,10 @@ 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, isSubPath } from "./utils";
10
+ import { linkPackage, writePackage, isFile, findEntryFiles, traceFiles as defaultTraceFiles, findPackageParents, resolveTracedPath, readDirRecursive } from "./utils";
11
11
  var handleDependencies = function() {
12
12
  var _ref = _async_to_generator(function(param) {
13
- var appDir, serverRootDir, includeEntries, _param_traceFiles, traceFiles, entryFilter, modifyPackageJson, copyWholePackage, 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;
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
14
  return _ts_generator(this, function(_state) {
15
15
  switch (_state.label) {
16
16
  case 0:
@@ -29,7 +29,6 @@ var handleDependencies = function() {
29
29
  case 2:
30
30
  fileTrace = _state.sent();
31
31
  currentProjectModules = path.join(appDir, "node_modules");
32
- dependencySearchRoot = path.resolve(appDir, "../../../../../../");
33
32
  _ = Object.fromEntries;
34
33
  return [
35
34
  4,
@@ -51,7 +50,7 @@ var handleDependencies = function() {
51
50
  ];
52
51
  case 1:
53
52
  filePath = _state2.sent();
54
- if (isSubPath(serverRootDir, filePath) || isSubPath(appDir, filePath) && !isSubPath(currentProjectModules, filePath)) {
53
+ if (filePath.startsWith(serverRootDir) || filePath.startsWith(appDir) && !filePath.startsWith(currentProjectModules)) {
55
54
  return [
56
55
  2
57
56
  ];
@@ -106,7 +105,7 @@ var handleDependencies = function() {
106
105
  _state2.label = 6;
107
106
  case 6:
108
107
  packageJsonPath = _tmp;
109
- if (!(packageJsonPath && isSubPath(dependencySearchRoot, packageJsonPath)))
108
+ if (!packageJsonPath)
110
109
  return [
111
110
  3,
112
111
  8
@@ -139,7 +138,7 @@ var handleDependencies = function() {
139
138
  path: filePath,
140
139
  parents,
141
140
  isDirectDep: parents.some(function(parent) {
142
- return isSubPath(appDir, parent) && !isSubPath(currentProjectModules, parent);
141
+ return parent.startsWith(appDir) && !parent.startsWith(currentProjectModules);
143
142
  }),
144
143
  subpath,
145
144
  pkgName: pkgName2,
@@ -374,18 +374,10 @@ 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
- };
384
377
  export {
385
378
  findEntryFiles,
386
379
  findPackageParents,
387
380
  isFile,
388
- isSubPath,
389
381
  linkPackage,
390
382
  readDirRecursive,
391
383
  resolveTracedPath,
@@ -0,0 +1,22 @@
1
+ import { register } from 'node:module';
2
+ import path from 'node:path';
3
+
4
+ export const registerEsm = async ({
5
+ appDir,
6
+ distDir,
7
+ alias
8
+ }) => {
9
+ // These can be overridden by ts-node options in tsconfig.json
10
+ process.env.TS_NODE_TRANSPILE_ONLY = true;
11
+ process.env.TS_NODE_PROJECT = path.join(appDir, 'tsconfig.json');
12
+ process.env.TS_NODE_SCOPE = true;
13
+ process.env.TS_NODE_FILES = true;
14
+ process.env.TS_NODE_IGNORE = `(?:^|/)node_modules/,(?:^|/)${path.relative(appDir, distDir)}/`
15
+ register('./custom-loader.mjs', import.meta.url, {
16
+ data: {
17
+ appDir,
18
+ distDir,
19
+ alias
20
+ }
21
+ });
22
+ };
@@ -38,7 +38,7 @@ var createServer = function() {
38
38
  createDevServer(options, applyPlugins)
39
39
  ];
40
40
  case 1:
41
- server = _state.sent().server;
41
+ server = _state.sent();
42
42
  return [
43
43
  2,
44
44
  server
@@ -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")).map((entry2) => entry2.replace("bootstrap.jsx", "bootstrap.server.jsx"));
22
+ serverEntries[entry] = v.map((entry2) => entry2.replace("index.jsx", "index.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");
20
+ const { builderPluginAdapterBasic, builderPluginAdapterHtml, builderPluginAdapterSSR, builderPluginAdapterWorker } = await import("../shared/builderPlugins/index.js");
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");
3
+ const { createRspackBuilderForModern } = await import("./builder-rspack/index.js");
4
4
  return createRspackBuilderForModern;
5
5
  }
6
- const { createWebpackBuilderForModern } = await import("./builder-webpack");
6
+ const { createWebpackBuilderForModern } = await import("./builder-webpack/index.js");
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.jsx",
27
+ ".server.ts",
28
28
  ".server.ts",
29
29
  ".server.tsx"
30
30
  ];
@@ -3,9 +3,7 @@ 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";
7
6
  const build = async (api, options) => {
8
- var _resolvedConfig_source;
9
7
  if (options === null || options === void 0 ? void 0 : options.analyze) {
10
8
  process.env.BUNDLE_ANALYZE = "true";
11
9
  }
@@ -13,7 +11,6 @@ const build = async (api, options) => {
13
11
  const appContext = api.useAppContext();
14
12
  const hookRunners = api.useHookRunners();
15
13
  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);
17
14
  const { apiOnly } = appContext;
18
15
  if (apiOnly) {
19
16
  const { appDirectory: appDirectory2, distDirectory: distDirectory2, serverConfigFile: serverConfigFile2 } = appContext;