@ng-doc/builder 22.0.0-beta.2 → 22.1.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 (441) hide show
  1. package/README.md +19 -28
  2. package/application/index.js +2 -2
  3. package/application/index.js.map +1 -1
  4. package/application/schema.json +1 -2
  5. package/builders.json +23 -13
  6. package/classes/observable-map.d.ts +1 -0
  7. package/classes/observable-map.js +14 -3
  8. package/classes/observable-map.js.map +1 -1
  9. package/classes/observable-set.js +2 -1
  10. package/classes/observable-set.js.map +1 -1
  11. package/dev-server/index.js +5 -3
  12. package/dev-server/index.js.map +1 -1
  13. package/engine/builders/api-list/api-list-component.builder.js +4 -4
  14. package/engine/builders/api-list/api-list-component.builder.js.map +1 -1
  15. package/engine/builders/api-list/api-page-template.builder.js +2 -2
  16. package/engine/builders/api-list/api-page-template.builder.js.map +1 -1
  17. package/engine/builders/global/keywords.builder.d.ts +1 -4
  18. package/engine/builders/global/keywords.builder.js +5 -9
  19. package/engine/builders/global/keywords.builder.js.map +1 -1
  20. package/engine/builders/global/search-indexes.builder.js +1 -1
  21. package/engine/builders/global/search-indexes.builder.js.map +1 -1
  22. package/engine/builders/helpers/create-entry-metadata.js +2 -1
  23. package/engine/builders/helpers/create-entry-metadata.js.map +1 -1
  24. package/engine/builders/helpers/create-import-path.js.map +1 -1
  25. package/engine/builders/helpers/get-entry-relative-path.js.map +1 -1
  26. package/engine/builders/helpers/get-playground-metadata.js +7 -1
  27. package/engine/builders/helpers/get-playground-metadata.js.map +1 -1
  28. package/engine/builders/page/demo-assets.builder.js +10 -5
  29. package/engine/builders/page/demo-assets.builder.js.map +1 -1
  30. package/engine/builders/page/playground.builder.js +1 -0
  31. package/engine/builders/page/playground.builder.js.map +1 -1
  32. package/engine/builders/shared/content.builder.js +5 -3
  33. package/engine/builders/shared/content.builder.js.map +1 -1
  34. package/engine/builders/shared/page-component.builder.js +16 -6
  35. package/engine/builders/shared/page-component.builder.js.map +1 -1
  36. package/engine/builders/shared/page-wrapper.builder.js +10 -5
  37. package/engine/builders/shared/page-wrapper.builder.js.map +1 -1
  38. package/engine/core/operators/distinct-pending.js.map +1 -1
  39. package/engine/core/operators/factory.js +1 -4
  40. package/engine/core/operators/factory.js.map +1 -1
  41. package/engine/core/operators/merge-factory.js +19 -17
  42. package/engine/core/operators/merge-factory.js.map +1 -1
  43. package/engine/core/operators/when-builders-done.js.map +1 -1
  44. package/engine/core/triggers/on-dependencies-change.d.ts +1 -1
  45. package/engine/core/triggers/on-dependencies-change.js +2 -2
  46. package/engine/core/triggers/on-dependencies-change.js.map +1 -1
  47. package/generator/artifacts/index.d.ts +317 -0
  48. package/generator/bootstrap/bin.d.ts +18 -0
  49. package/generator/bootstrap/bin.js +7298 -0
  50. package/generator/bootstrap/candidate-output-committer.d.ts +12 -0
  51. package/generator/bootstrap/cli.d.ts +42 -0
  52. package/generator/bootstrap/cli.js +7147 -0
  53. package/generator/bootstrap/constants.d.ts +4 -0
  54. package/generator/bootstrap/index.d.ts +111 -0
  55. package/generator/bootstrap/index.js +5034 -0
  56. package/generator/bootstrap/prerender-command.d.ts +31 -0
  57. package/generator/bootstrap/process-tree.d.ts +49 -0
  58. package/generator/build-metafile.json +12009 -0
  59. package/generator/build-provenance.json +121 -0
  60. package/generator/compiler/assemble.d.ts +41 -0
  61. package/generator/compiler/classify.d.ts +161 -0
  62. package/generator/compiler/closure-store.d.ts +55 -0
  63. package/generator/compiler/common.d.ts +32 -0
  64. package/generator/compiler/describe.d.ts +21 -0
  65. package/generator/compiler/dry-run.d.ts +108 -0
  66. package/generator/compiler/fast-start.d.ts +104 -0
  67. package/generator/compiler/fold.d.ts +116 -0
  68. package/generator/compiler/index.d.ts +131 -0
  69. package/generator/compiler/index.js +19009 -0
  70. package/generator/compiler/link.d.ts +38 -0
  71. package/generator/compiler/memo.d.ts +44 -0
  72. package/generator/compiler/plan.d.ts +116 -0
  73. package/generator/compiler/progress.d.ts +54 -0
  74. package/generator/compiler/render.d.ts +27 -0
  75. package/generator/compiler/retention.d.ts +181 -0
  76. package/generator/compiler/semantic-closure.d.ts +46 -0
  77. package/generator/compiler/targeted.d.ts +280 -0
  78. package/generator/content/code-snippet.d.ts +20 -0
  79. package/generator/content/content-compiler.d.ts +122 -0
  80. package/generator/content/format-cache.d.ts +108 -0
  81. package/generator/content/highlight-cache.d.ts +115 -0
  82. package/generator/content/html-pipeline.d.ts +179 -0
  83. package/generator/content/html-pool.d.ts +245 -0
  84. package/generator/content/html-worker.js +2181 -0
  85. package/generator/content-module-ids.d.ts +8 -0
  86. package/generator/contracts.d.ts +1102 -0
  87. package/generator/contracts.js +15 -0
  88. package/generator/discovery/index.d.ts +79 -0
  89. package/generator/graph/index.d.ts +211 -0
  90. package/generator/graph/unit-index.d.ts +216 -0
  91. package/generator/kernel/canonical.d.ts +57 -0
  92. package/generator/kernel/flags.d.ts +51 -0
  93. package/generator/kernel/footprint.d.ts +88 -0
  94. package/generator/kernel/observations.d.ts +68 -0
  95. package/generator/kernel/paths.d.ts +22 -0
  96. package/generator/kernel/runtime-identity.d.ts +11 -0
  97. package/generator/outputs/index.d.ts +80 -0
  98. package/generator/package.json +3 -0
  99. package/generator/progress/ci.d.ts +22 -0
  100. package/generator/progress/detect.d.ts +60 -0
  101. package/generator/progress/events.d.ts +126 -0
  102. package/generator/progress/format.d.ts +83 -0
  103. package/generator/progress/gate.d.ts +49 -0
  104. package/generator/progress/host.d.ts +29 -0
  105. package/generator/progress/lines.d.ts +42 -0
  106. package/generator/progress/live.d.ts +115 -0
  107. package/generator/progress/model.d.ts +85 -0
  108. package/generator/progress/reporter.d.ts +87 -0
  109. package/generator/progress/settings.d.ts +60 -0
  110. package/generator/semantic/angular.d.ts +29 -0
  111. package/generator/semantic/api-enumeration.d.ts +19 -0
  112. package/generator/semantic/api-summary.d.ts +33 -0
  113. package/generator/semantic/dependencies.d.ts +20 -0
  114. package/generator/semantic/derived-classes.d.ts +58 -0
  115. package/generator/semantic/documentation-cache.d.ts +23 -0
  116. package/generator/semantic/formatting.d.ts +27 -0
  117. package/generator/semantic/fragments.d.ts +37 -0
  118. package/generator/semantic/owned-roots.d.ts +59 -0
  119. package/generator/semantic/program-builder.d.ts +55 -0
  120. package/generator/semantic/program-index.d.ts +124 -0
  121. package/generator/semantic/program-inputs.d.ts +26 -0
  122. package/generator/semantic/program-observations.d.ts +158 -0
  123. package/generator/semantic/program-retention.d.ts +147 -0
  124. package/generator/semantic/program-state.d.ts +196 -0
  125. package/generator/semantic/program-verify.d.ts +22 -0
  126. package/generator/semantic/recorder.d.ts +89 -0
  127. package/generator/semantic/rendering.d.ts +34 -0
  128. package/generator/semantic/semantic-closure.d.ts +129 -0
  129. package/generator/semantic/semantic-service.d.ts +186 -0
  130. package/generator/semantic/type-text.d.ts +5 -0
  131. package/generator/session/build-session.d.ts +206 -0
  132. package/generator/session/input-verification.d.ts +38 -0
  133. package/generator/session/parcel-event-source.d.ts +22 -0
  134. package/generator/session/progress.d.ts +72 -0
  135. package/generator/session/unchanged-saves.d.ts +63 -0
  136. package/generator/session/watch-inputs.d.ts +6 -0
  137. package/generator/session/watch-signals.d.ts +10 -0
  138. package/generator/templates/api/base.html.nunj +26 -0
  139. package/generator/templates/api/class-declaration.html.nunj +59 -0
  140. package/generator/templates/api/details/class-declaration.html.nunj +47 -0
  141. package/generator/templates/api/details/enum-declaration.html.nunj +0 -0
  142. package/generator/templates/api/details/function-declaration.html.nunj +14 -0
  143. package/generator/templates/api/details/helpers/decorators.html.nunj +14 -0
  144. package/generator/templates/api/details/helpers/extends.html.nunj +6 -0
  145. package/generator/templates/api/details/helpers/selectors.html.nunj +12 -0
  146. package/generator/templates/api/details/helpers/type-parameters.html.nunj +14 -0
  147. package/generator/templates/api/details/interface-declaration.html.nunj +27 -0
  148. package/generator/templates/api/details/type-alias-declaration.html.nunj +14 -0
  149. package/generator/templates/api/details/variable-declaration.html.nunj +0 -0
  150. package/generator/templates/api/details.html.nunj +9 -0
  151. package/generator/templates/api/enum-declaration.html.nunj +12 -0
  152. package/generator/templates/api/function-declaration.html.nunj +35 -0
  153. package/generator/templates/api/interface-declaration.html.nunj +37 -0
  154. package/generator/templates/api/type-alias-declaration.html.nunj +16 -0
  155. package/generator/templates/api/variable-declaration.html.nunj +8 -0
  156. package/generator/templates/api-header.html.nunj +11 -0
  157. package/generator/templates/api-list.ts.nunj +22 -0
  158. package/generator/templates/api-page-content.html.nunj +1 -0
  159. package/generator/templates/api-scope.ts.nunj +22 -0
  160. package/generator/templates/category.ts.nunj +22 -0
  161. package/generator/templates/code.html.nunj +3 -0
  162. package/generator/templates/context.ts.nunj +55 -0
  163. package/generator/templates/demo-app.ts.nunj +37 -0
  164. package/generator/templates/demo-assets.ts.nunj +25 -0
  165. package/generator/templates/demo-routes.ts.nunj +23 -0
  166. package/generator/templates/helpers/accessor.html.nunj +76 -0
  167. package/generator/templates/helpers/accessors.html.nunj +7 -0
  168. package/generator/templates/helpers/badge.html.nunj +4 -0
  169. package/generator/templates/helpers/call-signature.html.nunj +70 -0
  170. package/generator/templates/helpers/code.html.nunj +3 -0
  171. package/generator/templates/helpers/constructor.html.nunj +32 -0
  172. package/generator/templates/helpers/declaration-modifiers.html.nunj +45 -0
  173. package/generator/templates/helpers/decorators.html.nunj +11 -0
  174. package/generator/templates/helpers/members.html.nunj +29 -0
  175. package/generator/templates/helpers/method.html.nunj +89 -0
  176. package/generator/templates/helpers/methods.html.nunj +7 -0
  177. package/generator/templates/helpers/modifier.html.nunj +4 -0
  178. package/generator/templates/helpers/no-content.html.nunj +3 -0
  179. package/generator/templates/helpers/overload.html.nunj +57 -0
  180. package/generator/templates/helpers/parameters.html.nunj +44 -0
  181. package/generator/templates/helpers/properties.html.nunj +61 -0
  182. package/generator/templates/helpers/status.html.nunj +33 -0
  183. package/generator/templates/helpers/tag.html.nunj +4 -0
  184. package/generator/templates/helpers/type.html.nunj +11 -0
  185. package/generator/templates/index.ts.nunj +7 -0
  186. package/generator/templates/page-header.html.nunj +5 -0
  187. package/generator/templates/page-wrapper.ts.nunj +69 -0
  188. package/generator/templates/page.ts.nunj +104 -0
  189. package/generator/templates/parts/examples.html.nunj +11 -0
  190. package/generator/templates/parts/member-examples.html.nunj +12 -0
  191. package/generator/templates/parts/member-remarks.html.nunj +8 -0
  192. package/generator/templates/parts/page-tags.html.nunj +10 -0
  193. package/generator/templates/parts/remarks.html.nunj +10 -0
  194. package/generator/templates/parts/see-also.html.nunj +23 -0
  195. package/generator/templates/parts/usage-notes.html.nunj +8 -0
  196. package/generator/templates/playgrounds.ts.nunj +63 -0
  197. package/generator/templates/routes.ts.nunj +53 -0
  198. package/generator/templates/symbol/decorators.html.nunj +12 -0
  199. package/generator/templates/symbol/details.html.nunj +62 -0
  200. package/generator/templates/symbol/extended-by.html.nunj +17 -0
  201. package/generator/templates/symbol/header.html.nunj +22 -0
  202. package/generator/templates/symbol/members.html.nunj +303 -0
  203. package/generator/templates/symbol/page.html.nunj +76 -0
  204. package/generator/templates/symbol/see-also.html.nunj +16 -0
  205. package/generator/vite/angular/ANALOG-LICENSE +21 -0
  206. package/generator/vite/angular/analog-provenance.json +880 -0
  207. package/generator/vite/angular/index.d.ts +14 -0
  208. package/generator/vite/angular/index.js +7300 -0
  209. package/generator/vite/angular-compatibility.d.ts +6 -0
  210. package/generator/vite/angular-composition.d.ts +68 -0
  211. package/generator/vite/angular-version.d.ts +38 -0
  212. package/generator/vite/application-builder.js +336 -0
  213. package/generator/vite/application-builder.schema.json +46 -0
  214. package/generator/vite/application.d.ts +105 -0
  215. package/generator/vite/assets.d.ts +11 -0
  216. package/generator/vite/bounded-close.d.ts +33 -0
  217. package/generator/vite/component-updates.d.ts +21 -0
  218. package/generator/vite/configuration.d.ts +3 -0
  219. package/generator/vite/demo-application.d.ts +34 -0
  220. package/generator/vite/dev-server-builder.js +339 -0
  221. package/generator/vite/dev-server-builder.schema.json +27 -0
  222. package/generator/vite/dev-styles.d.ts +65 -0
  223. package/generator/vite/diagnostics.d.ts +4 -0
  224. package/generator/vite/external-probes.d.ts +40 -0
  225. package/generator/vite/host-updates.d.ts +212 -0
  226. package/generator/vite/index.d.ts +13 -0
  227. package/generator/vite/index.js +11949 -0
  228. package/generator/vite/lease.d.ts +6 -0
  229. package/generator/vite/lifecycle.d.ts +120 -0
  230. package/generator/vite/mime.d.ts +2 -0
  231. package/generator/vite/missing-paths.d.ts +44 -0
  232. package/generator/vite/options.d.ts +87 -0
  233. package/generator/vite/output-watch.d.ts +41 -0
  234. package/generator/vite/paths.d.ts +7 -0
  235. package/generator/vite/plugin.d.ts +3 -0
  236. package/generator/vite/prerender-entry.js +465 -0
  237. package/generator/vite/prerender-runtime.d.ts +79 -0
  238. package/generator/vite/prerender.d.ts +29 -0
  239. package/generator/vite/production.d.ts +66 -0
  240. package/generator/vite/progress.d.ts +33 -0
  241. package/generator/vite/restore-theme.js +13 -0
  242. package/generator/vite/route-inventory.d.ts +24 -0
  243. package/generator/vite/ssr-renderer-control.d.ts +1 -0
  244. package/generator/vite/ssr-renderer-entry.js +444 -0
  245. package/generator/vite/ssr-renderer-protocol.d.ts +101 -0
  246. package/generator/vite/ssr-renderer.d.ts +74 -0
  247. package/generator/vite/theme-index.d.ts +13 -0
  248. package/generator/vite/tsconfig-paths.d.ts +64 -0
  249. package/generator/vite/vite-event-source.d.ts +198 -0
  250. package/generator/vite/vite-version.d.ts +26 -0
  251. package/generator/vite/watch-inputs.d.ts +39 -0
  252. package/generator/worker/entry.d.ts +1 -0
  253. package/generator/worker/entry.js +614 -0
  254. package/generator/worker/index.d.ts +156 -0
  255. package/generator/worker/index.js +1030 -0
  256. package/generator/worker/protocol.d.ts +160 -0
  257. package/helpers/angular/get-component-decorator.js +6 -6
  258. package/helpers/angular/get-component-decorator.js.map +1 -1
  259. package/helpers/angular/get-directive-decorator.js +3 -3
  260. package/helpers/angular/get-directive-decorator.js.map +1 -1
  261. package/helpers/angular/get-pipe-decorator.js +3 -3
  262. package/helpers/angular/get-pipe-decorator.js.map +1 -1
  263. package/helpers/build-indexes.js +5 -2
  264. package/helpers/build-indexes.js.map +1 -1
  265. package/helpers/construct-page-keyword.js +2 -1
  266. package/helpers/construct-page-keyword.js.map +1 -1
  267. package/helpers/extract-selectors.d.ts +1 -1
  268. package/helpers/extract-selectors.js +5 -3
  269. package/helpers/extract-selectors.js.map +1 -1
  270. package/helpers/filter-useless-members.d.ts +1 -1
  271. package/helpers/format-cache.d.ts +34 -0
  272. package/helpers/format-cache.js +26 -0
  273. package/helpers/format-cache.js.map +1 -0
  274. package/helpers/format-code.d.ts +2 -1
  275. package/helpers/format-code.js +20 -4
  276. package/helpers/format-code.js.map +1 -1
  277. package/helpers/import-fresh-esm.js.map +1 -1
  278. package/helpers/index.d.ts +2 -0
  279. package/helpers/index.js +2 -0
  280. package/helpers/index.js.map +1 -1
  281. package/helpers/keyword-heading-title.d.ts +7 -0
  282. package/helpers/keyword-heading-title.js +21 -0
  283. package/helpers/keyword-heading-title.js.map +1 -0
  284. package/helpers/markdown-to-html.js +3 -3
  285. package/helpers/markdown-to-html.js.map +1 -1
  286. package/helpers/navigation-title-order.d.ts +8 -0
  287. package/helpers/navigation-title-order.js +15 -0
  288. package/helpers/navigation-title-order.js.map +1 -0
  289. package/helpers/playground/get-playground-inputs.js +8 -4
  290. package/helpers/playground/get-playground-inputs.js.map +1 -1
  291. package/helpers/playground/get-playground-template-inputs.js +2 -1
  292. package/helpers/playground/get-playground-template-inputs.js.map +1 -1
  293. package/helpers/presentation.d.ts +7 -7
  294. package/helpers/presentation.js +23 -23
  295. package/helpers/presentation.js.map +1 -1
  296. package/helpers/print.js +32 -5
  297. package/helpers/print.js.map +1 -1
  298. package/helpers/process-snippets.d.ts +1 -1
  299. package/helpers/process-snippets.js +3 -3
  300. package/helpers/process-snippets.js.map +1 -1
  301. package/helpers/snippets-from-asset.d.ts +1 -1
  302. package/helpers/snippets-from-asset.js +2 -2
  303. package/helpers/snippets-from-asset.js.map +1 -1
  304. package/helpers/sort-navigation-entities.js +2 -1
  305. package/helpers/sort-navigation-entities.js.map +1 -1
  306. package/helpers/stable-generated-id.d.ts +2 -0
  307. package/helpers/stable-generated-id.js +12 -0
  308. package/helpers/stable-generated-id.js.map +1 -0
  309. package/helpers/text-order.d.ts +8 -0
  310. package/helpers/text-order.js +26 -0
  311. package/helpers/text-order.js.map +1 -0
  312. package/helpers/to-template-string.d.ts +5 -1
  313. package/helpers/to-template-string.js +7 -2
  314. package/helpers/to-template-string.js.map +1 -1
  315. package/helpers/typescript/member/get-inherited-parent.d.ts +1 -1
  316. package/helpers/typescript/member/get-inherited-parent.js +2 -2
  317. package/helpers/typescript/member/get-inherited-parent.js.map +1 -1
  318. package/helpers/typescript/node/sort-by-nodes-name.d.ts +4 -2
  319. package/helpers/typescript/node/sort-by-nodes-name.js +6 -3
  320. package/helpers/typescript/node/sort-by-nodes-name.js.map +1 -1
  321. package/helpers/typescript/property/get-property-assignment.js.map +1 -1
  322. package/interfaces/code-block-options.d.ts +5 -0
  323. package/interfaces/configuration.d.ts +84 -1
  324. package/package.json +87 -29
  325. package/parsers/helpers/number.d.ts +1 -1
  326. package/parsers/helpers/number.js +2 -2
  327. package/parsers/helpers/number.js.map +1 -1
  328. package/parsers/helpers/param-value.d.ts +1 -1
  329. package/parsers/helpers/param-value.js +2 -2
  330. package/parsers/helpers/param-value.js.map +1 -1
  331. package/parsers/helpers/param.js +3 -3
  332. package/parsers/helpers/param.js.map +1 -1
  333. package/parsers/parse-code-block-params.d.ts +11 -2
  334. package/parsers/parse-code-block-params.js +50 -18
  335. package/parsers/parse-code-block-params.js.map +1 -1
  336. package/parsers/parse-snippet.js +10 -10
  337. package/parsers/parse-snippet.js.map +1 -1
  338. package/schematics/collection.json +34 -23
  339. package/schematics/migrate-to-vite/analyze.d.ts +76 -0
  340. package/schematics/migrate-to-vite/analyze.js +859 -0
  341. package/schematics/migrate-to-vite/analyze.js.map +1 -0
  342. package/schematics/migrate-to-vite/index.d.ts +9 -0
  343. package/schematics/migrate-to-vite/index.js +585 -0
  344. package/schematics/migrate-to-vite/index.js.map +1 -0
  345. package/schematics/migrate-to-vite/legacy-folder.d.ts +84 -0
  346. package/schematics/migrate-to-vite/legacy-folder.js +340 -0
  347. package/schematics/migrate-to-vite/legacy-folder.js.map +1 -0
  348. package/schematics/migrate-to-vite/report.d.ts +32 -0
  349. package/schematics/migrate-to-vite/report.js +97 -0
  350. package/schematics/migrate-to-vite/report.js.map +1 -0
  351. package/schematics/migrate-to-vite/schema.d.ts +13 -0
  352. package/schematics/migrate-to-vite/schema.js +3 -0
  353. package/schematics/migrate-to-vite/schema.js.map +1 -0
  354. package/schematics/migrate-to-vite/schema.json +31 -0
  355. package/schematics/migrate-to-vite/setup/dependencies.d.ts +64 -0
  356. package/schematics/migrate-to-vite/setup/dependencies.js +183 -0
  357. package/schematics/migrate-to-vite/setup/dependencies.js.map +1 -0
  358. package/schematics/migrate-to-vite/setup/index.d.ts +6 -0
  359. package/schematics/migrate-to-vite/setup/index.js +13 -0
  360. package/schematics/migrate-to-vite/setup/index.js.map +1 -0
  361. package/schematics/migrate-to-vite/setup/json-file.d.ts +51 -0
  362. package/schematics/migrate-to-vite/setup/json-file.js +115 -0
  363. package/schematics/migrate-to-vite/setup/json-file.js.map +1 -0
  364. package/schematics/migrate-to-vite/setup/source.d.ts +30 -0
  365. package/schematics/migrate-to-vite/setup/source.js +202 -0
  366. package/schematics/migrate-to-vite/setup/source.js.map +1 -0
  367. package/schematics/migrate-to-vite/setup/targets.d.ts +51 -0
  368. package/schematics/migrate-to-vite/setup/targets.js +48 -0
  369. package/schematics/migrate-to-vite/setup/targets.js.map +1 -0
  370. package/schematics/migrate-to-vite/setup/vite-config.d.ts +100 -0
  371. package/schematics/migrate-to-vite/setup/vite-config.js +175 -0
  372. package/schematics/migrate-to-vite/setup/vite-config.js.map +1 -0
  373. package/schematics/migrate-to-vite/setup/workspace.d.ts +105 -0
  374. package/schematics/migrate-to-vite/setup/workspace.js +245 -0
  375. package/schematics/migrate-to-vite/setup/workspace.js.map +1 -0
  376. package/schematics/migrate-to-vite/state.d.ts +65 -0
  377. package/schematics/migrate-to-vite/state.js +92 -0
  378. package/schematics/migrate-to-vite/state.js.map +1 -0
  379. package/schematics/migrate-to-vite/testing/fixtures.d.ts +30 -0
  380. package/schematics/migrate-to-vite/testing/fixtures.js +306 -0
  381. package/schematics/migrate-to-vite/testing/fixtures.js.map +1 -0
  382. package/schematics/migrate-to-vite/update-note.d.ts +6 -0
  383. package/schematics/migrate-to-vite/update-note.js +23 -0
  384. package/schematics/migrate-to-vite/update-note.js.map +1 -0
  385. package/schematics/migration.json +5 -0
  386. package/schematics/migrations/standalone-pages/index.js +7 -6
  387. package/schematics/migrations/standalone-pages/index.js.map +1 -1
  388. package/schematics/vite-setup/index.d.ts +24 -0
  389. package/schematics/vite-setup/index.js +212 -0
  390. package/schematics/vite-setup/index.js.map +1 -0
  391. package/schematics/vite-setup/schema.d.ts +7 -0
  392. package/schematics/vite-setup/schema.js +3 -0
  393. package/schematics/vite-setup/schema.js.map +1 -0
  394. package/schematics/vite-setup/schema.json +19 -0
  395. package/scripts/restore-theme.js +9 -2
  396. package/templates/api/class-declaration.html.nunj +5 -3
  397. package/templates/context.ts.nunj +3 -0
  398. package/templates/demo-app.ts.nunj +37 -0
  399. package/templates/demo-routes.ts.nunj +23 -0
  400. package/templates/helpers/badge.html.nunj +1 -1
  401. package/templates/helpers/status.html.nunj +4 -8
  402. package/templates/index.ts.nunj +5 -0
  403. package/templates/page-wrapper.ts.nunj +30 -2
  404. package/templates/page.ts.nunj +33 -1
  405. package/templates/parts/page-tags.html.nunj +1 -1
  406. package/templates/playgrounds.ts.nunj +8 -9
  407. package/templates/routes.ts.nunj +10 -1
  408. package/templates/symbol/decorators.html.nunj +12 -0
  409. package/templates/symbol/details.html.nunj +62 -0
  410. package/templates/symbol/extended-by.html.nunj +17 -0
  411. package/templates/symbol/header.html.nunj +22 -0
  412. package/templates/symbol/members.html.nunj +303 -0
  413. package/templates/symbol/page.html.nunj +76 -0
  414. package/templates/symbol/see-also.html.nunj +16 -0
  415. package/engine/.cache/apps/ng-doc/docs/api-documentation/auto-generation/ng-doc.page.mjs +0 -20
  416. package/engine/.cache/apps/ng-doc/docs/api-documentation/documenting-declarations/ng-doc.page.mjs +0 -20
  417. package/engine/.cache/apps/ng-doc/docs/api-documentation/rendering-api/ng-doc.page.mjs +0 -19
  418. package/engine/.cache/apps/ng-doc/docs/customization/icons/ng-doc.page.mjs +0 -19
  419. package/engine/.cache/apps/ng-doc/docs/customization/layout/ng-doc.page.mjs +0 -19
  420. package/engine/.cache/apps/ng-doc/docs/customization/page-processors/ng-doc.page.mjs +0 -19
  421. package/engine/.cache/apps/ng-doc/docs/customization/page-skeleton/ng-doc.page.mjs +0 -19
  422. package/engine/.cache/apps/ng-doc/docs/customization/search/ng-doc.page.mjs +0 -19
  423. package/engine/.cache/apps/ng-doc/docs/customization/themes/ng-doc.page.mjs +0 -19
  424. package/engine/.cache/apps/ng-doc/docs/develop/ng-doc.page.mjs +0 -36
  425. package/engine/.cache/apps/ng-doc/docs/getting-started/configuration/ng-doc.page.mjs +0 -19
  426. package/engine/.cache/apps/ng-doc/docs/getting-started/installation/ng-doc.page.mjs +0 -19
  427. package/engine/.cache/apps/ng-doc/docs/getting-started/migrations/ng-doc.page.mjs +0 -18
  428. package/engine/.cache/apps/ng-doc/docs/getting-started/ssr/ng-doc.page.mjs +0 -19
  429. package/engine/.cache/apps/ng-doc/docs/getting-started/what-is-ng-doc/ng-doc.page.mjs +0 -19
  430. package/engine/.cache/apps/ng-doc/docs/ng-doc.api.mjs +0 -42
  431. package/engine/.cache/apps/ng-doc/docs/recipes/ignoring-file-lines/ng-doc.page.mjs +0 -18
  432. package/engine/.cache/apps/ng-doc/docs/recipes/performance/ng-doc.page.mjs +0 -19
  433. package/engine/.cache/apps/ng-doc/docs/writing-content/blockquotes/ng-doc.page.mjs +0 -18
  434. package/engine/.cache/apps/ng-doc/docs/writing-content/code-blocks/ng-doc.page.mjs +0 -18
  435. package/engine/.cache/apps/ng-doc/docs/writing-content/demo-and-demo-pane/ng-doc.page.mjs +0 -19
  436. package/engine/.cache/apps/ng-doc/docs/writing-content/images-videos-and-embeds/ng-doc.page.mjs +0 -18
  437. package/engine/.cache/apps/ng-doc/docs/writing-content/keywords/ng-doc.page.mjs +0 -17
  438. package/engine/.cache/apps/ng-doc/docs/writing-content/mermaid-diagrams/ng-doc.page.mjs +0 -18
  439. package/engine/.cache/apps/ng-doc/docs/writing-content/nunjucks/ng-doc.page.mjs +0 -18
  440. package/engine/.cache/apps/ng-doc/docs/writing-content/pages-and-categories/ng-doc.page.mjs +0 -18
  441. package/engine/.cache/apps/ng-doc/docs/writing-content/playground/ng-doc.page.mjs +0 -33
