@modern-js/module-tools-docs 2.0.2 → 2.2.0-beta.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 (308) hide show
  1. package/doc_build/html/main/index.html +1 -1
  2. package/doc_build/static/css/main.css +267 -660
  3. package/doc_build/static/css/main.css.map +1 -1
  4. package/doc_build/static/css/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.css +6 -23
  5. package/doc_build/static/css/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.css.map +1 -1
  6. package/doc_build/static/js/async/en_api_config_build-config.js +79 -36
  7. package/doc_build/static/js/async/en_api_config_build-config.js.map +1 -1
  8. package/doc_build/static/js/async/en_api_config_build-preset.js +40 -20
  9. package/doc_build/static/js/async/en_api_config_build-preset.js.map +1 -1
  10. package/doc_build/static/js/async/en_api_config_design-system.js +33800 -2340
  11. package/doc_build/static/js/async/en_api_config_design-system.js.map +1 -1
  12. package/doc_build/static/js/async/en_api_config_plugins.js +15 -19
  13. package/doc_build/static/js/async/en_api_config_testing.js +26 -24
  14. package/doc_build/static/js/async/en_api_config_testing.js.map +1 -1
  15. package/doc_build/static/js/async/{en_api_.js → en_api_index.js} +10 -14
  16. package/doc_build/static/js/async/en_api_index.js.map +1 -0
  17. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js +24 -26
  18. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js.map +1 -1
  19. package/doc_build/static/js/async/en_guide_advance_asset.js +16 -41
  20. package/doc_build/static/js/async/en_guide_advance_asset.js.map +1 -1
  21. package/doc_build/static/js/async/en_guide_advance_build-umd.js +20 -24
  22. package/doc_build/static/js/async/en_guide_advance_copy.js +25 -23
  23. package/doc_build/static/js/async/en_guide_advance_copy.js.map +1 -1
  24. package/doc_build/static/js/async/en_guide_advance_external-dependency.js +15 -19
  25. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js +352 -94
  26. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js.map +1 -1
  27. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js +11 -15
  28. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js.map +1 -1
  29. package/doc_build/static/js/async/en_guide_advance_theme-config.js +26 -24
  30. package/doc_build/static/js/async/en_guide_advance_theme-config.js.map +1 -1
  31. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js +275 -88
  32. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js.map +1 -1
  33. package/doc_build/static/js/async/en_guide_basic_command-preview.js +45 -33
  34. package/doc_build/static/js/async/en_guide_basic_command-preview.js.map +1 -1
  35. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js +274 -196
  36. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js.map +1 -1
  37. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js +18 -20
  38. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js.map +1 -1
  39. package/doc_build/static/js/async/en_guide_basic_test-your-project.js +27 -32
  40. package/doc_build/static/js/async/en_guide_basic_test-your-project.js.map +1 -1
  41. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js +33 -15
  42. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js.map +1 -1
  43. package/doc_build/static/js/async/en_guide_basic_using-storybook.js +24 -63
  44. package/doc_build/static/js/async/en_guide_basic_using-storybook.js.map +1 -1
  45. package/doc_build/static/js/async/en_guide_best-practices_components.js +39 -27
  46. package/doc_build/static/js/async/en_guide_best-practices_components.js.map +1 -1
  47. package/doc_build/static/js/async/en_guide_intro_getting-started.js +288 -45
  48. package/doc_build/static/js/async/en_guide_intro_getting-started.js.map +1 -1
  49. package/doc_build/static/js/async/en_guide_intro_welcome.js +27 -13
  50. package/doc_build/static/js/async/en_guide_intro_welcome.js.map +1 -1
  51. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js +16 -12
  52. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js.map +1 -1
  53. package/doc_build/static/js/async/{en_.js → en_index.js} +12 -16
  54. package/doc_build/static/js/async/en_index.js.map +1 -0
  55. package/doc_build/static/js/async/en_plugins_guide_getting-started.js +17 -21
  56. package/doc_build/static/js/async/en_plugins_guide_plugin-object.js +20 -24
  57. package/doc_build/static/js/async/en_plugins_guide_setup-function.js +19 -23
  58. package/doc_build/static/js/async/en_plugins_guide_setup-function.js.map +1 -1
  59. package/doc_build/static/js/async/en_plugins_official-list_overview.js +8 -12
  60. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js +166 -367
  61. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js.map +1 -1
  62. package/doc_build/static/js/async/{api_config_build-config.js → zh_api_config_build-config.js} +80 -35
  63. package/doc_build/static/js/async/{api_config_build-config.js.map → zh_api_config_build-config.js.map} +1 -1
  64. package/doc_build/static/js/async/{api_config_build-preset.js → zh_api_config_build-preset.js} +39 -21
  65. package/doc_build/static/js/async/{api_config_build-preset.js.map → zh_api_config_build-preset.js.map} +1 -1
  66. package/doc_build/static/js/async/{api_config_design-system.js → zh_api_config_design-system.js} +27 -23
  67. package/doc_build/static/js/async/{api_config_design-system.js.map → zh_api_config_design-system.js.map} +1 -1
  68. package/doc_build/static/js/async/{api_config_plugins.js → zh_api_config_plugins.js} +17 -21
  69. package/doc_build/static/js/async/{api_config_plugins.js.map → zh_api_config_plugins.js.map} +1 -1
  70. package/doc_build/static/js/async/{api_config_testing.js → zh_api_config_testing.js} +28 -26
  71. package/doc_build/static/js/async/{api_config_testing.js.map → zh_api_config_testing.js.map} +1 -1
  72. package/doc_build/static/js/async/{api_.js → zh_api_index.js} +10 -14
  73. package/doc_build/static/js/async/zh_api_index.js.map +1 -0
  74. package/doc_build/static/js/async/{api_plugin-api_plugin-hooks.js → zh_api_plugin-api_plugin-hooks.js} +25 -27
  75. package/doc_build/static/js/async/{api_plugin-api_plugin-hooks.js.map → zh_api_plugin-api_plugin-hooks.js.map} +1 -1
  76. package/doc_build/static/js/async/{guide_advance_asset.js → zh_guide_advance_asset.js} +18 -43
  77. package/doc_build/static/js/async/{guide_advance_asset.js.map → zh_guide_advance_asset.js.map} +1 -1
  78. package/doc_build/static/js/async/{guide_advance_build-umd.js → zh_guide_advance_build-umd.js} +22 -26
  79. package/doc_build/static/js/async/{guide_advance_build-umd.js.map → zh_guide_advance_build-umd.js.map} +1 -1
  80. package/doc_build/static/js/async/{guide_advance_copy.js → zh_guide_advance_copy.js} +26 -24
  81. package/doc_build/static/js/async/{guide_advance_copy.js.map → zh_guide_advance_copy.js.map} +1 -1
  82. package/doc_build/static/js/async/{guide_advance_external-dependency.js → zh_guide_advance_external-dependency.js} +17 -21
  83. package/doc_build/static/js/async/{guide_advance_external-dependency.js.map → zh_guide_advance_external-dependency.js.map} +1 -1
  84. package/doc_build/static/js/async/{guide_advance_in-depth-about-build.js → zh_guide_advance_in-depth-about-build.js} +353 -95
  85. package/doc_build/static/js/async/{guide_advance_in-depth-about-build.js.map → zh_guide_advance_in-depth-about-build.js.map} +1 -1
  86. package/doc_build/static/js/async/{guide_advance_in-depth-about-dev-command.js → zh_guide_advance_in-depth-about-dev-command.js} +16 -18
  87. package/doc_build/static/js/async/zh_guide_advance_in-depth-about-dev-command.js.map +1 -0
  88. package/doc_build/static/js/async/{guide_advance_theme-config.js → zh_guide_advance_theme-config.js} +24 -22
  89. package/doc_build/static/js/async/{guide_advance_theme-config.js.map → zh_guide_advance_theme-config.js.map} +1 -1
  90. package/doc_build/static/js/async/{guide_basic_before-getting-started.js → zh_guide_basic_before-getting-started.js} +272 -85
  91. package/doc_build/static/js/async/zh_guide_basic_before-getting-started.js.map +1 -0
  92. package/doc_build/static/js/async/{guide_basic_command-preview.js → zh_guide_basic_command-preview.js} +47 -35
  93. package/doc_build/static/js/async/zh_guide_basic_command-preview.js.map +1 -0
  94. package/doc_build/static/js/async/{guide_basic_modify-output-product.js → zh_guide_basic_modify-output-product.js} +203 -88
  95. package/doc_build/static/js/async/zh_guide_basic_modify-output-product.js.map +1 -0
  96. package/doc_build/static/js/async/{guide_basic_publish-your-project.js → zh_guide_basic_publish-your-project.js} +20 -22
  97. package/doc_build/static/js/async/{guide_basic_publish-your-project.js.map → zh_guide_basic_publish-your-project.js.map} +1 -1
  98. package/doc_build/static/js/async/{guide_basic_test-your-project.js → zh_guide_basic_test-your-project.js} +30 -35
  99. package/doc_build/static/js/async/{guide_basic_test-your-project.js.map → zh_guide_basic_test-your-project.js.map} +1 -1
  100. package/doc_build/static/js/async/{guide_basic_use-micro-generator.js → zh_guide_basic_use-micro-generator.js} +40 -20
  101. package/doc_build/static/js/async/zh_guide_basic_use-micro-generator.js.map +1 -0
  102. package/doc_build/static/js/async/{guide_basic_using-storybook.js → zh_guide_basic_using-storybook.js} +78 -171
  103. package/doc_build/static/js/async/{guide_basic_using-storybook.js.map → zh_guide_basic_using-storybook.js.map} +1 -1
  104. package/doc_build/static/js/async/{guide_best-practices_components.js → zh_guide_best-practices_components.js} +41 -29
  105. package/doc_build/static/js/async/{guide_best-practices_components.js.map → zh_guide_best-practices_components.js.map} +1 -1
  106. package/doc_build/static/js/async/{guide_intro_getting-started.js → zh_guide_intro_getting-started.js} +291 -42
  107. package/doc_build/static/js/async/{guide_intro_getting-started.js.map → zh_guide_intro_getting-started.js.map} +1 -1
  108. package/doc_build/static/js/async/{guide_intro_welcome.js → zh_guide_intro_welcome.js} +28 -14
  109. package/doc_build/static/js/async/zh_guide_intro_welcome.js.map +1 -0
  110. package/doc_build/static/js/async/{guide_intro_why-module-engineering-solution.js → zh_guide_intro_why-module-engineering-solution.js} +18 -14
  111. package/doc_build/static/js/async/zh_guide_intro_why-module-engineering-solution.js.map +1 -0
  112. package/doc_build/static/js/async/{index.js → zh_index.js} +11 -15
  113. package/doc_build/static/js/async/zh_index.js.map +1 -0
  114. package/doc_build/static/js/async/{plugins_guide_getting-started.js → zh_plugins_guide_getting-started.js} +19 -23
  115. package/doc_build/static/js/async/{plugins_guide_getting-started.js.map → zh_plugins_guide_getting-started.js.map} +1 -1
  116. package/doc_build/static/js/async/{plugins_guide_plugin-object.js → zh_plugins_guide_plugin-object.js} +22 -26
  117. package/doc_build/static/js/async/{plugins_guide_plugin-object.js.map → zh_plugins_guide_plugin-object.js.map} +1 -1
  118. package/doc_build/static/js/async/{plugins_guide_setup-function.js → zh_plugins_guide_setup-function.js} +21 -25
  119. package/doc_build/static/js/async/{plugins_guide_setup-function.js.map → zh_plugins_guide_setup-function.js.map} +1 -1
  120. package/doc_build/static/js/async/{plugins_official-list_overview.js → zh_plugins_official-list_overview.js} +10 -14
  121. package/doc_build/static/js/async/zh_plugins_official-list_overview.js.map +1 -0
  122. package/doc_build/static/js/builder-runtime.js +1 -1
  123. package/doc_build/static/js/builder-runtime.js.map +1 -1
  124. package/doc_build/static/js/lib-polyfill.js +3433 -16355
  125. package/doc_build/static/js/lib-polyfill.js.map +1 -1
  126. package/doc_build/static/js/main.js +2073 -2700
  127. package/doc_build/static/js/main.js.map +1 -1
  128. package/doc_build/static/js/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.js +485 -1689
  129. package/doc_build/static/js/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.js.map +1 -1
  130. package/doc_build/static/search_index.json +1 -0
  131. package/docs/.island/dist/404.html +41 -0
  132. package/docs/.island/dist/assets/asset.26aea654.js +160 -0
  133. package/docs/.island/dist/assets/asset.36e3d3c9.js +160 -0
  134. package/docs/.island/dist/assets/before-getting-started.0e863740.js +87 -0
  135. package/docs/.island/dist/assets/before-getting-started.2c6e6b8a.js +87 -0
  136. package/docs/.island/dist/assets/build-config.460d11d9.js +804 -0
  137. package/docs/.island/dist/assets/build-config.e155e534.js +854 -0
  138. package/docs/.island/dist/assets/build-preset.6c2c6c62.js +256 -0
  139. package/docs/.island/dist/assets/build-preset.d3da921d.js +256 -0
  140. package/docs/.island/dist/assets/build-umd.ba00f028.js +264 -0
  141. package/docs/.island/dist/assets/build-umd.edb9d163.js +273 -0
  142. package/docs/.island/dist/assets/command-preview.1dc93921.js +264 -0
  143. package/docs/.island/dist/assets/command-preview.ef7a9d01.js +264 -0
  144. package/docs/.island/dist/assets/components.esm.03560353.js +9 -0
  145. package/docs/.island/dist/assets/copy.28dc4d5f.js +277 -0
  146. package/docs/.island/dist/assets/copy.f4625565.js +277 -0
  147. package/docs/.island/dist/assets/design-system.8993234c.js +1254 -0
  148. package/docs/.island/dist/assets/design-system.b0ba163f.js +639 -0
  149. package/docs/.island/dist/assets/dev.b373b152.js +37 -0
  150. package/docs/.island/dist/assets/dev.b39fd42a.js +37 -0
  151. package/docs/.island/dist/assets/down.f35427d3.svg +1 -0
  152. package/docs/.island/dist/assets/extension.4bf3526b.js +1 -0
  153. package/docs/.island/dist/assets/extension.d64ed0b8.js +469 -0
  154. package/docs/.island/dist/assets/external-dependency.2ede7532.js +156 -0
  155. package/docs/.island/dist/assets/external-dependency.92ca89e0.js +156 -0
  156. package/docs/.island/dist/assets/getting-started.822cf0b2.js +117 -0
  157. package/docs/.island/dist/assets/getting-started.e2764829.js +114 -0
  158. package/docs/.island/dist/assets/github.3bf8ccee.svg +1 -0
  159. package/docs/.island/dist/assets/in-depth-about-build.94cc902d.js +375 -0
  160. package/docs/.island/dist/assets/in-depth-about-build.aa74de10.js +374 -0
  161. package/docs/.island/dist/assets/in-depth-about-dev-command.877bdb83.js +33 -0
  162. package/docs/.island/dist/assets/in-depth-about-dev-command.9736befd.js +39 -0
  163. package/docs/.island/dist/assets/index.01786ba7.js +30 -0
  164. package/docs/.island/dist/assets/index.6cef6f5f.js +4 -0
  165. package/docs/.island/dist/assets/index.cb118238.js +36 -0
  166. package/docs/.island/dist/assets/index.ccb6ce27.js +4 -0
  167. package/docs/.island/dist/assets/island_inject.69495876.js +1 -0
  168. package/docs/.island/dist/assets/island_inject.cdfb22d9.js +1 -0
  169. package/docs/.island/dist/assets/loading.8c9bb911.svg +1 -0
  170. package/docs/.island/dist/assets/modify-output-product.9e2394d7.js +100 -0
  171. package/docs/.island/dist/assets/modify-output-product.f363845a.js +100 -0
  172. package/docs/.island/dist/assets/moon.6b705924.svg +3 -0
  173. package/docs/.island/dist/assets/plugin.70a61997.js +42 -0
  174. package/docs/.island/dist/assets/plugin.80b12ee2.js +42 -0
  175. package/docs/.island/dist/assets/publish-your-project.7321c10e.js +164 -0
  176. package/docs/.island/dist/assets/publish-your-project.7326359f.js +166 -0
  177. package/docs/.island/dist/assets/right.89674cd7.svg +1 -0
  178. package/docs/.island/dist/assets/search.0aea6901.svg +1 -0
  179. package/docs/.island/dist/assets/search.11353245.js +222 -0
  180. package/docs/.island/dist/assets/search.a1b1cff3.js +3 -0
  181. package/docs/.island/dist/assets/search.f9025ced.js +3 -0
  182. package/docs/.island/dist/assets/style.09015a4b.css +1 -0
  183. package/docs/.island/dist/assets/style.2e5f7bc2.css +1970 -0
  184. package/docs/.island/dist/assets/sun.841dac10.svg +11 -0
  185. package/docs/.island/dist/assets/test-your-project.8ab2809e.js +190 -0
  186. package/docs/.island/dist/assets/test-your-project.9ae2a49e.js +190 -0
  187. package/docs/.island/dist/assets/test.2bfe276b.js +66 -0
  188. package/docs/.island/dist/assets/test.a2c00a3f.js +67 -0
  189. package/docs/.island/dist/assets/translator.b1077c44.svg +1 -0
  190. package/docs/.island/dist/assets/use-micro-generator.13c1a09f.js +60 -0
  191. package/docs/.island/dist/assets/use-micro-generator.dfe877f6.js +60 -0
  192. package/docs/.island/dist/assets/using-storybook.adb88cb8.js +260 -0
  193. package/docs/.island/dist/assets/using-storybook.b8e7dd04.js +260 -0
  194. package/docs/.island/dist/assets/welcome.94880043.js +13 -0
  195. package/docs/.island/dist/assets/welcome.b2140e7e.js +13 -0
  196. package/docs/.island/dist/assets/why-module-engineering-solution.bfe7981a.js +26 -0
  197. package/docs/.island/dist/assets/why-module-engineering-solution.e31cd19f.js +26 -0
  198. package/docs/.island/dist/chunk-COLCRJ2V.js +1 -0
  199. package/docs/.island/dist/chunk-K5FMOYDC.js +10 -0
  200. package/docs/.island/dist/chunk-WE42KMYS.js +26 -0
  201. package/docs/.island/dist/client-entry.js +3 -0
  202. package/docs/.island/dist/en/api/build-config.html +344 -0
  203. package/docs/.island/dist/en/api/build-preset.html +82 -0
  204. package/docs/.island/dist/en/api/design-system.html +155 -0
  205. package/docs/.island/dist/en/api/dev.html +45 -0
  206. package/docs/.island/dist/en/api/index.html +41 -0
  207. package/docs/.island/dist/en/api/plugin.html +48 -0
  208. package/docs/.island/dist/en/api/test.html +58 -0
  209. package/docs/.island/dist/en/guide/advance/asset.html +68 -0
  210. package/docs/.island/dist/en/guide/advance/build-umd.html +72 -0
  211. package/docs/.island/dist/en/guide/advance/copy.html +82 -0
  212. package/docs/.island/dist/en/guide/advance/extension.html +41 -0
  213. package/docs/.island/dist/en/guide/advance/external-dependency.html +71 -0
  214. package/docs/.island/dist/en/guide/advance/in-depth-about-build.html +148 -0
  215. package/docs/.island/dist/en/guide/advance/in-depth-about-dev-command.html +51 -0
  216. package/docs/.island/dist/en/guide/basic/before-getting-started.html +127 -0
  217. package/docs/.island/dist/en/guide/basic/command-preview.html +100 -0
  218. package/docs/.island/dist/en/guide/basic/modify-output-product.html +140 -0
  219. package/docs/.island/dist/en/guide/basic/publish-your-project.html +91 -0
  220. package/docs/.island/dist/en/guide/basic/test-your-project.html +72 -0
  221. package/docs/.island/dist/en/guide/basic/use-micro-generator.html +65 -0
  222. package/docs/.island/dist/en/guide/basic/using-storybook.html +113 -0
  223. package/docs/.island/dist/en/guide/intro/getting-started.html +76 -0
  224. package/docs/.island/dist/en/guide/intro/welcome.html +53 -0
  225. package/docs/.island/dist/en/guide/intro/why-module-engineering-solution.html +49 -0
  226. package/docs/.island/dist/en/index.html +42 -0
  227. package/docs/.island/dist/react-dom.js +1 -0
  228. package/docs/.island/dist/react-dom_client.js +1 -0
  229. package/docs/.island/dist/react.js +1 -0
  230. package/docs/.island/dist/react_jsx-runtime.js +10 -0
  231. package/docs/.island/dist/ssr-manifest.json +57 -0
  232. package/docs/.island/dist/test-result.png +0 -0
  233. package/docs/.island/dist/why-module-solution.png +0 -0
  234. package/docs/.island/dist/zh/api/build-config.html +361 -0
  235. package/docs/.island/dist/zh/api/build-preset.html +82 -0
  236. package/docs/.island/dist/zh/api/design-system.html +149 -0
  237. package/docs/.island/dist/zh/api/dev.html +46 -0
  238. package/docs/.island/dist/zh/api/index.html +41 -0
  239. package/docs/.island/dist/zh/api/plugin.html +48 -0
  240. package/docs/.island/dist/zh/api/test.html +59 -0
  241. package/docs/.island/dist/zh/guide/advance/asset.html +68 -0
  242. package/docs/.island/dist/zh/guide/advance/build-umd.html +72 -0
  243. package/docs/.island/dist/zh/guide/advance/copy.html +82 -0
  244. package/docs/.island/dist/zh/guide/advance/extension.html +127 -0
  245. package/docs/.island/dist/zh/guide/advance/external-dependency.html +71 -0
  246. package/docs/.island/dist/zh/guide/advance/in-depth-about-build.html +148 -0
  247. package/docs/.island/dist/zh/guide/advance/in-depth-about-dev-command.html +53 -0
  248. package/docs/.island/dist/zh/guide/basic/before-getting-started.html +127 -0
  249. package/docs/.island/dist/zh/guide/basic/command-preview.html +100 -0
  250. package/docs/.island/dist/zh/guide/basic/modify-output-product.html +140 -0
  251. package/docs/.island/dist/zh/guide/basic/publish-your-project.html +92 -0
  252. package/docs/.island/dist/zh/guide/basic/test-your-project.html +72 -0
  253. package/docs/.island/dist/zh/guide/basic/use-micro-generator.html +65 -0
  254. package/docs/.island/dist/zh/guide/basic/using-storybook.html +114 -0
  255. package/docs/.island/dist/zh/guide/intro/getting-started.html +79 -0
  256. package/docs/.island/dist/zh/guide/intro/welcome.html +53 -0
  257. package/docs/.island/dist/zh/guide/intro/why-module-engineering-solution.html +49 -0
  258. package/docs/.island/dist/zh/index.html +42 -0
  259. package/docs/en/api/config/build-config.md +15 -5
  260. package/docs/en/api/config/build-preset.md +3 -2
  261. package/docs/en/api/config/design-system.md +623 -615
  262. package/docs/en/api/config/plugins.md +2 -2
  263. package/docs/en/api/config/testing.md +2 -1
  264. package/docs/en/guide/advance/asset.mdx +0 -4
  265. package/docs/en/guide/advance/build-umd.mdx +3 -3
  266. package/docs/en/guide/advance/in-depth-about-build.md +14 -13
  267. package/docs/en/guide/advance/in-depth-about-dev-command.md +2 -1
  268. package/docs/en/guide/basic/before-getting-started.md +16 -9
  269. package/docs/en/guide/basic/command-preview.md +2 -2
  270. package/docs/en/guide/basic/modify-output-product.md +65 -69
  271. package/docs/en/guide/basic/test-your-project.mdx +1 -3
  272. package/docs/en/guide/basic/use-micro-generator.md +4 -0
  273. package/docs/en/guide/basic/using-storybook.mdx +1 -13
  274. package/docs/en/guide/intro/getting-started.md +16 -7
  275. package/docs/en/plugins/guide/getting-started.mdx +2 -2
  276. package/docs/en/plugins/guide/plugin-object.mdx +5 -5
  277. package/docs/zh/api/config/build-config.md +18 -6
  278. package/docs/zh/api/config/build-preset.md +3 -2
  279. package/docs/zh/api/config/design-system.md +2 -2
  280. package/docs/zh/api/config/plugins.md +2 -2
  281. package/docs/zh/api/config/testing.md +3 -2
  282. package/docs/zh/guide/advance/asset.mdx +0 -5
  283. package/docs/zh/guide/advance/build-umd.mdx +3 -3
  284. package/docs/zh/guide/advance/in-depth-about-build.md +14 -13
  285. package/docs/zh/guide/advance/in-depth-about-dev-command.md +2 -1
  286. package/docs/zh/guide/basic/before-getting-started.md +15 -8
  287. package/docs/zh/guide/basic/command-preview.md +2 -2
  288. package/docs/zh/guide/basic/modify-output-product.md +17 -19
  289. package/docs/zh/guide/basic/test-your-project.mdx +1 -3
  290. package/docs/zh/guide/basic/use-micro-generator.md +5 -1
  291. package/docs/zh/guide/basic/using-storybook.mdx +9 -19
  292. package/docs/zh/guide/intro/getting-started.md +17 -11
  293. package/docs/zh/plugins/guide/getting-started.mdx +2 -2
  294. package/docs/zh/plugins/guide/plugin-object.mdx +5 -5
  295. package/modern.config.ts +11 -5
  296. package/package.json +4 -4
  297. package/doc_build/static/js/async/api_.js.map +0 -1
  298. package/doc_build/static/js/async/en_.js.map +0 -1
  299. package/doc_build/static/js/async/en_api_.js.map +0 -1
  300. package/doc_build/static/js/async/guide_advance_in-depth-about-dev-command.js.map +0 -1
  301. package/doc_build/static/js/async/guide_basic_before-getting-started.js.map +0 -1
  302. package/doc_build/static/js/async/guide_basic_command-preview.js.map +0 -1
  303. package/doc_build/static/js/async/guide_basic_modify-output-product.js.map +0 -1
  304. package/doc_build/static/js/async/guide_basic_use-micro-generator.js.map +0 -1
  305. package/doc_build/static/js/async/guide_intro_welcome.js.map +0 -1
  306. package/doc_build/static/js/async/guide_intro_why-module-engineering-solution.js.map +0 -1
  307. package/doc_build/static/js/async/index.js.map +0 -1
  308. package/doc_build/static/js/async/plugins_official-list_overview.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAIA;AACA;AAGA;AAoCA;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAVA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;AAAA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AANA;AAOA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4FA;AArFA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAMA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAIA;AACA;AACA;AACA;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtQA;AAIA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA","sources":["webpack://@modern-js/module-tools-docs/../../packages/cli/doc-core/src/theme-default/components/Search/logic/search.ts","webpack://@modern-js/module-tools-docs/../../packages/cli/doc-core/src/theme-default/components/Search/logic/util.ts"],"sourcesContent":["import FlexSearch from 'flexsearch';\nimport type { Index as SearchIndex, CreateOptions } from 'flexsearch';\nimport { uniqBy } from 'lodash-es';\nimport { SearchOptions } from '..';\nimport { backTrackHeaders, normalizeContent } from './util';\nimport { normalizeHref, withBase } from '@/runtime';\nimport { PageBasicInfo } from '@/shared/types';\n\nconst THRESHOLD_CONTENT_LENGTH = 100;\n\nexport interface Header {\n id: string;\n text: string;\n depth: number;\n}\n\ninterface PageDataForSearch {\n title: string;\n content: string;\n path: string;\n rawHeaders: Header[];\n headers: string[];\n headerStr: string;\n}\n\ninterface CommonMatchResult {\n title: string;\n header: string;\n link: string;\n}\n\ninterface HeaderMatch extends CommonMatchResult {\n type: 'header';\n headerHighlightIndex: number;\n}\n\ninterface ContentMatch extends CommonMatchResult {\n type: 'content';\n statement: string;\n statementHighlightIndex: number;\n}\n\nexport type MatchResultItem = HeaderMatch | ContentMatch;\n\nconst cjkRegex =\n /[\\u3131-\\u314e|\\u314f-\\u3163|\\uac00-\\ud7a3]|[\\u4E00-\\u9FCC\\u3400-\\u4DB5\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\ud840-\\ud868][\\udc00-\\udfff]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|[\\ud86a-\\ud86c][\\udc00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d]|[\\u3041-\\u3096]|[\\u30A1-\\u30FA]/giu;\n\nconst WHITE_PAGE_TYPES = ['home', 'api', '404', 'custom'];\n\nexport class PageSearcher {\n #index?: SearchIndex<PageDataForSearch[]>;\n\n #cjkIndex?: SearchIndex<PageDataForSearch[]>;\n\n #headerToIdMap: Record<string, string> = {};\n\n #langRoutePrefix: string;\n\n #defaultLang: string;\n\n #langs: string[] = [];\n\n #pages: PageBasicInfo[];\n\n constructor(options: SearchOptions & { pages: PageBasicInfo[] }) {\n this.#langRoutePrefix = options.langRoutePrefix;\n this.#defaultLang = options.defaultLang;\n this.#langs = options.langs;\n this.#pages = options.pages;\n }\n\n async init(options: CreateOptions = {}) {\n const pages = this.#pages.filter(page => {\n // Hit the default language route\n if (this.#langRoutePrefix === '/') {\n const otherLangsWithBase = this.#langs\n .filter(lang => lang !== this.#defaultLang)\n .map(lang => withBase(lang));\n return !otherLangsWithBase.every(otherLangWithBase =>\n page.routePath.startsWith(otherLangWithBase),\n );\n } else {\n return page.routePath.startsWith(withBase(this.#langRoutePrefix));\n }\n });\n const pagesForSearch: PageDataForSearch[] = pages\n .filter(page => {\n return !WHITE_PAGE_TYPES.includes(\n (page.frontmatter?.pageType as string) || '',\n );\n })\n .map(page => {\n const headers = (page.toc || []).map((header: Header) => header.text);\n return {\n title:\n page.title ??\n page.frontmatter?.title ??\n page.routePath.split('/').pop() ??\n '',\n headers,\n headerStr: headers.join(' '),\n content: normalizeContent(page.content || ''),\n path: page.routePath,\n rawHeaders: page.toc || [],\n };\n });\n this.#headerToIdMap = pages.reduce((acc: any, page: any) => {\n (page.toc || []).forEach((header: Header) => {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n acc[page.routePath + header.text] = header.id;\n });\n return acc;\n }, {} as Record<string, string>);\n\n const createOptions: CreateOptions = {\n encode: 'simple',\n tokenize: 'forward',\n split: /\\W+/,\n async: true,\n doc: {\n id: 'path',\n field: ['title', 'headerStr', 'content'],\n },\n ...options,\n };\n // Init Search Indexes\n // English Index\n this.#index = FlexSearch.create(createOptions);\n // CJK: Chinese, Japanese, Korean\n this.#cjkIndex = FlexSearch.create({\n ...createOptions,\n encode: false,\n tokenize(str: string) {\n const cjkWords: string[] = [];\n let m: RegExpExecArray | null = null;\n do {\n m = cjkRegex.exec(str);\n if (m) {\n cjkWords.push(m[0]);\n }\n } while (m);\n return cjkWords;\n },\n });\n this.#index.add(pagesForSearch);\n this.#cjkIndex.add(pagesForSearch);\n }\n\n async match(query: string, limit = 7) {\n const searchResult = await Promise.all([\n this.#index?.search({\n query,\n limit,\n }),\n this.#cjkIndex?.search(query, limit),\n ]);\n const flattenSearchResult = searchResult\n .flat(2)\n .filter(Boolean) as PageDataForSearch[];\n const matchedResult: MatchResultItem[] = [];\n flattenSearchResult.forEach(item => {\n // Header match\n const matchedHeader = this.#matchHeader(item, query, matchedResult);\n // If we have matched header, we don't need to match content\n // Because the header is already in the content\n if (matchedHeader) {\n return;\n }\n // Content match\n this.#matchContent(item, query, matchedResult);\n });\n const res = uniqBy(matchedResult, 'link');\n return res;\n }\n\n #matchHeader(\n item: PageDataForSearch,\n query: string,\n matchedResult: MatchResultItem[],\n ): boolean {\n const { headers, rawHeaders } = item;\n for (const [index, header] of headers.entries()) {\n if (header.includes(query)) {\n const headerAnchor = this.#headerToIdMap[item.path + header];\n // Find the all parent headers (except h1)\n // So we can show the full path of the header in search result\n // e.g. header2 > header3 > header4\n const headerGroup = backTrackHeaders(rawHeaders, index);\n const headerStr = headerGroup.map(item => item.text).join(' > ');\n matchedResult.push({\n type: 'header',\n title: item.title,\n header: headerStr,\n headerHighlightIndex: headerStr.indexOf(query),\n link: `${normalizeHref(item.path)}#${headerAnchor}`,\n });\n return true;\n }\n }\n return false;\n }\n\n #matchContent(\n item: PageDataForSearch,\n query: string,\n matchedResult: MatchResultItem[],\n ) {\n const { content, headers } = item;\n const queryIndex = content.indexOf(query);\n if (queryIndex === -1) {\n return;\n }\n const headersIndex = headers.map(h => content.indexOf(h));\n const currentHeaderIndex = headersIndex.findIndex((hIndex, position) => {\n if (position < headers.length - 1) {\n const next = headersIndex[position + 1];\n if (hIndex <= queryIndex && next >= queryIndex) {\n return true;\n }\n } else {\n return hIndex < queryIndex;\n }\n return false;\n });\n const currentHeader = headers[currentHeaderIndex] ?? item.title;\n\n let statementStartIndex = content.slice(0, queryIndex).lastIndexOf('\\n');\n statementStartIndex = statementStartIndex === -1 ? 0 : statementStartIndex;\n const statementEndIndex = content.indexOf('\\n', queryIndex + query.length);\n let statement = content.slice(statementStartIndex, statementEndIndex);\n if (statement.length > THRESHOLD_CONTENT_LENGTH) {\n statement = this.#normalizeStatement(statement, query);\n }\n matchedResult.push({\n type: 'content',\n title: item.title,\n header: currentHeader,\n statement,\n statementHighlightIndex: statement.indexOf(query),\n link: `${normalizeHref(item.path)}#${currentHeader}`,\n });\n }\n\n #normalizeStatement(statement: string, query: string) {\n // If statement is too long, we will only show 120 characters\n const queryIndex = statement.indexOf(query);\n const maxPrefixOrSuffix = Math.floor(\n (THRESHOLD_CONTENT_LENGTH - query.length) / 2,\n );\n let prefix = statement.slice(0, queryIndex);\n if (prefix.length > maxPrefixOrSuffix) {\n prefix = `...${statement.slice(\n queryIndex - maxPrefixOrSuffix + 3,\n queryIndex,\n )}`;\n }\n let suffix = statement.slice(queryIndex + query.length);\n if (suffix.length > maxPrefixOrSuffix) {\n suffix = `${statement.slice(\n queryIndex + query.length,\n queryIndex + maxPrefixOrSuffix - 3,\n )}...`;\n }\n return prefix + query + suffix;\n }\n}\n","import type { Header } from './search';\n\nexport function backTrackHeaders(\n rawHeaders: Header[],\n index: number,\n): Header[] {\n let current = rawHeaders[index];\n let currentIndex = index;\n\n const res: Header[] = [current];\n while (current && current.depth > 2) {\n // If there is no parent header, we will stop the loop\n let matchedParent = false;\n for (let i = currentIndex - 1; i >= 0; i--) {\n const header = rawHeaders[i];\n if (header.depth > 1 && header.depth === current.depth - 1) {\n current = header;\n currentIndex = i;\n res.unshift(current);\n matchedParent = true;\n break;\n }\n }\n if (!matchedParent) {\n break;\n }\n }\n return res;\n}\n\nexport function normalizeContent(content: string) {\n // Do not match the content in code block\n // Do not match the frontmatter\n return content.replace(/```(.*?)```/gms, '').replace(/---(.*?)---/gms, '');\n}\n"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js","mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAIA;AACA;AAEA;AAEA;AAoCA;AAGA;AAEA;AACA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AAGA;AACA;AACA;AACA;AAEA;AAEA;AAGA;AAEA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAGA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAKA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAKA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AACA;AACA;AAIA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA","sources":["webpack://@modern-js/module-tools-docs/../../packages/cli/doc-core/src/theme-default/components/Search/logic/search.ts"],"sourcesContent":["import FlexSearch from 'flexsearch';\nimport type { Index as SearchIndex, CreateOptions } from 'flexsearch';\nimport { uniqBy } from 'lodash-es';\nimport { SearchOptions } from '..';\nimport { backTrackHeaders, normalizeContent } from './util';\nimport { normalizeHref, withBase } from '@/runtime';\nimport { PageBasicInfo } from '@/shared/types';\nimport { SEARCH_INDEX_JSON } from '@/shared/utils';\n\nconst THRESHOLD_CONTENT_LENGTH = 100;\n\nexport interface Header {\n id: string;\n text: string;\n depth: number;\n}\n\ninterface PageDataForSearch {\n title: string;\n content: string;\n path: string;\n rawHeaders: Header[];\n headers: string[];\n headerStr: string;\n}\n\ninterface CommonMatchResult {\n title: string;\n header: string;\n link: string;\n}\n\ninterface HeaderMatch extends CommonMatchResult {\n type: 'header';\n headerHighlightIndex: number;\n}\n\ninterface ContentMatch extends CommonMatchResult {\n type: 'content';\n statement: string;\n statementHighlightIndex: number;\n}\n\nexport type MatchResultItem = HeaderMatch | ContentMatch;\n\nconst cjkRegex =\n /[\\u3131-\\u314e|\\u314f-\\u3163|\\uac00-\\ud7a3]|[\\u4E00-\\u9FCC\\u3400-\\u4DB5\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\ud840-\\ud868][\\udc00-\\udfff]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|[\\ud86a-\\ud86c][\\udc00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d]|[\\u3041-\\u3096]|[\\u30A1-\\u30FA]/giu;\n\nconst WHITE_PAGE_TYPES = ['home', 'api', '404', 'custom'];\n\nexport class PageSearcher {\n #index?: SearchIndex<PageDataForSearch[]>;\n\n #cjkIndex?: SearchIndex<PageDataForSearch[]>;\n\n #headerToIdMap: Record<string, string> = {};\n\n #langRoutePrefix: string;\n\n #defaultLang: string;\n\n #langs: string[] = [];\n\n #pages?: PageBasicInfo[];\n\n constructor(options: SearchOptions) {\n this.#langRoutePrefix = options.langRoutePrefix;\n this.#defaultLang = options.defaultLang;\n this.#langs = options.langs;\n }\n\n async init(options: CreateOptions = {}) {\n this.#pages = await this.#getPages();\n const pages = this.#pages.filter(page => {\n // Hit the default language route\n if (this.#langRoutePrefix === '/') {\n const otherLangsWithBase = this.#langs\n .filter(lang => lang !== this.#defaultLang)\n .map(lang => withBase(lang));\n return !otherLangsWithBase.every(otherLangWithBase =>\n page.routePath.startsWith(otherLangWithBase),\n );\n } else {\n return page.routePath.startsWith(withBase(this.#langRoutePrefix));\n }\n });\n\n const pagesForSearch: PageDataForSearch[] = pages\n .filter(page => {\n return !WHITE_PAGE_TYPES.includes(\n (page.frontmatter?.pageType as string) || '',\n );\n })\n .map(page => {\n const headers = (page.toc || []).map((header: Header) => header.text);\n return {\n title:\n page.title ??\n page.frontmatter?.title ??\n page.routePath.split('/').pop() ??\n '',\n headers,\n headerStr: headers.join(' '),\n content: normalizeContent(page.content || ''),\n path: page.routePath,\n rawHeaders: page.toc || [],\n };\n });\n this.#headerToIdMap = pages.reduce((acc: any, page: any) => {\n (page.toc || []).forEach((header: Header) => {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n acc[page.routePath + header.text] = header.id;\n });\n return acc;\n }, {} as Record<string, string>);\n\n const createOptions: CreateOptions = {\n encode: 'simple',\n tokenize: 'forward',\n split: /\\W+/,\n async: true,\n doc: {\n id: 'path',\n field: ['title', 'headerStr', 'content'],\n },\n ...options,\n };\n // Init Search Indexes\n // English Index\n this.#index = FlexSearch.create(createOptions);\n // CJK: Chinese, Japanese, Korean\n this.#cjkIndex = FlexSearch.create({\n ...createOptions,\n encode: false,\n tokenize(str: string) {\n const cjkWords: string[] = [];\n let m: RegExpExecArray | null = null;\n do {\n m = cjkRegex.exec(str);\n if (m) {\n cjkWords.push(m[0]);\n }\n } while (m);\n return cjkWords;\n },\n });\n this.#index.add(pagesForSearch);\n this.#cjkIndex.add(pagesForSearch);\n }\n\n async match(query: string, limit = 7) {\n const searchResult = await Promise.all([\n this.#index?.search({\n query,\n limit,\n }),\n this.#cjkIndex?.search(query, limit),\n ]);\n const flattenSearchResult = searchResult\n .flat(2)\n .filter(Boolean) as PageDataForSearch[];\n const matchedResult: MatchResultItem[] = [];\n flattenSearchResult.forEach(item => {\n // Header match\n const matchedHeader = this.#matchHeader(item, query, matchedResult);\n // If we have matched header, we don't need to match content\n // Because the header is already in the content\n if (matchedHeader) {\n return;\n }\n // Content match\n this.#matchContent(item, query, matchedResult);\n });\n const res = uniqBy(matchedResult, 'link');\n return res;\n }\n\n async #getPages(): Promise<PageBasicInfo[]> {\n const result = await fetch(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error __ASSET_PREFIX__ is injected by webpack\n `${__ASSET_PREFIX__}/static/${SEARCH_INDEX_JSON}`,\n );\n return result.json();\n }\n\n #matchHeader(\n item: PageDataForSearch,\n query: string,\n matchedResult: MatchResultItem[],\n ): boolean {\n const { headers, rawHeaders } = item;\n for (const [index, header] of headers.entries()) {\n if (header.includes(query)) {\n const headerAnchor = this.#headerToIdMap[item.path + header];\n // Find the all parent headers (except h1)\n // So we can show the full path of the header in search result\n // e.g. header2 > header3 > header4\n const headerGroup = backTrackHeaders(rawHeaders, index);\n const headerStr = headerGroup.map(item => item.text).join(' > ');\n matchedResult.push({\n type: 'header',\n title: item.title,\n header: headerStr,\n headerHighlightIndex: headerStr.indexOf(query),\n link: `${normalizeHref(item.path)}#${headerAnchor}`,\n });\n return true;\n }\n }\n return false;\n }\n\n #matchContent(\n item: PageDataForSearch,\n query: string,\n matchedResult: MatchResultItem[],\n ) {\n const { content, headers } = item;\n const queryIndex = content.indexOf(query);\n if (queryIndex === -1) {\n return;\n }\n const headersIndex = headers.map(h => content.indexOf(h));\n const currentHeaderIndex = headersIndex.findIndex((hIndex, position) => {\n if (position < headers.length - 1) {\n const next = headersIndex[position + 1];\n if (hIndex <= queryIndex && next >= queryIndex) {\n return true;\n }\n } else {\n return hIndex < queryIndex;\n }\n return false;\n });\n const currentHeader = headers[currentHeaderIndex] ?? item.title;\n\n let statementStartIndex = content.slice(0, queryIndex).lastIndexOf('\\n');\n statementStartIndex = statementStartIndex === -1 ? 0 : statementStartIndex;\n const statementEndIndex = content.indexOf('\\n', queryIndex + query.length);\n let statement = content.slice(statementStartIndex, statementEndIndex);\n if (statement.length > THRESHOLD_CONTENT_LENGTH) {\n statement = this.#normalizeStatement(statement, query);\n }\n matchedResult.push({\n type: 'content',\n title: item.title,\n header: currentHeader,\n statement,\n statementHighlightIndex: statement.indexOf(query),\n link: `${normalizeHref(item.path)}#${currentHeader}`,\n });\n }\n\n #normalizeStatement(statement: string, query: string) {\n // If statement is too long, we will only show 120 characters\n const queryIndex = statement.indexOf(query);\n const maxPrefixOrSuffix = Math.floor(\n (THRESHOLD_CONTENT_LENGTH - query.length) / 2,\n );\n let prefix = statement.slice(0, queryIndex);\n if (prefix.length > maxPrefixOrSuffix) {\n prefix = `...${statement.slice(\n queryIndex - maxPrefixOrSuffix + 3,\n queryIndex,\n )}`;\n }\n let suffix = statement.slice(queryIndex + query.length);\n if (suffix.length > maxPrefixOrSuffix) {\n suffix = `${statement.slice(\n queryIndex + query.length,\n queryIndex + maxPrefixOrSuffix - 3,\n )}...`;\n }\n return prefix + query + suffix;\n }\n}\n"],"names":[],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- (self["webpackChunk_modern_js_module_tools_docs"] = self["webpackChunk_modern_js_module_tools_docs"] || []).push([["api_config_build-config"],{
