umberto 9.1.2 → 9.2.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 (321) hide show
  1. package/CHANGELOG.md +23 -22
  2. package/LICENSE.md +1 -1
  3. package/hexo-shim.js +1 -1
  4. package/package.json +1 -1
  5. package/scripts/filter/after-post-render/basepath-replacer.js +1 -1
  6. package/scripts/filter/after-post-render/fix-code-samples.js +1 -1
  7. package/scripts/filter/after-post-render/gather-guides.js +1 -1
  8. package/scripts/filter/after-post-render/gloria.js +1 -1
  9. package/scripts/filter/after-post-render/img-linker.js +1 -1
  10. package/scripts/filter/after-post-render/import-guide.js +1 -1
  11. package/scripts/filter/after-post-render/insert-error-codes.js +1 -1
  12. package/scripts/filter/after-post-render/linker.js +1 -1
  13. package/scripts/filter/after-post-render/parseicontag.js +1 -1
  14. package/scripts/filter/after-post-render/process-variables.js +1 -1
  15. package/scripts/filter/after-post-render/snippets.js +1 -1
  16. package/scripts/filter/after-post-render/time-end.js +2 -2
  17. package/scripts/filter/after-post-render/time-start.js +1 -1
  18. package/scripts/filter/after-post-render/validate-after-render.js +1 -1
  19. package/scripts/filter/after-render/process-svg.js +1 -1
  20. package/scripts/filter/before-post-render/add-project-info-to-page.js +1 -1
  21. package/scripts/filter/before-post-render/add-repo-url.js +1 -1
  22. package/scripts/filter/before-post-render/change-output-path.js +1 -1
  23. package/scripts/filter/before-post-render/code-switcher.js +1 -1
  24. package/scripts/filter/before-post-render/execute-and-insert-function-results.js +1 -1
  25. package/scripts/filter/before-post-render/gloria/add-breadcrumbs-data-to-page.js +1 -1
  26. package/scripts/filter/before-post-render/gloria/prerender-admonitions.js +1 -1
  27. package/scripts/filter/before-post-render/gloria/prerender-xml-pug-components.js +2 -2
  28. package/scripts/filter/before-post-render/gloria/render-post-render-pug-components.js +1 -1
  29. package/scripts/filter/before-post-render/has-own-favicons.js +1 -1
  30. package/scripts/filter/before-post-render/infobox.js +1 -1
  31. package/scripts/filter/before-post-render/insertchangelog.js +1 -1
  32. package/scripts/filter/before-post-render/replace-macros.js +1 -1
  33. package/scripts/filter/before-post-render/set-layout.js +1 -1
  34. package/scripts/filter/before-post-render/validate-page-data.js +1 -1
  35. package/scripts/helper/find-main-category-page.js +1 -1
  36. package/scripts/helper/get-pages-for-nav-tree.js +1 -1
  37. package/scripts/helper/mark-empty-categories.js +1 -1
  38. package/scripts/helper/normalize-badges.js +1 -1
  39. package/scripts/helper/parse-href.js +1 -1
  40. package/scripts/helper/u-capitalize.js +1 -1
  41. package/scripts/helper/u-extract-and-cache-title.js +1 -1
  42. package/scripts/helper/u-random-id.js +1 -1
  43. package/scripts/helper/u-remove-indentation.js +1 -1
  44. package/scripts/helper/u-split-to-title-and-content.js +1 -1
  45. package/scripts/helper/u-toc.js +1 -1
  46. package/scripts/utils/add-indention.js +1 -1
  47. package/scripts/utils/capitalize.js +1 -1
  48. package/scripts/utils/compose.js +1 -1
  49. package/scripts/utils/concat-url-parts.js +1 -1
  50. package/scripts/utils/decode-html-entities.js +1 -1
  51. package/scripts/utils/drop-init-slash.js +1 -1
  52. package/scripts/utils/drop-trailing-slash.js +1 -1
  53. package/scripts/utils/drop-url-protocol.js +1 -1
  54. package/scripts/utils/execute-and-insert-function-results.js +2 -2
  55. package/scripts/utils/findmaincategorypage.js +1 -1
  56. package/scripts/utils/getreportissuewidgeturl.js +1 -1
  57. package/scripts/utils/gloria-after-post-render/append-copy-heading-buttons.js +1 -1
  58. package/scripts/utils/gloria-after-post-render/apply-design-doc-classes.js +1 -1
  59. package/scripts/utils/gloria-after-post-render/wrap-table-into-wrappers.js +1 -1
  60. package/scripts/utils/has-own-favicons.js +2 -2
  61. package/scripts/utils/inline-svg.js +3 -3
  62. package/scripts/utils/insertchangelog.js +1 -1
  63. package/scripts/utils/logcrossprojectreference.js +2 -2
  64. package/scripts/utils/measure-call.js +1 -1
  65. package/scripts/utils/normalizebadges.js +1 -1
  66. package/scripts/utils/parse-href.js +1 -1
  67. package/scripts/utils/parseicontag.js +2 -2
  68. package/scripts/utils/parselinks.js +2 -2
  69. package/scripts/utils/parser-cursor.js +1 -1
  70. package/scripts/utils/pug-renderer/create-prerender-pug-template.js +1 -1
  71. package/scripts/utils/pug-renderer/render-pug-component.js +2 -2
  72. package/scripts/utils/pug-to-xml-binding/parser/walk-xml-tree.js +1 -1
  73. package/scripts/utils/pug-to-xml-binding/parser/xml-components-parser.js +1 -1
  74. package/scripts/utils/pug-to-xml-binding/render-xml-pug-components-in-markdown.js +1 -1
  75. package/scripts/utils/pug-to-xml-binding/transform-xml-tree-to-pug.js +1 -1
  76. package/scripts/utils/random-id.js +2 -2
  77. package/scripts/utils/remove-indentation.js +1 -1
  78. package/scripts/utils/shoulddisplaynewindicator.js +1 -1
  79. package/scripts/utils/spritesheet-svg.js +3 -3
  80. package/scripts/utils/toc.js +47 -7
  81. package/scripts/utils/transform-markdown-admonitions.js +1 -1
  82. package/scripts/utils/transformcodeswitcher.js +1 -1
  83. package/scripts/utils/transforminfobox.js +1 -1
  84. package/scripts/utils/uniq-by-last.js +1 -1
  85. package/src/api-builder/api-builder.js +1 -1
  86. package/src/api-builder/build-page-worker.js +2 -2
  87. package/src/api-builder/classes/description-parser.js +2 -2
  88. package/src/api-builder/classes/doc-data-factory.js +1 -1
  89. package/src/api-builder/classes/file-name-manager.js +1 -1
  90. package/src/api-builder/classes/html-file.js +1 -1
  91. package/src/api-builder/classes/navigation-tree.js +1 -1
  92. package/src/api-builder/classes/tree-node.js +1 -1
  93. package/src/api-builder/utils/findtargetdoclet.js +1 -1
  94. package/src/api-builder/utils/utils.js +1 -1
  95. package/src/data-converter/converters/jsdoc2umberto.js +1 -1
  96. package/src/data-converter/converters/jsduck2umberto.js +1 -1
  97. package/src/data-converter/converters/typedoc/abstractparser.js +1 -1
  98. package/src/data-converter/converters/typedoc/accessorparser.js +1 -1
  99. package/src/data-converter/converters/typedoc/classparser.js +1 -1
  100. package/src/data-converter/converters/typedoc/computedpropertyparser.js +1 -1
  101. package/src/data-converter/converters/typedoc/constantparser.js +1 -1
  102. package/src/data-converter/converters/typedoc/constructorparser.js +1 -1
  103. package/src/data-converter/converters/typedoc/errorparser.js +1 -1
  104. package/src/data-converter/converters/typedoc/eventparser.js +1 -1
  105. package/src/data-converter/converters/typedoc/functionparser.js +1 -1
  106. package/src/data-converter/converters/typedoc/interfaceparser.js +1 -1
  107. package/src/data-converter/converters/typedoc/methodparser.js +1 -1
  108. package/src/data-converter/converters/typedoc/moduleparser.js +1 -1
  109. package/src/data-converter/converters/typedoc/propertyparser.js +1 -1
  110. package/src/data-converter/converters/typedoc/referenceparser.js +1 -1
  111. package/src/data-converter/converters/typedoc/reflectionkind.js +1 -1
  112. package/src/data-converter/converters/typedoc/typedoc.ts +1 -1
  113. package/src/data-converter/converters/typedoc/typedocconverter.js +1 -1
  114. package/src/data-converter/converters/typedoc/typeparser.js +1 -1
  115. package/src/data-converter/converters/typedoc2umberto.js +1 -1
  116. package/src/data-converter/data-collection.js +1 -1
  117. package/src/data-converter/data-provider.js +1 -1
  118. package/src/data-converter/doclet-collection.js +1 -1
  119. package/src/data-converter/middlewares/relation-fixer.js +1 -1
  120. package/src/helpers/capitalize.js +1 -1
  121. package/src/helpers/create-filtering-data-attribs.js +1 -1
  122. package/src/helpers/doc-formats.js +1 -1
  123. package/src/helpers/escape-longname.js +1 -1
  124. package/src/helpers/extract-longname.js +1 -1
  125. package/src/helpers/get-api-infobox-tooltip.js +1 -1
  126. package/src/helpers/get-docsearch-config.js +2 -2
  127. package/src/helpers/get-file-patterns-to-process.js +1 -1
  128. package/src/helpers/get-short-module-path.js +1 -1
  129. package/src/helpers/github-url.js +2 -2
  130. package/src/helpers/glob-to-regexp.js +1 -1
  131. package/src/helpers/html-safe.js +1 -1
  132. package/src/helpers/import-module.js +2 -2
  133. package/src/helpers/is-non-empty-array.js +1 -1
  134. package/src/helpers/log-with-time.js +2 -2
  135. package/src/helpers/resolve-path.js +1 -1
  136. package/src/helpers/snippets.js +1 -1
  137. package/src/helpers/split-longname.js +1 -1
  138. package/src/hexo/filter/extend-config.js +1 -1
  139. package/src/hexo/filter/project-locals.js +1 -1
  140. package/src/hexo/get-repo-urls.js +1 -1
  141. package/src/hexo/helper/get-page-group.js +1 -1
  142. package/src/hexo/project-globals.js +1 -1
  143. package/src/hexo-manager.js +2 -2
  144. package/src/index.js +3 -3
  145. package/src/sdk-builder/get-sdk-sources.js +2 -2
  146. package/src/sdk-builder/sdk-builder.js +2 -2
  147. package/src/tasks/build-api-docs.js +1 -1
  148. package/src/tasks/build-documentation.js +8 -2
  149. package/src/tasks/build-sdk.js +1 -1
  150. package/src/tasks/build-snippets.js +1 -1
  151. package/src/tasks/cache-files.js +1 -1
  152. package/src/tasks/compile-sass.js +1 -1
  153. package/src/tasks/copy-assets.js +1 -1
  154. package/src/tasks/copy-files.js +1 -1
  155. package/src/tasks/copy-project-docs.js +1 -1
  156. package/src/tasks/copy-project-icons.js +1 -1
  157. package/src/tasks/create-redirect-page.js +1 -1
  158. package/src/tasks/create-sitemap-index.js +2 -2
  159. package/src/tasks/create-sitemap-step.js +2 -2
  160. package/src/tasks/create-sitemap.js +3 -3
  161. package/src/tasks/create-sym-links.js +3 -3
  162. package/src/tasks/execute-hooks.js +1 -1
  163. package/src/tasks/get-extra-files.js +1 -1
  164. package/src/tasks/get-hexo-config.js +2 -2
  165. package/src/tasks/get-main-config.js +2 -2
  166. package/src/tasks/get-project-config.js +2 -2
  167. package/src/tasks/macro-replacer.js +1 -1
  168. package/src/tasks/minify-html-worker.js +2 -2
  169. package/src/tasks/minify-html.js +4 -4
  170. package/src/tasks/overwrite-api-guides.js +1 -1
  171. package/src/tasks/read-doc-sources.js +2 -2
  172. package/src/tasks/run-webpack.js +2 -2
  173. package/src/tasks/validate-html-w3c.js +2 -2
  174. package/src/tasks/validate-links-collect-worker.js +1 -1
  175. package/src/tasks/validate-links-worker.js +1 -1
  176. package/src/tasks/validate-links.js +7 -4
  177. package/src/tasks/watcher.js +2 -2
  178. package/src/tasks/write-html-files.js +1 -1
  179. package/src/template/template-collection.js +2 -2
  180. package/themes/umberto/layout/gloria/_components/code-block/_style.scss +60 -0
  181. package/themes/umberto/layout/gloria/_components/code-block/index.pug +11 -1
  182. package/themes/umberto/layout/gloria/_modules/sentry/index.pug +7 -1
  183. package/themes/umberto/layout/gloria/_modules/toc/_style.scss +10 -1
  184. package/themes/umberto/src/gloria/js/app.js +1 -1
  185. package/themes/umberto/src/gloria/js/components/api-nav-tree.js +1 -1
  186. package/themes/umberto/src/gloria/js/components/api-toggle.js +1 -1
  187. package/themes/umberto/src/gloria/js/components/base-component.js +1 -1
  188. package/themes/umberto/src/gloria/js/components/breadcrumbs.js +1 -1
  189. package/themes/umberto/src/gloria/js/components/code-block.js +1 -1
  190. package/themes/umberto/src/gloria/js/components/code-switcher.js +1 -1
  191. package/themes/umberto/src/gloria/js/components/dropdown.js +1 -1
  192. package/themes/umberto/src/gloria/js/components/expandable.js +1 -1
  193. package/themes/umberto/src/gloria/js/components/fake-devtools.js +1 -1
  194. package/themes/umberto/src/gloria/js/components/hash-link.js +1 -1
  195. package/themes/umberto/src/gloria/js/components/heading-link.js +1 -1
  196. package/themes/umberto/src/gloria/js/components/iframe.js +1 -1
  197. package/themes/umberto/src/gloria/js/components/image-zoom.js +1 -1
  198. package/themes/umberto/src/gloria/js/components/mobile-overlay.js +1 -1
  199. package/themes/umberto/src/gloria/js/components/nav-tree.js +1 -1
  200. package/themes/umberto/src/gloria/js/components/tabs.js +1 -1
  201. package/themes/umberto/src/gloria/js/components/tooltip-popover.js +1 -1
  202. package/themes/umberto/src/gloria/js/helpers/after-dom-ready.js +1 -1
  203. package/themes/umberto/src/gloria/js/helpers/animate-element.js +1 -1
  204. package/themes/umberto/src/gloria/js/helpers/body-scroll.js +1 -1
  205. package/themes/umberto/src/gloria/js/helpers/clamp.js +1 -1
  206. package/themes/umberto/src/gloria/js/helpers/classnames.js +1 -1
  207. package/themes/umberto/src/gloria/js/helpers/compose.js +1 -1
  208. package/themes/umberto/src/gloria/js/helpers/copy-to-clipboard.js +1 -1
  209. package/themes/umberto/src/gloria/js/helpers/create-anchor-positioning-watcher.js +1 -1
  210. package/themes/umberto/src/gloria/js/helpers/create-cleanup-registry.js +1 -1
  211. package/themes/umberto/src/gloria/js/helpers/create-hover-manager.js +1 -1
  212. package/themes/umberto/src/gloria/js/helpers/create-keyboard-blur-watcher.js +1 -1
  213. package/themes/umberto/src/gloria/js/helpers/create-keyboard-focus-cycler.js +1 -1
  214. package/themes/umberto/src/gloria/js/helpers/create-mutation-observer.js +1 -1
  215. package/themes/umberto/src/gloria/js/helpers/create-outside-click-watcher.js +1 -1
  216. package/themes/umberto/src/gloria/js/helpers/cubic-bezier.js +1 -1
  217. package/themes/umberto/src/gloria/js/helpers/date-time.js +1 -1
  218. package/themes/umberto/src/gloria/js/helpers/decode-html-entities.js +1 -1
  219. package/themes/umberto/src/gloria/js/helpers/escape-handler.js +1 -1
  220. package/themes/umberto/src/gloria/js/helpers/fetch-stylesheet.js +1 -1
  221. package/themes/umberto/src/gloria/js/helpers/find-code-lang.js +14 -2
  222. package/themes/umberto/src/gloria/js/helpers/focus-first-interactive.js +1 -1
  223. package/themes/umberto/src/gloria/js/helpers/format-html.js +1 -1
  224. package/themes/umberto/src/gloria/js/helpers/get-all-scrollable-parents.js +1 -1
  225. package/themes/umberto/src/gloria/js/helpers/get-parents-until.js +1 -1
  226. package/themes/umberto/src/gloria/js/helpers/highlight-code.js +48 -2
  227. package/themes/umberto/src/gloria/js/helpers/html-builder.js +1 -1
  228. package/themes/umberto/src/gloria/js/helpers/identity.js +1 -1
  229. package/themes/umberto/src/gloria/js/helpers/inject-resource-preload.js +1 -1
  230. package/themes/umberto/src/gloria/js/helpers/inject-script.js +1 -1
  231. package/themes/umberto/src/gloria/js/helpers/inject-stylesheet.js +1 -1
  232. package/themes/umberto/src/gloria/js/helpers/is-element-detached.js +1 -1
  233. package/themes/umberto/src/gloria/js/helpers/is-focusable.js +1 -1
  234. package/themes/umberto/src/gloria/js/helpers/is-hidden-element.js +1 -1
  235. package/themes/umberto/src/gloria/js/helpers/is-mobile.js +1 -1
  236. package/themes/umberto/src/gloria/js/helpers/is-unsafe-key.js +1 -1
  237. package/themes/umberto/src/gloria/js/helpers/lerp.js +1 -1
  238. package/themes/umberto/src/gloria/js/helpers/local-storage-helper.js +1 -1
  239. package/themes/umberto/src/gloria/js/helpers/prefers-reduced-motion.js +1 -1
  240. package/themes/umberto/src/gloria/js/helpers/random-id.js +1 -1
  241. package/themes/umberto/src/gloria/js/helpers/sanitize-text.js +1 -1
  242. package/themes/umberto/src/gloria/js/helpers/scroll-to-hash.js +1 -1
  243. package/themes/umberto/src/gloria/js/helpers/take-last.js +1 -1
  244. package/themes/umberto/src/gloria/js/helpers/tap.js +1 -1
  245. package/themes/umberto/src/gloria/js/helpers/throttle.js +1 -1
  246. package/themes/umberto/src/gloria/js/helpers/timeout.js +1 -1
  247. package/themes/umberto/src/gloria/js/helpers/toggle-height.js +1 -1
  248. package/themes/umberto/src/gloria/js/helpers/tween.js +1 -1
  249. package/themes/umberto/src/gloria/js/helpers/wrap-around.js +1 -1
  250. package/themes/umberto/src/gloria/js/modules/algolia-search.js +46 -1
  251. package/themes/umberto/src/gloria/js/modules/api-filter.js +1 -1
  252. package/themes/umberto/src/gloria/js/modules/header-bar.js +1 -1
  253. package/themes/umberto/src/gloria/js/modules/header.js +1 -1
  254. package/themes/umberto/src/gloria/js/modules/links-prefetch.js +1 -1
  255. package/themes/umberto/src/gloria/js/modules/mobile-nav.js +1 -1
  256. package/themes/umberto/src/gloria/js/modules/sidebar.js +1 -1
  257. package/themes/umberto/src/gloria/js/modules/table-of-contents-api.js +1 -1
  258. package/themes/umberto/src/gloria/js/modules/table-of-contents.js +8 -2
  259. package/themes/umberto/src/gloria/js/public-api.js +1 -1
  260. package/themes/umberto/src/gloria/js/web-components/svg-icon.js +1 -1
  261. package/themes/umberto/src/umberto/css/_api-content.scss +1 -1
  262. package/themes/umberto/src/umberto/css/_api-info-box.scss +1 -1
  263. package/themes/umberto/src/umberto/css/_api-props-filter.scss +1 -1
  264. package/themes/umberto/src/umberto/css/_api-see-source.scss +1 -1
  265. package/themes/umberto/src/umberto/css/_api-subheader.scss +1 -1
  266. package/themes/umberto/src/umberto/css/_api-tree.scss +1 -1
  267. package/themes/umberto/src/umberto/css/_badge.scss +1 -1
  268. package/themes/umberto/src/umberto/css/_code-switcher.scss +1 -1
  269. package/themes/umberto/src/umberto/css/_collapsinglist.scss +1 -1
  270. package/themes/umberto/src/umberto/css/_content.scss +1 -1
  271. package/themes/umberto/src/umberto/css/_docsearch.scss +1 -1
  272. package/themes/umberto/src/umberto/css/_dropdown.scss +1 -1
  273. package/themes/umberto/src/umberto/css/_editor-icon.scss +1 -1
  274. package/themes/umberto/src/umberto/css/_feedback-widget.scss +1 -1
  275. package/themes/umberto/src/umberto/css/_font-external.scss +1 -1
  276. package/themes/umberto/src/umberto/css/_footer.scss +1 -1
  277. package/themes/umberto/src/umberto/css/_formatted.scss +1 -1
  278. package/themes/umberto/src/umberto/css/_guide-content.scss +1 -1
  279. package/themes/umberto/src/umberto/css/_guide-sdk-tree.scss +1 -1
  280. package/themes/umberto/src/umberto/css/_loading-spinner.scss +1 -1
  281. package/themes/umberto/src/umberto/css/_main.scss +1 -1
  282. package/themes/umberto/src/umberto/css/_navigation.scss +1 -1
  283. package/themes/umberto/src/umberto/css/_notice.scss +1 -1
  284. package/themes/umberto/src/umberto/css/_print.scss +1 -1
  285. package/themes/umberto/src/umberto/css/_prism.scss +1 -1
  286. package/themes/umberto/src/umberto/css/_rwd-breadcrumbs.scss +1 -1
  287. package/themes/umberto/src/umberto/css/_rwd-menu.scss +1 -1
  288. package/themes/umberto/src/umberto/css/_secondary-navigation.scss +1 -1
  289. package/themes/umberto/src/umberto/css/_theme-dark.scss +1 -1
  290. package/themes/umberto/src/umberto/css/_toggler.scss +1 -1
  291. package/themes/umberto/src/umberto/css/_top.scss +1 -1
  292. package/themes/umberto/src/umberto/css/_tree.scss +1 -1
  293. package/themes/umberto/src/umberto/css/_warning-banner.scss +1 -1
  294. package/themes/umberto/src/umberto/css/components/_lightbox.scss +1 -1
  295. package/themes/umberto/src/umberto/css/helpers/_color.scss +1 -1
  296. package/themes/umberto/src/umberto/css/helpers/_font.scss +1 -1
  297. package/themes/umberto/src/umberto/css/helpers/_globals.scss +1 -1
  298. package/themes/umberto/src/umberto/css/helpers/_reset.scss +1 -1
  299. package/themes/umberto/src/umberto/css/helpers/_spacing.scss +1 -1
  300. package/themes/umberto/src/umberto/css/pages/_sdk.scss +1 -1
  301. package/themes/umberto/src/umberto/css/styles.scss +1 -1
  302. package/themes/umberto/src/umberto/js/_anchors.js +1 -1
  303. package/themes/umberto/src/umberto/js/_apisearch.js +1 -1
  304. package/themes/umberto/src/umberto/js/_apitree.js +1 -1
  305. package/themes/umberto/src/umberto/js/_attachpermalinklistener.js +1 -1
  306. package/themes/umberto/src/umberto/js/_codeswitcherbuttons.js +1 -1
  307. package/themes/umberto/src/umberto/js/_collapsables.js +1 -1
  308. package/themes/umberto/src/umberto/js/_copymobileapinavigation.js +1 -1
  309. package/themes/umberto/src/umberto/js/_devnames.js +1 -1
  310. package/themes/umberto/src/umberto/js/_dropdowns.js +1 -1
  311. package/themes/umberto/src/umberto/js/_filtering.js +1 -1
  312. package/themes/umberto/src/umberto/js/_imageModal.js +1 -1
  313. package/themes/umberto/src/umberto/js/_pagenavigation.js +1 -1
  314. package/themes/umberto/src/umberto/js/_prism.js +1 -1
  315. package/themes/umberto/src/umberto/js/_rwdmenu.js +1 -1
  316. package/themes/umberto/src/umberto/js/_samplecode.js +1 -1
  317. package/themes/umberto/src/umberto/js/_sidenavigation.js +1 -1
  318. package/themes/umberto/src/umberto/js/_toc.js +1 -1
  319. package/themes/umberto/src/umberto/js/_tooltips.js +1 -1
  320. package/themes/umberto/src/umberto/js/_warningbanner.js +1 -1
  321. package/themes/umberto/src/umberto/js/app.js +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  const { cloneDeep } = require( 'lodash' );