@@ -0,0 +1,179 @@
1
+ import type { ContentAnchor, KeywordExport, SearchRecord, ShikiLanguage } from '../contracts.js';
2
+ import type { HighlightBlock } from './highlight-cache.js';
3
+ /**
4
+ * The back half of content compilation: the HTML pipeline of `@ng-doc/utils` (process, post-process,
5
+ * keyword replacement, indexable content and search records). It is a pure function of strings and
6
+ * JSON values: it reads no file, no program and no user value, and records no dependency, so the
7
+ * same code runs in the main thread and in a render thread (`./html-worker`, `./html-pool`), and
8
+ * both give the same result for the same input. Only the code-block highlight cache is state, and a
9
+ * cache hit gives the same HTML as a miss (`./highlight-cache`).
10
+ *
11
+ * Everything that reaches this module from a thread crosses as `encode`d JSON text
12
+ * (`worker/protocol`); the thread files import nothing but this module, `@ng-doc/utils`, the
13
+ * search parser, the digest and the protocol (the `source-boundaries` check).
14
+ */
15
+ /** The `@ng-doc/utils` pipeline, as the generator calls it. */
16
+ interface HtmlUtilities {
17
+ processHtml(html: string, config: {
18
+ headings?: string[];
19
+ route?: string;
20
+ lightTheme?: string;
21
+ darkTheme?: string;
22
+ langs?: readonly ShikiLanguage[];
23
+ grammars?: 'all' | 'used';
24
+ highlight?: PipelineHighlight;
25
+ }): Promise<{
26
+ content: string;
27
+ anchors: ContentAnchor[];
28
+ error?: unknown;
29
+ }>;
30
+ postProcessHtml(html: string): Promise<{
31
+ content: string;
32
+ usedKeywords: string[];
33
+ error?: unknown;
34
+ }>;
35
+ replaceKeywords(html: string, config: {
36
+ getKeyword(key: string): unknown;
37
+ }): Promise<string>;
38
+ removeNotIndexableContent(html: string): Promise<string>;
39
+ }
40
+ export declare const htmlUtilities: () => Promise<HtmlUtilities>;
41
+ /** The highlight cache of one `processHtml` call (`HighlightCall` of `./highlight-cache`). */
42
+ export interface PipelineHighlight {
43
+ key(block: HighlightBlock): string;
44
+ get(key: string): string | undefined;
45
+ set(key: string, value: string): void;
46
+ loads(themes: HighlightBlock['themes']): boolean;
47
+ readonly verify: boolean;
48
+ mismatch(key: string): void;
49
+ readonly mismatches: readonly string[];
50
+ }
51
+ /** One HTML document of a render task: one `processHtml` and one `postProcessHtml` call. */
52
+ export interface RenderDocument {
53
+ readonly html: string;
54
+ readonly route?: string;
55
+ /** The configured anchor headings; absent for a demo asset, which takes none. */
56
+ readonly headings?: string[];
57
+ }
58
+ /** The back half of one IR: its documents, processed in order until the first one fails. */
59
+ export interface RenderTask {
60
+ readonly documents: readonly RenderDocument[];
61
+ readonly themes: {
62
+ readonly light: string;
63
+ readonly dark: string;
64
+ };
65
+ /** The configured Shiki languages (`shiki.langs`); absent without any. */
66
+ readonly langs?: readonly ShikiLanguage[];
67
+ /**
68
+ * `all` when highlighting loads every bundled Shiki grammar (the switch is off); absent when it
69
+ * loads only the grammars code blocks reach. The HTML is the same.
70
+ */
71
+ readonly grammars?: 'all';
72
+ }
73
+ /**
74
+ * What processing one document gave. `mismatches` counts the cached code blocks that `verify`
75
+ * found to differ (reported before any failure, as the content compiler always did).
76
+ */
77
+ export type RenderedDocument = ({
78
+ readonly html: string;
79
+ readonly anchors: ContentAnchor[];
80
+ readonly usedKeywords: string[];
81
+ readonly mismatches: number;
82
+ } | {
83
+ readonly failed: 'process' | 'post-process';
84
+ readonly message: string;
85
+ readonly mismatches: number;
86
+ } | {
87
+ readonly aborted: true;
88
+ readonly mismatches: number;
89
+ }) & ParallelCheck;
90
+ /**
91
+ * `NGDOC_PARALLEL_RENDER=verify`: where a task's thread result differed from the main thread's,
92
+ * which is used (on the first document of a render task).
93
+ */
94
+ export interface ParallelCheck {
95
+ readonly differs?: string;
96
+ }
97
+ /** The back half of linking one IR. */
98
+ export interface LinkTask {
99
+ readonly html: string;
100
+ readonly title: string;
101
+ readonly absoluteRoute: string;
102
+ readonly breadcrumbs: string[];
103
+ readonly pageType: 'guide' | 'api';
104
+ }
105
+ /** What linking one IR gave; `consulted` lists every key it looked up, in lookup order. */
106
+ export type LinkedDocument = ({
107
+ readonly html: string;
108
+ readonly searchRecords: SearchRecord[];
109
+ } | {
110
+ readonly failed: string;
111
+ } | {
112
+ readonly aborted: true;
113
+ }) & {
114
+ readonly consulted: string[];
115
+ } & ParallelCheck;
116
+ /**
117
+ * Processes a task's documents in order and stops after the first that does not succeed, as the
118
+ * content compiler always did: a demo asset that fails ends its IR. `highlight` gives each document
119
+ * its own highlight cache call; `aborted` is checked between the steps (only the main thread has
120
+ * the signal: a thread's result is checked once it arrives).
121
+ */
122
+ export declare function renderDocuments(task: RenderTask, highlight: () => PipelineHighlight | undefined, aborted?: () => boolean): Promise<RenderedDocument[]>;
123
+ /**
124
+ * Links one IR: replaces its keywords, removes what is not indexable and builds its search records.
125
+ * Every key the keyword plugin looks up goes to `consulted`, before any branch on its binding.
126
+ */
127
+ export declare function linkDocument(task: LinkTask, getKeyword: (key: string) => KeywordExport | undefined, aborted?: () => boolean): Promise<LinkedDocument>;
128
+ /** The bindings of a keyword set by key; a later duplicate key wins, as in `new Map(...)`. */
129
+ export declare function bindingsOf(keywords: readonly KeywordExport[]): Map<string, KeywordExport>;
130
+ /**
131
+ * What one document's highlighting met, for the main thread to apply in plan order
132
+ * (`HighlightSession.merge`): the keys it hit or highlighted, what it highlighted, and the keys
133
+ * whose cached value `verify` found to differ.
134
+ */
135
+ export interface HighlightRecord {
136
+ used: string[];
137
+ fresh: Array<[string, string]>;
138
+ mismatched: string[];
139
+ }
140
+ /** Where a recording highlight cache reads and keeps entries. */
141
+ export interface HighlightStore {
142
+ get(key: string): string | undefined;
143
+ set(key: string, value: string): void;
144
+ /** Whether the context's themes are known to load. */
145
+ proven(): boolean;
146
+ prove(): void;
147
+ }
148
+ /**
149
+ * A highlight cache that records, per document, what it hit, highlighted and found to differ,
150
+ * instead of deciding anything shared: a render thread (and the main thread when it renders out
151
+ * of plan order) uses it, and the main thread merges the records in plan order, so what the
152
+ * shared cache holds and which document reports a `verify` difference are those of a sequential
153
+ * render, whatever ran where and when. `next` starts the record of the next document.
154
+ */
155
+ export declare function recordingHighlight(settings: {
156
+ context: string;
157
+ verify: boolean;
158
+ }, themes: RenderTask['themes'], store: HighlightStore): {
159
+ next(): PipelineHighlight;
160
+ records: HighlightRecord[];
161
+ };
162
+ /** A port a render thread receives jobs on and replies through (`parentPort`, or a test channel). */
163
+ export interface ThreadPort {
164
+ on(event: 'message', listener: (value: unknown) => void): unknown;
165
+ postMessage(value: string): void;
166
+ }
167
+ /**
168
+ * Serves render, link and warm-up jobs on `port`: the body of a render thread. Every message is
169
+ * `encode`d JSON text both ways. A job replies `{ type: 'done', id, result }`, or
170
+ * `{ type: 'failed', id, message }` when it could not run (the main thread then runs it itself).
171
+ *
172
+ * The thread keeps a copy of the main thread's highlighted blocks, which the main thread sends as
173
+ * `highlight` messages (all of them after a reset, then the new ones), and reports what each render
174
+ * hit (`used`) and highlighted (`fresh`), which the main thread merges in plan order. It keeps the
175
+ * generation's keyword set, sent once as a `keywords` message and named by its number in each
176
+ * link job.
177
+ */
178
+ export declare function serveHtmlThread(port: ThreadPort): void;
179
+ export {};
@@ -0,0 +1,245 @@
1
+ import { Worker } from 'node:worker_threads';
2
+ import type { CompilationRequest, KeywordExport, ShikiLanguage } from '../contracts.js';
3
+ import type { ContentBack } from './content-compiler.js';
4
+ export { PARALLEL_RENDER_MISMATCH } from './content-compiler.js';
5
+ import { type HighlightSession } from './highlight-cache.js';
6
+ import { type LinkedDocument, type LinkTask, type RenderedDocument, type RenderTask } from './html-pipeline.js';
7
+ /**
8
+ * Parallel rendering: the HTML pipeline of a large generation's content (`./html-pipeline`) runs on
9
+ * worker threads of the compiler runtime, while the main thread runs the fronts (files, templates,
10
+ * semantic queries) strictly in plan order and settles every result in plan order
11
+ * (`compiler/render.ts`, `compiler/link.ts`).
12
+ *
13
+ * The output cannot depend on where a task ran: a task is a pure function of its JSON input, and
14
+ * every message to and from a thread is `encode`d JSON text. A thread that cannot start, crashes,
15
+ * exits, replies with something malformed or fails a job gets the job run again in the main thread
16
+ * through the same pipeline, and the rest of the generation runs there; no diagnostic is reported,
17
+ * since a cold build would not have one (`renderPoolCounters` counts it).
18
+ *
19
+ * Threads are used only where they pay: never on the targeted path or the reference path
20
+ * (`incrementalReuse: false`), and in a generation only after its first
21
+ * {@link PARALLEL_RENDER_THRESHOLD} tasks, which run in the main thread while the threads start.
22
+ * A production build or a start without a previous snapshot starts them before the semantic phase
23
+ * (`prestartRenderThreads`), so their start-up hides behind it.
24
+ *
25
+ * The pool belongs to the runtime: a long-lived compiler runtime keeps it warm across generations
26
+ * and terminates it after {@link RENDER_POOL_IDLE_MS} without work; a one-shot compile terminates
27
+ * it when its service is disposed (`disposeHtmlPool`). Threads never keep the process alive, add
28
+ * no process listeners and change no environment, and they die with the runtime's process.
29
+ *
30
+ * `NGDOC_PARALLEL_RENDER=0` (`CompilationOptions.parallelRender: false`) runs everything in the main
31
+ * thread, as before. `verify` also runs every thread task in the main thread, uses that result and
32
+ * reports `CONTENT_PARALLEL_MISMATCH` when the two differ.
33
+ */
34
+ /** The default number of render threads at most. */
35
+ export declare const RENDER_THREAD_LIMIT = 4;
36
+ /** A generation's first tasks run in the main thread: a small generation never waits for a thread. */
37
+ export declare const PARALLEL_RENDER_THRESHOLD = 32;
38
+ /**
39
+ * The entries a likely large generation has at least before its threads start ahead of time: every
40
+ * entry renders a header and at least one tab, so fewer stay below the threshold anyway.
41
+ */
42
+ export declare const PRESTART_ENTRIES: number;
43
+ /** A pool without work for this long terminates its threads, to give their memory back. */
44
+ export declare const RENDER_POOL_IDLE_MS = 30000;
45
+ /** Tasks in flight per live thread, at most (`compiler/render.ts` bounds its units by it too). */
46
+ export declare const RENDER_WINDOW_PER_THREAD = 4;
47
+ /** The default thread count: up to four, leaving room for the main thread and Prettier's. */
48
+ export declare function defaultRenderThreads(): number;
49
+ /** The switch: `off`, `on` or `verify`. */
50
+ export declare function parallelRenderSwitch(options: {
51
+ parallelRender?: boolean | 'verify';
52
+ }): 'off' | 'on' | 'verify';
53
+ /** Why a thread could not give a task's result; the task then runs in the main thread. */
54
+ export declare class ThreadFailure extends Error {
55
+ }
56
+ /**
57
+ * Counters of this runtime, for tests: where tasks ran (`rendered`: the render tasks among the
58
+ * thread tasks) and how often a thread failed.
59
+ */
60
+ declare const counters: {
61
+ thread: number;
62
+ rendered: number;
63
+ main: number;
64
+ fallbacks: number;
65
+ mismatches: number;
66
+ };
67
+ /** Tests: a copy of the counters. */
68
+ export declare function renderPoolCounters(): typeof counters;
69
+ /** Tests: the counters back to zero. */
70
+ export declare function resetRenderPoolCounters(): void;
71
+ /**
72
+ * Tests only: run the threads from `entry` (a bundled `html-worker.ts`; the sources cannot run in
73
+ * a thread), with another threshold or idle time. `undefined` restores the default.
74
+ */
75
+ export declare function configureRenderPool(value: {
76
+ entry?: URL;
77
+ threshold?: number;
78
+ idleMs?: number;
79
+ }): void;
80
+ type Reply = Record<string, unknown>;
81
+ /** One render thread and the jobs it has not answered. */
82
+ declare class HtmlThread {
83
+ private readonly changed;
84
+ readonly worker: Worker;
85
+ readonly pending: Map<number, {
86
+ resolve(reply: Reply): void;
87
+ reject(error: Error): void;
88
+ }>;
89
+ failure?: Error;
90
+ /** How far this thread replayed the highlight journal (`highlightJournal`). */
91
+ highlight?: {
92
+ epoch: number;
93
+ cursor: number;
94
+ };
95
+ /** The keyword set this thread holds. */
96
+ keywords?: readonly KeywordExport[];
97
+ private readonly exited;
98
+ constructor(entry: URL, changed: () => void);
99
+ run(id: number, messages: readonly string[]): Promise<Reply>;
100
+ post(message: string): void;
101
+ private receive;
102
+ /** Ends the thread: every job it has not answered fails, and it is not used again. */
103
+ fail(error: Error): void;
104
+ terminate(): Promise<void>;
105
+ }
106
+ /**
107
+ * A warm-up: the themes and languages to set the highlighter up for, and whether the cached
108
+ * plugin is used.
109
+ */
110
+ export interface RenderWarmUp {
111
+ themes: {
112
+ light: string;
113
+ dark: string;
114
+ };
115
+ langs?: readonly ShikiLanguage[];
116
+ /** `all` when highlighting loads every bundled grammar. */
117
+ grammars?: 'all';
118
+ cache: boolean;
119
+ }
120
+ /** Up to `size` render threads, started on demand. */
121
+ export declare class HtmlPool {
122
+ readonly size: number;
123
+ private readonly entry;
124
+ private readonly idleMs;
125
+ private readonly threads;
126
+ private nextId;
127
+ private idle;
128
+ private warm;
129
+ constructor(size: number, entry: URL, idleMs: number);
130
+ /** The threads that have not failed. */
131
+ get live(): number;
132
+ /** Starts the missing threads (failed ones are replaced), each warmed up when `warm` is given. */
133
+ start(warm?: RenderWarmUp | undefined): void;
134
+ /**
135
+ * Runs a job on the live thread with the fewest jobs in flight (the first on a tie). `messages`
136
+ * builds what to post to that thread for job `id`: any messages that bring the thread up to date,
137
+ * then the job. A thread that fails rejects the job with a {@link ThreadFailure}.
138
+ */
139
+ run(messages: (thread: HtmlThread, id: number) => string[]): Promise<{
140
+ thread: HtmlThread;
141
+ reply: Reply;
142
+ }>;
143
+ /** Terminates every thread and resolves when all of them have stopped. */
144
+ terminate(): Promise<void>;
145
+ /**
146
+ * Every change (a start, a job, a reply, a release) starts the idle time again: with no job in
147
+ * flight and no compile holding the pool (`holdHtmlPool`), the threads end once it has passed
148
+ * without another change (a timer that keeps nothing alive).
149
+ */
150
+ changed(): void;
151
+ }
152
+ /**
153
+ * Holds the pool for a compile: threads started before its semantic phase are still there for its
154
+ * render, however long that phase takes. The returned release (idempotent) starts the idle time.
155
+ */
156
+ export declare function holdHtmlPool(): () => void;
157
+ /** This runtime's pool of `size` threads, or undefined when there is no thread entry or no size. */
158
+ export declare function htmlPool(size: number): HtmlPool | undefined;
159
+ /** The live threads of this runtime's pool (tests: nothing may outlive a one-shot compile). */
160
+ export declare function renderThreadsAlive(): number;
161
+ /** Terminates this runtime's pool and resolves when every thread has stopped. */
162
+ export declare function disposeHtmlPool(): Promise<void>;
163
+ /**
164
+ * Whether disposing a compilation service leaves the pool running: a long-lived compiler runtime
165
+ * (`worker/entry.ts`) creates a service per generation and keeps its pool warm across them.
166
+ */
167
+ export declare function keepHtmlPool(keep: boolean): void;
168
+ /** Whether a disposed compilation service leaves the pool to its runtime (`keepHtmlPool`). */
169
+ export declare function htmlPoolKept(): boolean;
170
+ /** The options parallel rendering reads (`CompilationOptions`). */
171
+ export interface ParallelRenderOptions {
172
+ incrementalReuse?: boolean;
173
+ parallelRender?: boolean | 'verify';
174
+ renderThreads?: number;
175
+ }
176
+ /**
177
+ * Starts the threads of a generation that is likely large, before its semantic phase: a production
178
+ * build or a start without a previous snapshot, of at least {@link PRESTART_ENTRIES} entries. Other
179
+ * generations start them only once they have more than {@link PARALLEL_RENDER_THRESHOLD} tasks, so a
180
+ * small site never starts one.
181
+ */
182
+ export declare function prestartRenderThreads(options: ParallelRenderOptions, request: Pick<CompilationRequest, 'mode' | 'previous'>, entries: number, warm: RenderWarmUp): void;
183
+ /**
184
+ * The back of one generation's content (`ContentBack`), or undefined when everything runs in the
185
+ * main thread: with the switch off, on the reference path and without threads.
186
+ */
187
+ export declare function createRenderBack(options: ParallelRenderOptions, highlight: HighlightSession | undefined, warm: RenderWarmUp): RenderBack | undefined;
188
+ /**
189
+ * One generation's back. Its tasks run in the main thread until the generation is admitted (its
190
+ * full path) and has passed the threshold, then on the pool. Results of thread render tasks feed
191
+ * the highlight cache in the order the tasks were submitted, which is plan order.
192
+ */
193
+ export declare class RenderBack implements ContentBack {
194
+ readonly mode: 'on' | 'verify';
195
+ readonly threads: number;
196
+ private readonly highlight;
197
+ private readonly warm;
198
+ private admitted;
199
+ /** A thread failed in this generation: its remaining tasks run in the main thread. */
200
+ private off;
201
+ private tasks;
202
+ private submitted;
203
+ private merging;
204
+ private readonly held;
205
+ private readonly keywordSets;
206
+ private nextKeywordSet;
207
+ constructor(mode: 'on' | 'verify', threads: number, highlight: HighlightSession | undefined, warm: RenderWarmUp);
208
+ /** The generation's full path may use threads (the targeted path never does). */
209
+ admit(): void;
210
+ /** Whether tasks may go to threads: the units in flight are worth bounding. */
211
+ get parallel(): boolean;
212
+ /** How many units may wait for their back half before the next front starts. */
213
+ window(): number;
214
+ render(task: RenderTask, signal: AbortSignal): Promise<RenderedDocument[]>;
215
+ /** A render task's documents and highlight records, from a thread or from this thread. */
216
+ private renderAnywhere;
217
+ link(task: LinkTask, keywords: readonly KeywordExport[], signal: AbortSignal): Promise<LinkedDocument>;
218
+ /** The pool this task may use, or undefined when it runs in the main thread. */
219
+ private pool;
220
+ /**
221
+ * Runs a job on a thread: its validated result, `aborted` when the generation was aborted first
222
+ * (the thread's reply is then ignored), or undefined after a failure, when the task must run in
223
+ * the main thread (and so must the rest of the generation's).
224
+ */
225
+ private onThread;
226
+ /**
227
+ * Renders in this thread. Its highlighting is recorded rather than applied, like a thread's, so
228
+ * that tasks rendered here out of plan order (ahead of earlier thread tasks, or concurrently with
229
+ * each other) still feed the cache in plan order.
230
+ */
231
+ private renderHere;
232
+ private linkHere;
233
+ private mismatch;
234
+ /**
235
+ * The highlight entries a thread lacks before a render job: all of them after it started or the
236
+ * cache was cleared, then those written since its last job.
237
+ */
238
+ private highlightSync;
239
+ /**
240
+ * Resolves once every render task submitted before `order` has had its turn, after running
241
+ * `apply` (this task's highlight merge): turns are taken in submission order, which is plan order.
242
+ */
243
+ private inTurn;
244
+ private keywordSet;
245
+ }