@modern-js/module-tools-docs 2.0.0-beta.4 → 2.0.2

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 (342) hide show
  1. package/.eslintrc.js +13 -0
  2. package/doc_build/html/main/index.html +16 -0
  3. package/doc_build/route.json +10 -0
  4. package/doc_build/static/css/main.css +3370 -0
  5. package/doc_build/static/css/main.css.map +1 -0
  6. 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 +85 -0
  7. 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 -0
  8. package/doc_build/static/js/async/api_.js +56 -0
  9. package/doc_build/static/js/async/api_.js.map +1 -0
  10. package/doc_build/static/js/async/api_config_build-config.js +11309 -0
  11. package/doc_build/static/js/async/api_config_build-config.js.map +1 -0
  12. package/doc_build/static/js/async/api_config_build-preset.js +7849 -0
  13. package/doc_build/static/js/async/api_config_build-preset.js.map +1 -0
  14. package/doc_build/static/js/async/api_config_design-system.js +48708 -0
  15. package/doc_build/static/js/async/api_config_design-system.js.map +1 -0
  16. package/doc_build/static/js/async/api_config_plugins.js +1492 -0
  17. package/doc_build/static/js/async/api_config_plugins.js.map +1 -0
  18. package/doc_build/static/js/async/api_config_testing.js +2130 -0
  19. package/doc_build/static/js/async/api_config_testing.js.map +1 -0
  20. package/doc_build/static/js/async/api_plugin-api_plugin-hooks.js +14394 -0
  21. package/doc_build/static/js/async/api_plugin-api_plugin-hooks.js.map +1 -0
  22. package/doc_build/static/js/async/en_.js +85 -0
  23. package/doc_build/static/js/async/en_.js.map +1 -0
  24. package/doc_build/static/js/async/en_api_.js +55 -0
  25. package/doc_build/static/js/async/en_api_.js.map +1 -0
  26. package/doc_build/static/js/async/en_api_config_build-config.js +8363 -0
  27. package/doc_build/static/js/async/en_api_config_build-config.js.map +1 -0
  28. package/doc_build/static/js/async/en_api_config_build-preset.js +7845 -0
  29. package/doc_build/static/js/async/en_api_config_build-preset.js.map +1 -0
  30. package/doc_build/static/js/async/en_api_config_design-system.js +16345 -0
  31. package/doc_build/static/js/async/en_api_config_design-system.js.map +1 -0
  32. package/doc_build/static/js/async/en_api_config_plugins.js +1492 -0
  33. package/doc_build/static/js/async/en_api_config_plugins.js.map +1 -0
  34. package/doc_build/static/js/async/en_api_config_testing.js +2137 -0
  35. package/doc_build/static/js/async/en_api_config_testing.js.map +1 -0
  36. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js +14362 -0
  37. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js.map +1 -0
  38. package/doc_build/static/js/async/en_guide_advance_asset.js +3997 -0
  39. package/doc_build/static/js/async/en_guide_advance_asset.js.map +1 -0
  40. package/doc_build/static/js/async/en_guide_advance_build-umd.js +9861 -0
  41. package/doc_build/static/js/async/en_guide_advance_build-umd.js.map +1 -0
  42. package/doc_build/static/js/async/en_guide_advance_copy.js +6539 -0
  43. package/doc_build/static/js/async/en_guide_advance_copy.js.map +1 -0
  44. package/doc_build/static/js/async/en_guide_advance_external-dependency.js +3810 -0
  45. package/doc_build/static/js/async/en_guide_advance_external-dependency.js.map +1 -0
  46. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js +5046 -0
  47. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js.map +1 -0
  48. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js +150 -0
  49. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js.map +1 -0
  50. package/doc_build/static/js/async/en_guide_advance_theme-config.js +2484 -0
  51. package/doc_build/static/js/async/en_guide_advance_theme-config.js.map +1 -0
  52. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js +3671 -0
  53. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js.map +1 -0
  54. package/doc_build/static/js/async/en_guide_basic_command-preview.js +3961 -0
  55. package/doc_build/static/js/async/en_guide_basic_command-preview.js.map +1 -0
  56. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js +2970 -0
  57. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js.map +1 -0
  58. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js +2182 -0
  59. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js.map +1 -0
  60. package/doc_build/static/js/async/en_guide_basic_test-your-project.js +3892 -0
  61. package/doc_build/static/js/async/en_guide_basic_test-your-project.js.map +1 -0
  62. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js +168 -0
  63. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js.map +1 -0
  64. package/doc_build/static/js/async/en_guide_basic_using-storybook.js +4762 -0
  65. package/doc_build/static/js/async/en_guide_basic_using-storybook.js.map +1 -0
  66. package/doc_build/static/js/async/en_guide_best-practices_components.js +21388 -0
  67. package/doc_build/static/js/async/en_guide_best-practices_components.js.map +1 -0
  68. package/doc_build/static/js/async/en_guide_intro_getting-started.js +1906 -0
  69. package/doc_build/static/js/async/en_guide_intro_getting-started.js.map +1 -0
  70. package/doc_build/static/js/async/en_guide_intro_welcome.js +148 -0
  71. package/doc_build/static/js/async/en_guide_intro_welcome.js.map +1 -0
  72. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js +92 -0
  73. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js.map +1 -0
  74. package/doc_build/static/js/async/en_plugins_guide_getting-started.js +2560 -0
  75. package/doc_build/static/js/async/en_plugins_guide_getting-started.js.map +1 -0
  76. package/doc_build/static/js/async/en_plugins_guide_plugin-object.js +4177 -0
  77. package/doc_build/static/js/async/en_plugins_guide_plugin-object.js.map +1 -0
  78. package/doc_build/static/js/async/en_plugins_guide_setup-function.js +3819 -0
  79. package/doc_build/static/js/async/en_plugins_guide_setup-function.js.map +1 -0
  80. package/doc_build/static/js/async/en_plugins_official-list_overview.js +70 -0
  81. package/doc_build/static/js/async/en_plugins_official-list_overview.js.map +1 -0
  82. package/doc_build/static/js/async/guide_advance_asset.js +3997 -0
  83. package/doc_build/static/js/async/guide_advance_asset.js.map +1 -0
  84. package/doc_build/static/js/async/guide_advance_build-umd.js +9863 -0
  85. package/doc_build/static/js/async/guide_advance_build-umd.js.map +1 -0
  86. package/doc_build/static/js/async/guide_advance_copy.js +6539 -0
  87. package/doc_build/static/js/async/guide_advance_copy.js.map +1 -0
  88. package/doc_build/static/js/async/guide_advance_external-dependency.js +3812 -0
  89. package/doc_build/static/js/async/guide_advance_external-dependency.js.map +1 -0
  90. package/doc_build/static/js/async/guide_advance_in-depth-about-build.js +5046 -0
  91. package/doc_build/static/js/async/guide_advance_in-depth-about-build.js.map +1 -0
  92. package/doc_build/static/js/async/guide_advance_in-depth-about-dev-command.js +152 -0
  93. package/doc_build/static/js/async/guide_advance_in-depth-about-dev-command.js.map +1 -0
  94. package/doc_build/static/js/async/guide_advance_theme-config.js +2475 -0
  95. package/doc_build/static/js/async/guide_advance_theme-config.js.map +1 -0
  96. package/doc_build/static/js/async/guide_basic_before-getting-started.js +3662 -0
  97. package/doc_build/static/js/async/guide_basic_before-getting-started.js.map +1 -0
  98. package/doc_build/static/js/async/guide_basic_command-preview.js +3793 -0
  99. package/doc_build/static/js/async/guide_basic_command-preview.js.map +1 -0
  100. package/doc_build/static/js/async/guide_basic_modify-output-product.js +2949 -0
  101. package/doc_build/static/js/async/guide_basic_modify-output-product.js.map +1 -0
  102. package/doc_build/static/js/async/guide_basic_publish-your-project.js +2243 -0
  103. package/doc_build/static/js/async/guide_basic_publish-your-project.js.map +1 -0
  104. package/doc_build/static/js/async/guide_basic_test-your-project.js +3892 -0
  105. package/doc_build/static/js/async/guide_basic_test-your-project.js.map +1 -0
  106. package/doc_build/static/js/async/guide_basic_use-micro-generator.js +172 -0
  107. package/doc_build/static/js/async/guide_basic_use-micro-generator.js.map +1 -0
  108. package/doc_build/static/js/async/guide_basic_using-storybook.js +4762 -0
  109. package/doc_build/static/js/async/guide_basic_using-storybook.js.map +1 -0
  110. package/doc_build/static/js/async/guide_best-practices_components.js +21088 -0
  111. package/doc_build/static/js/async/guide_best-practices_components.js.map +1 -0
  112. package/doc_build/static/js/async/guide_intro_getting-started.js +1782 -0
  113. package/doc_build/static/js/async/guide_intro_getting-started.js.map +1 -0
  114. package/doc_build/static/js/async/guide_intro_welcome.js +148 -0
  115. package/doc_build/static/js/async/guide_intro_welcome.js.map +1 -0
  116. package/doc_build/static/js/async/guide_intro_why-module-engineering-solution.js +92 -0
  117. package/doc_build/static/js/async/guide_intro_why-module-engineering-solution.js.map +1 -0
  118. package/doc_build/static/js/async/index.js +85 -0
  119. package/doc_build/static/js/async/index.js.map +1 -0
  120. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js +447 -0
  121. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js.map +1 -0
  122. package/doc_build/static/js/async/plugins_guide_getting-started.js +2608 -0
  123. package/doc_build/static/js/async/plugins_guide_getting-started.js.map +1 -0
  124. package/doc_build/static/js/async/plugins_guide_plugin-object.js +4173 -0
  125. package/doc_build/static/js/async/plugins_guide_plugin-object.js.map +1 -0
  126. package/doc_build/static/js/async/plugins_guide_setup-function.js +3819 -0
  127. package/doc_build/static/js/async/plugins_guide_setup-function.js.map +1 -0
  128. package/doc_build/static/js/async/plugins_official-list_overview.js +70 -0
  129. package/doc_build/static/js/async/plugins_official-list_overview.js.map +1 -0
  130. package/doc_build/static/js/async/vendors-node_modules_pnpm_code-hike_mdx_0_7_4_react_18_2_0_node_modules_code-hike_mdx_dist_co-06dd41.js +6656 -0
  131. package/doc_build/static/js/async/vendors-node_modules_pnpm_code-hike_mdx_0_7_4_react_18_2_0_node_modules_code-hike_mdx_dist_co-06dd41.js.map +1 -0
  132. package/doc_build/static/js/async/vendors-node_modules_pnpm_flexsearch_0_6_32_node_modules_flexsearch_dist_flexsearch_min_js.js +54 -0
  133. package/doc_build/static/js/async/vendors-node_modules_pnpm_flexsearch_0_6_32_node_modules_flexsearch_dist_flexsearch_min_js.js.map +1 -0
  134. package/doc_build/static/js/builder-runtime.js +1375 -0
  135. package/doc_build/static/js/builder-runtime.js.map +1 -0
  136. package/doc_build/static/js/lib-lodash.js +4907 -0
  137. package/doc_build/static/js/lib-lodash.js.map +1 -0
  138. package/doc_build/static/js/lib-polyfill.js +24769 -0
  139. package/doc_build/static/js/lib-polyfill.js.map +1 -0
  140. package/doc_build/static/js/lib-react.js +39510 -0
  141. package/doc_build/static/js/lib-react.js.map +1 -0
  142. package/doc_build/static/js/main.js +9237 -0
  143. package/doc_build/static/js/main.js.map +1 -0
  144. 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 +8532 -0
  145. 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 -0
  146. package/docs/en/api/config/_category_.json +4 -0
  147. package/docs/en/api/{build-config.md → config/build-config.md} +201 -108
  148. package/docs/en/api/{build-preset.md → config/build-preset.md} +65 -46
  149. package/docs/{zh/api → en/api/config}/design-system.md +130 -127
  150. package/docs/en/api/config/plugins.md +18 -0
  151. package/docs/en/api/{test.md → config/testing.md} +21 -12
  152. package/docs/en/api/index.md +3 -1
  153. package/docs/en/api/plugin-api/_category_.json +4 -0
  154. package/docs/en/api/plugin-api/plugin-hooks.md +501 -0
  155. package/docs/en/guide/advance/_category_.json +4 -0
  156. package/docs/en/guide/advance/asset.mdx +48 -31
  157. package/docs/en/guide/advance/build-umd.mdx +91 -83
  158. package/docs/en/guide/advance/copy.md +33 -30
  159. package/docs/en/guide/advance/external-dependency.mdx +27 -23
  160. package/docs/en/guide/advance/in-depth-about-build.md +61 -55
  161. package/docs/en/guide/advance/in-depth-about-dev-command.md +7 -4
  162. package/docs/en/guide/advance/theme-config.mdx +80 -0
  163. package/docs/en/guide/basic/_category_.json +4 -0
  164. package/docs/en/guide/basic/before-getting-started.md +29 -24
  165. package/docs/en/guide/basic/command-preview.md +20 -16
  166. package/docs/en/guide/basic/modify-output-product.md +45 -37
  167. package/docs/en/guide/basic/publish-your-project.md +21 -19
  168. package/docs/en/guide/basic/test-your-project.mdx +23 -18
  169. package/docs/en/guide/basic/use-micro-generator.md +15 -8
  170. package/docs/en/guide/basic/using-storybook.mdx +29 -26
  171. package/docs/en/guide/best-practices/_category_.json +4 -0
  172. package/docs/en/guide/best-practices/components.mdx +789 -0
  173. package/docs/en/guide/intro/_category_.json +4 -0
  174. package/docs/en/guide/intro/getting-started.md +11 -6
  175. package/docs/en/guide/intro/welcome.md +4 -0
  176. package/docs/en/guide/intro/why-module-engineering-solution.md +5 -1
  177. package/docs/en/index.md +15 -20
  178. package/docs/en/plugins/guide/_category_.json +4 -0
  179. package/docs/en/plugins/guide/getting-started.mdx +84 -0
  180. package/docs/en/plugins/guide/plugin-object.mdx +85 -0
  181. package/docs/en/plugins/guide/setup-function.mdx +117 -0
  182. package/docs/en/plugins/official-list/_category_.json +4 -0
  183. package/docs/en/plugins/official-list/overview.md +6 -0
  184. package/docs/zh/api/config/_category_.json +4 -0
  185. package/docs/zh/api/config/build-config.md +669 -0
  186. package/docs/zh/api/{build-preset.md → config/build-preset.md} +49 -36
  187. package/docs/zh/api/config/design-system.md +1166 -0
  188. package/docs/zh/api/config/plugins.md +18 -0
  189. package/docs/zh/api/{testing.md → config/testing.md} +18 -13
  190. package/docs/zh/api/index.md +5 -1
  191. package/docs/zh/api/plugin-api/_category_.json +4 -0
  192. package/docs/zh/api/plugin-api/plugin-hooks.md +501 -0
  193. package/docs/zh/guide/advance/_category_.json +4 -0
  194. package/docs/zh/guide/advance/asset.mdx +48 -31
  195. package/docs/zh/guide/advance/build-umd.mdx +91 -74
  196. package/docs/zh/guide/advance/copy.md +33 -30
  197. package/docs/zh/guide/advance/external-dependency.mdx +28 -24
  198. package/docs/zh/guide/advance/in-depth-about-build.md +60 -55
  199. package/docs/zh/guide/advance/in-depth-about-dev-command.md +7 -4
  200. package/docs/zh/guide/advance/theme-config.mdx +78 -0
  201. package/docs/zh/guide/basic/_category_.json +4 -0
  202. package/docs/zh/guide/basic/before-getting-started.md +28 -23
  203. package/docs/zh/guide/basic/command-preview.md +19 -15
  204. package/docs/zh/guide/basic/modify-output-product.md +45 -38
  205. package/docs/zh/guide/basic/publish-your-project.md +22 -17
  206. package/docs/zh/guide/basic/test-your-project.mdx +24 -18
  207. package/docs/zh/guide/basic/use-micro-generator.md +12 -9
  208. package/docs/zh/guide/basic/using-storybook.mdx +29 -24
  209. package/docs/zh/guide/best-practices/_category_.json +4 -0
  210. package/docs/zh/guide/best-practices/components.mdx +793 -0
  211. package/docs/zh/guide/intro/_category_.json +4 -0
  212. package/docs/zh/guide/intro/getting-started.md +12 -6
  213. package/docs/zh/guide/intro/welcome.md +4 -0
  214. package/docs/zh/guide/intro/why-module-engineering-solution.md +5 -1
  215. package/docs/zh/index.md +3 -2
  216. package/docs/zh/plugins/guide/_category_.json +4 -0
  217. package/docs/zh/plugins/guide/getting-started.mdx +84 -0
  218. package/docs/zh/plugins/guide/plugin-object.mdx +85 -0
  219. package/docs/zh/plugins/guide/setup-function.mdx +117 -0
  220. package/docs/zh/plugins/official-list/_category_.json +4 -0
  221. package/docs/zh/plugins/official-list/overview.md +5 -0
  222. package/modern.config.ts +119 -0
  223. package/package.json +8 -6
  224. package/{docs/.island/styles → theme}/index.css +0 -1
  225. package/theme/index.ts +4 -0
  226. package/tsconfig.json +7 -0
  227. package/docs/.island/config.ts +0 -245
  228. package/docs/.island/dist/404.html +0 -41
  229. package/docs/.island/dist/assets/before-getting-started.1b82b538.js +0 -87
  230. package/docs/.island/dist/assets/before-getting-started.582a31cc.js +0 -87
  231. package/docs/.island/dist/assets/build-config.72eb0918.js +0 -804
  232. package/docs/.island/dist/assets/build-config.d8bb1658.js +0 -809
  233. package/docs/.island/dist/assets/build-preset.96805d7d.js +0 -256
  234. package/docs/.island/dist/assets/build-preset.c20dcd40.js +0 -256
  235. package/docs/.island/dist/assets/build-your-ui.7f349247.js +0 -2
  236. package/docs/.island/dist/assets/build-your-ui.a8361604.js +0 -2
  237. package/docs/.island/dist/assets/command-preview.2d45fc82.js +0 -264
  238. package/docs/.island/dist/assets/command-preview.dc51b953.js +0 -264
  239. package/docs/.island/dist/assets/components.esm.03560353.js +0 -9
  240. package/docs/.island/dist/assets/design-system.86694ff5.js +0 -1254
  241. package/docs/.island/dist/assets/design-system.c4745cce.js +0 -639
  242. package/docs/.island/dist/assets/dev.1d326a37.js +0 -37
  243. package/docs/.island/dist/assets/dev.1fd06000.js +0 -37
  244. package/docs/.island/dist/assets/down.f35427d3.svg +0 -1
  245. package/docs/.island/dist/assets/extension.12299fd6.js +0 -2
  246. package/docs/.island/dist/assets/extension.96dc63a4.js +0 -2
  247. package/docs/.island/dist/assets/getting-started.40e9218d.js +0 -117
  248. package/docs/.island/dist/assets/getting-started.b1ed3f10.js +0 -114
  249. package/docs/.island/dist/assets/github.3bf8ccee.svg +0 -1
  250. package/docs/.island/dist/assets/index.2b2347ea.js +0 -33
  251. package/docs/.island/dist/assets/index.6cef6f5f.js +0 -4
  252. package/docs/.island/dist/assets/index.cb118238.js +0 -36
  253. package/docs/.island/dist/assets/index.ccb6ce27.js +0 -4
  254. package/docs/.island/dist/assets/island_inject.11a12ecc.js +0 -1
  255. package/docs/.island/dist/assets/island_inject.b13deaee.js +0 -1
  256. package/docs/.island/dist/assets/loading.8c9bb911.svg +0 -1
  257. package/docs/.island/dist/assets/modify-output-product.7f6bff35.js +0 -100
  258. package/docs/.island/dist/assets/modify-output-product.b91eff1f.js +0 -100
  259. package/docs/.island/dist/assets/moon.6b705924.svg +0 -3
  260. package/docs/.island/dist/assets/plugin.895932d8.js +0 -42
  261. package/docs/.island/dist/assets/plugin.d2fbc531.js +0 -42
  262. package/docs/.island/dist/assets/publish-your-project.21b8309f.js +0 -164
  263. package/docs/.island/dist/assets/publish-your-project.8d398b17.js +0 -166
  264. package/docs/.island/dist/assets/right.89674cd7.svg +0 -1
  265. package/docs/.island/dist/assets/search.0aea6901.svg +0 -1
  266. package/docs/.island/dist/assets/search.1c85d17c.js +0 -3
  267. package/docs/.island/dist/assets/search.484eca11.js +0 -222
  268. package/docs/.island/dist/assets/search.54fca8d0.js +0 -3
  269. package/docs/.island/dist/assets/style.09015a4b.css +0 -1
  270. package/docs/.island/dist/assets/style.2e5f7bc2.css +0 -1970
  271. package/docs/.island/dist/assets/sun.841dac10.svg +0 -11
  272. package/docs/.island/dist/assets/test-your-project.18bd4582.js +0 -190
  273. package/docs/.island/dist/assets/test-your-project.f53bebf7.js +0 -190
  274. package/docs/.island/dist/assets/test.0da1f99f.js +0 -67
  275. package/docs/.island/dist/assets/test.0e81f002.js +0 -66
  276. package/docs/.island/dist/assets/translator.b1077c44.svg +0 -1
  277. package/docs/.island/dist/assets/use-micro-generator.7d9e4016.js +0 -60
  278. package/docs/.island/dist/assets/use-micro-generator.db5520c1.js +0 -60
  279. package/docs/.island/dist/assets/using-storybook.57ea6b77.js +0 -260
  280. package/docs/.island/dist/assets/using-storybook.a2212f2e.js +0 -260
  281. package/docs/.island/dist/assets/welcome.0449a9c8.js +0 -13
  282. package/docs/.island/dist/assets/welcome.a8448931.js +0 -13
  283. package/docs/.island/dist/assets/why-module-engineering-solution.6ae8c0e3.js +0 -26
  284. package/docs/.island/dist/assets/why-module-engineering-solution.c9a45cbd.js +0 -26
  285. package/docs/.island/dist/chunk-COLCRJ2V.js +0 -1
  286. package/docs/.island/dist/chunk-K5FMOYDC.js +0 -10
  287. package/docs/.island/dist/chunk-WE42KMYS.js +0 -26
  288. package/docs/.island/dist/client-entry.js +0 -3
  289. package/docs/.island/dist/en/api/build-config.html +0 -344
  290. package/docs/.island/dist/en/api/build-preset.html +0 -82
  291. package/docs/.island/dist/en/api/design-system.html +0 -155
  292. package/docs/.island/dist/en/api/dev.html +0 -45
  293. package/docs/.island/dist/en/api/index.html +0 -41
  294. package/docs/.island/dist/en/api/plugin.html +0 -48
  295. package/docs/.island/dist/en/api/test.html +0 -58
  296. package/docs/.island/dist/en/guide/before-getting-started.html +0 -127
  297. package/docs/.island/dist/en/guide/build-your-ui.html +0 -41
  298. package/docs/.island/dist/en/guide/command-preview.html +0 -100
  299. package/docs/.island/dist/en/guide/extension.html +0 -41
  300. package/docs/.island/dist/en/guide/getting-started.html +0 -76
  301. package/docs/.island/dist/en/guide/modify-output-product.html +0 -140
  302. package/docs/.island/dist/en/guide/publish-your-project.html +0 -91
  303. package/docs/.island/dist/en/guide/test-your-project.html +0 -72
  304. package/docs/.island/dist/en/guide/use-micro-generator.html +0 -65
  305. package/docs/.island/dist/en/guide/using-storybook.html +0 -113
  306. package/docs/.island/dist/en/guide/welcome.html +0 -53
  307. package/docs/.island/dist/en/guide/why-module-engineering-solution.html +0 -49
  308. package/docs/.island/dist/en/index.html +0 -42
  309. package/docs/.island/dist/react-dom.js +0 -1
  310. package/docs/.island/dist/react-dom_client.js +0 -1
  311. package/docs/.island/dist/react.js +0 -1
  312. package/docs/.island/dist/react_jsx-runtime.js +0 -10
  313. package/docs/.island/dist/ssr-manifest.json +0 -57
  314. package/docs/.island/dist/test-result.png +0 -0
  315. package/docs/.island/dist/why-module-solution.png +0 -0
  316. package/docs/.island/dist/zh/api/build-config.html +0 -347
  317. package/docs/.island/dist/zh/api/build-preset.html +0 -82
  318. package/docs/.island/dist/zh/api/design-system.html +0 -149
  319. package/docs/.island/dist/zh/api/dev.html +0 -46
  320. package/docs/.island/dist/zh/api/index.html +0 -41
  321. package/docs/.island/dist/zh/api/plugin.html +0 -48
  322. package/docs/.island/dist/zh/api/test.html +0 -59
  323. package/docs/.island/dist/zh/guide/before-getting-started.html +0 -127
  324. package/docs/.island/dist/zh/guide/build-your-ui.html +0 -41
  325. package/docs/.island/dist/zh/guide/command-preview.html +0 -100
  326. package/docs/.island/dist/zh/guide/extension.html +0 -41
  327. package/docs/.island/dist/zh/guide/getting-started.html +0 -79
  328. package/docs/.island/dist/zh/guide/modify-output-product.html +0 -140
  329. package/docs/.island/dist/zh/guide/publish-your-project.html +0 -92
  330. package/docs/.island/dist/zh/guide/test-your-project.html +0 -72
  331. package/docs/.island/dist/zh/guide/use-micro-generator.html +0 -65
  332. package/docs/.island/dist/zh/guide/using-storybook.html +0 -114
  333. package/docs/.island/dist/zh/guide/welcome.html +0 -53
  334. package/docs/.island/dist/zh/guide/why-module-engineering-solution.html +0 -49
  335. package/docs/.island/dist/zh/index.html +0 -42
  336. package/docs/.island/index.html +0 -39
  337. package/docs/en/api/design-system.md +0 -524
  338. package/docs/en/api/dev.md +0 -32
  339. package/docs/en/api/plugin.md +0 -34
  340. package/docs/zh/api/build-config.md +0 -570
  341. package/docs/zh/api/dev.md +0 -33
  342. package/docs/zh/api/plugins.md +0 -108