9
9
  const { stringify } = require( 'javascript-stringify' );
10
- const fs = require( 'fs' );
10
+ const fs = require( 'node:fs' );
11
11
  const upath = require( 'upath' );
12
12
 
13
13
  const defaultScriptTemplate = fs.readFileSync( upath.join( __dirname, 'templates', 'scripts', 'default.js' ), 'utf-8' );
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const { spawnSync } = require( 'child_process' );
8
+ const { spawnSync } = require( 'node:child_process' );
9
9
  const upath = require( 'upath' );
10
10
 
11
11
  const cachedGitPaths = new Set();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
8
  const upath = require( 'upath' );
9
- const { pathToFileURL } = require( 'url' );
9
+ const { pathToFileURL } = require( 'node:url' );
10
10
 
11
11
  /**
12
12
  * Loads the specified module using `import()` call.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const { styleText } = require( 'util' );
8
+ const { styleText } = require( 'node:util' );
9
9
 
10
10
  module.exports = function logWithTime( message ) {
11
11
  const lowercase = message.charAt( 0 ).toLowerCase() + message.slice( 1 );
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const { styleText } = require( 'util' );
8
+ const { styleText } = require( 'node:util' );
9
9
  const upath = require( 'upath' );
10
10
  const fs = require( 'fs-extra' );
11
11
  const { globSync } = require( 'glob' );
package/src/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const { styleText } = require( 'util' );
9
- const path = require( 'path' );
8
+ const { styleText } = require( 'node:util' );
9
+ const path = require( 'node:path' );
10
10
  const compileSass = require( './tasks/compile-sass' );
11
11
  const runWebpack = require( './tasks/run-webpack' );
12
12
  const copyAssets = require( './tasks/copy-assets' );
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const fs = require( 'fs' );
8
+ const fs = require( 'node:fs' );
9
9
  const upath = require( 'upath' );
10
10
  const { globSync } = require( 'glob' );
11
11
  const { parseDocument } = require( 'htmlparser2' );
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  const HtmlFile = require( '../api-builder/classes/html-file' );
9
9
  const upath = require( 'upath' );
10
- const { URL, resolve: urlResolve } = require( 'url' );
10
+ const { URL, resolve: urlResolve } = require( 'node:url' );
11
11
  const beautifyHtml = require( 'js-beautify' ).html;
12
12
  const macroReplacer = require( '../tasks/macro-replacer' );
13
13
  const getDocSearchConfig = require( '../helpers/get-docsearch-config' );
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -244,7 +244,7 @@ module.exports = options => {
244
244
  return Promise.resolve();
245
245
  }
246
246
 
247
- return validateLinks( 'build/docs', {
247
+ const linksAreValid = await validateLinks( 'build/docs', {
248
248
  projectsInfo: projectConfigs.map( c => {
249
249
  return {
250
250
  slug: c.slug,
@@ -255,6 +255,12 @@ module.exports = options => {
255
255
  skipApi,
256
256
  publicDir: hexoManager.getPublicDir()
257
257
  } );
258
+
259
+ if ( !linksAreValid && !options.skipApi && !options.skipSdk && !options.skipGuides ) {
260
+ throw new Error( 'Link validation failed! Please fix the invalid links before proceeding.' );
261
+ }
262
+
263
+ return Promise.resolve();
258
264
  } )
259
265
  .then( async () => {
260
266
  const projectConfigs = await getProjectConfigs( rootPath, projectPaths, { skipLiveSnippets } );
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  const upath = require( 'upath' );
7
- const fs = require( 'fs/promises' );
7
+ const fs = require( 'node:fs/promises' );
8
8
 
9
9
  const XMLNS_STRINGS = [
10
10
  'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"',
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
- const { styleText } = require( 'util' );
6
+ const { styleText } = require( 'node:util' );
7
7
  const createSitemap = require( './create-sitemap' );
8
8
  const createSitemapIndex = require( './create-sitemap-index' );
9
9
 
@@ -1,14 +1,14 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const fs = require( 'fs' );
8
+ const fs = require( 'node:fs' );
9
9
  const { globSync } = require( 'glob' );
10
10
  const upath = require( 'upath' );
11
- const { URL } = require( 'url' );
11
+ const { URL } = require( 'node:url' );
12
12
  const { SitemapStream, streamToPromise } = require( 'sitemap' );
13
13
 
14
14
  /**
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const { styleText } = require( 'util' );
9
- const fs = require( 'fs' );
8
+ const { styleText } = require( 'node:util' );
9
+ const fs = require( 'node:fs' );
10
10
  const upath = require( 'upath' );
11
11
  const getProjectConfig = require( './get-project-config' );
12
12
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
8
  const upath = require( 'upath' );
9
- const fs = require( 'fs' );
9
+ const fs = require( 'node:fs' );
10
10
 
11
11
  /**
12
12
  * Reads Umberto's hexo config file.
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
8
  const upath = require( 'upath' );
9
- const fs = require( 'fs' );
9
+ const fs = require( 'node:fs' );
10
10
 
11
11
  module.exports = rootPath => {
12
12
  const configPath = upath.join( rootPath, 'umberto-main.json' );
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
8
  const upath = require( 'upath' );
9
- const fs = require( 'fs' );
9
+ const fs = require( 'node:fs' );
10
10
  const { globSync } = require( 'glob' );
11
11
  const importModule = require( '../helpers/import-module' );
12
12
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const { readFileSync, writeFileSync } = require( 'fs' );
8
+ const { readFileSync, writeFileSync } = require( 'node:fs' );
9
9
  const minifier = require( '@minify-html/node' );
10
10
 
11
11
  /**
@@ -1,13 +1,13 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const { join } = require( 'path' );
9
- const { globSync } = require( 'fs' );
10
- const { styleText } = require( 'util' );
8
+ const { join } = require( 'node:path' );
9
+ const { globSync } = require( 'node:fs' );
10
+ const { styleText } = require( 'node:util' );
11
11
  const { default: TinyPool } = require( 'tinypool' );
12
12
  const logWithTime = require( '../helpers/log-with-time' );
13
13
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
8
  const upath = require( 'upath' );
9
- const fs = require( 'fs' );
9
+ const fs = require( 'node:fs' );
10
10
  const { globSync } = require( 'glob' );
11
11
  const DOC_FORMATS = require( '../helpers/doc-formats' );
12
12
 
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const path = require( 'path' );
8
+ const path = require( 'node:path' );
9
9
  const webpack = require( 'webpack' );
10
10
 
11
11
  module.exports = ( sourceFile, destinationFile, {
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
- const { spawn } = require( 'child_process' );
6
+ const { spawn } = require( 'node:child_process' );
7
7
  const vnu = require( 'vnu-jar' );
8
8
 
9
9
  module.exports = ( buildPath, { verbose } = {} ) => new Promise( ( resolve, reject ) => {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
@@ -11,7 +11,7 @@
11
11
  * especially for API documentation where the number of links can reach thousands.
12
12
  */
