@ng-doc/builder 22.0.0-beta.1 → 22.0.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 (439) hide show
  1. package/README.md +19 -28
  2. package/application/index.js +7 -2
  3. package/application/index.js.map +1 -1
  4. package/application/schema.json +11 -4
  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/build-ng-doc.js +1 -16
  14. package/engine/build-ng-doc.js.map +1 -1
  15. package/engine/builders/api-list/api-list-component.builder.js +4 -4
  16. package/engine/builders/api-list/api-list-component.builder.js.map +1 -1
  17. package/engine/builders/api-list/api-page-template.builder.js +2 -2
  18. package/engine/builders/api-list/api-page-template.builder.js.map +1 -1
  19. package/engine/builders/global/keywords.builder.d.ts +1 -4
  20. package/engine/builders/global/keywords.builder.js +5 -9
  21. package/engine/builders/global/keywords.builder.js.map +1 -1
  22. package/engine/builders/global/search-indexes.builder.js +1 -1
  23. package/engine/builders/global/search-indexes.builder.js.map +1 -1
  24. package/engine/builders/helpers/create-entry-metadata.js +2 -1
  25. package/engine/builders/helpers/create-entry-metadata.js.map +1 -1
  26. package/engine/builders/helpers/create-import-path.js.map +1 -1
  27. package/engine/builders/helpers/get-entry-relative-path.js.map +1 -1
  28. package/engine/builders/page/demo-assets.builder.js +8 -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 +3 -3
  33. package/engine/builders/shared/content.builder.js.map +1 -1
  34. package/engine/builders/shared/entry.builder.js +1 -13
  35. package/engine/builders/shared/entry.builder.js.map +1 -1
  36. package/engine/builders/shared/page-component.builder.js +16 -6
  37. package/engine/builders/shared/page-component.builder.js.map +1 -1
  38. package/engine/builders/shared/page-wrapper.builder.js +8 -5
  39. package/engine/builders/shared/page-wrapper.builder.js.map +1 -1
  40. package/engine/core/operators/distinct-pending.js.map +1 -1
  41. package/engine/core/operators/entries-emitter.js +2 -6
  42. package/engine/core/operators/entries-emitter.js.map +1 -1
  43. package/engine/core/operators/factory.js +1 -4
  44. package/engine/core/operators/factory.js.map +1 -1
  45. package/engine/core/operators/merge-factory.js +19 -17
  46. package/engine/core/operators/merge-factory.js.map +1 -1
  47. package/engine/core/operators/when-builders-done.js.map +1 -1
  48. package/engine/core/stores/index.d.ts +0 -1
  49. package/engine/core/stores/index.js +0 -1
  50. package/engine/core/stores/index.js.map +1 -1
  51. package/engine/core/triggers/on-dependencies-change.d.ts +1 -1
  52. package/engine/core/triggers/on-dependencies-change.js +2 -2
  53. package/engine/core/triggers/on-dependencies-change.js.map +1 -1
  54. package/engine/core/watcher/watch.js +19 -1
  55. package/engine/core/watcher/watch.js.map +1 -1
  56. package/engine/variables.d.ts +1 -0
  57. package/engine/variables.js +1 -0
  58. package/engine/variables.js.map +1 -1
  59. package/generator/artifacts/index.d.ts +317 -0
  60. package/generator/bootstrap/bin.d.ts +18 -0
  61. package/generator/bootstrap/bin.js +7274 -0
  62. package/generator/bootstrap/candidate-output-committer.d.ts +12 -0
  63. package/generator/bootstrap/cli.d.ts +42 -0
  64. package/generator/bootstrap/cli.js +7123 -0
  65. package/generator/bootstrap/constants.d.ts +4 -0
  66. package/generator/bootstrap/index.d.ts +111 -0
  67. package/generator/bootstrap/index.js +5020 -0
  68. package/generator/bootstrap/prerender-command.d.ts +31 -0
  69. package/generator/bootstrap/process-tree.d.ts +49 -0
  70. package/generator/build-metafile.json +11701 -0
  71. package/generator/build-provenance.json +119 -0
  72. package/generator/compiler/assemble.d.ts +41 -0
  73. package/generator/compiler/classify.d.ts +161 -0
  74. package/generator/compiler/closure-store.d.ts +55 -0
  75. package/generator/compiler/common.d.ts +32 -0
  76. package/generator/compiler/describe.d.ts +21 -0
  77. package/generator/compiler/dry-run.d.ts +108 -0
  78. package/generator/compiler/fast-start.d.ts +104 -0
  79. package/generator/compiler/fold.d.ts +116 -0
  80. package/generator/compiler/index.d.ts +111 -0
  81. package/generator/compiler/index.js +17759 -0
  82. package/generator/compiler/link.d.ts +38 -0
  83. package/generator/compiler/memo.d.ts +44 -0
  84. package/generator/compiler/plan.d.ts +92 -0
  85. package/generator/compiler/progress.d.ts +54 -0
  86. package/generator/compiler/render.d.ts +27 -0
  87. package/generator/compiler/retention.d.ts +181 -0
  88. package/generator/compiler/semantic-closure.d.ts +46 -0
  89. package/generator/compiler/targeted.d.ts +280 -0
  90. package/generator/content/content-compiler.d.ts +118 -0
  91. package/generator/content/highlight-cache.d.ts +139 -0
  92. package/generator/content/html-pipeline.d.ts +170 -0
  93. package/generator/content/html-pool.d.ts +239 -0
  94. package/generator/content/html-worker.js +1598 -0
  95. package/generator/content-module-ids.d.ts +8 -0
  96. package/generator/contracts.d.ts +1063 -0
  97. package/generator/contracts.js +15 -0
  98. package/generator/discovery/index.d.ts +77 -0
  99. package/generator/graph/index.d.ts +211 -0
  100. package/generator/graph/unit-index.d.ts +216 -0
  101. package/generator/kernel/canonical.d.ts +57 -0
  102. package/generator/kernel/flags.d.ts +49 -0
  103. package/generator/kernel/footprint.d.ts +88 -0
  104. package/generator/kernel/observations.d.ts +68 -0
  105. package/generator/kernel/paths.d.ts +22 -0
  106. package/generator/kernel/runtime-identity.d.ts +11 -0
  107. package/generator/outputs/index.d.ts +67 -0
  108. package/generator/package.json +3 -0
  109. package/generator/progress/ci.d.ts +22 -0
  110. package/generator/progress/detect.d.ts +60 -0
  111. package/generator/progress/events.d.ts +126 -0
  112. package/generator/progress/format.d.ts +83 -0
  113. package/generator/progress/gate.d.ts +49 -0
  114. package/generator/progress/host.d.ts +29 -0
  115. package/generator/progress/lines.d.ts +42 -0
  116. package/generator/progress/live.d.ts +115 -0
  117. package/generator/progress/model.d.ts +85 -0
  118. package/generator/progress/reporter.d.ts +87 -0
  119. package/generator/progress/settings.d.ts +60 -0
  120. package/generator/semantic/angular.d.ts +9 -0
  121. package/generator/semantic/api-enumeration.d.ts +19 -0
  122. package/generator/semantic/api-summary.d.ts +33 -0
  123. package/generator/semantic/dependencies.d.ts +20 -0
  124. package/generator/semantic/derived-classes.d.ts +58 -0
  125. package/generator/semantic/documentation-cache.d.ts +23 -0
  126. package/generator/semantic/fragments.d.ts +28 -0
  127. package/generator/semantic/owned-roots.d.ts +59 -0
  128. package/generator/semantic/program-builder.d.ts +55 -0
  129. package/generator/semantic/program-index.d.ts +124 -0
  130. package/generator/semantic/program-inputs.d.ts +26 -0
  131. package/generator/semantic/program-observations.d.ts +158 -0
  132. package/generator/semantic/program-retention.d.ts +147 -0
  133. package/generator/semantic/program-state.d.ts +196 -0
  134. package/generator/semantic/program-verify.d.ts +22 -0
  135. package/generator/semantic/recorder.d.ts +89 -0
  136. package/generator/semantic/rendering.d.ts +34 -0
  137. package/generator/semantic/semantic-closure.d.ts +129 -0
  138. package/generator/semantic/semantic-service.d.ts +186 -0
  139. package/generator/semantic/type-text.d.ts +5 -0
  140. package/generator/session/build-session.d.ts +206 -0
  141. package/generator/session/input-verification.d.ts +38 -0
  142. package/generator/session/parcel-event-source.d.ts +22 -0
  143. package/generator/session/progress.d.ts +72 -0
  144. package/generator/session/unchanged-saves.d.ts +63 -0
  145. package/generator/session/watch-inputs.d.ts +6 -0
  146. package/generator/session/watch-signals.d.ts +10 -0
  147. package/generator/templates/api/base.html.nunj +26 -0
  148. package/generator/templates/api/class-declaration.html.nunj +57 -0
  149. package/generator/templates/api/details/class-declaration.html.nunj +47 -0
  150. package/generator/templates/api/details/enum-declaration.html.nunj +0 -0
  151. package/generator/templates/api/details/function-declaration.html.nunj +14 -0
  152. package/generator/templates/api/details/helpers/decorators.html.nunj +14 -0
  153. package/generator/templates/api/details/helpers/extends.html.nunj +6 -0
  154. package/generator/templates/api/details/helpers/selectors.html.nunj +12 -0
  155. package/generator/templates/api/details/helpers/type-parameters.html.nunj +14 -0
  156. package/generator/templates/api/details/interface-declaration.html.nunj +27 -0
  157. package/generator/templates/api/details/type-alias-declaration.html.nunj +14 -0
  158. package/generator/templates/api/details/variable-declaration.html.nunj +0 -0
  159. package/generator/templates/api/details.html.nunj +9 -0
  160. package/generator/templates/api/enum-declaration.html.nunj +12 -0
  161. package/generator/templates/api/function-declaration.html.nunj +35 -0
  162. package/generator/templates/api/interface-declaration.html.nunj +37 -0
  163. package/generator/templates/api/type-alias-declaration.html.nunj +16 -0
  164. package/generator/templates/api/variable-declaration.html.nunj +8 -0
  165. package/generator/templates/api-header.html.nunj +11 -0
  166. package/generator/templates/api-list.ts.nunj +22 -0
  167. package/generator/templates/api-page-content.html.nunj +1 -0
  168. package/generator/templates/api-scope.ts.nunj +22 -0
  169. package/generator/templates/category.ts.nunj +22 -0
  170. package/generator/templates/code.html.nunj +3 -0
  171. package/generator/templates/context.ts.nunj +55 -0
  172. package/generator/templates/demo-assets.ts.nunj +25 -0
  173. package/generator/templates/helpers/accessor.html.nunj +76 -0
  174. package/generator/templates/helpers/accessors.html.nunj +7 -0
  175. package/generator/templates/helpers/badge.html.nunj +4 -0
  176. package/generator/templates/helpers/call-signature.html.nunj +70 -0
  177. package/generator/templates/helpers/code.html.nunj +3 -0
  178. package/generator/templates/helpers/constructor.html.nunj +32 -0
  179. package/generator/templates/helpers/declaration-modifiers.html.nunj +45 -0
  180. package/generator/templates/helpers/decorators.html.nunj +11 -0
  181. package/generator/templates/helpers/members.html.nunj +29 -0
  182. package/generator/templates/helpers/method.html.nunj +89 -0
  183. package/generator/templates/helpers/methods.html.nunj +7 -0
  184. package/generator/templates/helpers/modifier.html.nunj +4 -0
  185. package/generator/templates/helpers/no-content.html.nunj +3 -0
  186. package/generator/templates/helpers/overload.html.nunj +57 -0
  187. package/generator/templates/helpers/parameters.html.nunj +44 -0
  188. package/generator/templates/helpers/properties.html.nunj +61 -0
  189. package/generator/templates/helpers/status.html.nunj +33 -0
  190. package/generator/templates/helpers/tag.html.nunj +4 -0
  191. package/generator/templates/helpers/type.html.nunj +11 -0
  192. package/generator/templates/index.ts.nunj +2 -0
  193. package/generator/templates/page-header.html.nunj +5 -0
  194. package/generator/templates/page-wrapper.ts.nunj +64 -0
  195. package/generator/templates/page.ts.nunj +97 -0
  196. package/generator/templates/parts/examples.html.nunj +11 -0
  197. package/generator/templates/parts/member-examples.html.nunj +12 -0
  198. package/generator/templates/parts/member-remarks.html.nunj +8 -0
  199. package/generator/templates/parts/page-tags.html.nunj +10 -0
  200. package/generator/templates/parts/remarks.html.nunj +10 -0
  201. package/generator/templates/parts/see-also.html.nunj +23 -0
  202. package/generator/templates/parts/usage-notes.html.nunj +8 -0
  203. package/generator/templates/playgrounds.ts.nunj +63 -0
  204. package/generator/templates/routes.ts.nunj +49 -0
  205. package/generator/templates/symbol/decorators.html.nunj +12 -0
  206. package/generator/templates/symbol/details.html.nunj +62 -0
  207. package/generator/templates/symbol/extended-by.html.nunj +17 -0
  208. package/generator/templates/symbol/header.html.nunj +22 -0
  209. package/generator/templates/symbol/members.html.nunj +301 -0
  210. package/generator/templates/symbol/page.html.nunj +76 -0
  211. package/generator/templates/symbol/see-also.html.nunj +16 -0
  212. package/generator/vite/angular/ANALOG-LICENSE +21 -0
  213. package/generator/vite/angular/analog-provenance.json +880 -0
  214. package/generator/vite/angular/index.d.ts +14 -0
  215. package/generator/vite/angular/index.js +7300 -0
  216. package/generator/vite/angular-compatibility.d.ts +6 -0
  217. package/generator/vite/angular-composition.d.ts +68 -0
  218. package/generator/vite/angular-version.d.ts +38 -0
  219. package/generator/vite/application-builder.js +331 -0
  220. package/generator/vite/application-builder.schema.json +46 -0
  221. package/generator/vite/application.d.ts +91 -0
  222. package/generator/vite/assets.d.ts +11 -0
  223. package/generator/vite/bounded-close.d.ts +33 -0
  224. package/generator/vite/component-updates.d.ts +21 -0
  225. package/generator/vite/configuration.d.ts +3 -0
  226. package/generator/vite/dev-server-builder.js +334 -0
  227. package/generator/vite/dev-server-builder.schema.json +27 -0
  228. package/generator/vite/dev-styles.d.ts +65 -0
  229. package/generator/vite/diagnostics.d.ts +4 -0
  230. package/generator/vite/external-probes.d.ts +40 -0
  231. package/generator/vite/host-updates.d.ts +145 -0
  232. package/generator/vite/index.d.ts +13 -0
  233. package/generator/vite/index.js +11589 -0
  234. package/generator/vite/lease.d.ts +6 -0
  235. package/generator/vite/lifecycle.d.ts +119 -0
  236. package/generator/vite/mime.d.ts +2 -0
  237. package/generator/vite/missing-paths.d.ts +44 -0
  238. package/generator/vite/options.d.ts +87 -0
  239. package/generator/vite/output-watch.d.ts +41 -0
  240. package/generator/vite/paths.d.ts +7 -0
  241. package/generator/vite/plugin.d.ts +3 -0
  242. package/generator/vite/prerender-entry.js +395 -0
  243. package/generator/vite/prerender-runtime.d.ts +66 -0
  244. package/generator/vite/prerender.d.ts +27 -0
  245. package/generator/vite/production.d.ts +66 -0
  246. package/generator/vite/progress.d.ts +33 -0
  247. package/generator/vite/restore-theme.js +13 -0
  248. package/generator/vite/route-inventory.d.ts +24 -0
  249. package/generator/vite/ssr-renderer-control.d.ts +1 -0
  250. package/generator/vite/ssr-renderer-entry.js +444 -0
  251. package/generator/vite/ssr-renderer-protocol.d.ts +101 -0
  252. package/generator/vite/ssr-renderer.d.ts +74 -0
  253. package/generator/vite/theme-index.d.ts +13 -0
  254. package/generator/vite/tsconfig-paths.d.ts +64 -0
  255. package/generator/vite/vite-event-source.d.ts +198 -0
  256. package/generator/vite/vite-version.d.ts +26 -0
  257. package/generator/vite/watch-inputs.d.ts +39 -0
  258. package/generator/worker/entry.d.ts +1 -0
  259. package/generator/worker/entry.js +614 -0
  260. package/generator/worker/index.d.ts +156 -0
  261. package/generator/worker/index.js +1030 -0
  262. package/generator/worker/protocol.d.ts +160 -0
  263. package/helpers/angular/get-component-decorator.js +6 -6
  264. package/helpers/angular/get-component-decorator.js.map +1 -1
  265. package/helpers/angular/get-directive-decorator.js +3 -3
  266. package/helpers/angular/get-directive-decorator.js.map +1 -1
  267. package/helpers/angular/get-pipe-decorator.js +3 -3
  268. package/helpers/angular/get-pipe-decorator.js.map +1 -1
  269. package/helpers/build-indexes.js +5 -2
  270. package/helpers/build-indexes.js.map +1 -1
  271. package/helpers/construct-page-keyword.js +2 -1
  272. package/helpers/construct-page-keyword.js.map +1 -1
  273. package/helpers/extract-selectors.d.ts +1 -1
  274. package/helpers/extract-selectors.js +5 -3
  275. package/helpers/extract-selectors.js.map +1 -1
  276. package/helpers/filter-useless-members.d.ts +1 -1
  277. package/helpers/format-code.d.ts +2 -1
  278. package/helpers/format-code.js +13 -4
  279. package/helpers/format-code.js.map +1 -1
  280. package/helpers/import-fresh-esm.js.map +1 -1
  281. package/helpers/index.d.ts +2 -0
  282. package/helpers/index.js +2 -0
  283. package/helpers/index.js.map +1 -1
  284. package/helpers/keyword-heading-title.d.ts +7 -0
  285. package/helpers/keyword-heading-title.js +21 -0
  286. package/helpers/keyword-heading-title.js.map +1 -0
  287. package/helpers/markdown-to-html.js +3 -3
  288. package/helpers/markdown-to-html.js.map +1 -1
  289. package/helpers/navigation-title-order.d.ts +8 -0
  290. package/helpers/navigation-title-order.js +15 -0
  291. package/helpers/navigation-title-order.js.map +1 -0
  292. package/helpers/playground/get-playground-inputs.js +8 -4
  293. package/helpers/playground/get-playground-inputs.js.map +1 -1
  294. package/helpers/playground/get-playground-template-inputs.js +2 -1
  295. package/helpers/playground/get-playground-template-inputs.js.map +1 -1
  296. package/helpers/presentation.d.ts +7 -7
  297. package/helpers/presentation.js +23 -23
  298. package/helpers/presentation.js.map +1 -1
  299. package/helpers/print.js +32 -5
  300. package/helpers/print.js.map +1 -1
  301. package/helpers/process-snippets.d.ts +1 -1
  302. package/helpers/process-snippets.js +3 -3
  303. package/helpers/process-snippets.js.map +1 -1
  304. package/helpers/snippets-from-asset.d.ts +1 -1
  305. package/helpers/snippets-from-asset.js +2 -2
  306. package/helpers/snippets-from-asset.js.map +1 -1
  307. package/helpers/sort-navigation-entities.js +2 -1
  308. package/helpers/sort-navigation-entities.js.map +1 -1
  309. package/helpers/stable-generated-id.d.ts +2 -0
  310. package/helpers/stable-generated-id.js +12 -0
  311. package/helpers/stable-generated-id.js.map +1 -0
  312. package/helpers/text-order.d.ts +8 -0
  313. package/helpers/text-order.js +26 -0
  314. package/helpers/text-order.js.map +1 -0
  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/schema.d.ts +1 -0
  323. package/package.json +87 -30
  324. package/parsers/helpers/number.d.ts +1 -1
  325. package/parsers/helpers/number.js +2 -2
  326. package/parsers/helpers/number.js.map +1 -1
  327. package/parsers/helpers/param-value.d.ts +1 -1
  328. package/parsers/helpers/param-value.js +2 -2
  329. package/parsers/helpers/param-value.js.map +1 -1
  330. package/parsers/helpers/param.js +3 -3
  331. package/parsers/helpers/param.js.map +1 -1
  332. package/parsers/parse-code-block-params.d.ts +1 -1
  333. package/parsers/parse-code-block-params.js +22 -16
  334. package/parsers/parse-code-block-params.js.map +1 -1
  335. package/parsers/parse-snippet.js +10 -10
  336. package/parsers/parse-snippet.js.map +1 -1
  337. package/schematics/collection.json +34 -23
  338. package/schematics/migrate-to-vite/analyze.d.ts +76 -0
  339. package/schematics/migrate-to-vite/analyze.js +816 -0
  340. package/schematics/migrate-to-vite/analyze.js.map +1 -0
  341. package/schematics/migrate-to-vite/index.d.ts +9 -0
  342. package/schematics/migrate-to-vite/index.js +585 -0
  343. package/schematics/migrate-to-vite/index.js.map +1 -0
  344. package/schematics/migrate-to-vite/legacy-folder.d.ts +84 -0
  345. package/schematics/migrate-to-vite/legacy-folder.js +340 -0
  346. package/schematics/migrate-to-vite/legacy-folder.js.map +1 -0
  347. package/schematics/migrate-to-vite/report.d.ts +32 -0
  348. package/schematics/migrate-to-vite/report.js +97 -0
  349. package/schematics/migrate-to-vite/report.js.map +1 -0
  350. package/schematics/migrate-to-vite/schema.d.ts +13 -0
  351. package/schematics/migrate-to-vite/schema.js +3 -0
  352. package/schematics/migrate-to-vite/schema.js.map +1 -0
  353. package/schematics/migrate-to-vite/schema.json +31 -0
  354. package/schematics/migrate-to-vite/setup/dependencies.d.ts +64 -0
  355. package/schematics/migrate-to-vite/setup/dependencies.js +183 -0
  356. package/schematics/migrate-to-vite/setup/dependencies.js.map +1 -0
  357. package/schematics/migrate-to-vite/setup/index.d.ts +6 -0
  358. package/schematics/migrate-to-vite/setup/index.js +13 -0
  359. package/schematics/migrate-to-vite/setup/index.js.map +1 -0
  360. package/schematics/migrate-to-vite/setup/json-file.d.ts +51 -0
  361. package/schematics/migrate-to-vite/setup/json-file.js +115 -0
  362. package/schematics/migrate-to-vite/setup/json-file.js.map +1 -0
  363. package/schematics/migrate-to-vite/setup/source.d.ts +30 -0
  364. package/schematics/migrate-to-vite/setup/source.js +202 -0
  365. package/schematics/migrate-to-vite/setup/source.js.map +1 -0
  366. package/schematics/migrate-to-vite/setup/targets.d.ts +51 -0
  367. package/schematics/migrate-to-vite/setup/targets.js +48 -0
  368. package/schematics/migrate-to-vite/setup/targets.js.map +1 -0
  369. package/schematics/migrate-to-vite/setup/vite-config.d.ts +100 -0
  370. package/schematics/migrate-to-vite/setup/vite-config.js +175 -0
  371. package/schematics/migrate-to-vite/setup/vite-config.js.map +1 -0
  372. package/schematics/migrate-to-vite/setup/workspace.d.ts +100 -0
  373. package/schematics/migrate-to-vite/setup/workspace.js +225 -0
  374. package/schematics/migrate-to-vite/setup/workspace.js.map +1 -0
  375. package/schematics/migrate-to-vite/state.d.ts +65 -0
  376. package/schematics/migrate-to-vite/state.js +92 -0
  377. package/schematics/migrate-to-vite/state.js.map +1 -0
  378. package/schematics/migrate-to-vite/testing/fixtures.d.ts +18 -0
  379. package/schematics/migrate-to-vite/testing/fixtures.js +279 -0
  380. package/schematics/migrate-to-vite/testing/fixtures.js.map +1 -0
  381. package/schematics/migrate-to-vite/update-note.d.ts +6 -0
  382. package/schematics/migrate-to-vite/update-note.js +23 -0
  383. package/schematics/migrate-to-vite/update-note.js.map +1 -0
  384. package/schematics/migration.json +5 -0
  385. package/schematics/migrations/standalone-pages/index.js +7 -6
  386. package/schematics/migrations/standalone-pages/index.js.map +1 -1
  387. package/schematics/vite-setup/index.d.ts +20 -0
  388. package/schematics/vite-setup/index.js +206 -0
  389. package/schematics/vite-setup/index.js.map +1 -0
  390. package/schematics/vite-setup/schema.d.ts +7 -0
  391. package/schematics/vite-setup/schema.js +3 -0
  392. package/schematics/vite-setup/schema.js.map +1 -0
  393. package/schematics/vite-setup/schema.json +19 -0
  394. package/scripts/restore-theme.js +9 -2
  395. package/templates/context.ts.nunj +3 -0
  396. package/templates/helpers/badge.html.nunj +1 -1
  397. package/templates/helpers/status.html.nunj +4 -8
  398. package/templates/page-wrapper.ts.nunj +24 -1
  399. package/templates/page.ts.nunj +25 -0
  400. package/templates/parts/page-tags.html.nunj +1 -1
  401. package/templates/playgrounds.ts.nunj +8 -9
  402. package/templates/routes.ts.nunj +6 -1
  403. package/templates/symbol/decorators.html.nunj +12 -0
  404. package/templates/symbol/details.html.nunj +62 -0
  405. package/templates/symbol/extended-by.html.nunj +17 -0
  406. package/templates/symbol/header.html.nunj +22 -0
  407. package/templates/symbol/members.html.nunj +301 -0
  408. package/templates/symbol/page.html.nunj +76 -0
  409. package/templates/symbol/see-also.html.nunj +16 -0
  410. package/engine/.cache/apps/ng-doc/docs/api-documentation/auto-generation/ng-doc.page.mjs +0 -20
  411. package/engine/.cache/apps/ng-doc/docs/api-documentation/documenting-declarations/ng-doc.page.mjs +0 -20
  412. package/engine/.cache/apps/ng-doc/docs/api-documentation/rendering-api/ng-doc.page.mjs +0 -19
  413. package/engine/.cache/apps/ng-doc/docs/customization/icons/ng-doc.page.mjs +0 -19
  414. package/engine/.cache/apps/ng-doc/docs/customization/layout/ng-doc.page.mjs +0 -19
  415. package/engine/.cache/apps/ng-doc/docs/customization/page-processors/ng-doc.page.mjs +0 -19
  416. package/engine/.cache/apps/ng-doc/docs/customization/page-skeleton/ng-doc.page.mjs +0 -19
  417. package/engine/.cache/apps/ng-doc/docs/customization/search/ng-doc.page.mjs +0 -19
  418. package/engine/.cache/apps/ng-doc/docs/customization/themes/ng-doc.page.mjs +0 -19
  419. package/engine/.cache/apps/ng-doc/docs/develop/ng-doc.page.mjs +0 -36
  420. package/engine/.cache/apps/ng-doc/docs/getting-started/configuration/ng-doc.page.mjs +0 -19
  421. package/engine/.cache/apps/ng-doc/docs/getting-started/installation/ng-doc.page.mjs +0 -19
  422. package/engine/.cache/apps/ng-doc/docs/getting-started/migrations/ng-doc.page.mjs +0 -18
  423. package/engine/.cache/apps/ng-doc/docs/getting-started/ssr/ng-doc.page.mjs +0 -19
  424. package/engine/.cache/apps/ng-doc/docs/getting-started/what-is-ng-doc/ng-doc.page.mjs +0 -19
  425. package/engine/.cache/apps/ng-doc/docs/ng-doc.api.mjs +0 -42
  426. package/engine/.cache/apps/ng-doc/docs/recipes/ignoring-file-lines/ng-doc.page.mjs +0 -18
  427. package/engine/.cache/apps/ng-doc/docs/recipes/performance/ng-doc.page.mjs +0 -19
  428. package/engine/.cache/apps/ng-doc/docs/writing-content/blockquotes/ng-doc.page.mjs +0 -18
  429. package/engine/.cache/apps/ng-doc/docs/writing-content/code-blocks/ng-doc.page.mjs +0 -18
  430. package/engine/.cache/apps/ng-doc/docs/writing-content/demo-and-demo-pane/ng-doc.page.mjs +0 -19
  431. package/engine/.cache/apps/ng-doc/docs/writing-content/images-videos-and-embeds/ng-doc.page.mjs +0 -18
  432. package/engine/.cache/apps/ng-doc/docs/writing-content/keywords/ng-doc.page.mjs +0 -17
  433. package/engine/.cache/apps/ng-doc/docs/writing-content/mermaid-diagrams/ng-doc.page.mjs +0 -18
  434. package/engine/.cache/apps/ng-doc/docs/writing-content/nunjucks/ng-doc.page.mjs +0 -18
  435. package/engine/.cache/apps/ng-doc/docs/writing-content/pages-and-categories/ng-doc.page.mjs +0 -18
  436. package/engine/.cache/apps/ng-doc/docs/writing-content/playground/ng-doc.page.mjs +0 -33
  437. package/engine/core/stores/entry-status.d.ts +0 -23
  438. package/engine/core/stores/entry-status.js +0 -36
  439. package/engine/core/stores/entry-status.js.map +0 -1