2
+ (self["webpackChunk_modern_js_module_tools_docs"] = self["webpackChunk_modern_js_module_tools_docs"] || []).push([["zh_api_config_build-config"],{
3
3
 
4
4
  /***/ "./docs/zh/api/config/build-config.md":
5
5
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
@@ -18,11 +18,11 @@ __webpack_require__.r(__webpack_exports__);
18
18
  /*@jsxRuntime automatic @jsxImportSource react*/
19
19
 
20
20
 
21
- var CH = {
21
+ const CH = {
22
22
  annotations: _code_hike_mdx_dist_components_cjs_js__WEBPACK_IMPORTED_MODULE_1__.annotations,
23
23
  Code: _code_hike_mdx_dist_components_cjs_js__WEBPACK_IMPORTED_MODULE_1__.Code
24
24
  };
25
- var chCodeConfig = {
25
+ const chCodeConfig = {
26
26
  "staticMediaQuery": "not screen, (max-width: 768px)",
27
27
  "theme": {
28
28
  "name": "nord",
@@ -1185,12 +1185,12 @@ var chCodeConfig = {
1185
1185
  "autoImport": true,
1186
1186
  "showCopyButton": true,
1187
1187
  "skipLanguages": [],
1188
- "filepath": "/Users/bytedance/modern.js/website/module-tools/docs/zh/api/config/build-config.md"
1188
+ "filepath": "/Users/targeral/github/targeral-modern-js/website/module-tools/docs/zh/api/config/build-config.md"
1189
1189
  };
1190
- var frontmatter = {
1190
+ const frontmatter = {
1191
1191
  "sidebar_position": 1
1192
1192
  };
1193
- var toc = [{
1193
+ const toc = [{
1194
1194
  "id": "alias",
1195
1195
  "text": "alias",
1196
1196
  "depth": 2
@@ -1286,6 +1286,10 @@ var toc = [{
1286
1286
  "id": "jsx",
1287
1287
  "text": "jsx",
1288
1288
  "depth": 2
1289
+ }, {
1290
+ "id": "metafile",
1291
+ "text": "metafile",
1292
+ "depth": 2
1289
1293
  }, {
1290
1294
  "id": "minify",
1291
1295
  "text": "minify",
@@ -1379,10 +1383,10 @@ var toc = [{
1379
1383
  "text": "umdModuleName",
1380
1384
  "depth": 2
1381
1385
  }];
1382
- var title = "BuildConfig";
1383
- var content = "\"---\\nsidebar_position: 1\\n---\\n\\n# BuildConfig\\n\\n本章节描述了 Module tools 关于构建的所有配置\\n\\n## alias\\n\\n- 类型:`Record<string, string | string[]> | Function`\\n- 默认值:`{'@': 'src',}`\\n\\n:::tip\\n对于 TypeScript 项目,只需要在 `tsconfig.json` 中配置 [compilerOptions.paths](https://www.typescriptlang.org/tsconfig#paths), Module tools 会自动识别 `tsconfig.json` 里的别名,因此不需要额外配置 `alias` 字段。\\n:::\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n alias: {\\n '@common': './src/common',\\n },\\n },\\n});\\n```\\n\\n以上配置完成后,如果在代码中引用 `@common/Foo.tsx`, 则会映射到 `<root>/src/common/Foo.tsx` 路径上。\\n\\n`alias` 的值定义为函数时,可以接受预设的 alias 对象,并对其进行修改。\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n alias: alias => {\\n alias['@common'] = './src/common';\\n },\\n },\\n});\\n```\\n\\n也可以在函数中返回一个新对象作为最终结果,新对象会覆盖预设的 alias 对象。\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n alias: alias => {\\n return {\\n '@common': './src/common',\\n };\\n },\\n },\\n});\\n```\\n\\n## asset\\n\\n### path\\n\\n静态资源输出路径,会基于 [outDir](/api/config/build-config#outDir) 进行输出。\\n\\n- 类型: `string`\\n- 默认值: `assets`\\n\\n### limit\\n\\n打包时自动内联静态资源的阈值,小于 10KB 的资源会被自动内联进 bundle 产物中。\\n\\n- 类型: `number`\\n- 默认值: `10 * 1024`\\n\\n### publicPath\\n\\n打包时给未内联资源的 CDN 前缀。\\n\\n- 类型: `string`\\n- 默认值: `undefined`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n asset: {\\n publicPath: 'https://xxx/',\\n },\\n },\\n});\\n```\\n\\n此时,所有静态资源都会添加 `https://xxx/` 前缀。\\n\\n### svgr\\n\\n打包时将 svg 作为一个 React 组件处理,options 参考 [svgr](https://react-svgr.com/docs/options/),另外还支持了 `include` 和 `exclude` 两个配置项,用于匹配需要处理的 svg 文件。\\n\\n- 类型: `boolean | Object`\\n- 默认值: `false`\\n\\n:::tip\\n开启svgr后,仍然使用default export导出svg,所以你只能导入默认值。\\n```js index.ts\\n// true\\nimport logo from './logo.svg';\\n\\n// false\\nimport { ReactComponent } from './logo.svg';\\n```\\n:::\\n\\n#### include\\n\\n设定匹配的 svg 文件\\n\\n- 类型: `string | RegExp | (string | RegExp)[]`\\n- 默认值: `/\\\\.svg$/`\\n\\n#### exclude\\n\\n设定不匹配的 svg 文件\\n\\n- 类型: `string | RegExp | (string | RegExp)[]`\\n- 默认值: `undefined`\\n\\n## autoExternal\\n\\n自动外置项目的 `\\\"dependencies\\\"` 和 `\\\"peerDependencies\\\"`,不会将其打包到最终的 bundle 产物中。\\n\\n- 类型: `boolean | Object`\\n- 默认值: `true`\\n\\n### dependencies\\n\\n是否需要外置项目的 `\\\"dependencies\\\"` 依赖。\\n\\n- 类型: `boolean`\\n- 默认值: `true`\\n\\n### peerDependencies\\n\\n是否需要外置项目的 `\\\"peerDependencies\\\"` 依赖。\\n\\n- 类型: `boolean`\\n- 默认值: `true`\\n\\n## buildType\\n\\n构建类型,`bundle` 会打包你的代码,`bundleless` 只做代码的转换。\\n\\n- 类型: `'bundle' | 'bundleless'`\\n- 默认值: `bundle`\\n\\n## copy\\n\\n将文件或目录拷贝到指定位置。\\n\\n- 类型: `Object`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n copy: {\\n patterns: [{ from: './src/assets', to: '' }],\\n },\\n },\\n});\\n```\\n\\n### `copy.patterns`\\n\\n- 类型: `CopyPattern[]`\\n- 默认值: `[]`\\n\\n```ts\\nexport interface CopyPattern {\\n from: string;\\n to?: string;\\n context?: string;\\n globOptions?: globby.GlobbyOptions;\\n}\\n```\\n\\n### copy.options\\n\\n- 类型: `Object`\\n- 默认值: `{ concurrency: 100, enableCopySync: false }`\\n\\n```ts\\ntype Options = {\\n concurrency?: number;\\n enableCopySync?: boolean;\\n};\\n```\\n\\n- `concurrency`: 指定并行执行多少个复制任务。\\n- `enableCopySync`: 使用 [`fs.copySync`](https://github.com/jprichardson/node-fs-extra/blob/master/lib/copy/copy-sync.js),默认情况下 [`fs.copy`](https://github.com/jprichardson/node-fs-extra/blob/master/lib/copy/copy.js)。\\n\\n## define\\n\\n定义全局变量,会被注入到代码中\\n\\n- 类型: `Record<string, string>`\\n- 默认值: `{}`\\n\\n由于 `define` 功能是由全局文本替换实现的,所以需要保证全局变量值为字符串,更为安全的做法是将每个全局变量的值转化为字符串,使用 `JSON.stringify` 进行转换,如下所示:\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n define: {\\n VERSION: JSON.stringify('1.0'),\\n },\\n },\\n});\\n```\\n\\n:::tip\\n为了防止全局替换替换过度,建议使用时遵循以下两个原则:\\n\\n- 全局常量使用大写\\n- 自定义全局常量前缀后缀,确保独一无二\\n :::\\n\\n## dts\\n\\n类型文件生成的相关配置,默认会生成。\\n\\n- 类型: `false | Object`\\n- 默认值: `{}`\\n\\n### tsconfigPath\\n\\nTypeScript 配置文件的路径。\\n\\n- 类型: `string`\\n- 默认值: `./tsconfig.json`\\n\\n### distPath\\n\\n类型文件的输出路径,基于 [outDir](/api/config/build-config#outDir) 进行输出。\\n\\n- 类型: `string`\\n- 默认值: `./types`\\n\\n### only\\n\\n只生成类型文件,不生成 js 文件。\\n\\n- 类型: `boolean`\\n- 默认值: `false`\\n\\n## externals\\n\\n配置外部依赖,不会被打包到最终的 bundle 中。\\n\\n- 类型: `(string | RegExp)[]`\\n- 默认值: `[]`\\n\\n## format\\n\\njs 产物输出的格式,其中 `iife` 和 `umd` 只能在 `buildType` 为 `bundle` 时生效。\\n\\n- 类型: `'esm' | 'cjs' | 'iife' | 'umd'`\\n- 默认值: `cjs`\\n\\n## input\\n\\n指定构建的入口文件,数组形式可以指定目录。\\n\\n- 类型: `string[] | Record<string, string>`\\n- 默认值: `bundle` 模式下默认为 `['src/index.ts']`,`bundleless` 模式下默认为 `['src']`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n input: ['src/index.ts', 'src/index2.ts'],\\n },\\n});\\n```\\n\\n## jsx\\n\\n指定 jsx 的编译方式, 默认支持 React17 以上,自动注入 jsx 运行时代码。\\n\\n- 类型: `automatic | classic`\\n- 默认值: `automatic`\\n\\n## minify\\n\\n使用 esbuild 或者 terser 压缩代码,也可以传入 [terserOptions](https://github.com/terser/terser#minify-options)。\\n\\n- 类型: `'terser' | 'esbuild' | false | Object`\\n- 默认值: `false`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n minify: {\\n compress: {\\n drop_console: true,\\n },\\n },\\n },\\n});\\n```\\n\\n## outDir\\n\\n指定构建的输出目录\\n\\n- 类型: `string`\\n- 默认值: `dist`\\n\\n## platform\\n\\n默认生成用于 Node.js 环境下的代码,你也可以指定为 `browser`,会生成用于浏览器环境的代码。\\n\\n- 类型: `'browser' | 'node'`\\n- 默认值: `node`\\n\\n## sourceDir\\n\\n指定构建的源码目录,默认为 `src`,用于在 `bundleless` 构建时基于源码目录结构生成对应的产物目录。\\n\\n- 类型: `string`\\n- 默认值: `src`\\n\\n## sourceMap\\n\\n控制 sourceMap 如何生成。\\n\\n- 类型: `boolean | 'inline' | 'external'`\\n- 默认值: `false`\\n\\n## splitting\\n\\n是否开启代码分割。\\n\\n- 类型: `boolean`\\n- 默认值: `false`\\n\\n## style\\n\\n配置样式相关的配置。\\n\\n### less\\n\\nless 相关配置。\\n\\n#### lessOptions\\n\\n详细配置参考 [less](https://less.bootcss.com/usage/#less-options)。\\n\\n- 类型: `Object`\\n- 默认值: `{ javascriptEnabled: true }`\\n\\n#### additionalData\\n\\n在入口文件起始添加 `Less` 代码。\\n\\n- 类型: `string`\\n- 默认值: `undefined`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n less: {\\n additionalData: `@base-color: #c6538c;`,\\n },\\n },\\n },\\n});\\n```\\n\\n#### implementation\\n\\n配置 `Less` 使用的实现库,在不指定的情况下,使用的内置版本是 `4.1.3`。\\n\\n- 类型: `string | Object`\\n- 默认值: `undefined`\\n\\n`Object` 类型时,指定 `Less` 的实现库\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n less: {\\n implementation: require('less'),\\n },\\n },\\n },\\n});\\n```\\n\\n`string` 类型时,指定 `Less` 的实现库的路径\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n less: {\\n implementation: require.resolve('less'),\\n },\\n },\\n },\\n});\\n```\\n\\n### sass\\n\\nSass 相关配置。\\n\\n#### sassOptions\\n\\n详细配置参考 [node-sass](https://github.com/sass/node-sass#options)\\n\\n- 类型: `Object`\\n- 默认值: `{}`\\n\\n#### additionalData\\n\\n在入口文件起始添加 `Sass` 代码。\\n\\n- 类型: `string | Function`\\n- 默认值: `undefined`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n sass: {\\n additionalData: `$base-color: #c6538c;\\n $border-dark: rgba($base-color, 0.88);`,\\n },\\n },\\n },\\n});\\n```\\n\\n#### implementation\\n\\n配置 `Sass` 使用的实现库,在不指定的情况下,使用的内置版本是 `1.5.4`。\\n\\n- 类型: `string | Object`\\n- 默认值: `undefined`\\n\\n`Object` 类型时,指定 `Sass` 的实现库\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n sass: {\\n implementation: require('sass'),\\n },\\n },\\n },\\n});\\n```\\n\\n`string` 类型时,指定 `Sass` 的实现库的路径\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n sass: {\\n implementation: require.resolve('sass'),\\n },\\n },\\n },\\n});\\n```\\n\\n### postcss\\n\\n- plugins\\n- processOptions\\n\\n详细配置查看 [postcss](https://github.com/postcss/postcss#options)。\\n\\n### inject\\n\\n配置打包模式下是否将 style 插入到 js 中\\n\\n- 类型: `boolean`\\n- 默认值: `false`\\n\\n### autoModules\\n\\n根据文件名自动启用 CSS Modules。\\n\\n- 类型: `boolean | RegExp`\\n- 默认值: `true `\\n\\n`true` : 为以 `.module.css` `.module.less` `.module.scss` `.module.sass` 文件名结尾的样式文件启用 CSS Modules。\\n\\n`false` : 禁用 CSS Modules.\\n\\n`RegExp` : 为匹配正则条件的所有文件启用 CSS Modules.\\n\\n### modules\\n\\nCSS Modules 配置\\n\\n- 类型: `Object`\\n- 默认值: `{}`\\n\\n一个常用的配置是 `localsConvention`,它可以改变 CSS Modules 的类名生成规则。\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n modules: {\\n localsConvention: 'camelCaseOnly',\\n },\\n },\\n },\\n});\\n```\\n\\n对于以下样式:\\n\\n```css\\n.box-title {\\n color: red;\\n}\\n```\\n\\n你可以使用 `styles.boxTitle` 来访问\\n\\n详细配置查看 [postcss-modules](https://github.com/madyankin/postcss-modules#usage)\\n\\n### tailwindcss\\n\\nTailwind CSS 相关配置。\\n\\n- 类型: `Object | Function`\\n- 默认值: `见下方配置详情`\\n\\n<details>\\n <summary>Tailwind CSS 配置详情</summary>\\n\\n```js modern.config.ts\\nconst tailwind = {\\n content: [\\n './config/html/**/*.html',\\n './config/html/**/*.ejs',\\n './config/html/**/*.hbs',\\n './src/**/*.js',\\n './src/**/*.jsx',\\n './src/**/*.ts',\\n './src/**/*.tsx',\\n './storybook/**/*',\\n ],\\n};\\n```\\n\\n值为 `Object` 类型时,与默认配置通过 `Object.assign` 合并。\\n\\n值为 `Function` 类型时,函数返回的对象与默认配置通过 `Object.assign` 合并。\\n\\n不允许出现 `theme` 属性,否则会构建失败, 使用 [`designSystem`](/api/config/design-system) 作为 `Tailwind CSS Theme` 配置。\\n\\n其他的使用方式和 Tailwind CSS 一致: [快速传送门](https://tailwindcss.com/docs/configuration)。\\n\\n## target\\n\\n指定构建的目标环境\\n\\n- 类型: `'es5' | 'es6' | 'es2015' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'esnext'`\\n- 默认值: `'es2015'`\\n\\n## umdGlobals\\n\\n指定 UMD 产物外部导入的全局变量。\\n\\n- 类型: `Record<string, string>`\\n- 默认值: `{}`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n umdGlobals: {\\n react: 'React',\\n 'react-dom': 'ReactDOM',\\n },\\n },\\n});\\n```\\n\\n此时,`react` 和 `react-dom` 会被看做是外部导入的全局变量,不会被打包进 UMD 产物中,而是通过 `global.React` 和 `global.ReactDOM` 的方式进行访问。\\n\\n## umdModuleName\\n\\n指定 UMD 产物的模块名。\\n\\n- 类型: `string` | `Function`\\n- 默认值: `name => name`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n format: 'umd',\\n umdModuleName: 'myLib',\\n },\\n});\\n```\\n\\n此时 UMD 产物会去挂载到 `global.myLib` 上。\\n:::tip\\n\\n- 需要遵守 UMD 规范,UMD 产物的模块名不能和全局变量名冲突\\n- 模块名不能含有 `-`,`@`,`/` 等特殊字符\\n :::\\n\\n同时函数形式可以接收一个参数,为当前打包文件的输出路径\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n format: 'umd',\\n umdModuleName: path => {\\n if (path.includes('index')) {\\n return 'myLib';\\n } else {\\n return 'myLib2';\\n }\\n },\\n },\\n});\\n```\\n\"";
1386
+ const title = `BuildConfig`;
1387
+ const content = "\"---\\nsidebar_position: 1\\n---\\n\\n# BuildConfig\\n\\n本章节描述了 Module Tools 关于构建的所有配置\\n\\n## alias\\n\\n- 类型:`Record<string, string> | Function`\\n- 默认值:`{'@': 'src',}`\\n\\n:::tip\\n对于 TypeScript 项目,只需要在 `tsconfig.json` 中配置 [compilerOptions.paths](https://www.typescriptlang.org/tsconfig#paths), Module Tools 会自动识别 `tsconfig.json` 里的别名,因此不需要额外配置 `alias` 字段。\\n:::\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n alias: {\\n '@common': './src/common',\\n },\\n },\\n});\\n```\\n\\n以上配置完成后,如果在代码中引用 `@common/Foo.tsx`, 则会映射到 `<root>/src/common/Foo.tsx` 路径上。\\n\\n`alias` 的值定义为函数时,可以接受预设的 alias 对象,并对其进行修改。\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n alias: alias => {\\n alias['@common'] = './src/common';\\n },\\n },\\n});\\n```\\n\\n也可以在函数中返回一个新对象作为最终结果,新对象会覆盖预设的 alias 对象。\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n alias: alias => {\\n return {\\n '@common': './src/common',\\n };\\n },\\n },\\n});\\n```\\n\\n## asset\\n\\n### path\\n\\n静态资源输出路径,会基于 [outDir](/api/config/build-config#outDir) 进行输出。\\n\\n- 类型: `string`\\n- 默认值: `assets`\\n\\n### limit\\n\\n打包时自动内联静态资源的阈值,小于 10KB 的资源会被自动内联进 bundle 产物中。\\n\\n- 类型: `number`\\n- 默认值: `10 * 1024`\\n\\n### publicPath\\n\\n打包时给未内联资源的 CDN 前缀。\\n\\n- 类型: `string`\\n- 默认值: `undefined`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n asset: {\\n publicPath: 'https://xxx/',\\n },\\n },\\n});\\n```\\n\\n此时,所有静态资源都会添加 `https://xxx/` 前缀。\\n\\n### svgr\\n\\n打包时将 svg 作为一个 React 组件处理,options 参考 [svgr](https://react-svgr.com/docs/options/),另外还支持了 `include` 和 `exclude` 两个配置项,用于匹配需要处理的 svg 文件。\\n\\n- 类型: `boolean | Object`\\n- 默认值: `false`\\n\\n:::tip\\n开启 svgr 后,仍然使用 default export 导出 svg,所以你只能导入默认值。\\n\\n```js index.ts\\n// true\\nimport logo from './logo.svg';\\n\\n// false\\nimport { ReactComponent } from './logo.svg';\\n```\\n\\n:::\\n\\n#### include\\n\\n设定匹配的 svg 文件\\n\\n- 类型: `string | RegExp | (string | RegExp)[]`\\n- 默认值: `/\\\\.svg$/`\\n\\n#### exclude\\n\\n设定不匹配的 svg 文件\\n\\n- 类型: `string | RegExp | (string | RegExp)[]`\\n- 默认值: `undefined`\\n\\n## autoExternal\\n\\n自动外置项目的 `\\\"dependencies\\\"` 和 `\\\"peerDependencies\\\"`,不会将其打包到最终的 bundle 产物中。\\n\\n- 类型: `boolean | Object`\\n- 默认值: `true`\\n\\n### dependencies\\n\\n是否需要外置项目的 `\\\"dependencies\\\"` 依赖。\\n\\n- 类型: `boolean`\\n- 默认值: `true`\\n\\n### peerDependencies\\n\\n是否需要外置项目的 `\\\"peerDependencies\\\"` 依赖。\\n\\n- 类型: `boolean`\\n- 默认值: `true`\\n\\n## buildType\\n\\n构建类型,`bundle` 会打包你的代码,`bundleless` 只做代码的转换。\\n\\n- 类型: `'bundle' | 'bundleless'`\\n- 默认值: `bundle`\\n\\n## copy\\n\\n将文件或目录拷贝到指定位置。\\n\\n- 类型: `Object`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n copy: {\\n patterns: [{ from: './src/assets', to: '' }],\\n },\\n },\\n});\\n```\\n\\n### `copy.patterns`\\n\\n- 类型: `CopyPattern[]`\\n- 默认值: `[]`\\n\\n```ts\\nexport interface CopyPattern {\\n from: string;\\n to?: string;\\n context?: string;\\n globOptions?: globby.GlobbyOptions;\\n}\\n```\\n\\n### copy.options\\n\\n- 类型: `Object`\\n- 默认值: `{ concurrency: 100, enableCopySync: false }`\\n\\n```ts\\ntype Options = {\\n concurrency?: number;\\n enableCopySync?: boolean;\\n};\\n```\\n\\n- `concurrency`: 指定并行执行多少个复制任务。\\n- `enableCopySync`: 使用 [`fs.copySync`](https://github.com/jprichardson/node-fs-extra/blob/master/lib/copy/copy-sync.js),默认情况下 [`fs.copy`](https://github.com/jprichardson/node-fs-extra/blob/master/lib/copy/copy.js)。\\n\\n## define\\n\\n定义全局变量,会被注入到代码中\\n\\n- 类型: `Record<string, string>`\\n- 默认值: `{}`\\n\\n由于 `define` 功能是由全局文本替换实现的,所以需要保证全局变量值为字符串,更为安全的做法是将每个全局变量的值转化为字符串,使用 `JSON.stringify` 进行转换,如下所示:\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n define: {\\n VERSION: JSON.stringify('1.0'),\\n },\\n },\\n});\\n```\\n\\n:::tip\\n为了防止全局替换替换过度,建议使用时遵循以下两个原则:\\n\\n- 全局常量使用大写\\n- 自定义全局常量前缀后缀,确保独一无二\\n\\n:::\\n\\n## dts\\n\\n类型文件生成的相关配置,默认会生成。\\n\\n- 类型: `false | Object`\\n- 默认值: `{}`\\n\\n### tsconfigPath\\n\\nTypeScript 配置文件的路径。\\n\\n- 类型: `string`\\n- 默认值: `./tsconfig.json`\\n\\n### distPath\\n\\n类型文件的输出路径,基于 [outDir](/api/config/build-config#outDir) 进行输出。\\n\\n- 类型: `string`\\n- 默认值: `./types`\\n\\n### only\\n\\n只生成类型文件,不生成 js 文件。\\n\\n- 类型: `boolean`\\n- 默认值: `false`\\n\\n## externals\\n\\n配置外部依赖,不会被打包到最终的 bundle 中。\\n\\n- 类型: `(string | RegExp)[]`\\n- 默认值: `[]`\\n\\n## format\\n\\njs 产物输出的格式,其中 `iife` 和 `umd` 只能在 `buildType` 为 `bundle` 时生效。\\n\\n- 类型: `'esm' | 'cjs' | 'iife' | 'umd'`\\n- 默认值: `cjs`\\n\\n## input\\n\\n指定构建的入口文件,数组形式可以指定目录。\\n\\n- 类型: `string[] | Record<string, string>`\\n- 默认值: `bundle` 模式下默认为 `['src/index.ts']`,`bundleless` 模式下默认为 `['src']`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n input: ['src/index.ts', 'src/index2.ts'],\\n },\\n});\\n```\\n\\n## jsx\\n\\n指定 jsx 的编译方式, 默认支持 React17 以上,自动注入 jsx 运行时代码。\\n\\n- 类型: `automatic | classic`\\n- 默认值: `automatic`\\n\\n## metafile\\n\\nesbuild 以 JSON 格式生成有关构建的一些元数据,可以通过例如 [bundle-buddy](https://bundle-buddy.com/esbuild) 的工具可视化\\n\\n- type: `boolean`\\n- default: `false`\\n\\n## minify\\n\\n使用 esbuild 或者 terser 压缩代码,也可以传入 [terserOptions](https://github.com/terser/terser#minify-options)。\\n\\n- 类型: `'terser' | 'esbuild' | false | Object`\\n- 默认值: `false`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n minify: {\\n compress: {\\n drop_console: true,\\n },\\n },\\n },\\n});\\n```\\n\\n## outDir\\n\\n指定构建的输出目录\\n\\n- 类型: `string`\\n- 默认值: `dist`\\n\\n## platform\\n\\n默认生成用于 Node.js 环境下的代码,你也可以指定为 `browser`,会生成用于浏览器环境的代码。\\n\\n- 类型: `'browser' | 'node'`\\n- 默认值: `node`\\n\\n## sourceDir\\n\\n指定构建的源码目录,默认为 `src`,用于在 `bundleless` 构建时基于源码目录结构生成对应的产物目录。\\n\\n- 类型: `string`\\n- 默认值: `src`\\n\\n## sourceMap\\n\\n控制 sourceMap 如何生成。\\n\\n- 类型: `boolean | 'inline' | 'external'`\\n- 默认值: `false`\\n\\n## splitting\\n\\n是否开启代码分割。\\n\\n- 类型: `boolean`\\n- 默认值: `false`\\n\\n## style\\n\\n配置样式相关的配置。\\n\\n### less\\n\\nless 相关配置。\\n\\n#### lessOptions\\n\\n详细配置参考 [less](https://less.bootcss.com/usage/#less-options)。\\n\\n- 类型: `Object`\\n- 默认值: `{ javascriptEnabled: true }`\\n\\n#### additionalData\\n\\n在入口文件起始添加 `Less` 代码。\\n\\n- 类型: `string`\\n- 默认值: `undefined`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n less: {\\n additionalData: `@base-color: #c6538c;`,\\n },\\n },\\n },\\n});\\n```\\n\\n#### implementation\\n\\n配置 `Less` 使用的实现库,在不指定的情况下,使用的内置版本是 `4.1.3`。\\n\\n- 类型: `string | Object`\\n- 默认值: `undefined`\\n\\n`Object` 类型时,指定 `Less` 的实现库\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n less: {\\n implementation: require('less'),\\n },\\n },\\n },\\n});\\n```\\n\\n`string` 类型时,指定 `Less` 的实现库的路径\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n less: {\\n implementation: require.resolve('less'),\\n },\\n },\\n },\\n});\\n```\\n\\n### sass\\n\\nSass 相关配置。\\n\\n#### sassOptions\\n\\n详细配置参考 [node-sass](https://github.com/sass/node-sass#options)\\n\\n- 类型: `Object`\\n- 默认值: `{}`\\n\\n#### additionalData\\n\\n在入口文件起始添加 `Sass` 代码。\\n\\n- 类型: `string | Function`\\n- 默认值: `undefined`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n sass: {\\n additionalData: `$base-color: #c6538c;\\n $border-dark: rgba($base-color, 0.88);`,\\n },\\n },\\n },\\n});\\n```\\n\\n#### implementation\\n\\n配置 `Sass` 使用的实现库,在不指定的情况下,使用的内置版本是 `1.5.4`。\\n\\n- 类型: `string | Object`\\n- 默认值: `undefined`\\n\\n`Object` 类型时,指定 `Sass` 的实现库\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n sass: {\\n implementation: require('sass'),\\n },\\n },\\n },\\n});\\n```\\n\\n`string` 类型时,指定 `Sass` 的实现库的路径\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n sass: {\\n implementation: require.resolve('sass'),\\n },\\n },\\n },\\n});\\n```\\n\\n### postcss\\n\\n- plugins\\n- processOptions\\n\\n详细配置查看 [postcss](https://github.com/postcss/postcss#options)。\\n\\n### inject\\n\\n配置打包模式下是否将 style 插入到 js 中\\n\\n- 类型: `boolean`\\n- 默认值: `false`\\n\\n### autoModules\\n\\n根据文件名自动启用 CSS Modules。\\n\\n- 类型: `boolean | RegExp`\\n- 默认值: `true`\\n\\n`true` : 为以 `.module.css` `.module.less` `.module.scss` `.module.sass` 文件名结尾的样式文件启用 CSS Modules。\\n\\n`false` : 禁用 CSS Modules.\\n\\n`RegExp` : 为匹配正则条件的所有文件启用 CSS Modules.\\n\\n### modules\\n\\nCSS Modules 配置\\n\\n- 类型: `Object`\\n- 默认值: `{}`\\n\\n一个常用的配置是 `localsConvention`,它可以改变 CSS Modules 的类名生成规则。\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n style: {\\n modules: {\\n localsConvention: 'camelCaseOnly',\\n },\\n },\\n },\\n});\\n```\\n\\n对于以下样式:\\n\\n```css\\n.box-title {\\n color: red;\\n}\\n```\\n\\n你可以使用 `styles.boxTitle` 来访问\\n\\n详细配置查看 [postcss-modules](https://github.com/madyankin/postcss-modules#usage)\\n\\n### tailwindcss\\n\\nTailwind CSS 相关配置。\\n\\n- 类型: `Object | Function`\\n- 默认值: `见下方配置详情`\\n\\n<details>\\n <summary>Tailwind CSS 配置详情</summary>\\n\\n```js modern.config.ts\\nconst tailwind = {\\n content: [\\n './config/html/**/*.html',\\n './config/html/**/*.ejs',\\n './config/html/**/*.hbs',\\n './src/**/*.js',\\n './src/**/*.jsx',\\n './src/**/*.ts',\\n './src/**/*.tsx',\\n './storybook/**/*',\\n ],\\n};\\n```\\n\\n值为 `Object` 类型时,与默认配置通过 `Object.assign` 合并。\\n\\n值为 `Function` 类型时,函数返回的对象与默认配置通过 `Object.assign` 合并。\\n\\n不允许出现 `theme` 属性,否则会构建失败, 使用 [`designSystem`](/api/config/design-system) 作为 `Tailwind CSS Theme` 配置。\\n\\n其他的使用方式和 Tailwind CSS 一致: [快速传送门](https://tailwindcss.com/docs/configuration)。\\n\\n## target\\n\\n指定构建的目标环境\\n\\n- 类型: `'es5' | 'es6' | 'es2015' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'esnext'`\\n- 默认值: `'es6'`\\n\\n## umdGlobals\\n\\n指定 UMD 产物外部导入的全局变量。\\n\\n- 类型: `Record<string, string>`\\n- 默认值: `{}`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n umdGlobals: {\\n react: 'React',\\n 'react-dom': 'ReactDOM',\\n },\\n },\\n});\\n```\\n\\n此时,`react` 和 `react-dom` 会被看做是外部导入的全局变量,不会被打包进 UMD 产物中,而是通过 `global.React` 和 `global.ReactDOM` 的方式进行访问。\\n\\n## umdModuleName\\n\\n指定 UMD 产物的模块名。\\n\\n- 类型: `string` | `Function`\\n- 默认值: `name => name`\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n format: 'umd',\\n umdModuleName: 'myLib',\\n },\\n});\\n```\\n\\n此时 UMD 产物会去挂载到 `global.myLib` 上。\\n\\n:::tip\\n\\n- 需要遵守 UMD 规范,UMD 产物的模块名不能和全局变量名冲突\\n- 模块名不能含有 `-`,`@`,`/` 等特殊字符\\n\\n:::\\n\\n同时函数形式可以接收一个参数,为当前打包文件的输出路径\\n\\n```js modern.config.ts\\nimport { defineConfig } from '@modern-js/module-tools';\\n\\nexport default defineConfig({\\n buildConfig: {\\n format: 'umd',\\n umdModuleName: path => {\\n if (path.includes('index')) {\\n return 'myLib';\\n } else {\\n return 'myLib2';\\n }\\n },\\n },\\n});\\n```\\n\"";
1384
1388
  function _createMdxContent(props) {
1385
- var _components = Object.assign({
1389
+ const _components = Object.assign({
1386
1390
  h1: "h1",
1387
1391
  a: "a",
1388
1392
  p: "p",
@@ -1406,7 +1410,7 @@ function _createMdxContent(props) {
1406
1410
  children: "#"
1407
1411
  }), "BuildConfig"]
1408
1412
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.p, {
1409
- children: "本章节描述了 Module tools 关于构建的所有配置"
1413
+ children: "本章节描述了 Module Tools 关于构建的所有配置"
1410
1414
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.h2, {
1411
1415
  id: "alias",
1412
1416
  children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
@@ -1418,7 +1422,7 @@ function _createMdxContent(props) {
1418
1422
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
1419
1423
  children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.li, {
1420
1424
  children: ["类型:", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
1421
- children: "Record<string, string | string[]> | Function"
1425
+ children: "Record<string, string> | Function"
1422
1426
  })]
1423
1427
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.li, {
1424
1428
  children: ["默认值:", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
@@ -1431,18 +1435,20 @@ function _createMdxContent(props) {
1431
1435
  className: "modern-directive-title",
1432
1436
  children: "TIP"
1433
1437
  }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.div, {
1434
- className: "island-directive-content",
1438
+ className: "modern-directive-content",
1435
1439
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
1436
- children: ["对于 TypeScript 项目,只需要在 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
1440
+ children: ["\n对于 TypeScript 项目,只需要在 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
1437
1441
  children: "tsconfig.json"
1438
1442
  }), " 中配置 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
1439
1443
  href: "https://www.typescriptlang.org/tsconfig#paths",
1444
+ target: "_blank",
1445
+ rel: "nofollow",
1440
1446
  children: "compilerOptions.paths"
1441
- }), ", Module tools 会自动识别 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
1447
+ }), ", Module Tools 会自动识别 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
1442
1448
  children: "tsconfig.json"
1443
1449
  }), " 里的别名,因此不需要额外配置 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
1444
1450
  children: "alias"
1445
- }), " 字段。"]
1451
+ }), "字段。"]
1446
1452
  })
1447
1453
  })]
1448
1454
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(CH.Code, {
@@ -2715,7 +2721,7 @@ function _createMdxContent(props) {
2715
2721
  }), "path"]
2716
2722
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
2717
2723
  children: ["静态资源输出路径,会基于 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
2718
- href: "/api/config/build-config#outDir.html",
2724
+ href: "/module-tools/api/config/build-config.html#outdir",
2719
2725
  children: "outDir"
2720
2726
  }), " 进行输出。"]
2721
2727
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
@@ -3139,6 +3145,8 @@ function _createMdxContent(props) {
3139
3145
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
3140
3146
  children: ["打包时将 svg 作为一个 React 组件处理,options 参考 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
3141
3147
  href: "https://react-svgr.com/docs/options/",
3148
+ target: "_blank",
3149
+ rel: "nofollow",
3142
3150
  children: "svgr"
3143
3151
  }), ",另外还支持了 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
3144
3152
  children: "include"
@@ -3161,9 +3169,9 @@ function _createMdxContent(props) {
3161
3169
  className: "modern-directive-title",
3162
3170
  children: "TIP"
3163
3171
  }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.div, {
3164
- className: "island-directive-content",
3172
+ className: "modern-directive-content",
3165
3173
  children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.p, {
3166
- children: "开启svgr后,仍然使用default export导出svg,所以你只能导入默认值。"
3174
+ children: "\n开启 svgr 后,仍然使用 default export 导出 svg,所以你只能导入默认值。"
3167
3175
  }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(CH.Code, {
3168
3176
  codeConfig: chCodeConfig,
3169
3177
  northPanel: {
@@ -4419,11 +4427,15 @@ function _createMdxContent(props) {
4419
4427
  children: "enableCopySync"
4420
4428
  }), ": 使用 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4421
4429
  href: "https://github.com/jprichardson/node-fs-extra/blob/master/lib/copy/copy-sync.js",
4430
+ target: "_blank",
4431
+ rel: "nofollow",
4422
4432
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
4423
4433
  children: "fs.copySync"
4424
4434
  })
4425
4435
  }), ",默认情况下 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4426
4436
  href: "https://github.com/jprichardson/node-fs-extra/blob/master/lib/copy/copy.js",
4437
+ target: "_blank",
4438
+ rel: "nofollow",
4427
4439
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
4428
4440
  children: "fs.copy"
4429
4441
  })
