@modern-js/app-tools 2.54.6 → 2.55.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 (63) hide show
  1. package/dist/cjs/builder/generator/createBuilderOptions.js +18 -1
  2. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +2 -2
  3. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +2 -2
  4. package/dist/cjs/commands/index.js +2 -2
  5. package/dist/cjs/commands/serve.js +1 -0
  6. package/dist/cjs/config/default.js +2 -0
  7. package/dist/cjs/config/legacy/createSourceConfig.js +2 -1
  8. package/dist/cjs/hooks.js +2 -5
  9. package/dist/cjs/plugins/analyze/constants.js +3 -18
  10. package/dist/cjs/plugins/analyze/getFileSystemEntry.js +36 -11
  11. package/dist/cjs/plugins/analyze/index.js +7 -64
  12. package/dist/cjs/plugins/analyze/templates.js +2 -55
  13. package/dist/cjs/plugins/analyze/utils.js +0 -86
  14. package/dist/esm/builder/generator/createBuilderOptions.js +21 -1
  15. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +1 -1
  16. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +1 -1
  17. package/dist/esm/commands/index.js +1 -1
  18. package/dist/esm/commands/serve.js +1 -0
  19. package/dist/esm/config/default.js +2 -0
  20. package/dist/esm/config/legacy/createSourceConfig.js +2 -1
  21. package/dist/esm/hooks.js +2 -5
  22. package/dist/esm/plugins/analyze/constants.js +2 -12
  23. package/dist/esm/plugins/analyze/getFileSystemEntry.js +57 -14
  24. package/dist/esm/plugins/analyze/index.js +25 -128
  25. package/dist/esm/plugins/analyze/templates.js +1 -17
  26. package/dist/esm/plugins/analyze/utils.js +1 -87
  27. package/dist/esm-node/builder/generator/createBuilderOptions.js +18 -1
  28. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +1 -1
  29. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +1 -1
  30. package/dist/esm-node/commands/index.js +1 -1
  31. package/dist/esm-node/commands/serve.js +1 -0
  32. package/dist/esm-node/config/default.js +2 -0
  33. package/dist/esm-node/config/legacy/createSourceConfig.js +2 -1
  34. package/dist/esm-node/hooks.js +2 -5
  35. package/dist/esm-node/plugins/analyze/constants.js +2 -12
  36. package/dist/esm-node/plugins/analyze/getFileSystemEntry.js +37 -12
  37. package/dist/esm-node/plugins/analyze/index.js +10 -67
  38. package/dist/esm-node/plugins/analyze/templates.js +1 -52
  39. package/dist/esm-node/plugins/analyze/utils.js +1 -86
  40. package/dist/types/builder/builder-webpack/createCopyPattern.d.ts +2 -2
  41. package/dist/types/builder/generator/createBuilderOptions.d.ts +1 -2
  42. package/dist/types/builder/generator/getBuilderTargets.d.ts +1 -1
  43. package/dist/types/builder/generator/index.d.ts +1 -2
  44. package/dist/types/builder/shared/builderPlugins/adapterBasic.d.ts +1 -1
  45. package/dist/types/builder/shared/builderPlugins/adapterHtml.d.ts +1 -1
  46. package/dist/types/builder/shared/builderPlugins/adapterSSR.d.ts +1 -1
  47. package/dist/types/builder/shared/builderPlugins/adapterWorker.d.ts +1 -1
  48. package/dist/types/builder/shared/bundlerPlugins/RouterPlugin.d.ts +1 -1
  49. package/dist/types/commands/inspect.d.ts +1 -1
  50. package/dist/types/plugins/analyze/constants.d.ts +1 -6
  51. package/dist/types/plugins/analyze/templates.d.ts +0 -14
  52. package/dist/types/plugins/analyze/utils.d.ts +0 -11
  53. package/dist/types/types/config/source.d.ts +5 -0
  54. package/dist/types/types/hooks.d.ts +7 -27
  55. package/dist/types/types/index.d.ts +1 -1
  56. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  57. package/dist/types/types/legacyConfig/source.d.ts +4 -0
  58. package/dist/types/utils/register.d.ts +1 -1
  59. package/package.json +17 -18
  60. package/dist/cjs/plugins/analyze/generateCode.js +0 -185
  61. package/dist/esm/plugins/analyze/generateCode.js +0 -296
  62. package/dist/esm-node/plugins/analyze/generateCode.js +0 -149
  63. package/dist/types/plugins/analyze/generateCode.d.ts +0 -16