@@ -0,0 +1,614 @@
1
+ // libs/builder/generator/worker/entry.ts
2
+ import { createRequire } from "node:module";
3
+
4
+ // libs/builder/generator/worker/protocol.ts
5
+ function encode(value) {
6
+ const result = JSON.stringify(
7
+ value,
8
+ function(key, item) {
9
+ const original = this[key];
10
+ if (typeof item === "function" || typeof item === "symbol" || typeof item === "bigint" || typeof item === "number" && !Number.isFinite(item) || original !== null && typeof original === "object" && !Array.isArray(original) && (Object.getPrototypeOf(original) !== Object.prototype && Object.getPrototypeOf(original) !== null || typeof original.toJSON === "function"))
11
+ throw new Error("Worker transport requires JSON values");
12
+ return item;
13
+ }
14
+ );
15
+ if (result === void 0) throw new Error("Worker transport requires a JSON value");
16
+ return result;
17
+ }
18
+ function decode(value) {
19
+ if (typeof value !== "string") throw new Error("Worker message must be JSON text");
20
+ const parsed = JSON.parse(value);
21
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
22
+ throw new Error("Worker message must be an object");
23
+ }
24
+ return parsed;
25
+ }
26
+ function resultFrom(value) {
27
+ if (value === null || typeof value !== "object") throw new Error("Invalid compilation result");
28
+ const result = value;
29
+ if (!Array.isArray(result.dependencies) || !Array.isArray(result.diagnostics) || !Array.isArray(result.whyRebuilt) || result.candidate !== void 0 && (result.candidate === null || typeof result.candidate !== "object" || !Array.isArray(result.candidate.artifacts))) {
30
+ throw new Error("Invalid compilation result");
31
+ }
32
+ return result;
33
+ }
34
+ function errorMessage(error) {
35
+ return error instanceof Error ? error.message : String(error);
36
+ }
37
+ var FIELD_LEVEL_LIMIT = 16;
38
+ function sameJson(left, right) {
39
+ return left === right || JSON.stringify(left) === JSON.stringify(right);
40
+ }
41
+ function fields(value, base, skip) {
42
+ const record = value;
43
+ const previous = base;
44
+ const keys = Object.keys(record).filter((key) => record[key] !== void 0);
45
+ const set = {};
46
+ for (const key of keys) {
47
+ if (key === skip) continue;
48
+ if (!previous || !Object.hasOwn(previous, key) || !sameJson(record[key], previous[key]))
49
+ set[key] = record[key];
50
+ }
51
+ return { keys, set };
52
+ }
53
+ function snapshotDelta(base, candidate) {
54
+ const previous = new Map((base?.artifacts ?? []).map((artifact) => [artifact.id, artifact]));
55
+ const unchanged = (artifact) => previous.get(artifact.id)?.revision === artifact.revision;
56
+ const fieldLevel = candidate.artifacts.filter((artifact) => !unchanged(artifact)).length <= FIELD_LEVEL_LIMIT;
57
+ return {
58
+ base: base?.revision ?? null,
59
+ ...fields(candidate, void 0, "artifacts"),
60
+ artifacts: candidate.artifacts.map(
61
+ (artifact) => unchanged(artifact) ? { id: artifact.id, revision: artifact.revision } : {
62
+ id: artifact.id,
63
+ revision: artifact.revision,
64
+ ...fields(artifact, fieldLevel ? previous.get(artifact.id) : void 0)
65
+ }
66
+ )
67
+ };
68
+ }
69
+ function object(value, what) {
70
+ if (value === null || typeof value !== "object" || Array.isArray(value))
71
+ throw new Error(`Invalid snapshot delta: ${what}`);
72
+ return value;
73
+ }
74
+ function strings(value, what) {
75
+ if (!Array.isArray(value) || value.some((item) => typeof item !== "string"))
76
+ throw new Error(`Invalid snapshot delta: ${what}`);
77
+ return value;
78
+ }
79
+ function assemble(keys, set, base, what, artifacts) {
80
+ const result = {};
81
+ for (const key of keys) {
82
+ if (key === "__proto__" || Object.hasOwn(result, key))
83
+ throw new Error(`Invalid snapshot delta: ${what} key ${key}`);
84
+ if (artifacts && key === "artifacts") result[key] = artifacts;
85
+ else if (Object.hasOwn(set, key)) result[key] = set[key];
86
+ else if (base && Object.hasOwn(base, key)) result[key] = base[key];
87
+ else throw new Error(`Invalid snapshot delta: ${what} has no base value for ${key}`);
88
+ }
89
+ return result;
90
+ }
91
+ function applySnapshotDelta(base, value) {
92
+ const delta = object(value, "delta");
93
+ if (delta["base"] !== (base?.revision ?? null))
94
+ throw new Error(
95
+ `Invalid snapshot delta: base ${String(delta["base"])} is not ${String(base?.revision ?? null)}`
96
+ );
97
+ const previous = /* @__PURE__ */ new Map();
98
+ for (const artifact of base?.artifacts ?? []) {
99
+ if (previous.has(artifact.id))
100
+ throw new Error(`Invalid snapshot delta: duplicate base artifact ${artifact.id}`);
101
+ previous.set(artifact.id, artifact);
102
+ }
103
+ if (!Array.isArray(delta["artifacts"])) throw new Error("Invalid snapshot delta: artifacts");
104
+ const seen = /* @__PURE__ */ new Set();
105
+ const artifacts = delta["artifacts"].map((item) => {
106
+ const entry = object(item, "artifact entry");
107
+ const id = entry["id"];
108
+ const revision = entry["revision"];
109
+ if (typeof id !== "string" || typeof revision !== "string" || seen.has(id))
110
+ throw new Error(`Invalid snapshot delta: artifact ${String(id)}`);
111
+ seen.add(id);
112
+ const old = previous.get(id);
113
+ if (!("keys" in entry)) {
114
+ if (!old || old.revision !== revision)
115
+ throw new Error(`Invalid snapshot delta: no base artifact ${id} at ${revision}`);
116
+ return old;
117
+ }
118
+ const artifact = assemble(
119
+ strings(entry["keys"], `artifact ${id} keys`),
120
+ object(entry["set"], `artifact ${id} values`),
121
+ old,
122
+ `artifact ${id}`
123
+ );
124
+ if (artifact["id"] !== id || artifact["revision"] !== revision)
125
+ throw new Error(`Invalid snapshot delta: artifact ${id} identity`);
126
+ return artifact;
127
+ });
128
+ const keys = strings(delta["keys"], "snapshot keys");
129
+ if (!keys.includes("artifacts")) throw new Error("Invalid snapshot delta: snapshot artifacts");
130
+ const snapshot = assemble(
131
+ keys,
132
+ object(delta["set"], "snapshot values"),
133
+ base,
134
+ "snapshot",
135
+ artifacts
136
+ );
137
+ if (typeof snapshot["revision"] !== "string" || typeof snapshot["projectId"] !== "string")
138
+ throw new Error("Invalid snapshot delta: snapshot identity");
139
+ return snapshot;
140
+ }
141
+ function deepFreeze(value) {
142
+ const pending = [value];
143
+ while (pending.length) {
144
+ const item = pending.pop();
145
+ if (item === null || typeof item !== "object" || Object.isFrozen(item)) continue;
146
+ Object.freeze(item);
147
+ for (const child of Object.values(item)) pending.push(child);
148
+ }
149
+ return value;
150
+ }
151
+ function createRuntimeRetention() {
152
+ let committed;
153
+ let working;
154
+ let invalidated;
155
+ const counters = { offered: 0, promoted: 0, dropped: 0 };
156
+ const commit = (entry) => {
157
+ committed = entry;
158
+ invalidated = void 0;
159
+ };
160
+ const settle = (revision) => {
161
+ if (working !== void 0 && working.base === revision) {
162
+ commit(working);
163
+ counters.promoted++;
164
+ } else if (working !== void 0) {
165
+ counters.dropped++;
166
+ if (!committed) invalidated ??= "dropped unacknowledged";
167
+ }
168
+ working = void 0;
169
+ };
170
+ return {
171
+ serve(promotion) {
172
+ return Object.freeze({
173
+ take() {
174
+ const entry = committed;
175
+ committed = void 0;
176
+ return entry;
177
+ },
178
+ offer(entry) {
179
+ if (promotion === "compile-end") {
180
+ commit(entry);
181
+ return;
182
+ }
183
+ working = entry;
184
+ counters.offered++;
185
+ },
186
+ restore(entry) {
187
+ if (committed) return false;
188
+ commit(entry);
189
+ return true;
190
+ },
191
+ invalidate(reason) {
192
+ if (!committed) invalidated = reason;
193
+ },
194
+ held: () => ({
195
+ ...committed ? { committed: committed.base } : {},
196
+ ...working ? { working: working.base } : {},
197
+ ...!committed && invalidated !== void 0 ? { invalidated } : {}
198
+ })
199
+ });
200
+ },
201
+ promote: settle,
202
+ resync: settle,
203
+ inspect: () => ({
204
+ committed: committed?.base ?? null,
205
+ working: working?.base ?? null,
206
+ invalidated: committed ? null : invalidated ?? null,
207
+ counters: { ...counters }
208
+ })
209
+ };
210
+ }
211
+ var PROGRESS_INTERVAL_MS = 100;
212
+ function createProgressChannel(send2, now = () => performance.now()) {
213
+ let closed = false;
214
+ let sentAt = Number.NEGATIVE_INFINITY;
215
+ let pending;
216
+ let timer;
217
+ const deliver = (update) => {
218
+ try {
219
+ send2(update);
220
+ } catch {
221
+ }
222
+ };
223
+ const flush = () => {
224
+ timer = void 0;
225
+ const update = pending;
226
+ pending = void 0;
227
+ if (!update || closed) return;
228
+ sentAt = now();
229
+ deliver(update);
230
+ };
231
+ const drop = () => {
232
+ pending = void 0;
233
+ if (timer !== void 0) clearTimeout(timer);
234
+ timer = void 0;
235
+ };
236
+ return {
237
+ sink(update) {
238
+ if (closed) return;
239
+ if (update.state !== "advance") {
240
+ drop();
241
+ deliver(update);
242
+ return;
243
+ }
244
+ const wait = sentAt + PROGRESS_INTERVAL_MS - now();
245
+ if (wait <= 0) {
246
+ drop();
247
+ sentAt = now();
248
+ deliver(update);
249
+ return;
250
+ }
251
+ pending = update;
252
+ timer ??= setTimeout(flush, wait).unref();
253
+ },
254
+ close() {
255
+ closed = true;
256
+ drop();
257
+ }
258
+ };
259
+ }
260
+
261
+ // libs/builder/generator/worker/entry.ts
262
+ var dryRunReport;
263
+ var renderThreads;
264
+ function exit() {
265
+ void (renderThreads?.dispose() ?? Promise.resolve()).catch(() => void 0).finally(() => process.exit(0));
266
+ }
267
+ var send = (message) => {
268
+ process.send(message);
269
+ };
270
+ function progressFor(job, id, context) {
271
+ if (job["progress"] !== true || job["prime"] === true) return void 0;
272
+ const channel = createProgressChannel((update) => send(encode({ type: "progress", id, update })));
273
+ Object.defineProperty(context, "progress", { value: channel.sink, enumerable: false });
274
+ return channel;
275
+ }
276
+ async function load(options) {
277
+ if (typeof options["moduleUrl"] !== "string") throw new Error("Missing compilation module URL");
278
+ const module = await import(options["moduleUrl"]);
279
+ if (typeof module.createCompilationService !== "function") {
280
+ throw new Error("Compilation module must export createCompilationService(options)");
281
+ }
282
+ if (typeof module.targetedDryRun === "function") dryRunReport = module.targetedDryRun;
283
+ if (typeof module.keepRenderThreads === "function" && typeof module.disposeRenderThreads === "function")
284
+ renderThreads = { keep: module.keepRenderThreads, dispose: module.disposeRenderThreads };
285
+ return module.createCompilationService;
286
+ }
287
+ async function create(factory, options) {
288
+ const service = await factory(options);
289
+ if (!service || typeof service.compile !== "function" || typeof service.dispose !== "function") {
290
+ throw new Error("Factory must return a CompilationService");
291
+ }
292
+ return service;
293
+ }
294
+ async function start(workerData) {
295
+ const options = decode(workerData);
296
+ const factory = await load(options);
297
+ const service = await create(factory, options["factoryOptions"]);
298
+ process.once("message", async (message) => {
299
+ let id;
300
+ try {
301
+ const job = decode(message);
302
+ id = job["id"];
303
+ if (job["type"] !== "compile" || !Number.isSafeInteger(id))
304
+ throw new Error("Invalid compile message");
305
+ let result;
306
+ const context = { lifetime: "generation" };
307
+ const progress = progressFor(job, id, context);
308
+ try {
309
+ result = resultFrom(
310
+ await service.compile(
311
+ job["request"],
312
+ new AbortController().signal,
313
+ context
314
+ )
315
+ );
316
+ } finally {
317
+ progress?.close();
318
+ await service.dispose();
319
+ await renderThreads?.dispose().catch(() => void 0);
320
+ }
321
+ send(encode({ type: "result", id, result }));
322
+ } catch (error) {
323
+ send(encode({ type: "failure", id, message: errorMessage(error) }));
324
+ }
325
+ });
326
+ send(encode({ type: "ready" }));
327
+ }
328
+ function primedReply(result) {
329
+ const error = result.diagnostics.find((item) => item.severity === "error");
330
+ return result.candidate && !error ? { revision: result.candidate.revision } : {
331
+ code: error?.code ?? "WORKER_PRIME_NO_CANDIDATE",
332
+ message: error?.message ?? "The warm-up compile returned no candidate"
333
+ };
334
+ }
335
+ var moduleCache = createRequire(import.meta.url).cache;
336
+ var PACKAGE_MODULE = /[\\/]node_modules[\\/]/;
337
+ function replaceEnv(env) {
338
+ for (const key of Object.keys(process.env)) if (!(key in env)) delete process.env[key];
339
+ for (const [key, value] of Object.entries(env)) {
340
+ if (typeof value === "string" && process.env[key] !== value) process.env[key] = value;
341
+ }
342
+ }
343
+ function changeDirectory(directory) {
344
+ try {
345
+ if (typeof directory === "string" && process.cwd() !== directory) process.chdir(directory);
346
+ } catch {
347
+ }
348
+ }
349
+ function isolate(host) {
350
+ if (host !== null && typeof host === "object" && !Array.isArray(host)) {
351
+ const { env: env2, cwd: cwd2 } = host;
352
+ if (env2 !== null && typeof env2 === "object" && !Array.isArray(env2)) {
353
+ replaceEnv(env2);
354
+ }
355
+ changeDirectory(cwd2);
356
+ }
357
+ const env = { ...process.env };
358
+ const cwd = process.cwd();
359
+ const umask = process.umask();
360
+ const listeners = new Map(
361
+ process.eventNames().map((name) => [name, new Set(process.rawListeners(name))])
362
+ );
363
+ const modules = new Set(Object.keys(moduleCache));
364
+ return () => {
365
+ for (const name of process.eventNames()) {
366
+ const before = listeners.get(name);
367
+ for (const listener of process.rawListeners(name)) {
368
+ if (!before?.has(listener)) {
369
+ process.removeListener(name, listener);
370
+ }
371
+ }
372
+ }
373
+ let stale = false;
374
+ for (const key of Object.keys(moduleCache)) {
375
+ if (modules.has(key) || PACKAGE_MODULE.test(key)) continue;
376
+ if (Object.prototype.toString.call(moduleCache[key]?.exports) === "[object Module]") {
377
+ stale = true;
378
+ }
379
+ delete moduleCache[key];
380
+ }
381
+ replaceEnv(env);
382
+ changeDirectory(cwd);
383
+ process.umask(umask);
384
+ process.exitCode = void 0;
385
+ return { stale };
386
+ };
387
+ }
388
+ function snapshotFor(value, base) {
389
+ return value !== null && typeof value === "object" && !Array.isArray(value) && value.revision === base && typeof value.projectId === "string" && Array.isArray(value.artifacts);
390
+ }
391
+ function withMembers(text, members) {
392
+ const extra = Object.entries(members).map(([key, value]) => `,${JSON.stringify(key)}:${value}`).join("");
393
+ return extra ? `${text.slice(0, -1)}${extra}}` : text;
394
+ }
395
+ async function serve(workerData) {
396
+ const options = decode(workerData);
397
+ const factory = await load(options);
398
+ renderThreads?.keep(true);
399
+ await (await create(factory, options["factoryOptions"])).dispose();
400
+ let base = null;
401
+ let committed;
402
+ let working;
403
+ let running;
404
+ let disposing = false;
405
+ const retention = createRuntimeRetention();
406
+ let pending;
407
+ const state = () => ({
408
+ base,
409
+ committed: committed?.revision ?? null,
410
+ working: working?.revision ?? null
411
+ });
412
+ const settle = () => {
413
+ const next = pending;
414
+ pending = void 0;
415
+ if (!next) return;
416
+ try {
417
+ working = applySnapshotDelta(next.base, JSON.parse(next.text));
418
+ if (next.verify) deepFreeze(working);
419
+ } catch {
420
+ working = void 0;
421
+ }
422
+ if (next.large) committed = void 0;
423
+ };
424
+ const compile = async (job) => {
425
+ const id = job["id"];
426
+ const controller = new AbortController();
427
+ running = { id, controller };
428
+ const release = isolate(job["host"]);
429
+ const request = job["request"];
430
+ const previous = request?.previous;
431
+ const delta = job["delta"] === true && job["prime"] !== true && job["full"] !== true;
432
+ let reply;
433
+ const members = {};
434
+ const deltaOf = (base2, candidate) => {
435
+ try {
436
+ const delta2 = snapshotDelta(base2, candidate);
437
+ const encoded = encode(delta2);
438
+ applySnapshotDelta(base2, delta2);
439
+ pending = {
440
+ base: base2,
441
+ text: encoded,
442
+ large: delta2.artifacts.filter((entry) => "keys" in entry).length > FIELD_LEVEL_LIMIT,
443
+ verify: job["verify"] === true
444
+ };
445
+ return encoded;
446
+ } catch {
447
+ return void 0;
448
+ }
449
+ };
450
+ const dryRuns = dryRunReport?.().counters.generations ?? 0;
451
+ try {
452
+ const service = await create(factory, options["factoryOptions"]);
453
+ let result;
454
+ let progress;
455
+ try {
456
+ const context = { lifetime: "watch" };
457
+ Object.defineProperty(context, "retention", {
458
+ value: retention.serve(delta ? "acknowledged" : "compile-end"),
459
+ enumerable: false
460
+ });
461
+ progress = progressFor(job, id, context);
462
+ result = resultFrom(await service.compile(request, controller.signal, context));
463
+ } finally {
464
+ progress?.close();
465
+ await service.dispose();
466
+ }
467
+ if (job["prime"] === true) {
468
+ reply = {
469
+ type: "result",
470
+ id,
471
+ result: { dependencies: [], diagnostics: [], whyRebuilt: [] },
472
+ primed: primedReply(result)
473
+ };
474
+ } else {
475
+ const { candidate, ...rest } = result;
476
+ const text = delta && candidate ? deltaOf(previous, candidate) : void 0;
477
+ if (text === void 0) {
478
+ reply = { type: "result", id, result };
479
+ } else {
480
+ if (job["verify"] === true) members["full"] = encode(candidate);
481
+ members["delta"] = text;
482
+ reply = { type: "result", id, result: rest, working: candidate.revision };
483
+ }
484
+ const dryRun = dryRunReport?.();
485
+ if (dryRun && dryRun.counters.generations > dryRuns) reply["dryRun"] = dryRun.last;
486
+ }
487
+ } catch (error) {
488
+ pending = void 0;
489
+ reply = { type: "failure", id, message: errorMessage(error) };
490
+ }
491
+ const { stale } = release();
492
+ running = void 0;
493
+ let message;
494
+ const { working: next, ...reported } = reply;
495
+ reply = reported;
496
+ const promised = () => pending ? {
497
+ base,
498
+ committed: pending.large ? null : committed?.revision ?? null,
499
+ working: next
500
+ } : state();
501
+ try {
502
+ message = withMembers(
503
+ encode({
504
+ ...reply,
505
+ state: promised(),
506
+ rss: process.memoryUsage().rss,
507
+ ...stale ? { recycle: true } : {}
508
+ }),
509
+ members
510
+ );
511
+ } catch (error) {
512
+ pending = void 0;
513
+ message = encode({ type: "failure", id, message: errorMessage(error), state: state() });
514
+ }
515
+ process.send(message, () => {
516
+ if (disposing) return exit();
517
+ settle();
518
+ if (running) return;
519
+ globalThis.gc?.();
520
+ send(encode({ type: "idle", rss: process.memoryUsage().rss }));
521
+ });
522
+ };
523
+ process.on("message", (message) => {
524
+ let job;
525
+ try {
526
+ job = decode(message);
527
+ } catch (error) {
528
+ send(encode({ type: "failure", message: errorMessage(error) }));
529
+ return;
530
+ }
531
+ const id = job["id"];
532
+ if (job["type"] === "abort") {
533
+ if (running && running.id === id) running.controller.abort();
534
+ } else if (job["type"] === "dispose") {
535
+ disposing = true;
536
+ if (!running) return exit();
537
+ running.controller.abort();
538
+ } else if (job["type"] === "resync" && !running && (job["base"] === null || typeof job["base"] === "string") && (job["snapshot"] === void 0 || snapshotFor(job["snapshot"], job["base"]))) {
539
+ pending = void 0;
540
+ retention.resync(job["base"]);
541
+ base = job["base"];
542
+ committed = job["snapshot"];
543
+ if (committed && job["verify"] === true) deepFreeze(committed);
544
+ working = void 0;
545
+ send(encode({ type: "resynced", base, state: state() }));
546
+ } else if (job["type"] === "compile" && Number.isSafeInteger(id) && !running) {
547
+ settle();
548
+ if (typeof job["promote"] === "string" && working?.revision === job["promote"]) {
549
+ committed = working;
550
+ base = job["promote"];
551
+ }
552
+ retention.promote(job["promote"]);
553
+ working = void 0;
554
+ if (job["delta"] !== true) committed = void 0;
555
+ if (job["base"] !== base) {
556
+ send(
557
+ encode({
558
+ type: "failure",
559
+ id,
560
+ code: "WORKER_BASE_MISMATCH",
561
+ message: `Compile base ${String(job["base"])} does not match the acknowledged base ${String(base)}`,
562
+ state: state()
563
+ })
564
+ );
565
+ return;
566
+ }
567
+ if (job["delta"] === true && job["retained"] === true) {
568
+ const request = job["request"];
569
+ if (!committed || committed.revision !== base || request === null || typeof request !== "object" || Array.isArray(request)) {
570
+ send(
571
+ encode({
572
+ type: "failure",
573
+ id,
574
+ code: "WORKER_RESYNC_REQUIRED",
575
+ message: `No retained snapshot for base ${String(base)}`,
576
+ state: state()
577
+ })
578
+ );
579
+ return;
580
+ }
581
+ request.previous = committed;
582
+ }
583
+ if (job["prime"] === true && base !== null && retention.inspect().committed === base) {
584
+ send(
585
+ encode({
586
+ type: "result",
587
+ id,
588
+ result: { dependencies: [], diagnostics: [], whyRebuilt: [] },
589
+ primed: { revision: base },
590
+ state: state(),
591
+ rss: process.memoryUsage().rss
592
+ })
593
+ );
594
+ return;
595
+ }
596
+ void compile(job);
597
+ } else {
598
+ send(encode({ type: "failure", id, message: `Invalid ${String(job["type"])} message` }));
599
+ }
600
+ });
601
+ send(encode({ type: "ready", base, delta: true }));
602
+ }
603
+ process.once("message", (workerData) => {
604
+ process.channel.ref();
605
+ process.once("disconnect", () => process.exit(0));
606
+ let persistent = false;
607
+ try {
608
+ persistent = decode(workerData)["persistent"] === true;
609
+ } catch {
610
+ }
611
+ void (persistent ? serve(workerData) : start(workerData)).catch((error) => {
612
+ process.send(encode({ type: "failure", message: errorMessage(error) }));
613
+ });
614
+ });