@@ -4852,9 +4864,9 @@ function _createMdxContent(props) {
4852
4864
  className: "modern-directive-title",
4853
4865
  children: "TIP"
4854
4866
  }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.div, {
4855
- className: "island-directive-content",
4867
+ className: "modern-directive-content",
4856
4868
  children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.p, {
4857
- children: "为了防止全局替换替换过度,建议使用时遵循以下两个原则:"
4869
+ children: "\n为了防止全局替换替换过度,建议使用时遵循以下两个原则:"
4858
4870
  }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
4859
4871
  children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
4860
4872
  children: "全局常量使用大写"
@@ -4913,7 +4925,7 @@ function _createMdxContent(props) {
4913
4925
  }), "distPath"]
4914
4926
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
4915
4927
  children: ["类型文件的输出路径,基于 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4916
- href: "/api/config/build-config#outDir.html",
4928
+ href: "/module-tools/api/config/build-config.html#outdir-1",
4917
4929
  children: "outDir"
4918
4930
  }), " 进行输出。"]
4919
4931
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
@@ -5385,6 +5397,31 @@ function _createMdxContent(props) {
5385
5397
  children: "automatic"
5386
5398
  })]
5387
5399
  }), "\n"]
5400
+ }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.h2, {
5401
+ id: "metafile",
5402
+ children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
5403
+ className: "header-anchor",
5404
+ "aria-hidden": "true",
5405
+ href: "#metafile",
5406
+ children: "#"
5407
+ }), "metafile"]
5408
+ }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
5409
+ children: ["esbuild 以 JSON 格式生成有关构建的一些元数据,可以通过例如 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
5410
+ href: "https://bundle-buddy.com/esbuild",
5411
+ target: "_blank",
5412
+ rel: "nofollow",
5413
+ children: "bundle-buddy"
5414
+ }), " 的工具可视化"]
5415
+ }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
5416
+ children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.li, {
5417
+ children: ["type: ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
5418
+ children: "boolean"
5419
+ })]
5420
+ }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.li, {
5421
+ children: ["default: ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
5422
+ children: "false"
5423
+ })]
5424
+ }), "\n"]
5388
5425
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.h2, {
5389
5426
  id: "minify",
5390
5427
  children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
@@ -5396,6 +5433,8 @@ function _createMdxContent(props) {
5396
5433
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
5397
5434
  children: ["使用 esbuild 或者 terser 压缩代码,也可以传入 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
5398
5435
  href: "https://github.com/terser/terser#minify-options",
5436
+ target: "_blank",
5437
+ rel: "nofollow",
5399
5438
  children: "terserOptions"
5400
5439
  }), "。"]
