@modern-js/app-tools 2.0.0-beta.2 → 2.0.0-beta.4

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 (236) hide show
  1. package/CHANGELOG.md +556 -0
  2. package/bin/modern.js +11 -1
  3. package/dist/js/modern/analyze/Builder.js +39 -0
  4. package/dist/js/modern/analyze/constants.js +38 -16
  5. package/dist/js/modern/analyze/generateCode.js +272 -211
  6. package/dist/js/modern/analyze/getBundleEntry.js +34 -32
  7. package/dist/js/modern/analyze/getClientRoutes/getRoutes.js +93 -49
  8. package/dist/js/modern/analyze/getClientRoutes/getRoutesLegacy.js +89 -47
  9. package/dist/js/modern/analyze/getClientRoutes/index.js +6 -2
  10. package/dist/js/modern/analyze/getClientRoutes/utils.js +23 -10
  11. package/dist/js/modern/analyze/getFileSystemEntry.js +43 -22
  12. package/dist/js/modern/analyze/getHtmlTemplate.js +89 -49
  13. package/dist/js/modern/analyze/getServerRoutes.js +122 -126
  14. package/dist/js/modern/analyze/index.js +201 -160
  15. package/dist/js/modern/analyze/isDefaultExportFunction.js +30 -16
  16. package/dist/js/modern/analyze/makeLegalIdentifier.js +10 -11
  17. package/dist/js/modern/analyze/nestedRoutes.js +110 -53
  18. package/dist/js/modern/analyze/templates.js +191 -77
  19. package/dist/js/modern/analyze/utils.js +98 -51
  20. package/dist/js/modern/builder/builderPlugins/compatModern.js +125 -107
  21. package/dist/js/modern/builder/index.js +124 -89
  22. package/dist/js/modern/builder/loaders/routerLoader.js +17 -0
  23. package/dist/js/modern/builder/loaders/serverModuleLoader.js +7 -0
  24. package/dist/js/modern/builder/share.js +23 -21
  25. package/dist/js/modern/builder/webpackPlugins/htmlAsyncChunkPlugin.js +23 -22
  26. package/dist/js/modern/builder/webpackPlugins/htmlBottomTemplate.js +31 -27
  27. package/dist/js/modern/builder/webpackPlugins/routerPlugin.js +100 -84
  28. package/dist/js/modern/commands/build.js +67 -42
  29. package/dist/js/modern/commands/deploy.js +27 -4
  30. package/dist/js/modern/commands/dev.js +93 -47
  31. package/dist/js/modern/commands/index.js +1 -1
  32. package/dist/js/modern/commands/inspect.js +30 -5
  33. package/dist/js/modern/commands/start.js +37 -16
  34. package/dist/js/modern/config/default.js +103 -114
  35. package/dist/js/modern/config/index.js +8 -2
  36. package/dist/js/modern/config/initial/createHtmlConfig.js +5 -2
  37. package/dist/js/modern/config/initial/createOutputConfig.js +11 -9
  38. package/dist/js/modern/config/initial/createSourceConfig.js +5 -2
  39. package/dist/js/modern/config/initial/createToolsConfig.js +7 -6
  40. package/dist/js/modern/config/initial/index.js +9 -4
  41. package/dist/js/modern/config/initial/inits.js +109 -73
  42. package/dist/js/modern/config/initial/transformNormalizedConfig.js +6 -3
  43. package/dist/js/modern/defineConfig.js +26 -11
  44. package/dist/js/modern/exports/server.js +4 -1
  45. package/dist/js/modern/hooks.js +15 -4
  46. package/dist/js/modern/index.js +178 -90
  47. package/dist/js/modern/initialize/index.js +98 -51
  48. package/dist/js/modern/locale/en.js +20 -21
  49. package/dist/js/modern/locale/index.js +6 -6
  50. package/dist/js/modern/locale/zh.js +21 -22
  51. package/dist/js/modern/schema/Schema.js +6 -5
  52. package/dist/js/modern/schema/index.js +51 -100
  53. package/dist/js/modern/schema/legacy.js +96 -231
  54. package/dist/js/modern/types/config/index.js +0 -1
  55. package/dist/js/modern/types/index.js +0 -1
  56. package/dist/js/modern/types/legacyConfig/output.js +0 -1
  57. package/dist/js/modern/utils/commands.js +5 -2
  58. package/dist/js/modern/utils/config.js +102 -41
  59. package/dist/js/modern/utils/createFileWatcher.js +84 -51
  60. package/dist/js/modern/utils/createServer.js +63 -17
  61. package/dist/js/modern/utils/getSpecifiedEntries.js +46 -19
  62. package/dist/js/modern/utils/language.js +6 -3
  63. package/dist/js/modern/utils/printInstructions.js +27 -8
  64. package/dist/js/modern/utils/restart.js +43 -16
  65. package/dist/js/modern/utils/routes.js +29 -12
  66. package/dist/js/node/analyze/Builder.js +58 -0
  67. package/dist/js/node/analyze/constants.js +54 -35
  68. package/dist/js/node/analyze/generateCode.js +291 -228
  69. package/dist/js/node/analyze/getBundleEntry.js +58 -44
  70. package/dist/js/node/analyze/getClientRoutes/getRoutes.js +132 -76
  71. package/dist/js/node/analyze/getClientRoutes/getRoutesLegacy.js +128 -74
  72. package/dist/js/node/analyze/getClientRoutes/index.js +23 -17
  73. package/dist/js/node/analyze/getClientRoutes/utils.js +44 -21
  74. package/dist/js/node/analyze/getFileSystemEntry.js +70 -39
  75. package/dist/js/node/analyze/getHtmlTemplate.js +116 -61
  76. package/dist/js/node/analyze/getServerRoutes.js +143 -137
  77. package/dist/js/node/analyze/index.js +247 -174
  78. package/dist/js/node/analyze/isDefaultExportFunction.js +55 -26
  79. package/dist/js/node/analyze/makeLegalIdentifier.js +27 -15
  80. package/dist/js/node/analyze/nestedRoutes.js +140 -67
  81. package/dist/js/node/analyze/templates.js +212 -84
  82. package/dist/js/node/analyze/utils.js +123 -62
  83. package/dist/js/node/builder/builderPlugins/compatModern.js +153 -120
  84. package/dist/js/node/builder/index.js +152 -98
  85. package/dist/js/node/builder/loaders/routerLoader.js +36 -0
  86. package/dist/js/node/builder/loaders/serverModuleLoader.js +26 -0
  87. package/dist/js/node/builder/share.js +46 -26
  88. package/dist/js/node/builder/webpackPlugins/htmlAsyncChunkPlugin.js +39 -26
  89. package/dist/js/node/builder/webpackPlugins/htmlBottomTemplate.js +47 -31
  90. package/dist/js/node/builder/webpackPlugins/routerPlugin.js +118 -90
  91. package/dist/js/node/commands/build.js +89 -52
  92. package/dist/js/node/commands/deploy.js +45 -10
  93. package/dist/js/node/commands/dev.js +115 -61
  94. package/dist/js/node/commands/index.js +19 -38
  95. package/dist/js/node/commands/inspect.js +48 -11
  96. package/dist/js/node/commands/start.js +65 -27
  97. package/dist/js/node/config/default.js +119 -118
  98. package/dist/js/node/config/index.js +25 -29
  99. package/dist/js/node/config/initial/createHtmlConfig.js +22 -6
  100. package/dist/js/node/config/initial/createOutputConfig.js +28 -13
  101. package/dist/js/node/config/initial/createSourceConfig.js +22 -6
  102. package/dist/js/node/config/initial/createToolsConfig.js +24 -10
  103. package/dist/js/node/config/initial/index.js +28 -17
  104. package/dist/js/node/config/initial/inits.js +126 -81
  105. package/dist/js/node/config/initial/transformNormalizedConfig.js +31 -15
  106. package/dist/js/node/defineConfig.js +43 -17
  107. package/dist/js/node/exports/server.js +21 -10
  108. package/dist/js/node/hooks.js +48 -29
  109. package/dist/js/node/index.js +225 -128
  110. package/dist/js/node/initialize/index.js +116 -61
  111. package/dist/js/node/locale/en.js +36 -25
  112. package/dist/js/node/locale/index.js +27 -15
  113. package/dist/js/node/locale/zh.js +37 -26
  114. package/dist/js/node/schema/Schema.js +23 -10
  115. package/dist/js/node/schema/index.js +77 -114
  116. package/dist/js/node/schema/legacy.js +117 -240
  117. package/dist/js/node/types/config/index.js +17 -16
  118. package/dist/js/node/types/index.js +19 -38
  119. package/dist/js/node/types/legacyConfig/output.js +0 -5
  120. package/dist/js/node/utils/commands.js +21 -6
  121. package/dist/js/node/utils/config.js +120 -51
  122. package/dist/js/node/utils/createFileWatcher.js +104 -60
  123. package/dist/js/node/utils/createServer.js +86 -25
  124. package/dist/js/node/utils/getSpecifiedEntries.js +64 -25
  125. package/dist/js/node/utils/language.js +24 -8
  126. package/dist/js/node/utils/printInstructions.js +47 -16
  127. package/dist/js/node/utils/restart.js +61 -21
  128. package/dist/js/node/utils/routes.js +53 -18
  129. package/dist/js/treeshaking/analyze/Builder.js +199 -0
  130. package/dist/js/treeshaking/analyze/constants.js +28 -16
  131. package/dist/js/treeshaking/analyze/generateCode.js +605 -355
  132. package/dist/js/treeshaking/analyze/getBundleEntry.js +55 -63
  133. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutes.js +214 -168
  134. package/dist/js/treeshaking/analyze/getClientRoutes/getRoutesLegacy.js +215 -169
  135. package/dist/js/treeshaking/analyze/getClientRoutes/index.js +3 -2
  136. package/dist/js/treeshaking/analyze/getClientRoutes/utils.js +19 -20
  137. package/dist/js/treeshaking/analyze/getFileSystemEntry.js +89 -86
  138. package/dist/js/treeshaking/analyze/getHtmlTemplate.js +298 -125
  139. package/dist/js/treeshaking/analyze/getServerRoutes.js +210 -146
  140. package/dist/js/treeshaking/analyze/index.js +571 -304
  141. package/dist/js/treeshaking/analyze/isDefaultExportFunction.js +45 -26
  142. package/dist/js/treeshaking/analyze/makeLegalIdentifier.js +13 -16
  143. package/dist/js/treeshaking/analyze/nestedRoutes.js +414 -160
  144. package/dist/js/treeshaking/analyze/templates.js +432 -161
  145. package/dist/js/treeshaking/analyze/utils.js +361 -80
  146. package/dist/js/treeshaking/builder/builderPlugins/compatModern.js +282 -195
  147. package/dist/js/treeshaking/builder/index.js +371 -167
  148. package/dist/js/treeshaking/builder/loaders/routerLoader.js +13 -0
  149. package/dist/js/treeshaking/builder/loaders/serverModuleLoader.js +5 -0
  150. package/dist/js/treeshaking/builder/share.js +38 -44
  151. package/dist/js/treeshaking/builder/webpackPlugins/htmlAsyncChunkPlugin.js +108 -44
  152. package/dist/js/treeshaking/builder/webpackPlugins/htmlBottomTemplate.js +70 -39
  153. package/dist/js/treeshaking/builder/webpackPlugins/routerPlugin.js +334 -112
  154. package/dist/js/treeshaking/commands/build.js +286 -88
  155. package/dist/js/treeshaking/commands/deploy.js +153 -25
  156. package/dist/js/treeshaking/commands/dev.js +318 -132
  157. package/dist/js/treeshaking/commands/index.js +1 -1
  158. package/dist/js/treeshaking/commands/inspect.js +147 -32
  159. package/dist/js/treeshaking/commands/start.js +190 -68
  160. package/dist/js/treeshaking/config/default.js +210 -199
  161. package/dist/js/treeshaking/config/index.js +3 -2
  162. package/dist/js/treeshaking/config/initial/createHtmlConfig.js +19 -31
  163. package/dist/js/treeshaking/config/initial/createOutputConfig.js +43 -67
  164. package/dist/js/treeshaking/config/initial/createSourceConfig.js +37 -40
  165. package/dist/js/treeshaking/config/initial/createToolsConfig.js +23 -38
  166. package/dist/js/treeshaking/config/initial/index.js +10 -9
  167. package/dist/js/treeshaking/config/initial/inits.js +205 -106
  168. package/dist/js/treeshaking/config/initial/transformNormalizedConfig.js +27 -34
  169. package/dist/js/treeshaking/defineConfig.js +60 -13
  170. package/dist/js/treeshaking/exports/server.js +2 -1
  171. package/dist/js/treeshaking/hooks.js +30 -25
  172. package/dist/js/treeshaking/index.js +681 -256
  173. package/dist/js/treeshaking/initialize/index.js +290 -112
  174. package/dist/js/treeshaking/locale/en.js +34 -33
  175. package/dist/js/treeshaking/locale/index.js +5 -5
  176. package/dist/js/treeshaking/locale/zh.js +34 -33
  177. package/dist/js/treeshaking/schema/Schema.js +267 -69
  178. package/dist/js/treeshaking/schema/index.js +165 -121
  179. package/dist/js/treeshaking/schema/legacy.js +323 -256
  180. package/dist/js/treeshaking/types/config/deploy.js +1 -0
  181. package/dist/js/treeshaking/types/config/dev.js +1 -0
  182. package/dist/js/treeshaking/types/config/experiments.js +1 -0
  183. package/dist/js/treeshaking/types/config/html.js +1 -0
  184. package/dist/js/treeshaking/types/config/index.js +0 -1
  185. package/dist/js/treeshaking/types/config/output.js +1 -0
  186. package/dist/js/treeshaking/types/config/performance.js +1 -0
  187. package/dist/js/treeshaking/types/config/security.js +1 -0
  188. package/dist/js/treeshaking/types/config/source.js +1 -0
  189. package/dist/js/treeshaking/types/config/tools.js +1 -0
  190. package/dist/js/treeshaking/types/hooks.js +1 -0
  191. package/dist/js/treeshaking/types/index.js +0 -1
  192. package/dist/js/treeshaking/types/legacyConfig/deploy.js +1 -0
  193. package/dist/js/treeshaking/types/legacyConfig/dev.js +1 -0
  194. package/dist/js/treeshaking/types/legacyConfig/index.js +1 -0
  195. package/dist/js/treeshaking/types/legacyConfig/output.js +1 -1
  196. package/dist/js/treeshaking/types/legacyConfig/source.js +1 -0
  197. package/dist/js/treeshaking/types/legacyConfig/tools.js +1 -0
  198. package/dist/js/treeshaking/utils/commands.js +6 -5
  199. package/dist/js/treeshaking/utils/config.js +295 -117
  200. package/dist/js/treeshaking/utils/createFileWatcher.js +278 -118
  201. package/dist/js/treeshaking/utils/createServer.js +252 -67
  202. package/dist/js/treeshaking/utils/getSpecifiedEntries.js +182 -55
  203. package/dist/js/treeshaking/utils/language.js +6 -5
  204. package/dist/js/treeshaking/utils/printInstructions.js +151 -29
  205. package/dist/js/treeshaking/utils/restart.js +184 -42
  206. package/dist/js/treeshaking/utils/routes.js +151 -27
  207. package/dist/js/treeshaking/utils/types.js +1 -0
  208. package/dist/types/analyze/Builder.d.ts +8 -0
  209. package/dist/types/analyze/constants.d.ts +2 -0
  210. package/dist/types/analyze/index.d.ts +2 -0
  211. package/dist/types/analyze/templates.d.ts +10 -7
  212. package/dist/types/analyze/utils.d.ts +9 -1
  213. package/dist/types/builder/builderPlugins/compatModern.d.ts +2 -1
  214. package/dist/types/builder/index.d.ts +3 -3
  215. package/dist/types/builder/loaders/routerLoader.d.ts +3 -0
  216. package/dist/types/builder/loaders/serverModuleLoader.d.ts +3 -0
  217. package/dist/types/builder/webpackPlugins/routerPlugin.d.ts +1 -7
  218. package/dist/types/defineConfig.d.ts +1 -0
  219. package/dist/types/index.d.ts +6 -1
  220. package/dist/types/initialize/index.d.ts +2 -0
  221. package/dist/types/types/config/dev.d.ts +2 -2
  222. package/dist/types/types/config/index.d.ts +1 -0
  223. package/dist/types/types/config/output.d.ts +0 -1
  224. package/dist/types/types/config/source.d.ts +1 -0
  225. package/dist/types/types/config/tools.d.ts +10 -1
  226. package/dist/types/types/hooks.d.ts +7 -1
  227. package/dist/types/types/legacyConfig/dev.d.ts +1 -0
  228. package/dist/types/types/legacyConfig/output.d.ts +1 -1
  229. package/dist/types/types/legacyConfig/source.d.ts +1 -0
  230. package/dist/types/types/legacyConfig/tools.d.ts +1 -0
  231. package/dist/types/utils/config.d.ts +1 -0
  232. package/dist/types/utils/createFileWatcher.d.ts +2 -1
  233. package/dist/types/utils/createServer.d.ts +1 -0
  234. package/dist/types/utils/restart.d.ts +1 -1
  235. package/lib/types.d.ts +1 -1
  236. package/package.json +26 -22
