@modern-js/app-tools 2.19.1 → 2.21.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 (116) hide show
  1. package/CHANGELOG.md +115 -0
  2. package/bin/modern.js +0 -1
  3. package/dist/cjs/analyze/generateCode.js +22 -48
  4. package/dist/cjs/analyze/getBundleEntry.js +3 -7
  5. package/dist/cjs/analyze/getClientRoutes/getRoutes.js +2 -6
  6. package/dist/cjs/analyze/getClientRoutes/getRoutesLegacy.js +2 -6
  7. package/dist/cjs/analyze/getClientRoutes/utils.js +2 -6
  8. package/dist/cjs/analyze/getFileSystemEntry.js +3 -7
  9. package/dist/cjs/analyze/getHtmlTemplate.js +4 -47
  10. package/dist/cjs/analyze/getServerRoutes.js +5 -7
  11. package/dist/cjs/analyze/index.js +11 -48
  12. package/dist/cjs/analyze/isDefaultExportFunction.js +5 -48
  13. package/dist/cjs/analyze/nestedRoutes.js +2 -41
  14. package/dist/cjs/analyze/templates.js +2 -6
  15. package/dist/cjs/analyze/utils.js +3 -7
  16. package/dist/cjs/builder/builder-rspack/adapterCopy.js +4 -21
  17. package/dist/cjs/builder/builder-webpack/index.js +2 -41
  18. package/dist/cjs/builder/generator/index.js +3 -42
  19. package/dist/cjs/builder/index.js +4 -43
  20. package/dist/cjs/builder/shared/builderPlugins/adapterHtml.js +6 -56
  21. package/dist/cjs/builder/shared/builderPlugins/adapterSSR.js +6 -45
  22. package/dist/cjs/builder/shared/builderPlugins/index.js +4 -16
  23. package/dist/cjs/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +3 -15
  24. package/dist/cjs/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +5 -17
  25. package/dist/cjs/builder/shared/bundlerPlugins/RouterPlugin.js +2 -6
  26. package/dist/cjs/builder/shared/bundlerPlugins/index.js +4 -16
  27. package/dist/cjs/builder/shared/createCopyInfo.js +2 -6
  28. package/dist/cjs/builder/shared/index.js +4 -16
  29. package/dist/cjs/commands/index.js +4 -16
  30. package/dist/cjs/commands/serve.js +2 -6
  31. package/dist/cjs/config/index.js +4 -16
  32. package/dist/cjs/config/initialize/inits.js +2 -41
  33. package/dist/cjs/index.js +41 -80
  34. package/dist/cjs/schema/Schema.js +2 -14
  35. package/dist/cjs/schema/index.js +2 -6
  36. package/dist/cjs/types/config/index.js +2 -14
  37. package/dist/cjs/types/index.js +4 -16
  38. package/dist/cjs/utils/config.js +2 -41
  39. package/dist/cjs/utils/generateWatchFiles.js +2 -6
  40. package/dist/cjs/utils/routes.js +2 -6
  41. package/dist/esm/analyze/generateCode.js +13 -170
  42. package/dist/esm/analyze/getBundleEntry.js +1 -1
  43. package/dist/esm/analyze/getClientRoutes/getRoutes.js +2 -52
  44. package/dist/esm/analyze/getClientRoutes/getRoutesLegacy.js +2 -52
  45. package/dist/esm/analyze/getHtmlTemplate.js +6 -151
  46. package/dist/esm/analyze/getServerRoutes.js +6 -118
  47. package/dist/esm/analyze/index.js +19 -251
  48. package/dist/esm/analyze/nestedRoutes.js +5 -184
  49. package/dist/esm/analyze/templates.js +6 -242
  50. package/dist/esm/analyze/utils.js +6 -205
  51. package/dist/esm/builder/builder-rspack/adapterCopy.js +10 -235
  52. package/dist/esm/builder/builder-webpack/adapterModern.js +1 -34
  53. package/dist/esm/builder/builder-webpack/index.js +7 -219
  54. package/dist/esm/builder/generator/createBuilderProviderConfig.js +2 -52
  55. package/dist/esm/builder/generator/index.js +4 -133
  56. package/dist/esm/builder/index.js +3 -132
  57. package/dist/esm/builder/shared/builderPlugins/adapterHtml.js +9 -191
  58. package/dist/esm/builder/shared/builderPlugins/adapterSSR.js +10 -139
  59. package/dist/esm/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +4 -69
  60. package/dist/esm/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +3 -35
  61. package/dist/esm/builder/shared/bundlerPlugins/RouterPlugin.js +7 -226
  62. package/dist/esm/commands/build.js +5 -184
  63. package/dist/esm/commands/deploy.js +3 -132
  64. package/dist/esm/commands/dev.js +6 -185
  65. package/dist/esm/commands/inspect.js +3 -132
  66. package/dist/esm/commands/serve.js +6 -185
  67. package/dist/esm/config/default.js +3 -52
  68. package/dist/esm/config/initialize/inits.js +3 -86
  69. package/dist/esm/defineConfig.js +2 -52
  70. package/dist/esm/index.js +49 -207
  71. package/dist/esm/initialize/index.js +6 -185
  72. package/dist/esm/schema/Schema.js +8 -213
  73. package/dist/esm/schema/index.js +1 -13
  74. package/dist/esm/schema/legacy.js +1 -13
  75. package/dist/esm/utils/config.js +7 -186
  76. package/dist/esm/utils/createServer.js +6 -185
  77. package/dist/esm/utils/generateWatchFiles.js +5 -167
  78. package/dist/esm/utils/getSelectedEntries.js +3 -132
  79. package/dist/esm/utils/getServerInternalPlugins.js +5 -184
  80. package/dist/esm/utils/printInstructions.js +3 -132
  81. package/dist/esm/utils/restart.js +3 -132
  82. package/dist/esm/utils/routes.js +3 -132
  83. package/dist/esm-node/analyze/generateCode.js +19 -2
  84. package/dist/esm-node/analyze/getBundleEntry.js +1 -1
  85. package/dist/esm-node/analyze/getServerRoutes.js +2 -0
  86. package/dist/esm-node/analyze/index.js +4 -2
  87. package/dist/esm-node/builder/builder-rspack/adapterCopy.js +1 -14
  88. package/dist/esm-node/builder/shared/builderPlugins/adapterHtml.js +2 -6
  89. package/dist/esm-node/builder/shared/builderPlugins/adapterSSR.js +5 -5
  90. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlAsyncChunkPlugin.js +1 -13
  91. package/dist/esm-node/builder/shared/bundlerPlugins/HtmlBottomTemplate.js +1 -13
  92. package/dist/esm-node/index.js +22 -6
  93. package/dist/esm-node/schema/Schema.js +1 -13
  94. package/dist/types/analyze/index.d.ts +0 -2
  95. package/dist/types/builder/builder-rspack/index.d.ts +1 -1
  96. package/dist/types/builder/builder-webpack/adapterModern.d.ts +0 -1
  97. package/dist/types/builder/generator/index.d.ts +1 -2
  98. package/dist/types/builder/shared/builderPlugins/adapterBasic.d.ts +0 -1
  99. package/dist/types/builder/shared/builderPlugins/adapterHtml.d.ts +2 -3
  100. package/dist/types/defineConfig.d.ts +0 -1
  101. package/dist/types/index.d.ts +0 -2
  102. package/dist/types/initialize/index.d.ts +0 -2
  103. package/dist/types/types/config/index.d.ts +2 -2
  104. package/dist/types/types/config/output.d.ts +1 -0
  105. package/dist/types/types/config/security.d.ts +2 -0
  106. package/dist/types/types/config/source.d.ts +0 -1
  107. package/dist/types/types/config/tools.d.ts +0 -2
  108. package/dist/types/types/hooks.d.ts +3 -1
  109. package/dist/types/types/legacyConfig/dev.d.ts +0 -1
  110. package/dist/types/types/legacyConfig/output.d.ts +2 -3
  111. package/dist/types/types/legacyConfig/source.d.ts +0 -1
  112. package/dist/types/types/legacyConfig/tools.d.ts +0 -1
  113. package/dist/types/utils/config.d.ts +0 -1
  114. package/dist/types/utils/getSelectedEntries.d.ts +0 -1
  115. package/lib/types.d.ts +8 -8
  116. package/package.json +29 -29