5401
5440
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
@@ -5940,6 +5979,8 @@ function _createMdxContent(props) {
5940
5979
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
5941
5980
  children: ["详细配置参考 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
5942
5981
  href: "https://less.bootcss.com/usage/#less-options",
5982
+ target: "_blank",
5983
+ rel: "nofollow",
5943
5984
  children: "less"
5944
5985
  }), "。"]
5945
5986
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
@@ -7314,6 +7355,8 @@ function _createMdxContent(props) {
7314
7355
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
7315
7356
  children: ["详细配置参考 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
7316
7357
  href: "https://github.com/sass/node-sass#options",
7358
+ target: "_blank",
7359
+ rel: "nofollow",
7317
7360
  children: "node-sass"
7318
7361
  })]
7319
7362
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
@@ -8692,7 +8735,9 @@ function _createMdxContent(props) {
8692
8735
  }), "\n"]
8693
8736
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
8694
8737
  children: ["详细配置查看 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
8695
- href: "https://github.com/postcss/postcss#options",
8738
+ href: "https://github.com/postcss/postcss#options-1",
8739
+ target: "_blank",
8740
+ rel: "nofollow",
8696
8741
  children: "postcss"
8697
8742
  }), "。"]
8698
8743
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.h3, {
@@ -8732,7 +8777,7 @@ function _createMdxContent(props) {
8732
8777
  })]