@@ -0,0 +1,447 @@
1
+ "use strict";
2
+ (self["webpackChunk_modern_js_module_tools_docs"] = self["webpackChunk_modern_js_module_tools_docs"] || []).push([["packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts"],{
3
+
4
+ /***/ "../../packages/cli/doc-core/src/theme-default/components/Search/logic/search.ts":
5
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6
+
7
+ __webpack_require__.r(__webpack_exports__);
8
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9
+ /* harmony export */ "PageSearcher": function() { return /* binding */ PageSearcher; }
10
+ /* harmony export */ });
11
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
12
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js");
13
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_regeneratorRuntime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js");
14
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/objectSpread2.js");
15
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");
16
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
17
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/createClass.js");
18
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateMethodInitSpec__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js");
19
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldInitSpec__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js");
20
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateMethodGet__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js");
21
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js");
22
+ /* harmony import */ var _Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldSet__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("../../node_modules/.pnpm/@babel+runtime@7.18.6/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js");
23
+ /* harmony import */ var lodash_es_uniqBy__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/uniqBy.js");
24
+ /* harmony import */ var flexsearch__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("../../node_modules/.pnpm/flexsearch@0.6.32/node_modules/flexsearch/dist/flexsearch.min.js");
25
+ /* harmony import */ var flexsearch__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(flexsearch__WEBPACK_IMPORTED_MODULE_12__);
26
+ /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("../../packages/cli/doc-core/src/theme-default/components/Search/logic/util.ts");
27
+ /* harmony import */ var _runtime__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("../../packages/cli/doc-core/src/runtime/hooks.ts");
28
+ /* harmony import */ var _runtime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("../../packages/cli/doc-core/src/shared/utils/index.ts");
29
+ /* provided dependency */ var __react_refresh_utils__ = __webpack_require__("../../node_modules/.pnpm/@pmmmwh+react-refresh-webpack-plugin@0.5.9_xsftmjzvfioxqs4ify53ibh7ay/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js");
30
+ __webpack_require__.$Refresh$.runtime = __webpack_require__("../../node_modules/.pnpm/react-refresh@0.14.0/node_modules/react-refresh/runtime.js");
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ var THRESHOLD_CONTENT_LENGTH = 100;
49
+ var cjkRegex = /[\|\u3131-\u3163\uAC00-\uD7A3]|[\u3400-\u4DB5\u4E00-\u9FCC\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|(?:[\uD840-\uD868](?![\uDC00-\uDFFF]))(?:(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])|(?:\uD869(?![\uDC00-\uDFFF]))(?:(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDED6\uDF00-\uDFFF])|(?:[\uD86A-\uD86C](?![\uDC00-\uDFFF]))(?:(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])|(?:\uD86D(?![\uDC00-\uDFFF]))(?:(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDF34\uDF40-\uDFFF])|(?:\uD86E(?![\uDC00-\uDFFF]))(?:(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDC1D])|[\u3041-\u3096]|[\u30A1-\u30FA]/gi;
50
+ var WHITE_PAGE_TYPES = ['home', 'api', '404', 'custom'];
51
+ var _index = /*#__PURE__*/new WeakMap();
52
+ var _cjkIndex = /*#__PURE__*/new WeakMap();
53
+ var _headerToIdMap = /*#__PURE__*/new WeakMap();
54
+ var _langRoutePrefix = /*#__PURE__*/new WeakMap();
55
+ var _defaultLang = /*#__PURE__*/new WeakMap();
56
+ var _langs = /*#__PURE__*/new WeakMap();
57
+ var _pages = /*#__PURE__*/new WeakMap();
58
+ var _matchHeader = /*#__PURE__*/new WeakSet();
59
+ var _matchContent = /*#__PURE__*/new WeakSet();
60
+ var _normalizeStatement = /*#__PURE__*/new WeakSet();
61
+ var PageSearcher = /*#__PURE__*/function () {
62
+ function PageSearcher(options) {
63
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_5__["default"])(this, PageSearcher);
64
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateMethodInitSpec__WEBPACK_IMPORTED_MODULE_7__["default"])(this, _normalizeStatement);
65
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateMethodInitSpec__WEBPACK_IMPORTED_MODULE_7__["default"])(this, _matchContent);
66
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateMethodInitSpec__WEBPACK_IMPORTED_MODULE_7__["default"])(this, _matchHeader);
67
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldInitSpec__WEBPACK_IMPORTED_MODULE_8__["default"])(this, _index, {
68
+ writable: true,
69
+ value: void 0
70
+ });
71
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldInitSpec__WEBPACK_IMPORTED_MODULE_8__["default"])(this, _cjkIndex, {
72
+ writable: true,
73
+ value: void 0
74
+ });
75
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldInitSpec__WEBPACK_IMPORTED_MODULE_8__["default"])(this, _headerToIdMap, {
76
+ writable: true,
77
+ value: {}
78
+ });
79
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldInitSpec__WEBPACK_IMPORTED_MODULE_8__["default"])(this, _langRoutePrefix, {
80
+ writable: true,
81
+ value: void 0
82
+ });
83
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldInitSpec__WEBPACK_IMPORTED_MODULE_8__["default"])(this, _defaultLang, {
84
+ writable: true,
85
+ value: void 0
86
+ });
87
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldInitSpec__WEBPACK_IMPORTED_MODULE_8__["default"])(this, _langs, {
88
+ writable: true,
89
+ value: []
90
+ });
91
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldInitSpec__WEBPACK_IMPORTED_MODULE_8__["default"])(this, _pages, {
92
+ writable: true,
93
+ value: void 0
94
+ });
95
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldSet__WEBPACK_IMPORTED_MODULE_11__["default"])(this, _langRoutePrefix, options.langRoutePrefix);
96
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldSet__WEBPACK_IMPORTED_MODULE_11__["default"])(this, _defaultLang, options.defaultLang);
97
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldSet__WEBPACK_IMPORTED_MODULE_11__["default"])(this, _langs, options.langs);
98
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldSet__WEBPACK_IMPORTED_MODULE_11__["default"])(this, _pages, options.pages);
99
+ }
100
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_6__["default"])(PageSearcher, [{
101
+ key: "init",
102
+ value: function () {
103
+ var _init = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__["default"])( /*#__PURE__*/(0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_regeneratorRuntime__WEBPACK_IMPORTED_MODULE_2__["default"])().mark(function _callee() {
104
+ var _this = this;
105
+ var options,
106
+ pages,
107
+ pagesForSearch,
108
+ createOptions,
109
+ _args = arguments;
110
+ return (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_regeneratorRuntime__WEBPACK_IMPORTED_MODULE_2__["default"])().wrap(function _callee$(_context) {
111
+ while (1) {
112
+ switch (_context.prev = _context.next) {
113
+ case 0:
114
+ options = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
115
+ pages = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(this, _pages).filter(function (page) {
116
+ // Hit the default language route
117
+ if ((0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(_this, _langRoutePrefix) === '/') {
118
+ var otherLangsWithBase = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(_this, _langs).filter(function (lang) {
119
+ return lang !== (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(_this, _defaultLang);
120
+ }).map(function (lang) {
121
+ return (0,_runtime__WEBPACK_IMPORTED_MODULE_13__.withBase)(lang);
122
+ });
123
+ return !otherLangsWithBase.every(function (otherLangWithBase) {
124
+ return page.routePath.startsWith(otherLangWithBase);
125
+ });
126
+ } else {
127
+ return page.routePath.startsWith((0,_runtime__WEBPACK_IMPORTED_MODULE_13__.withBase)((0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(_this, _langRoutePrefix)));
128
+ }
129
+ });
130
+ pagesForSearch = pages.filter(function (page) {
131
+ var _page$frontmatter;
132
+ return !WHITE_PAGE_TYPES.includes(((_page$frontmatter = page.frontmatter) === null || _page$frontmatter === void 0 ? void 0 : _page$frontmatter.pageType) || '');
133
+ }).map(function (page) {
134
+ var _ref, _ref2, _page$title, _page$frontmatter2;
135
+ var headers = (page.toc || []).map(function (header) {
136
+ return header.text;
137
+ });
138
+ return {
139
+ title: (_ref = (_ref2 = (_page$title = page.title) !== null && _page$title !== void 0 ? _page$title : (_page$frontmatter2 = page.frontmatter) === null || _page$frontmatter2 === void 0 ? void 0 : _page$frontmatter2.title) !== null && _ref2 !== void 0 ? _ref2 : page.routePath.split('/').pop()) !== null && _ref !== void 0 ? _ref : '',
140
+ headers: headers,
141
+ headerStr: headers.join(' '),
142
+ content: (0,_util__WEBPACK_IMPORTED_MODULE_14__.normalizeContent)(page.content || ''),
143
+ path: page.routePath,
144
+ rawHeaders: page.toc || []
145
+ };
146
+ });
147
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldSet__WEBPACK_IMPORTED_MODULE_11__["default"])(this, _headerToIdMap, pages.reduce(function (acc, page) {
148
+ (page.toc || []).forEach(function (header) {
149
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
150
+ acc[page.routePath + header.text] = header.id;
151
+ });
152
+ return acc;
153
+ }, {}));
154
+ createOptions = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__["default"])({
155
+ encode: 'simple',
156
+ tokenize: 'forward',
157
+ split: /\W+/,
158
+ async: true,
159
+ doc: {
160
+ id: 'path',
161
+ field: ['title', 'headerStr', 'content']
162
+ }
163
+ }, options); // Init Search Indexes
164
+ // English Index
165
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldSet__WEBPACK_IMPORTED_MODULE_11__["default"])(this, _index, flexsearch__WEBPACK_IMPORTED_MODULE_12___default().create(createOptions));
166
+ // CJK: Chinese, Japanese, Korean
167
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldSet__WEBPACK_IMPORTED_MODULE_11__["default"])(this, _cjkIndex, flexsearch__WEBPACK_IMPORTED_MODULE_12___default().create((0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__["default"])({}, createOptions), {}, {
168
+ encode: false,
169
+ tokenize: function tokenize(str) {
170
+ var cjkWords = [];
171
+ var m = null;
172
+ do {
173
+ m = cjkRegex.exec(str);
174
+ if (m) {
175
+ cjkWords.push(m[0]);
176
+ }
177
+ } while (m);
178
+ return cjkWords;
179
+ }
180
+ })));
181
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(this, _index).add(pagesForSearch);
182
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(this, _cjkIndex).add(pagesForSearch);
183
+ case 9:
184
+ case "end":
185
+ return _context.stop();
186
+ }
187
+ }
188
+ }, _callee, this);
189
+ }));
190
+ function init() {
191
+ return _init.apply(this, arguments);
192
+ }
193
+ return init;
194
+ }()
195
+ }, {
196
+ key: "match",
197
+ value: function () {
198
+ var _match = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_4__["default"])( /*#__PURE__*/(0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_regeneratorRuntime__WEBPACK_IMPORTED_MODULE_2__["default"])().mark(function _callee2(query) {
199
+ var _classPrivateFieldGet2,
200
+ _classPrivateFieldGet3,
201
+ _this2 = this;
202
+ var limit,
203
+ searchResult,
204
+ flattenSearchResult,
205
+ matchedResult,
206
+ res,
207
+ _args2 = arguments;
208
+ return (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_regeneratorRuntime__WEBPACK_IMPORTED_MODULE_2__["default"])().wrap(function _callee2$(_context2) {
209
+ while (1) {
210
+ switch (_context2.prev = _context2.next) {
211
+ case 0:
212
+ limit = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 7;
213
+ _context2.next = 3;
214
+ return Promise.all([(_classPrivateFieldGet2 = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(this, _index)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.search({
215
+ query: query,
216
+ limit: limit
217
+ }), (_classPrivateFieldGet3 = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(this, _cjkIndex)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.search(query, limit)]);
218
+ case 3:
219
+ searchResult = _context2.sent;
220
+ flattenSearchResult = searchResult.flat(2).filter(Boolean);
221
+ matchedResult = [];
222
+ flattenSearchResult.forEach(function (item) {
223
+ // Header match
224
+ var matchedHeader = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateMethodGet__WEBPACK_IMPORTED_MODULE_9__["default"])(_this2, _matchHeader, _matchHeader2).call(_this2, item, query, matchedResult);
225
+ // If we have matched header, we don't need to match content
226
+ // Because the header is already in the content
227
+ if (matchedHeader) {
228
+ return;
229
+ }
230
+ // Content match
231
+ (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateMethodGet__WEBPACK_IMPORTED_MODULE_9__["default"])(_this2, _matchContent, _matchContent2).call(_this2, item, query, matchedResult);
232
+ });
233
+ res = (0,lodash_es_uniqBy__WEBPACK_IMPORTED_MODULE_15__["default"])(matchedResult, 'link');
234
+ return _context2.abrupt("return", res);
235
+ case 9:
236
+ case "end":
237
+ return _context2.stop();
238
+ }
239
+ }
240
+ }, _callee2, this);
241
+ }));
242
+ function match(_x) {
243
+ return _match.apply(this, arguments);
244
+ }
245
+ return match;
246
+ }()
247
+ }]);
248
+ return PageSearcher;
249
+ }();
250
+ function _matchHeader2(item, query, matchedResult) {
251
+ var headers = item.headers,
252
+ rawHeaders = item.rawHeaders;
253
+ var _iterator = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_1__["default"])(headers.entries()),
254
+ _step;
255
+ try {
256
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
257
+ var _step$value = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_step.value, 2),
258
+ index = _step$value[0],
259
+ header = _step$value[1];
260
+ if (header.includes(query)) {
261
+ var headerAnchor = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateFieldGet__WEBPACK_IMPORTED_MODULE_10__["default"])(this, _headerToIdMap)[item.path + header];
262
+ // Find the all parent headers (except h1)
263
+ // So we can show the full path of the header in search result
264
+ // e.g. header2 > header3 > header4
265
+ var headerGroup = (0,_util__WEBPACK_IMPORTED_MODULE_14__.backTrackHeaders)(rawHeaders, index);
266
+ var headerStr = headerGroup.map(function (item) {
267
+ return item.text;
268
+ }).join(' > ');
269
+ matchedResult.push({
270
+ type: 'header',
271
+ title: item.title,
272
+ header: headerStr,
273
+ headerHighlightIndex: headerStr.indexOf(query),
274
+ link: "".concat((0,_runtime__WEBPACK_IMPORTED_MODULE_16__.normalizeHref)(item.path), "#").concat(headerAnchor)
275
+ });
276
+ return true;
277
+ }
278
+ }
279
+ } catch (err) {
280
+ _iterator.e(err);
281
+ } finally {
282
+ _iterator.f();
283
+ }
284
+ return false;
285
+ }
286
+ function _matchContent2(item, query, matchedResult) {
287
+ var _headers$currentHeade;
288
+ var content = item.content,
289
+ headers = item.headers;
290
+ var queryIndex = content.indexOf(query);
291
+ if (queryIndex === -1) {
292
+ return;
293
+ }
294
+ var headersIndex = headers.map(function (h) {
295
+ return content.indexOf(h);
296
+ });
297
+ var currentHeaderIndex = headersIndex.findIndex(function (hIndex, position) {
298
+ if (position < headers.length - 1) {
299
+ var next = headersIndex[position + 1];
300
+ if (hIndex <= queryIndex && next >= queryIndex) {
301
+ return true;
302
+ }
303
+ } else {
304
+ return hIndex < queryIndex;
305
+ }
306
+ return false;
307
+ });
308
+ var currentHeader = (_headers$currentHeade = headers[currentHeaderIndex]) !== null && _headers$currentHeade !== void 0 ? _headers$currentHeade : item.title;
309
+ var statementStartIndex = content.slice(0, queryIndex).lastIndexOf('\n');
310
+ statementStartIndex = statementStartIndex === -1 ? 0 : statementStartIndex;
311
+ var statementEndIndex = content.indexOf('\n', queryIndex + query.length);
312
+ var statement = content.slice(statementStartIndex, statementEndIndex);
313
+ if (statement.length > THRESHOLD_CONTENT_LENGTH) {
314
+ statement = (0,_Users_bytedance_modern_js_node_modules_pnpm_babel_runtime_7_18_6_node_modules_babel_runtime_helpers_esm_classPrivateMethodGet__WEBPACK_IMPORTED_MODULE_9__["default"])(this, _normalizeStatement, _normalizeStatement2).call(this, statement, query);
315
+ }
316
+ matchedResult.push({
317
+ type: 'content',
318
+ title: item.title,
319
+ header: currentHeader,
320
+ statement: statement,
321
+ statementHighlightIndex: statement.indexOf(query),
322
+ link: "".concat((0,_runtime__WEBPACK_IMPORTED_MODULE_16__.normalizeHref)(item.path), "#").concat(currentHeader)
323
+ });
324
+ }
325
+ function _normalizeStatement2(statement, query) {
326
+ // If statement is too long, we will only show 120 characters
327
+ var queryIndex = statement.indexOf(query);
328
+ var maxPrefixOrSuffix = Math.floor((THRESHOLD_CONTENT_LENGTH - query.length) / 2);
329
+ var prefix = statement.slice(0, queryIndex);
330
+ if (prefix.length > maxPrefixOrSuffix) {
331
+ prefix = "...".concat(statement.slice(queryIndex - maxPrefixOrSuffix + 3, queryIndex));
332
+ }
333
+ var suffix = statement.slice(queryIndex + query.length);
334
+ if (suffix.length > maxPrefixOrSuffix) {
335
+ suffix = "".concat(statement.slice(queryIndex + query.length, queryIndex + maxPrefixOrSuffix - 3), "...");
336
+ }
337
+ return prefix + query + suffix;
338
+ }
339
+
340
+ var $ReactRefreshModuleId$ = __webpack_require__.$Refresh$.moduleId;
341
+ var $ReactRefreshCurrentExports$ = __react_refresh_utils__.getModuleExports(
342
+ $ReactRefreshModuleId$
343
+ );
344
+
345
+ function $ReactRefreshModuleRuntime$(exports) {
346
+ if (true) {
347
+ var errorOverlay;
348
+ if (true) {
349
+ errorOverlay = false;
350
+ }
351
+ var testMode;
352
+ if (typeof __react_refresh_test__ !== 'undefined') {
353
+ testMode = __react_refresh_test__;
354
+ }
355
+ return __react_refresh_utils__.executeRuntime(
356
+ exports,
357
+ $ReactRefreshModuleId$,
358
+ module.hot,
359
+ errorOverlay,
360
+ testMode
361
+ );
362
+ }
363
+ }
364
+
365
+ if (typeof Promise !== 'undefined' && $ReactRefreshCurrentExports$ instanceof Promise) {
366
+ $ReactRefreshCurrentExports$.then($ReactRefreshModuleRuntime$);
367
+ } else {
368
+ $ReactRefreshModuleRuntime$($ReactRefreshCurrentExports$);
369
+ }
370
+
371
+ /***/ }),
372
+
373
+ /***/ "../../packages/cli/doc-core/src/theme-default/components/Search/logic/util.ts":
374
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
375
+
376
+ __webpack_require__.r(__webpack_exports__);
377
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
378
+ /* harmony export */ "backTrackHeaders": function() { return /* binding */ backTrackHeaders; },
379
+ /* harmony export */ "normalizeContent": function() { return /* binding */ normalizeContent; }
380
+ /* harmony export */ });
381
+ /* provided dependency */ var __react_refresh_utils__ = __webpack_require__("../../node_modules/.pnpm/@pmmmwh+react-refresh-webpack-plugin@0.5.9_xsftmjzvfioxqs4ify53ibh7ay/node_modules/@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js");
382
+ __webpack_require__.$Refresh$.runtime = __webpack_require__("../../node_modules/.pnpm/react-refresh@0.14.0/node_modules/react-refresh/runtime.js");
383
+
384
+ function backTrackHeaders(rawHeaders, index) {
385
+ var current = rawHeaders[index];
386
+ var currentIndex = index;
387
+ var res = [current];
388
+ while (current && current.depth > 2) {
389
+ // If there is no parent header, we will stop the loop
390
+ var matchedParent = false;
391
+ for (var i = currentIndex - 1; i >= 0; i--) {
392
+ var header = rawHeaders[i];
393
+ if (header.depth > 1 && header.depth === current.depth - 1) {
394
+ current = header;
395
+ currentIndex = i;
396
+ res.unshift(current);
397
+ matchedParent = true;
398
+ break;
399
+ }
400
+ }
401
+ if (!matchedParent) {
402
+ break;
403
+ }
404
+ }
405
+ return res;
406
+ }
407
+ function normalizeContent(content) {
408
+ // Do not match the content in code block
409
+ // Do not match the frontmatter
410
+ return content.replace(/```([\s\S]*?)```/gm, '').replace(/\x2D\x2D\x2D([\s\S]*?)\x2D\x2D\x2D/gm, '');
411
+ }
412
+
413
+ var $ReactRefreshModuleId$ = __webpack_require__.$Refresh$.moduleId;
414
+ var $ReactRefreshCurrentExports$ = __react_refresh_utils__.getModuleExports(
415
+ $ReactRefreshModuleId$
416
+ );
417
+
418
+ function $ReactRefreshModuleRuntime$(exports) {
419
+ if (true) {
420
+ var errorOverlay;
421
+ if (true) {
422
+ errorOverlay = false;
423
+ }
424
+ var testMode;
425
+ if (typeof __react_refresh_test__ !== 'undefined') {
426
+ testMode = __react_refresh_test__;
427
+ }
428
+ return __react_refresh_utils__.executeRuntime(
429
+ exports,
430
+ $ReactRefreshModuleId$,
431
+ module.hot,
432
+ errorOverlay,
433
+ testMode
434
+ );
435
+ }
436
+ }
437
+
438
+ if (typeof Promise !== 'undefined' && $ReactRefreshCurrentExports$ instanceof Promise) {
439
+ $ReactRefreshCurrentExports$.then($ReactRefreshModuleRuntime$);
440
+ } else {
441
+ $ReactRefreshModuleRuntime$($ReactRefreshCurrentExports$);
442
+ }
443
+
444
+ /***/ })
445
+
446
+ }]);
447
+ //# sourceMappingURL=packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js.map
@@ -0,0 +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":""}