@@ -0,0 +1,36 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ default: () => routerLoader_default
21
+ });
22
+ module.exports = __toCommonJS(stdin_exports);
23
+ var import_utils = require("@modern-js/utils");
24
+ function loader(source) {
25
+ this.cacheable();
26
+ const { target } = this._compiler.options;
27
+ if (target === "node" || Array.isArray(target) && target.includes("node")) {
28
+ return source;
29
+ }
30
+ const { resourcePath } = this;
31
+ const code = `
32
+ export { default } from "${(0, import_utils.slash)(resourcePath)}";
33
+ `;
34
+ return code;
35
+ }
36
+ var routerLoader_default = loader;
@@ -0,0 +1,26 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ default: () => serverModuleLoader_default
21
+ });
22
+ module.exports = __toCommonJS(stdin_exports);
23
+ function loader() {
24
+ return `module.exports = {}`;
25
+ }
26
+ var serverModuleLoader_default = loader;
@@ -1,51 +1,71 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ createCopyPattern: () => createCopyPattern
5
27
  });
6
- exports.createCopyPattern = createCopyPattern;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _lodash = require("@modern-js/utils/lodash");
9
- var _utils = require("@modern-js/utils");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
+ module.exports = __toCommonJS(stdin_exports);
29
+ var import_path = __toESM(require("path"));
30
+ var import_utils = require("@modern-js/utils");
11
31
  function createCopyPattern(appContext, config, patternsType, chain) {
12
- const configDir = _path.default.resolve(appContext.appDirectory, config.source.configDir || './config');
13
- const uploadDir = _path.default.posix.join(configDir.replace(/\\/g, '/'), 'upload');
14
- const publicDir = _path.default.posix.join(configDir.replace(/\\/g, '/'), 'public');
32
+ const configDir = import_path.default.resolve(
33
+ appContext.appDirectory,
34
+ config.source.configDir || "./config"
35
+ );
36
+ const uploadDir = import_path.default.posix.join(configDir.replace(/\\/g, "/"), "upload");
37
+ const publicDir = import_path.default.posix.join(configDir.replace(/\\/g, "/"), "public");
15
38
  const minifiedJsRexExp = /\.min\.js/;
16
- const info = file => ({
17
- // If the file name ends with `.min.js`, we assume it's a compressed file.
18
- // So we don't want copy-webpack-plugin to minify it.
19
- // ref: https://github.com/webpack-contrib/copy-webpack-plugin#info
39
+ const info = (file) => ({
20
40
  minimized: minifiedJsRexExp.test(file.sourceFilename)
21
41
  });
22
- if (patternsType === 'public') {
42
+ if (patternsType === "public") {
23
43
  if (!chain) {
24
44
  throw new Error("expect get a webpackChain, but receive 'undefined'");
25
45
  }
26
46
  return {
27
47
  info,
28
- from: '**/*',
29
- to: 'public',
48
+ from: "**/*",
49
+ to: "public",
30
50
  context: publicDir,
31
51
  noErrorOnMissing: true,
32
- // eslint-disable-next-line node/prefer-global/buffer
33
52
  transform: (content, absoluteFrom) => {
34
53
  if (!/\.html?$/.test(absoluteFrom)) {
35
54
  return content;
36
55
  }
37
- return (0, _lodash.template)(content.toString('utf8'))({
38
- assetPrefix: (0, _utils.removeTailSlash)(chain.output.get('publicPath'))
39
- });
56
+ return content.toString("utf8").replace(
57
+ /<%=\s*assetPrefix\s*%>/g,
58
+ (0, import_utils.removeTailSlash)(chain.output.get("publicPath"))
59
+ );
40
60
  }
41
61
  };
42
62
  } else {
43
63
  return {
44
64
  info,
45
- from: '**/*',
46
- to: 'upload',
65
+ from: "**/*",
66
+ to: "upload",
47
67
  context: uploadDir,
48
68
  noErrorOnMissing: true
49
69
  };
50
70
  }
51
- }
71
+ }
@@ -1,36 +1,49 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ HtmlAsyncChunkPlugin: () => HtmlAsyncChunkPlugin
5
21
  });