8733
8778
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.li, {
8734
8779
  children: ["默认值: ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
8735
- children: "true "
8780
+ children: "true"
8736
8781
  })]
8737
8782
  }), "\n"]
8738
8783
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
@@ -9289,6 +9334,8 @@ function _createMdxContent(props) {
9289
9334
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
9290
9335
  children: ["详细配置查看 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
9291
9336
  href: "https://github.com/madyankin/postcss-modules#usage",
9337
+ target: "_blank",
9338
+ rel: "nofollow",
9292
9339
  children: "postcss-modules"
9293
9340
  })]
9294
9341
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.h3, {
@@ -9752,7 +9799,7 @@ function _createMdxContent(props) {
9752
9799
  children: ["不允许出现 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
9753
9800
  children: "theme"
9754
9801
  }), " 属性,否则会构建失败, 使用 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
9755
- href: "/api/config/design-system.html",
9802
+ href: "/module-tools/api/config/design-system.html",
9756
9803
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
9757
9804
  children: "designSystem"
9758
9805
  })
@@ -9762,6 +9809,8 @@ function _createMdxContent(props) {
9762
9809
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
9763
9810
  children: ["其他的使用方式和 Tailwind CSS 一致: ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
9764
9811
  href: "https://tailwindcss.com/docs/configuration",
9812
+ target: "_blank",
9813
+ rel: "nofollow",
9765
9814
  children: "快速传送门"
9766
9815
  }), "。"]