package/CHANGELOG.md CHANGED
@@ -1,5 +1,120 @@
1
1
  # @modern-js/app-tools
2
2
 
3
+ ## 2.21.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 5424051: fix: the proxy should not recreated when exists
8
+ fix: proxy server 不应该被重新创建当存在时
9
+ - cfc5bda: feat: ssr mode support async entry
10
+ feat: ssr 模式支持异步入口
11
+ - df43559: fix(core): toolsType is overridden when install multiple solutions
12
+
13
+ fix(core): 修复安装多个 solutions 时 toolsType 被覆盖的问题
14
+
15
+ - 26dcf3a: chore: bump typescript to v5 in devDependencies
16
+
17
+ chore: 升级 devDependencies 中的 typescript 版本到 v5
18
+
19
+ - d6aed02: feat(app-tools): add isFirstCompile param to afterDev hook
20
+
21
+ feat(app-tools): 为 afterDev 钩子增加 isFirstCompile 参数
22
+
23
+ - 5c56949: fix: should only watch file-based routes changes
24
+ fix: 只有基于文件的路由(约定式路由)需要被监听变化
25
+ - 4274510: fix(builder): failed to disable html via htmlPlugin: false
26
+
27
+ fix(builder): 修复通过 htmlPlugin: false 无法禁用 html 的问题
28
+
29
+ - 43b4e83: feat: support security.nonce for add nonce attribute on script tag
30
+ feat: 支持 security.nonce 配置,为 script 标签添加 nonce 属性
31
+ - ad78387: chore(deps): bump babel-related dependencies to latest version
32
+
33
+ chore(deps): 升级 babel 相关依赖到最新版本
34
+
35
+ - Updated dependencies [cfc5bda]
36
+ - Updated dependencies [7d2972e]
37
+ - Updated dependencies [df43559]
38
+ - Updated dependencies [7d2972e]
39
+ - Updated dependencies [863f8df]
40
+ - Updated dependencies [55d37e9]
41
+ - Updated dependencies [e81eeaf]
42
+ - Updated dependencies [26dcf3a]
43
+ - Updated dependencies [8a7d4d2]
44
+ - Updated dependencies [1ef03dc]
45
+ - Updated dependencies [441a579]
46
+ - Updated dependencies [056627f]
47
+ - Updated dependencies [de8f73f]
48
+ - Updated dependencies [8fa8566]
49
+ - Updated dependencies [4274510]
50
+ - Updated dependencies [c90ea5a]
51
+ - Updated dependencies [0fc15ca]
52
+ - Updated dependencies [43b4e83]
53
+ - Updated dependencies [ad78387]
54
+ - @modern-js/prod-server@2.21.0
55
+ - @modern-js/builder-rspack-provider@2.21.0
56
+ - @modern-js/core@2.21.0
57
+ - @modern-js/builder-shared@2.21.0
58
+ - @modern-js/builder@2.21.0
59
+ - @modern-js/plugin-data-loader@2.21.0
60
+ - @modern-js/utils@2.21.0
61
+ - @modern-js/builder-webpack-provider@2.21.0
62
+ - @modern-js/builder-plugin-node-polyfill@2.21.0
63
+ - @modern-js/node-bundle-require@2.21.0
64
+ - @modern-js/builder-plugin-esbuild@2.21.0
65
+ - @modern-js/new-action@2.21.0
66
+ - @modern-js/plugin-i18n@2.21.0
67
+ - @modern-js/plugin-lint@2.21.0
68
+ - @modern-js/upgrade@2.21.0
69
+ - @modern-js/plugin@2.21.0
70
+ - @modern-js/server@2.21.0
71
+ - @modern-js/types@2.21.0
72
+
73
+ ## 2.20.0
74
+
75
+ ### Minor Changes
76
+
77
+ - 5f055ab: feat(app-tools): route.json add `isStream` field.
78
+ feat(app-tools): route.json 添加 `isStream` 字段.
79
+
80
+ ### Patch Changes
81
+
82
+ - 6b9d90a: chore: remove @babel/runtime. add @swc/helper and enable `externalHelper` config.
83
+ chore: 移除 @babel/runtime 依赖. 增加 @swc/helpers 依赖并且开启 `externalHelpers` 配置
84
+ - 4b03d17: feat: 添加 output.tempDir 配置,支持单项目多配置同时启动
85
+ feat: add output.tempDir configuration, supports launching project with multiple config at the same time
86
+ - 4425fd6: fix: worker ssr context lack some fields & worker ssr must have routerManifest.json
87
+ fix: worker ssr 上下文缺少一些字段,worker ssr 必须有 routerManifest.json 文件
88
+ - 361204f: fix(app-tools): SVG default export type
89
+
90
+ fix(app-tools): 修复 SVG 默认导出的类型错误
91
+
92
+ - Updated dependencies [3c4e0a5]
93
+ - Updated dependencies [f0ef868]
94
+ - Updated dependencies [6b9d90a]
95
+ - Updated dependencies [5f055ab]
96
+ - Updated dependencies [4b03d17]
97
+ - Updated dependencies [4425fd6]
98
+ - Updated dependencies [6289d31]
99
+ - @modern-js/builder-shared@2.20.0
100
+ - @modern-js/utils@2.20.0
101
+ - @modern-js/builder-rspack-provider@2.20.0
102
+ - @modern-js/node-bundle-require@2.20.0
103
+ - @modern-js/plugin-data-loader@2.20.0
104
+ - @modern-js/new-action@2.20.0
105
+ - @modern-js/prod-server@2.20.0
106
+ - @modern-js/builder@2.20.0
107
+ - @modern-js/plugin-i18n@2.20.0
108
+ - @modern-js/plugin-lint@2.20.0
109
+ - @modern-js/upgrade@2.20.0
110
+ - @modern-js/plugin@2.20.0
111
+ - @modern-js/server@2.20.0
112
+ - @modern-js/types@2.20.0
113
+ - @modern-js/core@2.20.0
114
+ - @modern-js/builder-webpack-provider@2.20.0
115
+ - @modern-js/builder-plugin-esbuild@2.20.0
116
+ - @modern-js/builder-plugin-node-polyfill@2.20.0
117
+
3
118
  ## 2.19.1