13
13
 
14
- const { styleText } = require( 'util' );
14
+ const { styleText } = require( 'node:util' );
15
15
  const fs = require( 'fs-extra' );
16
16
  const upath = require( 'upath' );
17
17
  const { globSync } = require( 'glob' );
@@ -80,6 +80,7 @@ async function collectLinks( pattern, options ) {
80
80
  *
81
81
  * @param {string} buildPath Path to the build directory.
82
82
  * @param {Object} [options={}] Validation options.
83
+ * @returns {Promise<boolean>} True if no errors were found, false otherwise.
83
84
  */
84
85
  module.exports = async function validateLinks( buildPath, options = {} ) {
85
86
  const logGatheringTime = logWithTime( 'Gathering links to validate' );
@@ -98,12 +99,14 @@ module.exports = async function validateLinks( buildPath, options = {} ) {
98
99
  const results = await Promise.all( tasks );
99
100
  const errors = results.flat();
100
101
 
102
+ logValidatingTime();
103
+
101
104
  if ( errors.length ) {
102
105
  printErrors( errors, buildPath );
103
- throw new Error( `Found ${ errors.length } invalid links.` );
106
+ return false;
104
107
  }
105
108
 
106
- logValidatingTime();
109
+ return true;
107
110
  } finally {
108
111
  await pool.destroy();
109
112
  }
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Copyright (c) 2017-2025, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2017-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
4
  */
5
5
 
6
6
  'use strict';
7
7
 
8
- const { styleText } = require( 'util' );
8
+ const { styleText } = require( 'node:util' );
9
9
  const upath = require( 'upath' );
10
10
  const chokidar = require( 'chokidar' );
11
11
  const { copy } = require( 'fs-extra' );