9767
9816
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.h2, {
@@ -9781,7 +9830,7 @@ function _createMdxContent(props) {
9781
9830
  })]
9782
9831
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.li, {
9783
9832
  children: ["默认值: ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
9784
- children: "'es2015'"
9833
+ children: "'es6'"
9785
9834
  })]
9786
9835
  }), "\n"]
9787
9836
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.h2, {
@@ -10635,7 +10684,7 @@ function _createMdxContent(props) {
10635
10684
  className: "modern-directive-title",
10636
10685
  children: "TIP"
10637
10686
  }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.div, {
10638
- className: "island-directive-content",
10687
+ className: "modern-directive-content",
10639
10688
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
10640
10689
  children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
10641
10690
  children: "需要遵守 UMD 规范,UMD 产物的模块名不能和全局变量名冲突"
@@ -11287,23 +11336,19 @@ function _createMdxContent(props) {
11287
11336
  })]
11288
11337
  });
11289
11338
  }
11290
- function MDXContent() {
11291
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11292
- var _ref = props.components || {},
11293
- MDXLayout = _ref.wrapper;
11339
+ function MDXContent(props = {}) {
11340
+ const {wrapper: MDXLayout} = props.components || ({});
11294
11341
  return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MDXLayout, Object.assign({}, props, {
11295
11342
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_createMdxContent, props)
11296
11343
  })) : _createMdxContent(props);