4
119
 
5
120
  ### Patch Changes
package/bin/modern.js CHANGED
@@ -11,5 +11,4 @@ require('@modern-js/core/runBin').run({
11
11
  server: INTERNAL_SERVER_PLUGINS,
12
12
  autoLoad: INTERNAL_APP_TOOLS_RUNTIME_PLUGINS,
13
13
  },
14
- toolsType: 'app-tools',
15
14
  });
@@ -13,58 +13,15 @@ _export(exports, {
13
13
  createImportStatements: () => createImportStatements,
14
14
  generateCode: () => generateCode
15
15
  });
16
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
16
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
17
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
18
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
17
19
  const _utils = require("@modern-js/utils");
18
- const _templates = /* @__PURE__ */ _interop_require_wildcard(require("./templates"));
20
+ const _templates = /* @__PURE__ */ _interop_require_wildcard._(require("./templates"));
19
21
  const _getClientRoutes = require("./getClientRoutes");
20
22
  const _constants = require("./constants");
21
23
  const _utils1 = require("./utils");
22
24
  const _nestedRoutes = require("./nestedRoutes");
23
- function _interop_require_default(obj) {
24
- return obj && obj.__esModule ? obj : {
25
- default: obj
26
- };
27
- }
28
- function _getRequireWildcardCache(nodeInterop) {
29
- if (typeof WeakMap !== "function")
30
- return null;
31
- var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
32
- var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
33
- return (_getRequireWildcardCache = function(nodeInterop2) {
34
- return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
35
- })(nodeInterop);
36
- }
37
- function _interop_require_wildcard(obj, nodeInterop) {
38
- if (!nodeInterop && obj && obj.__esModule) {
39
- return obj;
40
- }
41
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
42
- return {
43
- default: obj
44
- };
45
- }
46
- var cache = _getRequireWildcardCache(nodeInterop);
47
- if (cache && cache.has(obj)) {
48
- return cache.get(obj);
49
- }
50
- var newObj = {};
51
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
- for (var key in obj) {
53
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
54
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
55
- if (desc && (desc.get || desc.set)) {
56
- Object.defineProperty(newObj, key, desc);
57
- } else {
58
- newObj[key] = obj[key];
59
- }
60
- }
61
- }
62
- newObj.default = obj;
63
- if (cache) {
64
- cache.set(obj, newObj);
65
- }
66
- return newObj;
67
- }
68
25
  const createImportSpecifier = (specifiers) => {
69
26
  let defaults = "";
70
27
  const named = [];
@@ -220,9 +177,26 @@ const generateCode = async (appContext, config, entrypoints, api) => {
220
177
  const entryFile = _path.default.resolve(internalDirectory, `./${entryName}/${_constants.ENTRY_POINT_FILE_NAME}`);
221
178
  entrypoint.entry = entryFile;
222
179
  if (config.source.enableAsyncEntry) {
180
+ let rawAsyncEntryCode = `import('./${_constants.ENTRY_BOOTSTRAP_FILE_NAME}');`;
181
+ const ssr = (0, _utils.getEntryOptions)(entryName, config.server.ssr, config.server.ssrByEntries, packageName);
182
+ if (ssr) {
183
+ rawAsyncEntryCode = `
184
+ export const ${_utils.SERVER_RENDER_FUNCTION_NAME} = async (...args) => {
185
+ let entry = await ${rawAsyncEntryCode};
186
+ if (entry.default instanceof Promise){
187
+ entry = await entry.default;
188
+ return entry.default.${_utils.SERVER_RENDER_FUNCTION_NAME}.apply(null, args);
189
+ }
190
+ return entry.${_utils.SERVER_RENDER_FUNCTION_NAME}.apply(null, args);
191
+ };
192
+ if(typeof window!=='undefined'){
193
+ ${rawAsyncEntryCode}
194
+ }
195
+ `;
196
+ }
223
197
  const { code: asyncEntryCode } = await hookRunners.modifyAsyncEntry({
224
198
  entrypoint,
225
- code: `import('./${_constants.ENTRY_BOOTSTRAP_FILE_NAME}');`
199
+ code: rawAsyncEntryCode
226
200
  });
227
201
  _utils.fs.outputFileSync(entryFile, asyncEntryCode, "utf8");
228
202
  const bootstrapFile = _path.default.resolve(internalDirectory, `./${entryName}/${_constants.ENTRY_BOOTSTRAP_FILE_NAME}`);
@@ -6,15 +6,11 @@ Object.defineProperty(exports, "getBundleEntry", {
6
6
  enumerable: true,
7
7
  get: () => getBundleEntry
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
10
11
  const _utils = require("@modern-js/utils");
11
12
  const _getFileSystemEntry = require("./getFileSystemEntry");
12
13
  const _constants = require("./constants");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
14
  const ensureExtensions = (file) => {
19
15
  if (!_path.default.extname(file)) {
20
16
  return (0, _utils.findExists)(_constants.JS_EXTENSIONS.map((ext) => `${file}${ext}`)) || file;
@@ -55,7 +51,7 @@ const getBundleEntry = (appContext, config) => {
55
51
  customBootstrap: value.customBootstrap && (0, _utils.ensureAbsolutePath)(appDirectory, value.customBootstrap),
56
52
  fileSystemRoutes: _utils.fs.statSync((0, _utils.ensureAbsolutePath)(appDirectory, value.entry)).isDirectory() ? {} : void 0
57
53
  };
58
- if (entrypoint.fileSystemRoutes && (0, _utils.isRouterV5)(config)) {
54
+ if (entrypoint.fileSystemRoutes && !(0, _utils.isRouterV5)(config)) {
59
55
  entrypoint.nestedRoutesEntry = entrypoint.entry;
60
56
  }
61
57
  if (!ifAlreadyExists(defaults, entrypoint)) {
@@ -6,17 +6,13 @@ Object.defineProperty(exports, "getClientRoutes", {
6
6
  enumerable: true,
7
7
  get: () => getClientRoutes
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
10
11
  const _utils = require("@modern-js/utils");
11
12
  const _makeLegalIdentifier = require("../makeLegalIdentifier");
12
13
  const _constants = require("../constants");
13
14
  const _utils1 = require("../utils");
14
15
  const _utils2 = require("./utils");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
16
  const compName = (srcDirectory, filePath) => {
21
17
  const legalCompName = (0, _makeLegalIdentifier.makeLegalIdentifier)(_path.default.relative(srcDirectory, filePath));
22
18
  return `Comp_${legalCompName}`;
@@ -6,17 +6,13 @@ Object.defineProperty(exports, "getClientRoutes", {
6
6
  enumerable: true,
7
7
  get: () => getClientRoutes
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
10
11
  const _utils = require("@modern-js/utils");
11
12
  const _makeLegalIdentifier = require("../makeLegalIdentifier");
12
13
  const _constants = require("../constants");
13
14
  const _utils1 = require("../utils");
14
15
  const _utils2 = require("./utils");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
16
  const compName = (srcDirectory, filePath) => {
21
17
  const legalCompName = (0, _makeLegalIdentifier.makeLegalIdentifier)(_path.default.relative(srcDirectory, filePath));
22
18
  return `Comp_${legalCompName}`;
@@ -15,14 +15,10 @@ _export(exports, {
15
15
  getRouteWeight: () => getRouteWeight,
16
16
  shouldSkip: () => shouldSkip
17
17
  });
18
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
18
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
19
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
19
20
  const _utils = require("@modern-js/utils");
20
21
  const _constants = require("../constants");
21
- function _interop_require_default(obj) {
22
- return obj && obj.__esModule ? obj : {
23
- default: obj
24
- };
25
- }
26
22
  const debug = (0, _utils.createDebugger)("get-client-routes");
27
23
  const findLayout = (dir) => (0, _utils.findExists)(_constants.JS_EXTENSIONS.map((ext) => _path.default.resolve(dir, `${_constants.FILE_SYSTEM_ROUTES_LAYOUT}${ext}`)));
28
24
  const getRouteWeight = (route) => route === "*" ? 999 : route.split(":").length - 1;
@@ -6,16 +6,12 @@ Object.defineProperty(exports, "getFileSystemEntry", {
6
6
  enumerable: true,
7
7
  get: () => getFileSystemEntry
8
8
  });
9
- const _fs = /* @__PURE__ */ _interop_require_default(require("fs"));
10
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _fs = /* @__PURE__ */ _interop_require_default._(require("fs"));
11
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
11
12
  const _utils = require("@modern-js/utils");
12
13
  const _isDefaultExportFunction = require("./isDefaultExportFunction");
13
14
  const _constants = require("./constants");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
15
  const hasIndex = (dir) => (0, _utils.findExists)(_constants.JS_EXTENSIONS.map((ext) => _path.default.resolve(dir, `${_constants.INDEX_FILE_NAME}${ext}`)));
20
16
  const hasApp = (dir) => (0, _utils.findExists)(_constants.JS_EXTENSIONS.map((ext) => _path.default.resolve(dir, `${_constants.APP_FILE_NAME}${ext}`)));
21
17
  const hasPages = (dir) => _fs.default.existsSync(_path.default.join(dir, _constants.PAGES_DIR_NAME));
@@ -6,55 +6,12 @@ Object.defineProperty(exports, "getHtmlTemplate", {
6
6
  enumerable: true,
7
7
  get: () => getHtmlTemplate
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
11
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
10
12
  const _utils = require("@modern-js/utils");
11
13
  const _constants = require("./constants");
12
- const _templates = /* @__PURE__ */ _interop_require_wildcard(require("./templates"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function _getRequireWildcardCache(nodeInterop) {
19
- if (typeof WeakMap !== "function")
20
- return null;
21
- var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
22
- var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
23
- return (_getRequireWildcardCache = function(nodeInterop2) {
24
- return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
25
- })(nodeInterop);
26
- }
27
- function _interop_require_wildcard(obj, nodeInterop) {
28
- if (!nodeInterop && obj && obj.__esModule) {
29
- return obj;
30
- }
31
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
32
- return {
33
- default: obj
34
- };
35
- }
36
- var cache = _getRequireWildcardCache(nodeInterop);
37
- if (cache && cache.has(obj)) {
38
- return cache.get(obj);
39
- }
40
- var newObj = {};
41
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
42
- for (var key in obj) {
43
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
44
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
45
- if (desc && (desc.get || desc.set)) {
46
- Object.defineProperty(newObj, key, desc);
47
- } else {
48
- newObj[key] = obj[key];
49
- }
50
- }
51
- }
52
- newObj.default = obj;
53
- if (cache) {
54
- cache.set(obj, newObj);
55
- }
56
- return newObj;
57
- }
14
+ const _templates = /* @__PURE__ */ _interop_require_wildcard._(require("./templates"));
58
15
  var PartialPosition;
59
16
  (function(PartialPosition2) {
60
17
  PartialPosition2["TOP"] = "top";
@@ -6,15 +6,11 @@ Object.defineProperty(exports, "getServerRoutes", {
6
6
  enumerable: true,
7
7
  get: () => getServerRoutes
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
10
- const _fs = /* @__PURE__ */ _interop_require_default(require("fs"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
11
+ const _fs = /* @__PURE__ */ _interop_require_default._(require("fs"));
11
12
  const _utils = require("@modern-js/utils");
12
13
  const _utils1 = require("./utils");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
14
  const applyBaseUrl = (baseUrl, routes) => {
19
15
  if (baseUrl) {
20
16
  if (Array.isArray(baseUrl)) {
@@ -89,12 +85,14 @@ const collectHtmlRoutes = (entrypoints, appContext, config) => {
89
85
  const entryOptions = (0, _utils.getEntryOptions)(entryName, ssr, ssrByEntries, packageName);
90
86
  const isSSR = Boolean(entryOptions);
91
87
  const isWorker = Boolean(workerSSR);
88
+ const isStream = typeof entryOptions === "object" && entryOptions.mode === "stream";
92
89
  const { resHeaders } = (routes === null || routes === void 0 ? void 0 : routes[entryName]) || {};
93
90
  let route = {
94
91
  urlPath: `/${entryName === _utils.MAIN_ENTRY_NAME ? "" : entryName}`,
95
92
  entryName,
96
93
  entryPath: (0, _utils.removeLeadingSlash)(_path.default.posix.normalize(`${htmlPath}/${entryName}${disableHtmlFolder ? ".html" : "/index.html"}`)),
97
94
  isSPA: true,
95
+ isStream,
98
96
  isSSR,
99
97
  responseHeaders: resHeaders,
100
98
  worker: isWorker ? `${_utils.SERVER_WORKER_BUNDLE_DIRECTORY}/${entryName}.js` : void 0,
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: () => _default
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_wildcard(require("path"));
9
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
10
+ const _path = /* @__PURE__ */ _interop_require_wildcard._(require("path"));
10
11
  const _utils = require("@modern-js/utils");
11
12
  const _lodash = require("@modern-js/utils/lodash");
12
13
  const _printInstructions = require("../utils/printInstructions");
@@ -17,46 +18,6 @@ const _config1 = require("../config");
17
18
  const _builder = require("../builder");
18
19
  const _utils1 = require("./utils");
19
20
  const _constants = require("./constants");
20
- function _getRequireWildcardCache(nodeInterop) {
21
- if (typeof WeakMap !== "function")
22
- return null;
23
- var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
24
- var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
25
- return (_getRequireWildcardCache = function(nodeInterop2) {
26
- return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
27
- })(nodeInterop);
28
- }
29
- function _interop_require_wildcard(obj, nodeInterop) {
30
- if (!nodeInterop && obj && obj.__esModule) {
31
- return obj;
32
- }
33
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
34
- return {
35
- default: obj
36
- };
37
- }
38
- var cache = _getRequireWildcardCache(nodeInterop);
39
- if (cache && cache.has(obj)) {
40
- return cache.get(obj);
41
- }
42
- var newObj = {};
43
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
44
- for (var key in obj) {
45
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
46
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
47
- if (desc && (desc.get || desc.set)) {
48
- Object.defineProperty(newObj, key, desc);
49
- } else {
50
- newObj[key] = obj[key];
51
- }
52
- }
53
- }
54
- newObj.default = obj;
55
- if (cache) {
56
- cache.set(obj, newObj);
57
- }
58
- return newObj;
59
- }
60
21
  const debug = (0, _utils.createDebugger)("plugin-analyze");
61
22
  const _default = ({ bundler }) => {
62
23
  return {
@@ -91,10 +52,10 @@ const _default = ({ bundler }) => {
91
52
  return;
92
53
  }
93
54
  const [{ getBundleEntry }, { getServerRoutes }, { generateCode }, { getHtmlTemplate }] = await Promise.all([
94
- Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard(require("./getBundleEntry"))),
95
- Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard(require("./getServerRoutes"))),
96
- Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard(require("./generateCode"))),
97
- Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard(require("./getHtmlTemplate")))
55
+ Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./getBundleEntry"))),
56
+ Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./getServerRoutes"))),
57
+ Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./generateCode"))),
58
+ Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./getHtmlTemplate")))
98
59
  ]);
99
60
  const entrypoints = getBundleEntry(appContext, resolvedConfig);
100
61
  debug(`entrypoints: %o`, entrypoints);
@@ -113,7 +74,7 @@ const _default = ({ bundler }) => {
113
74
  };
114
75
  api.setAppContext(appContext);
115
76
  nestedRouteEntries = entrypoints.map((point) => point.nestedRoutesEntry).filter(Boolean);
116
- pagesDir = entrypoints.map((point) => point.entry).filter(Boolean).concat(nestedRouteEntries);
77
+ pagesDir = entrypoints.map((point) => point.entry).filter((entry) => entry && !_path.extname(entry)).concat(nestedRouteEntries);
117
78
  originEntrypoints = (0, _lodash.cloneDeep)(entrypoints);
118
79
  await generateCode(appContext, resolvedConfig, entrypoints, api);
119
80
  const htmlTemplates = await getHtmlTemplate(entrypoints, api, {
@@ -168,7 +129,9 @@ const _default = ({ bundler }) => {
168
129
  async onDevCompileDone({ isFirstCompile }) {
169
130
  const hookRunners2 = api.useHookRunners();
170
131
  if (process.stdout.isTTY || isFirstCompile) {
171
- hookRunners2.afterDev();
132
+ hookRunners2.afterDev({
133
+ isFirstCompile
134
+ });
172
135
  if (isFirstCompile) {
173
136
  (0, _printInstructions.printInstructions)(hookRunners2, appContext, normalizedConfig);
174
137
  }
@@ -273,7 +236,7 @@ const _default = ({ bundler }) => {
273
236
  const isRouteComponent = isPageFile(absoluteFilePath) && (0, _utils1.isPageComponentFile)(absoluteFilePath);
274
237
  if (isRouteComponent && (eventType === "add" || eventType === "unlink")) {
275
238
  const resolvedConfig = api.useResolvedConfigContext();
276
- const { generateCode } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard(require("./generateCode")));
239
+ const { generateCode } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("./generateCode")));
277
240
  const entrypoints = (0, _lodash.cloneDeep)(originEntrypoints);
278
241
  generateCode(appContext, resolvedConfig, entrypoints, api);
279
242
  }
@@ -6,55 +6,12 @@ Object.defineProperty(exports, "isDefaultExportFunction", {
6
6
  enumerable: true,
7
7
  get: () => isDefaultExportFunction
8
8
  });
9
- const _fs = /* @__PURE__ */ _interop_require_default(require("fs"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
11
+ const _fs = /* @__PURE__ */ _interop_require_default._(require("fs"));
10
12
  const _parser = require("@babel/parser");
11
- const _traverse = /* @__PURE__ */ _interop_require_default(require("@babel/traverse"));
12
- const _types = /* @__PURE__ */ _interop_require_wildcard(require("@babel/types"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function _getRequireWildcardCache(nodeInterop) {
19
- if (typeof WeakMap !== "function")
20
- return null;
21
- var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
22
- var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
23
- return (_getRequireWildcardCache = function(nodeInterop2) {
24
- return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
25
- })(nodeInterop);
26
- }
27
- function _interop_require_wildcard(obj, nodeInterop) {
28
- if (!nodeInterop && obj && obj.__esModule) {
29
- return obj;
30
- }
31
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
32
- return {
33
- default: obj
34
- };
35
- }
36
- var cache = _getRequireWildcardCache(nodeInterop);
37
- if (cache && cache.has(obj)) {
38
- return cache.get(obj);
39
- }
40
- var newObj = {};
41
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
42
- for (var key in obj) {
43
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
44
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
45
- if (desc && (desc.get || desc.set)) {
46
- Object.defineProperty(newObj, key, desc);
47
- } else {
48
- newObj[key] = obj[key];
49
- }
50
- }
51
- }
52
- newObj.default = obj;
53
- if (cache) {
54
- cache.set(obj, newObj);
55
- }
56
- return newObj;
57
- }
13
+ const _traverse = /* @__PURE__ */ _interop_require_default._(require("@babel/traverse"));
14
+ const _types = /* @__PURE__ */ _interop_require_wildcard._(require("@babel/types"));
58
15
  const isFunction = (node) => _types.isFunctionDeclaration(node) || _types.isFunctionExpression(node) || _types.isArrowFunctionExpression(node);
59
16
  const isDefaultExportFunction = (file) => {
60
17
  if (!file || !_fs.default.existsSync(file)) {
@@ -6,50 +6,11 @@ Object.defineProperty(exports, "walk", {
6
6
  enumerable: true,
7
7
  get: () => walk
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_wildcard(require("path"));
9
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
10
+ const _path = /* @__PURE__ */ _interop_require_wildcard._(require("path"));
10
11
  const _utils = require("@modern-js/utils");
11
12
  const _constants = require("./constants");
12
13
  const _utils1 = require("./utils");
13
- function _getRequireWildcardCache(nodeInterop) {
14
- if (typeof WeakMap !== "function")
15
- return null;
16
- var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
17
- var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
18
- return (_getRequireWildcardCache = function(nodeInterop2) {
19
- return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
20
- })(nodeInterop);
21
- }
22
- function _interop_require_wildcard(obj, nodeInterop) {
23
- if (!nodeInterop && obj && obj.__esModule) {
24
- return obj;
25
- }
26
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
27
- return {
28
- default: obj
29
- };
30
- }
31
- var cache = _getRequireWildcardCache(nodeInterop);
32
- if (cache && cache.has(obj)) {
33
- return cache.get(obj);
34
- }
35
- var newObj = {};
36
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
37
- for (var key in obj) {
38
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
39
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
40
- if (desc && (desc.get || desc.set)) {
41
- Object.defineProperty(newObj, key, desc);
42
- } else {
43
- newObj[key] = obj[key];
44
- }
45
- }
46
- }
47
- newObj.default = obj;
48
- if (cache) {
49
- cache.set(obj, newObj);
50
- }
51
- return newObj;
52
- }
53
14
  const conventionNames = Object.values(_constants.NESTED_ROUTE);
54
15
  const replaceDynamicPath = (routePath) => {
55
16
  return routePath.replace(/\[(.*?)\]/g, ":$1");
@@ -17,15 +17,11 @@ _export(exports, {
17
17
  fileSystemRoutes: () => fileSystemRoutes,
18
18
  ssrLoaderCombinedModule: () => ssrLoaderCombinedModule
19
19
  });
20
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
20
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
21
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
21
22
  const _utils = require("@modern-js/utils");
22
23
  const _constants = require("./constants");
23
24
  const _utils1 = require("./utils");
24
- function _interop_require_default(obj) {
25
- return obj && obj.__esModule ? obj : {
26
- default: obj
27
- };
28
- }
29
25
  const index = ({ mountId, imports, renderFunction: renderFunction2, exportStatement }) => `
30
26
  const IS_BROWSER = typeof window !== 'undefined' && window.name !== 'nodejs';
31
27
  const IS_REACT18 = process.env.IS_REACT18 === 'true';