@@ -31,6 +31,7 @@ function createDefaultConfig(appContext) {
31
31
  entries: void 0,
32
32
  mainEntryName: MAIN_ENTRY_NAME,
33
33
  enableAsyncEntry: false,
34
+ enableCustomEntry: false,
34
35
  disableDefaultEntries: false,
35
36
  entriesDir: "./src",
36
37
  configDir: "./config",
@@ -94,6 +95,7 @@ function createLegacyDefaultConfig(appContext) {
94
95
  entries: void 0,
95
96
  mainEntryName: MAIN_ENTRY_NAME,
96
97
  enableAsyncEntry: false,
98
+ enableCustomEntry: false,
97
99
  disableDefaultEntries: false,
98
100
  entriesDir: "./src",
99
101
  configDir: "./config",
@@ -1,5 +1,5 @@
1
1
  function createSourceConfig(config) {
2
- var _config_source = config.source, alias = _config_source.alias, envVars = _config_source.envVars, globalVars = _config_source.globalVars, include = _config_source.include, moduleScopes = _config_source.moduleScopes, preEntry = _config_source.preEntry, entries = _config_source.entries, mainEntryName = _config_source.mainEntryName, enableAsyncEntry = _config_source.enableAsyncEntry, disableDefaultEntries = _config_source.disableDefaultEntries, entriesDir = _config_source.entriesDir, configDir = _config_source.configDir;
2
+ var _config_source = config.source, alias = _config_source.alias, envVars = _config_source.envVars, globalVars = _config_source.globalVars, include = _config_source.include, moduleScopes = _config_source.moduleScopes, preEntry = _config_source.preEntry, entries = _config_source.entries, mainEntryName = _config_source.mainEntryName, enableAsyncEntry = _config_source.enableAsyncEntry, enableCustomEntry = _config_source.enableCustomEntry, disableDefaultEntries = _config_source.disableDefaultEntries, entriesDir = _config_source.entriesDir, configDir = _config_source.configDir;
3
3
  var builderGlobalVars = globalVars || {};
4
4
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
5
5
  try {
@@ -31,6 +31,7 @@ function createSourceConfig(config) {
31
31
  entries,
32
32
  mainEntryName,
33
33
  enableAsyncEntry,
34
+ enableCustomEntry,
34
35
  disableDefaultEntries,
35
36
  entriesDir,
36
37
  configDir,
package/dist/esm/hooks.js CHANGED
@@ -1,16 +1,13 @@
1
1
  import { createAsyncWaterfall, createAsyncWorkflow, createParallelWorkflow } from "@modern-js/plugin";
2
2
  var hooks = {
3
- modifyEntryExport: createAsyncWaterfall(),
4
- modifyEntryImports: createAsyncWaterfall(),
5
- modifyEntryRuntimePlugins: createAsyncWaterfall(),
6
- modifyEntryRenderFunction: createAsyncWaterfall(),
7
- modifyAsyncEntry: createAsyncWaterfall(),
3
+ _internalRuntimePlugins: createAsyncWaterfall(),
8
4
  modifyFileSystemRoutes: createAsyncWaterfall(),
9
5
  modifyServerRoutes: createAsyncWaterfall(),
10
6
  /** add entry point info to entrypoints array */
11
7
  modifyEntrypoints: createAsyncWaterfall(),
12
8
  /** add entry type */
13
9
  checkEntryPoint: createAsyncWaterfall(),
10
+ generateEntryCode: createAsyncWorkflow(),
14
11
  htmlPartials: createAsyncWaterfall(),
15
12
  beforeGenerateRoutes: createAsyncWaterfall(),
16
13
  addDefineTypes: createAsyncWaterfall(),
@@ -1,23 +1,13 @@
1
1
  var INDEX_FILE_NAME = "index";
2
- var FILE_SYSTEM_ROUTES_FILE_NAME = "routes.js";
3
- var ENTRY_POINT_FILE_NAME = "index.jsx";
4
- var ENTRY_BOOTSTRAP_FILE_NAME = "bootstrap.jsx";
2
+ var ENTRY_FILE_NAME = "entry";
5
3
  var HTML_PARTIALS_FOLDER = "html";
6
4
  var HTML_PARTIALS_EXTENSIONS = [
7
5
  ".htm",
8
6
  ".html",
9
7
  ".ejs"
10
8
  ];
11
- var APP_CONFIG_NAME = "config";
12
- var APP_INIT_EXPORTED = "init";
13
- var APP_INIT_IMPORTED = "appInit";
14
9
  export {
15
- APP_CONFIG_NAME,
16
- APP_INIT_EXPORTED,
17
- APP_INIT_IMPORTED,
18
- ENTRY_BOOTSTRAP_FILE_NAME,
19
- ENTRY_POINT_FILE_NAME,
20
- FILE_SYSTEM_ROUTES_FILE_NAME,
10
+ ENTRY_FILE_NAME,
21
11
  HTML_PARTIALS_EXTENSIONS,
22
12
  HTML_PARTIALS_FOLDER,
23
13
  INDEX_FILE_NAME
@@ -3,15 +3,26 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import fs from "fs";
4
4
  import path from "path";
5
5
  import { findExists, ensureAbsolutePath, JS_EXTENSIONS } from "@modern-js/utils";
6
- import { INDEX_FILE_NAME } from "./constants";
6
+ import { ENTRY_FILE_NAME, INDEX_FILE_NAME } from "./constants";
7
7
  import { isDefaultExportFunction } from "./isDefaultExportFunction";
8
8
  var hasIndex = function(dir) {
9
9
  return findExists(JS_EXTENSIONS.map(function(ext) {
10
10
  return path.resolve(dir, "".concat(INDEX_FILE_NAME).concat(ext));
11
11
  }));
12
12
  };
13
+ var hasEntry = function(dir) {
14
+ return findExists(JS_EXTENSIONS.map(function(ext) {
15
+ return path.resolve(dir, "".concat(ENTRY_FILE_NAME).concat(ext));
16
+ }));
17
+ };
18
+ var hasServerEntry = function(dir) {
19
+ return findExists(JS_EXTENSIONS.map(function(ext) {
20
+ return path.resolve(dir, "".concat(ENTRY_FILE_NAME, ".server").concat(ext));
21
+ }));
22
+ };
13
23
  var isBundleEntry = function() {
14
- var _ref = _async_to_generator(function(hookRunners, dir) {
24
+ var _ref = _async_to_generator(function(hookRunners, dir, enableCustomEntry) {
25
+ var entry, customEntry;
15
26
  return _ts_generator(this, function(_state) {
16
27
  switch (_state.label) {
17
28
  case 0:
@@ -23,27 +34,43 @@ var isBundleEntry = function() {
23
34
  })
24
35
  ];
25
36
  case 1:
37
+ entry = _state.sent().entry;
38
+ if (entry) {
39
+ return [
40
+ 2,
41
+ entry
42
+ ];
43
+ }
44
+ customEntry = hasEntry(dir);
45
+ if (enableCustomEntry && customEntry) {
46
+ return [
47
+ 2,
48
+ customEntry
49
+ ];
50
+ }
26
51
  return [
27
52
  2,
28
- _state.sent().entry || hasIndex(dir)
53
+ hasIndex(dir)
29
54
  ];
30
55
  }
31
56
  });
32
57
  });
33
- return function isBundleEntry2(hookRunners, dir) {
58
+ return function isBundleEntry2(hookRunners, dir, enableCustomEntry) {
34
59
  return _ref.apply(this, arguments);
35
60
  };
36
61
  }();
37
- var scanDir = function(hookRunners, dirs) {
62
+ var scanDir = function(hookRunners, dirs, enableCustomEntry) {
38
63
  return Promise.all(dirs.map(function() {
39
64
  var _ref = _async_to_generator(function(dir) {
40
- var indexFile, customBootstrap, entryName, entryFile;
65
+ var indexFile, customBootstrap, entryName, customEntryFile, customServerEntry, entryFile;
41
66
  return _ts_generator(this, function(_state) {
42
67
  switch (_state.label) {
43
68
  case 0:
44
69
  indexFile = hasIndex(dir);
45
70
  customBootstrap = isDefaultExportFunction(indexFile) ? indexFile : false;
46
71
  entryName = path.basename(dir);
72
+ customEntryFile = hasEntry(dir);
73
+ customServerEntry = hasServerEntry(dir);
47
74
  if (indexFile && !customBootstrap) {
48
75
  return [
49
76
  2,
@@ -72,10 +99,26 @@ var scanDir = function(hookRunners, dirs) {
72
99
  {
73
100
  entryName,
74
101
  isMainEntry: false,
75
- entry: entryFile,
102
+ entry: enableCustomEntry ? customEntryFile || entryFile : entryFile,
103
+ customServerEntry,
76
104
  absoluteEntryDir: path.resolve(dir),
77
105
  isAutoMount: true,
78
- customBootstrap
106
+ customBootstrap,
107
+ customEntry: enableCustomEntry ? Boolean(customEntryFile) : false
108
+ }
109
+ ];
110
+ }
111
+ if (enableCustomEntry && customEntryFile) {
112
+ return [
113
+ 2,
114
+ {
115
+ entryName,
116
+ isMainEntry: false,
117
+ entry: customEntryFile,
118
+ customServerEntry,
119
+ absoluteEntryDir: path.resolve(dir),
120
+ isAutoMount: false,
121
+ customEntry: Boolean(customEntryFile)
79
122
  }
80
123
  ];
81
124
  }
@@ -90,12 +133,12 @@ var scanDir = function(hookRunners, dirs) {
90
133
  };
91
134
  var getFileSystemEntry = function() {
92
135
  var _ref = _async_to_generator(function(hookRunners, appContext, config) {
93
- var appDirectory, _config_source, entriesDir, disableEntryDirs, disabledDirs, src, dirs;
136
+ var appDirectory, _config_source, entriesDir, disableEntryDirs, enableCustomEntry, disabledDirs, src, dirs;
94
137
  return _ts_generator(this, function(_state) {
95
138
  switch (_state.label) {
96
139
  case 0:
97
140
  appDirectory = appContext.appDirectory;
98
- _config_source = config.source, entriesDir = _config_source.entriesDir, disableEntryDirs = _config_source.disableEntryDirs;
141
+ _config_source = config.source, entriesDir = _config_source.entriesDir, disableEntryDirs = _config_source.disableEntryDirs, enableCustomEntry = _config_source.enableCustomEntry;
99
142
  disabledDirs = [];
100
143
  if (disableEntryDirs && Array.isArray(disableEntryDirs)) {
101
144
  disabledDirs = disableEntryDirs === null || disableEntryDirs === void 0 ? void 0 : disableEntryDirs.map(function(dir) {
@@ -115,7 +158,7 @@ var getFileSystemEntry = function() {
115
158
  ];
116
159
  return [
117
160
  4,
118
- isBundleEntry(hookRunners, src)
161
+ isBundleEntry(hookRunners, src, enableCustomEntry)
119
162
  ];
120
163
  case 1:
121
164
  if (_state.sent()) {
@@ -123,7 +166,7 @@ var getFileSystemEntry = function() {
123
166
  2,
124
167
  scanDir(hookRunners, [
125
168
  src
126
- ])
169
+ ], enableCustomEntry)
127
170
  ];
128
171
  }
129
172
  dirs = [];
@@ -144,7 +187,7 @@ var getFileSystemEntry = function() {
144
187
  ];
145
188
  return [
146
189
  4,
147
- isBundleEntry(hookRunners, file)
190
+ isBundleEntry(hookRunners, file, enableCustomEntry)
148
191
  ];
149
192
  case 1:
150
193
  _tmp = _state2.sent();
@@ -168,7 +211,7 @@ var getFileSystemEntry = function() {
168
211
  _state.sent();
169
212
  return [
170
213
  2,
171
- scanDir(hookRunners, dirs)
214
+ scanDir(hookRunners, dirs, enableCustomEntry)
172
215
  ];
173
216
  case 3:
174
217
  throw Error("source.entriesDir accept a directory.");
@@ -4,28 +4,29 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
5
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
6
  import * as path from "path";
7
- import { createDebugger, findExists, fs, isApiOnly, minimist, isDevCommand, getArgv } from "@modern-js/utils";
7
+ import { createDebugger, fs, isApiOnly, minimist, isDevCommand, getArgv } from "@modern-js/utils";
8
8
  import { printInstructions } from "../../utils/printInstructions";
9
- import { generateRoutes, getPathWithoutExt } from "../../utils/routes";
9
+ import { generateRoutes } from "../../utils/routes";
10
10
  import { emitResolvedConfig } from "../../utils/config";
11
11
  import { getSelectedEntries } from "../../utils/getSelectedEntries";
12
12
  import { initialNormalizedConfig } from "../../config";
13
13
  import { createBuilderGenerator } from "../../builder";
14
- import { checkIsBuildCommands, parseModule, replaceWithAlias } from "./utils";
15
- import { APP_CONFIG_NAME, APP_INIT_EXPORTED, APP_INIT_IMPORTED } from "./constants";
16
- import { generateIndexCode } from "./generateCode";
14
+ import { checkIsBuildCommands } from "./utils";
17
15
  var debug = createDebugger("plugin-analyze");
18
16
  function analyze_default(param) {
19
17
  var bundler = param.bundler;
20
18
  return {
21
19
  name: "@modern-js/plugin-analyze",
20
+ post: [
21
+ "@modern-js/runtime"
22
+ ],
22
23
  setup: function(api) {
23
24
  var pagesDir = [];
24
25
  var nestedRouteEntries = [];
25
26
  return {
26
27
  prepare: function prepare() {
27
28
  return _async_to_generator(function() {
28
- var _resolvedConfig_source, appContext, resolvedConfig, hookRunners, apiOnly, routes, _ref, getBundleEntry, getServerRoutes, generateCode, getHtmlTemplate, entrypoints, _, _tmp, initialRoutes, routes1, importsStatemets, htmlTemplates, checkedEntries, entry, normalizedConfig, createBuilderForModern, builder;
29
+ var _resolvedConfig_source, appContext, resolvedConfig, hookRunners, apiOnly, routes, _ref, getBundleEntry, getServerRoutes, getHtmlTemplate, entrypoints, _, _tmp, initialRoutes, routes1, htmlTemplates, checkedEntries, entry, normalizedConfig, createBuilderForModern, builder;
29
30
  return _ts_generator(this, function(_state) {
30
31
  switch (_state.label) {
31
32
  case 0:
@@ -78,15 +79,14 @@ function analyze_default(param) {
78
79
  Promise.all([
79
80
  import("./getBundleEntry"),
80
81
  import("./getServerRoutes"),
81
- import("./generateCode"),
82
82
  import("./getHtmlTemplate")
83
83
  ])
84
84
  ];
85
85
  case 5:
86
86
  _ref = _sliced_to_array.apply(void 0, [
87
87
  _state.sent(),
88
- 4
89
- ]), getBundleEntry = _ref[0].getBundleEntry, getServerRoutes = _ref[1].getServerRoutes, generateCode = _ref[2].generateCode, getHtmlTemplate = _ref[3].getHtmlTemplate;
88
+ 3
89
+ ]), getBundleEntry = _ref[0].getBundleEntry, getServerRoutes = _ref[1].getServerRoutes, getHtmlTemplate = _ref[2].getHtmlTemplate;
90
90
  _ = hookRunners.modifyEntrypoints;
91
91
  _tmp = {};
92
92
  return [
@@ -129,12 +129,6 @@ function analyze_default(param) {
129
129
  }).filter(function(entry2) {
130
130
  return entry2 && !path.extname(entry2);
131
131
  }).concat(nestedRouteEntries);
132
- return [
133
- 4,
134
- generateCode(appContext, resolvedConfig, entrypoints, api)
135
- ];
136
- case 9:
137
- importsStatemets = _state.sent().importsStatemets;
138
132
  return [
139
133
  4,
140
134
  getHtmlTemplate(entrypoints, api, {
@@ -142,14 +136,14 @@ function analyze_default(param) {
142
136
  config: resolvedConfig
143
137
  })
144
138
  ];
145
- case 10:
139
+ case 9:
146
140
  htmlTemplates = _state.sent();
147
141
  debug("html templates: %o", htmlTemplates);
148
142
  return [
149
143
  4,
150
144
  hookRunners.addDefineTypes()
151
145
  ];
152
- case 11:
146
+ case 10:
153
147
  _state.sent();
154
148
  debug("add Define Types");
155
149
  checkedEntries = entrypoints.map(function(point) {
@@ -158,17 +152,17 @@ function analyze_default(param) {
158
152
  if (!isDevCommand())
159
153
  return [
160
154
  3,
161
- 13
155
+ 12
162
156
  ];
163
157
  entry = minimist(getArgv()).entry;
164
158
  return [
165
159
  4,
166
160
  getSelectedEntries(typeof entry === "string" ? entry.split(",") : entry, entrypoints)
167
161
  ];
168
- case 12:
162
+ case 11:
169
163
  checkedEntries = _state.sent();
170
- _state.label = 13;
171
- case 13:
164
+ _state.label = 12;
165
+ case 12:
172
166
  appContext = _object_spread_props(_object_spread({}, api.useAppContext()), {
173
167
  entrypoints,
174
168
  checkedEntries,
@@ -182,6 +176,14 @@ function analyze_default(param) {
182
176
  3,
183
177
  16
184
178
  ];
179
+ return [
180
+ 4,
181
+ hookRunners.generateEntryCode({
182
+ entrypoints
183
+ })
184
+ ];
185
+ case 13:
186
+ _state.sent();
185
187
  normalizedConfig = api.useResolvedConfigContext();
186
188
  return [
187
189
  4,
@@ -291,26 +293,13 @@ function analyze_default(param) {
291
293
  case 0:
292
294
  bundlerConfigs = param2.bundlerConfigs;
293
295
  hookRunners2 = api.useHookRunners();
294
- return [
295
- 4,
296
- generateIndexCode({
297
- appContext,
298
- config: resolvedConfig,
299
- entrypoints,
300
- api,
301
- importsStatemets,
302
- bundlerConfigs
303
- })
304
- ];
305
- case 1:
306
- _state2.sent();
307
296
  return [
308
297
  4,
309
298
  hookRunners2.beforeCreateCompiler({
310
299
  bundlerConfigs
311
300
  })
312
301
  ];
313
- case 2:
302
+ case 1:
314
303
  _state2.sent();
315
304
  return [
316
305
  2
@@ -375,99 +364,7 @@ function analyze_default(param) {
375
364
  return {
376
365
  resolved: config
377
366
  };
378
- },
379
- modifyEntryImports: (
380
- // This logic is not in the router plugin to avoid having to include some dependencies in the utils package
381
- function modifyEntryImports(param2) {
382
- var entrypoint = param2.entrypoint, imports = param2.imports;
383
- return _async_to_generator(function() {
384
- var appContext, srcDirectory, internalSrcAlias, fileSystemRoutes, nestedRoutesEntry, rootLayoutPath, rootLayoutFile, rootLayoutBuffer, rootLayout, _ref, moduleExports, hasAppConfig, generateLayoutPath, hasAppInit;
385
- return _ts_generator(this, function(_state) {
386
- switch (_state.label) {
387
- case 0:
388
- appContext = api.useAppContext();
389
- srcDirectory = appContext.srcDirectory, internalSrcAlias = appContext.internalSrcAlias;
390
- fileSystemRoutes = entrypoint.fileSystemRoutes, nestedRoutesEntry = entrypoint.nestedRoutesEntry;
391
- if (!(fileSystemRoutes && nestedRoutesEntry))
392
- return [
393
- 3,
394
- 3
395
- ];
396
- rootLayoutPath = path.join(nestedRoutesEntry, "layout");
397
- rootLayoutFile = findExists([
398
- ".js",
399
- ".ts",
400
- ".jsx",
401
- ".tsx"
402
- ].map(function(ext) {
403
- return "".concat(rootLayoutPath).concat(ext);
404
- }));
405
- if (!rootLayoutFile)
406
- return [
407
- 3,
408
- 3
409
- ];
410
- return [
411
- 4,
412
- fs.readFile(rootLayoutFile)
413
- ];
414
- case 1:
415
- rootLayoutBuffer = _state.sent();
416
- rootLayout = rootLayoutBuffer.toString();
417
- return [
418
- 4,
419
- parseModule({
420
- source: rootLayout.toString(),
421
- filename: rootLayoutFile
422
- })
423
- ];
424
- case 2:
425
- _ref = _sliced_to_array.apply(void 0, [
426
- _state.sent(),
427
- 2
428
- ]), moduleExports = _ref[1];
429
- hasAppConfig = moduleExports.some(function(e) {
430
- return e.n === APP_CONFIG_NAME;
431
- });
432
- generateLayoutPath = getPathWithoutExt(replaceWithAlias(srcDirectory, rootLayoutFile, internalSrcAlias));
433
- if (hasAppConfig) {
434
- imports.push({
435
- value: generateLayoutPath,
436
- specifiers: [
437
- {
438
- imported: APP_CONFIG_NAME
439
- }
440
- ]
441
- });
442
- }
443
- hasAppInit = moduleExports.some(function(e) {
444
- return e.n === APP_INIT_EXPORTED;
445
- });
446
- if (hasAppInit) {
447
- imports.push({
448
- value: generateLayoutPath,
449
- specifiers: [
450
- {
451
- imported: APP_INIT_EXPORTED,
452
- local: APP_INIT_IMPORTED
453
- }
454
- ]
455
- });
456
- }
457
- _state.label = 3;
458
- case 3:
459
- return [
460
- 2,
461
- {
462
- entrypoint,
463
- imports
464
- }
465
- ];
466
- }
467
- });
468
- })();
469
- }
470
- )
367
+ }
471
368
  };
472
369
  }
473
370
  };
@@ -1,22 +1,6 @@
1
- import { APP_CONFIG_NAME } from "./constants";
2
- var index = function(param) {
3
- var mountId = param.mountId, imports = param.imports, renderFunction2 = param.renderFunction, exportStatement = param.exportStatement;
4
- return "\nconst IS_BROWSER = typeof window !== 'undefined' && window.name !== 'nodejs';\nconst IS_REACT18 = process.env.IS_REACT18 === 'true';\nconst MOUNT_ID = '".concat(mountId, "';\n\n").concat(imports, "\n\nlet AppWrapper = null;\n\nlet root = null;\n\nfunction render() {\n ").concat(renderFunction2, "\n}\n\nAppWrapper = render();\n\n").concat(exportStatement, ";\n");
5
- };
6
- var renderFunction = function(param) {
7
- var plugins = param.plugins, customBootstrap = param.customBootstrap, fileSystemRoutes = param.fileSystemRoutes, customRuntimeConfig = param.customRuntimeConfig;
8
- var bootstrap = "bootstrap(AppWrapper, MOUNT_ID, root, ReactDOM)";
9
- var runtimePlugins = "...(runtimeConfig?.plugins || []),";
10
- return "\n const finalAppConfig = {\n ...App.config,\n ...typeof ".concat(APP_CONFIG_NAME, " === 'function' ? ").concat(APP_CONFIG_NAME, "() : {},\n }\n\n AppWrapper = createApp({\n plugins: [\n ").concat(plugins.map(function(param2) {
11
- var name = param2.name, options = param2.options, args = param2.args;
12
- return "".concat(name, "({...").concat(options, ", ...finalAppConfig?.").concat(args || name, "}),");
13
- }).join("\n"), "\n ").concat(customRuntimeConfig ? runtimePlugins : "", "\n ]\n })(").concat(fileSystemRoutes ? "" : "App", ")\n\n\n if(!AppWrapper.init && typeof appInit !== 'undefined') {\n AppWrapper.init = appInit;\n }\n\n\n if (IS_BROWSER) {\n ").concat(customBootstrap ? "customBootstrap(AppWrapper, () => ".concat(bootstrap, ");") : "".concat(bootstrap, ";"), "\n }\n\n return AppWrapper\n");
14
- };
15
1
  var html = function(partials) {
16
2
  return "\n<!DOCTYPE html>\n<html>\n<head>\n\n ".concat(partials.top.join("\n"), "\n\n ").concat(partials.head.join("\n"), '\n\n</head>\n\n<body>\n <div id="<%= mountId %>"><!--<?- html ?>--></div>\n ').concat(partials.body.join("\n"), "\n <!--<?- chunksMap.js ?>-->\n <!--<?- SSRDataScript ?>-->\n <!--<?- bottomTemplate ?>-->\n</body>\n\n</html>\n");
17
3
  };
18
4
  export {
19
- html,
20
- index,
21
- renderFunction
5
+ html
22
6
  };
@@ -3,10 +3,9 @@ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
3
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
4
  import fs from "fs";
5
5
  import path from "path";
6
- import { isReact18, normalizeToPosixPath, getCommand, JS_EXTENSIONS } from "@modern-js/utils";
6
+ import { normalizeToPosixPath, getCommand, JS_EXTENSIONS } from "@modern-js/utils";
7
7
  import { transform } from "esbuild";
8
8
  import { parse } from "es-module-lexer";
9
- import { FILE_SYSTEM_ROUTES_FILE_NAME } from "./constants";
10
9
  var walkDirectory = function(dir) {
11
10
  return fs.readdirSync(dir).reduce(function(previous, filename) {
12
11
  var filePath = path.join(dir, filename);
@@ -19,90 +18,6 @@ var walkDirectory = function(dir) {
19
18
  }
20
19
  }, []);
21
20
  };
22
- var getDefaultImports = function(param) {
23
- var entrypoint = param.entrypoint, srcDirectory = param.srcDirectory, appDirectory = param.appDirectory, internalSrcAlias = param.internalSrcAlias, internalDirAlias = param.internalDirAlias, runtimeConfigFile = param.runtimeConfigFile, customRuntimeConfig = param.customRuntimeConfig;
24
- var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes, customBootstrap = entrypoint.customBootstrap, entry = entrypoint.entry;
25
- var imports = [
26
- {
27
- specifiers: [
28
- {
29
- local: "React"
30
- }
31
- ],
32
- value: "react"
33
- },
34
- {
35
- specifiers: [
36
- {
37
- local: "ReactDOM"
38
- }
39
- ],
40
- value: isReact18(path.join(appDirectory)) ? "react-dom/client" : "react-dom"
41
- },
42
- {
43
- specifiers: [
44
- {
45
- imported: "createApp"
46
- },
47
- {
48
- imported: "bootstrap"
49
- }
50
- ],
51
- value: "@modern-js/runtime"
52
- },
53
- customBootstrap && {
54
- specifiers: [
55
- {
56
- local: "customBootstrap"
57
- }
58
- ],
59
- value: normalizeToPosixPath(customBootstrap.replace(srcDirectory, internalSrcAlias))
60
- }
61
- ].filter(Boolean);
62
- if (fileSystemRoutes) {
63
- var route = {
64
- specifiers: [
65
- {
66
- imported: "routes"
67
- }
68
- ],
69
- value: normalizeToPosixPath("".concat(internalDirAlias, "/").concat(entryName, "/").concat(FILE_SYSTEM_ROUTES_FILE_NAME.replace(".js", "")))
70
- };
71
- if (fileSystemRoutes.globalApp) {
72
- imports.push({
73
- specifiers: [
74
- {
75
- local: "App"
76
- }
77
- ],
78
- value: normalizeToPosixPath(fileSystemRoutes.globalApp.replace(srcDirectory, internalSrcAlias))
79
- });
80
- } else {
81
- route.initialize = "const App = false;";
82
- }
83
- imports.push(route);
84
- } else {
85
- imports.push({
86
- specifiers: [
87
- {
88
- local: "App"
89
- }
90
- ],
91
- value: normalizeToPosixPath(entry.replace(srcDirectory, internalSrcAlias))
92
- });
93
- }
94
- if (customRuntimeConfig) {
95
- imports.push({
96
- specifiers: [
97
- {
98
- local: "runtimeConfig"
99
- }
100
- ],
101
- value: path.join(internalSrcAlias, runtimeConfigFile || "")
102
- });
103
- }
104
- return imports;
105
- };
106
21
  var replaceWithAlias = function(base, filePath, alias) {
107
22
  if (filePath.includes(base)) {
108
23
  return normalizeToPosixPath(path.join(alias, path.relative(base, filePath)));
@@ -178,7 +93,6 @@ var isSubDirOrEqual = function(parent, child) {
178
93
  };
179
94
  export {
180
95
  checkIsBuildCommands,
181
- getDefaultImports,
182
96
  getServerCombinedModueFile,
183
97
  isSubDirOrEqual,
184
98
  parseModule,
@@ -14,11 +14,28 @@ function createBuilderOptions(target, appContext) {
14
14
  ];
15
15
  }
16
16
  }
17
+ const serverEntries = {};
18
+ for (const entry in entries) {
19
+ const v = entries[entry];
20
+ serverEntries[entry] = v.map((entry2) => entry2.replace("index.jsx", "index.server.jsx"));
21
+ }
17
22
  return {
18
23
  cwd: appContext.appDirectory,
19
24
  target,
20
25
  frameworkConfigPath: appContext.configFile || void 0,
21
- entry: entries
26
+ entry({ target: target2 }) {
27
+ if (target2 === "web") {
28
+ return entries;
29
+ }
30
+ if ([
31
+ "node",
32
+ "web-worker",
33
+ "service-worker"
34
+ ].includes(target2)) {
35
+ return serverEntries;
36
+ }
37
+ return entries;
38
+ }
22
39
  };
23
40
  }
24
41
  export {
@@ -1,4 +1,4 @@
1
- import { isHtmlDisabled } from "@rsbuild/shared";
1
+ import { isHtmlDisabled } from "@modern-js/uni-builder";
2
2
  import { MAIN_ENTRY_NAME, getEntryOptions, removeTailSlash } from "@modern-js/utils";
3
3
  import { template as lodashTemplate } from "@modern-js/utils/lodash";
4
4
  import { BottomTemplatePlugin } from "../bundlerPlugins";
@@ -1,7 +1,7 @@
1
1
  import * as path from "path";
2
- import { isHtmlDisabled } from "@rsbuild/shared";
3
2
  import { mergeRsbuildConfig } from "@rsbuild/core";
4
3
  import { fs, isUseSSRBundle } from "@modern-js/utils";
4
+ import { isHtmlDisabled } from "@modern-js/uni-builder";
5
5
  import { HtmlAsyncChunkPlugin, RouterPlugin } from "../bundlerPlugins";
6
6
  import { getServerCombinedModueFile } from "../../../plugins/analyze/utils";
7
7
  const builderPluginAdapterSSR = (options) => ({
@@ -1,5 +1,5 @@
1
1
  import { newAction, upgradeAction } from "@modern-js/utils";
2
- import { castArray } from "@rsbuild/shared";
2
+ import { castArray } from "@modern-js/uni-builder";
3
3
  import { i18n, localeKeys } from "../locale";
4
4
  const devCommand = async (program, api) => {
5
5
  const runner = api.useHookRunners();