6
- exports.HtmlAsyncChunkPlugin = void 0;
7
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ module.exports = __toCommonJS(stdin_exports);
8
23
  class HtmlAsyncChunkPlugin {
9
24
  constructor(htmlWebpackPlugin) {
10
- _defineProperty(this, "name", void 0);
11
- _defineProperty(this, "htmlWebpackPlugin", void 0);
12
- this.name = 'HtmlAsyncChunkPlugin';
25
+ this.name = "HtmlAsyncChunkPlugin";
13
26
  this.htmlWebpackPlugin = htmlWebpackPlugin;
14
27
  }
15
28
  apply(compiler) {
16
- compiler.hooks.compilation.tap(this.name, compilation => {
17
- const hooks = this.htmlWebpackPlugin.getHooks(compilation);
18
- hooks.alterAssetTagGroups.tap(this.name, assets => {
19
- const tags = [...assets.headTags, ...assets.bodyTags];
20
- for (const tag of tags) {
21
- if (tag.tagName === 'script') {
22
- const {
23
- attributes
24
- } = tag;
25
- if (attributes && attributes.defer === true) {
26
- attributes.async = true;
27
- delete attributes.defer;
29
+ compiler.hooks.compilation.tap(
30
+ this.name,
31
+ (compilation) => {
32
+ const hooks = this.htmlWebpackPlugin.getHooks(compilation);
33
+ hooks.alterAssetTagGroups.tap(this.name, (assets) => {
34
+ const tags = [...assets.headTags, ...assets.bodyTags];
35
+ for (const tag of tags) {
36
+ if (tag.tagName === "script") {
37
+ const { attributes } = tag;
38
+ if (attributes && attributes.defer === true) {
39
+ attributes.async = true;
40
+ delete attributes.defer;
41
+ }
28
42
  }
29
43
  }
30
- }
31
- return assets;
32
- });
33
- });
44
+ return assets;
45
+ });
46
+ }
47
+ );
34
48
  }
35
49
  }
36
- exports.HtmlAsyncChunkPlugin = HtmlAsyncChunkPlugin;
@@ -1,40 +1,56 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var stdin_exports = {};
19
+ __export(stdin_exports, {
20
+ BottomTemplatePlugin: () => BottomTemplatePlugin
5
21
  });
6
- exports.BottomTemplatePlugin = void 0;
7
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ module.exports = __toCommonJS(stdin_exports);
8
23
  class BottomTemplatePlugin {
9
24
  constructor(htmlWebpackPlugin) {
10
- _defineProperty(this, "htmlWebpackPlugin", void 0);
11
- _defineProperty(this, "bottomTemplateReg", /<!--<\?-\s*bottomTemplate\s*\?>-->/);
12
- _defineProperty(this, "bodyRegExp", /(<\/\s*body\s*>)/i);
13
- _defineProperty(this, "name", void 0);
25
+ this.bottomTemplateReg = /<!--<\?-\s*bottomTemplate\s*\?>-->/;
26
+ this.bodyRegExp = /(<\/\s*body\s*>)/i;
14
27
  this.htmlWebpackPlugin = htmlWebpackPlugin;
15
- this.name = 'bottom-template';
28
+ this.name = "bottom-template";
16
29
  }
17
30
  apply(compiler) {
18
- compiler.hooks.compilation.tap(this.name, compilation => {
19
- this.htmlWebpackPlugin.getHooks(compilation).beforeEmit.tap(this.name, data => {
20
- var _data$plugin$options;
21
- if (!((_data$plugin$options = data.plugin.options) !== null && _data$plugin$options !== void 0 && _data$plugin$options.__internal__)) {
22
- return data;
23
- }
24
- // 含有 <!--<?- bottomTemplate ?>--> 占位符时才需要注入 bottom.html
25
- if (this.bottomTemplateReg.test(data.html)) {
26
- // 清空占位符
27
- data.html = data.html.replace(this.bottomTemplateReg, '');
28
- const {
29
- bottomTemplate
30
- } = data.plugin.options;
31
- if (bottomTemplate) {
32
- data.html = data.html.replace(this.bodyRegExp, match => `\n${bottomTemplate}\n${match}`);
31
+ compiler.hooks.compilation.tap(
32
+ this.name,
33
+ (compilation) => {
34
+ this.htmlWebpackPlugin.getHooks(compilation).beforeEmit.tap(this.name, (data) => {
35
+ var _a;
36
+ if (!((_a = data.plugin.options) == null ? void 0 : _a.__internal__)) {
37
+ return data;
33
38
  }
34
- }
35
- return data;
36
- });
37
- });
39
+ if (this.bottomTemplateReg.test(data.html)) {
40
+ data.html = data.html.replace(this.bottomTemplateReg, "");
41
+ const { bottomTemplate } = data.plugin.options;
42
+ if (bottomTemplate) {
43
+ data.html = data.html.replace(
44
+ this.bodyRegExp,
45
+ (match) => `
46
+ ${bottomTemplate}
47
+ ${match}`
48
+ );
49
+ }
50
+ }
51
+ return data;
52
+ });
53
+ }
54
+ );
38
55
  }
39
56
  }
40
- exports.BottomTemplatePlugin = BottomTemplatePlugin;
@@ -1,105 +1,133 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var stdin_exports = {};
25
+ __export(stdin_exports, {
26
+ default: () => RouterPlugin
5
27
  });
6
- exports.default = void 0;
7
- var _path = _interopRequireDefault(require("path"));
8
- var _utils = require("@modern-js/utils");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
- const PLUGIN_NAME = 'ModernjsRoutePlugin';
28
+ module.exports = __toCommonJS(stdin_exports);
29
+ var import_path = __toESM(require("path"));
30
+ var import_utils = require("@modern-js/utils");
31
+ var __async = (__this, __arguments, generator) => {
32
+ return new Promise((resolve, reject) => {
33
+ var fulfilled = (value) => {
34
+ try {
35
+ step(generator.next(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var rejected = (value) => {
41
+ try {
42
+ step(generator.throw(value));
43
+ } catch (e) {
44
+ reject(e);
45
+ }
46
+ };
47
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
48
+ step((generator = generator.apply(__this, __arguments)).next());
49
+ });
50
+ };
51
+ const PLUGIN_NAME = "ModernjsRoutePlugin";
12
52
  class RouterPlugin {
13
- constructor(options) {
14
- _defineProperty(this, "existNestedRoutes", void 0);
15
- this.existNestedRoutes = options.existNestedRoutes;
16
- }
17
53
  apply(compiler) {
18
- const {
19
- existNestedRoutes
20
- } = this;
21
- const {
22
- target
23
- } = compiler.options;
24
- if (target === 'node' || Array.isArray(target) && target.includes('node')) {
25
- return;
26
- }
27
- if (!existNestedRoutes) {
54
+ const { target } = compiler.options;
55
+ if (target === "node" || Array.isArray(target) && target.includes("node")) {
28
56
  return;
29
57
  }
30
- const {
31
- webpack
32
- } = compiler;
33
- const {
34
- Compilation,
35
- sources
36
- } = webpack;
37
- const {
38
- RawSource
39
- } = sources;
40
- const {
41
- PROCESS_ASSETS_STAGE_REPORT
42
- } = Compilation;
58
+ const { webpack } = compiler;
59
+ const { Compilation, sources } = webpack;
60
+ const { RawSource } = sources;
61
+ const { PROCESS_ASSETS_STAGE_REPORT } = Compilation;
43
62
  const outputPath = compiler.options.output.path;
44
- const newAssetsMap = new Map();
45
- const normalizePath = path => {
46
- if (!path.endsWith('/')) {
47
- return `${path}/`;
63
+ const newAssetsMap = /* @__PURE__ */ new Map();
64
+ const normalizePath = (path2) => {
65
+ if (!path2.endsWith("/")) {
66
+ return `${path2}/`;
48
67
  }
49
- return path;
68
+ return path2;
50
69
  };
51
- compiler.hooks.thisCompilation.tap(PLUGIN_NAME, compilation => {
52
- compilation.hooks.processAssets.tapPromise({
53
- name: PLUGIN_NAME,
54
- stage: PROCESS_ASSETS_STAGE_REPORT
55
- }, async () => {
56
- const stats = compilation.getStats().toJson({
57
- chunkGroups: true,
58
- chunks: true
59
- });
60
- const {
61
- publicPath
62
- } = stats;
63
- const routeAssets = {};
64
- const {
65
- namedChunkGroups,
66
- assetsByChunkName
67
- } = stats;
68
- if (!namedChunkGroups || !assetsByChunkName) {
69
- _utils.logger.warn('Route manifest does not exist, performance will be affected');
70
- return;
71
- }
72
- for (const [name, chunkGroup] of Object.entries(namedChunkGroups)) {
73
- routeAssets[name] = {
74
- chunkIds: chunkGroup.chunks,
75
- assets: assetsByChunkName[name].map(item => publicPath ? normalizePath(publicPath) + item : item)
70
+ compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
71
+ compilation.hooks.processAssets.tapPromise(
72
+ {
73
+ name: PLUGIN_NAME,
74
+ stage: PROCESS_ASSETS_STAGE_REPORT
75
+ },
76
+ () => __async(this, null, function* () {
77
+ const stats = compilation.getStats().toJson({
78
+ chunkGroups: true,
79
+ chunks: true
80
+ });
81
+ const { publicPath } = stats;
82
+ const routeAssets = {};
83
+ const { namedChunkGroups, assetsByChunkName } = stats;
84
+ if (!namedChunkGroups || !assetsByChunkName) {
85
+ import_utils.logger.warn(
86
+ "Route manifest does not exist, performance will be affected"
87
+ );
88
+ return;
89
+ }
90
+ for (const [name, chunkGroup] of Object.entries(namedChunkGroups)) {
91
+ if (assetsByChunkName[name]) {
92
+ routeAssets[name] = {
93
+ chunkIds: chunkGroup.chunks,
94
+ assets: assetsByChunkName[name].map(
95
+ (item) => publicPath ? normalizePath(publicPath) + item : item
96
+ )
97
+ };
98
+ }
99
+ }
100
+ const manifest = {
101
+ routeAssets
76
102
  };
77
- }
78
- const manifest = {
79
- routeAssets
80
- };
81
- const injectedContent = `
103
+ const injectedContent = `
82
104
  ;(function(){
83
- window.${_utils.ROUTE_MANIFEST} = ${JSON.stringify(manifest)};
105
+ window.${import_utils.ROUTE_MANIFEST} = ${JSON.stringify(manifest)};
84
106
  })();
85
107
  `;
86
- const entrypointsArray = Array.from(compilation.entrypoints.entries());
87
- const entryChunkIds = entrypointsArray.map(entrypoint => entrypoint[0]);
88
- const entryChunks = [...compilation.chunks].filter(chunk => {
89
- return entryChunkIds.includes(chunk.name);
90
- });
91
- const entryChunkFiles = entryChunks.map(chunk => [...chunk.files][0]);
92
- for (const file of entryChunkFiles) {
93
- const asset = compilation.assets[file];
94
- const newContent = `${injectedContent}${asset.source().toString()}`;
95
- newAssetsMap.set(_path.default.join(outputPath, file), newContent);
96
- compilation.updateAsset(file, new RawSource(newContent));
97
- }
98
- const filename = _path.default.join(outputPath, _utils.ROUTE_MINIFEST_FILE);
99
- await _utils.fs.ensureFile(filename);
100
- await _utils.fs.writeFile(filename, JSON.stringify(manifest, null, 2));
101
- });
108
+ const entrypointsArray = Array.from(
109
+ compilation.entrypoints.entries()
110
+ );
111
+ const entryChunkIds = entrypointsArray.map(
112
+ (entrypoint) => entrypoint[0]
113
+ );
114
+ const entryChunks = [...compilation.chunks].filter((chunk) => {
115
+ return entryChunkIds.includes(chunk.name);
116
+ });
117
+ const entryChunkFiles = entryChunks.map(
118
+ (chunk) => [...chunk.files].find((fname) => fname.includes(".js"))
119
+ );
120
+ for (const file of entryChunkFiles) {
121
+ const asset = compilation.assets[file];
122
+ const newContent = `${injectedContent}${asset.source().toString()}`;
123
+ newAssetsMap.set(import_path.default.join(outputPath, file), newContent);
124
+ compilation.updateAsset(file, new RawSource(newContent));
125
+ }
126
+ const filename = import_path.default.join(outputPath, import_utils.ROUTE_MINIFEST_FILE);
127
+ yield import_utils.fs.ensureFile(filename);
128
+ yield import_utils.fs.writeFile(filename, JSON.stringify(manifest, null, 2));
129
+ })
130
+ );
102
131
  });
103
132
  }
104
133
  }
105
- exports.default = RouterPlugin;