11297
11344
  }
11298
- _c = MDXContent;
11299
11345
  /* harmony default export */ __webpack_exports__["default"] = (MDXContent);
11300
11346
  function _missingMdxReference(id, component, place) {
11301
- throw new Error("Expected " + (component ? "component" : "object") + " `" + id + "` to be defined: you likely forgot to import, pass, or provide it." + (place ? "\nIt’s referenced in your code at `" + place + "` in `/Users/bytedance/modern.js/website/module-tools/docs/zh/api/config/build-config.md`" : ""));
11347
+ throw new Error("Expected " + (component ? "component" : "object") + " `" + id + "` to be defined: you likely forgot to import, pass, or provide it." + (place ? "\nIt’s referenced in your code at `" + place + "` in `/Users/targeral/github/targeral-modern-js/website/module-tools/docs/zh/api/config/build-config.md`" : ""));
11302
11348
  }
11303
- var _c;
11304
- __webpack_require__.$Refresh$.register(_c, "MDXContent");
11349
+
11305
11350
 
11306
11351
  /***/ })
11307
11352
 
11308
11353
  }]);
11309
- //# sourceMappingURL=api_config_build-config.js.map
11354
+ //# sourceMappingURL=zh_api_config_build-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/async/api_config_build-config.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;;;;;;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;;AAGA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;AAAA;;AAAA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;AAAA;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;;;AACA;;;;;AAAA;;;;;AAAA;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;AAEA;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;;AAEA;;AACA;;;;;;;;;;;AAGA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;AAAA;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;;;;;;AAEA;;AAEA;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAEA;;;;;;;;AAEA;;AAEA;;AAAA;;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;AAEA;;AACA;;;AAEA;;AAAA;AAAA;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;AAEA;;AAAA;;AAAA;;AAAA;;AAAA;;;;AAEA;;;;AAEA;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;AAAA;;AAEA;;AAAA;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAEA;;AAAA;;;;;AAAA;;AAAA;;AAEA;;AAAA;AAAA;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;AAAA;;AAAA;;AAAA;;AAAA;;;;;;;;AAEA;;AAEA;;;AAEA;;AAAA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAAA;;;;;;;;;;AAGA;;AACA;;AAAA;;AAAA;;AAAA;;;;;AAGA","sources":["webpack://@modern-js/module-tools-docs/./docs/zh/api/config/build-config.md"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/async/zh_api_config_build-config.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;;;;;;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;;;;AAGA;;;;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;AAAA;;AAAA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;AAAA;;;;;;;;AAEA;;AAEA;;;;AAAA;AAAA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;;;AACA;;;;;;;AAAA;;;;;;;AAAA;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;AAEA;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA;;AACA;;;;;;;;;;;AAIA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;AAAA;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;;;;;;AAEA;;AAEA;;;;;;;;AAEA;;AAEA;;;;AAAA;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAEA;;;;;;;;AAEA;;AAEA;;;;AAAA;;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;AAAA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA;;AAEA;;AAAA;;AAAA;;;AAEA;;;;AACA;;;;;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;AAEA;;AACA;;;AAEA;;;;AAAA;AAAA;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;AAEA;;AAAA;;AAAA;;AAAA;;AAAA;;;;AAEA;;;;AAEA;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;AAAA;;AAEA;;;;AAAA;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;;AAEA;;AAAA;;;;;AAAA;;AAAA;;AAEA;;;;AAAA;AAAA;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;AAEA;;AAEA;;;AAEA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;AAAA;;AAAA;;AAAA;;AAAA;;;;;;;;AAEA;;AAEA;;;AAEA;;AAAA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAAA;;;;;;;;;;AAIA;;AACA;;AAAA;;AAAA;;AAAA;;;;;AAIA","sources":["webpack://@modern-js/module-tools-docs/./docs/zh/api/config/build-config.md"],"names":[],"sourceRoot":""}