@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
@@ -1 +1 @@
1
- {"version":3,"file":"sort-by-nodes-name.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/node/sort-by-nodes-name.ts"],"names":[],"mappings":";;AAMA,0CAEC;AAND;;;GAGG;AACH,SAAgB,eAAe,CAAiC,KAAU;IACxE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"sort-by-nodes-name.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/node/sort-by-nodes-name.ts"],"names":[],"mappings":";;AAUA,0CAEC;AAVD,iDAA+C;AAE/C;;;;;GAKG;AACH,SAAgB,eAAe,CAAiC,KAAU;IACxE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,IAAA,wBAAW,EAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACvF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-property-assignment.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/property/get-property-assignment.ts"],"names":[],"mappings":";;AAOA,sDAIC;AAXD,uCAA0D;AAE1D;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,wBAAmD;IACvF,OAAO,eAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;QACxD,CAAC,CAAC,wBAAwB,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"get-property-assignment.js","sourceRoot":"","sources":["../../../../../../libs/builder/helpers/typescript/property/get-property-assignment.ts"],"names":[],"mappings":";;AAOA,sDAIC;AAXD,uCAA0D;AAE1D;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,wBAAmD;IACxF,OAAO,eAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC;QACzD,CAAC,CAAC,wBAAwB,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
@@ -8,5 +8,10 @@ export interface NgDocCodeBlockParams {
8
8
  icon?: string;
9
9
  fileLineStart?: number;
10
10
  fileLineEnd?: number;
11
+ /**
12
+ * The snippet of `file` to show, from `file="./x.ts"#<id>`: the lines between the two
13
+ * `snippet#<id>` markers. Only the Vite engine reads it.
14
+ */
15
+ snippet?: string;
11
16
  highlightedLines?: number[];
12
17
  }
@@ -1,4 +1,4 @@
1
- import { NgDocHeading, NgDocKeywordsLoader } from '@ng-doc/core';
1
+ import { NgDocDemoProvidersImport, NgDocHeading, NgDocKeywordsLoader } from '@ng-doc/core';
2
2
  import { NgDocGlobalKeyword } from '@ng-doc/core/interfaces/keyword-map';
3
3
  import { NgDocRepoConfig } from './repo-config';
4
4
  /**
@@ -43,6 +43,30 @@ export interface NgDocConfiguration {
43
43
  * The configuration for the guides
44
44
  */
45
45
  guide?: NgDocGuideConfiguration;
46
+ /**
47
+ * The configuration for the API pages. Only the Vite engine reads it.
48
+ */
49
+ api?: NgDocApiConfiguration;
50
+ /**
51
+ * Shows every demo of the `demo` action in an iframe, as `isolated: true` does for one demo
52
+ * (`false` by default). It also builds a demo page for every demo. Only the Vite engine reads it.
53
+ */
54
+ isolatedDemos?: boolean;
55
+ /**
56
+ * The demo pages: one page per demo that loads only Angular and that demo, which isolated demos
57
+ * show in an iframe and "Open in new tab" opens. Only the Vite engine builds them.
58
+ *
59
+ * By default only the pages with an isolated demo get them. `true` (or an object) builds them for
60
+ * every page with demos; `false` never builds them, and isolated demos render in the page.
61
+ */
62
+ demoApplication?: boolean | NgDocDemoApplicationConfiguration;
63
+ /**
64
+ * Imports the module whose default export lists the providers of the demo pages, for example
65
+ * `() => import('./demo.providers')`. It must be written in `ng-doc.config.ts` as an arrow
66
+ * function that returns one `import()` of a file. NgDoc never calls it while it generates; the
67
+ * demo pages import the module. Only the Vite engine reads it.
68
+ */
69
+ demoProviders?: NgDocDemoProvidersImport;
46
70
  /**
47
71
  * Shiki configuration
48
72
  */
@@ -51,8 +75,43 @@ export interface NgDocConfiguration {
51
75
  light: string;
52
76
  dark: string;
53
77
  };
78
+ /**
79
+ * Shiki language registrations that code blocks can use in addition to the languages bundled
80
+ * with Shiki, such as a grammar imported from a `.tmLanguage.json` file or from
81
+ * `@shikijs/langs`. A registration named like a bundled language replaces it. Only the Vite
82
+ * engine reads it; load the same languages in the browser with `provideNgDocApp`.
83
+ */
84
+ langs?: Array<NgDocShikiLanguage | readonly NgDocShikiLanguage[]>;
54
85
  };
55
86
  }
87
+ /**
88
+ * A Shiki (TextMate) language registration: a grammar and the name that code blocks use for it.
89
+ * It must be plain JSON data, as in a `.tmLanguage.json` file or a module of `@shikijs/langs`.
90
+ */
91
+ export interface NgDocShikiLanguage {
92
+ /** The language name: code blocks that name it (for example ` ```my-lang `) use the grammar. */
93
+ name: string;
94
+ /** The root scope of the grammar, such as `source.my-lang`. */
95
+ scopeName: string;
96
+ /** The name to display for the language. */
97
+ displayName?: string;
98
+ /** Other names that code blocks can use for the language. */
99
+ aliases?: string[];
100
+ /** The languages that the grammar embeds, which must be bundled or registered too. */
101
+ embeddedLangs?: string[];
102
+ /** The languages that the grammar embeds when they are loaded. */
103
+ embeddedLangsLazy?: string[];
104
+ /** The scopes that the grammar injects itself into. */
105
+ injectTo?: string[];
106
+ /** The TextMate rules of the grammar. */
107
+ patterns?: unknown;
108
+ /** The named TextMate rules that `patterns` include. */
109
+ repository?: unknown;
110
+ /** TextMate injections. */
111
+ injections?: unknown;
112
+ /** The selector of an injection grammar. */
113
+ injectionSelector?: string;
114
+ }
56
115
  /**
57
116
  * The configuration for the guide page
58
117
  */
@@ -67,6 +126,30 @@ export interface NgDocGuideConfiguration {
67
126
  */
68
127
  headerTemplate?: string;
69
128
  }
129
+ /**
130
+ * The configuration for the API pages.
131
+ */
132
+ export interface NgDocApiConfiguration {
133
+ /**
134
+ * Whether API pages list the protected members of classes, inherited ones included
135
+ * (`true` by default). With `false`, they list only public members: hidden members get no row,
136
+ * anchor, search record or keyword.
137
+ */
138
+ protectedMembers?: boolean;
139
+ }
140
+ /**
141
+ * The configuration of the demo pages.
142
+ */
143
+ export interface NgDocDemoApplicationConfiguration {
144
+ /**
145
+ * The URL path under which the demo pages are served, relative to the base href
146
+ * (`demo-preview` by default): a demo's page is `<base href><path>/<page route>/<demo name>/`.
147
+ * One or more URL segments of letters, digits, `-`, `_` and `.`; the first character of a
148
+ * segment is a letter or a digit, because some static hosts skip folders that start with `_`
149
+ * or `.`.
150
+ */
151
+ path?: string;
152
+ }
70
153
  /**
71
154
  * The configuration for the global keywords.
72
155
  */
package/package.json CHANGED
@@ -1,6 +1,26 @@
1
1
  {
2
2
  "name": "@ng-doc/builder",
3
- "version": "22.0.0-beta.2",
3
+ "version": "22.1.0",
4
+ "description": "Generates an NgDoc documentation site from your Markdown pages and TypeScript code.",
5
+ "keywords": [
6
+ "angular",
7
+ "documentation",
8
+ "generator",
9
+ "builder",
10
+ "guides",
11
+ "api",
12
+ "demo",
13
+ "ng-doc"
14
+ ],
15
+ "homepage": "https://ng-doc.com",
16
+ "bugs": {
17
+ "url": "https://github.com/ng-doc/ng-doc/issues"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/ng-doc/ng-doc.git"
22
+ },
23
+ "license": "MIT",
4
24
  "type": "commonjs",
5
25
  "builders": "./builders.json",
6
26
  "schematics": "./schematics/collection.json",
@@ -11,13 +31,12 @@
11
31
  ]
12
32
  },
13
33
  "dependencies": {
14
- "@ng-doc/core": "22.0.0-beta.2",
15
- "@ng-doc/utils": "22.0.0-beta.2",
16
- "@angular-devkit/architect": ">=0.2200.0 < 0.2300.0",
17
- "@angular-devkit/build-angular": ">=22.0.0 < 23.0.0",
18
- "minimatch": "9.0.1",
34
+ "@ng-doc/core": "22.1.0",
35
+ "@ng-doc/utils": "22.1.0",
36
+ "@angular-devkit/architect": ">=0.2200.0 <0.2300.0",
37
+ "minimatch": "9.0.9",
19
38
  "rxjs": "^7.0.0",
20
- "ts-morph": "22.0.0",
39
+ "ts-morph": "28.0.0",
21
40
  "nunjucks": "3.2.4",
22
41
  "@orama/orama": "2.0.17",
23
42
  "@orama/plugin-parsedoc": "2.0.17",
@@ -32,10 +51,64 @@
32
51
  "cosmiconfig-typescript-loader": "5.0.0",
33
52
  "find-cache-dir": "3.3.2",
34
53
  "tslib": "^2.6.2",
35
- "ng-morph": "^4.0.3",
54
+ "ng-morph": "4.9.0",
55
+ "jsonc-parser": "3.3.1",
36
56
  "parsimmon": "^1.18.1",
37
57
  "@parcel/watcher": "^2.5.0",
38
- "@microsoft/tsdoc": "0.15.1"
58
+ "@microsoft/tsdoc": "0.15.1",
59
+ "@shikijs/rehype": "4.5.0",
60
+ "shiki": "4.5.0",
61
+ "css-what": "6.1.0",
62
+ "github-slugger": "2.0.0",
63
+ "hast-util-has-property": "3.0.0",
64
+ "hast-util-heading-rank": "3.0.0",
65
+ "hast-util-is-element": "3.0.0",
66
+ "hast-util-to-string": "3.0.0",
67
+ "posthtml-render": "3.0.0",
68
+ "rehype": "13.0.1",
69
+ "rehype-minify-whitespace": "6.0.0",
70
+ "rehype-parse": "9.0.0",
71
+ "rehype-stringify": "10.0.1",
72
+ "stringify-entities": "4.0.4",
73
+ "typescript": "6.0.3",
74
+ "unified": "11.0.5",
75
+ "unist-util-filter": "5.0.1",
76
+ "unist-util-visit": "5.0.0",
77
+ "unist-util-visit-parents": "6.0.2",
78
+ "@angular-devkit/core": ">=22.0.0 <23.0.0",
79
+ "magic-string": "0.30.21",
80
+ "obug": "2.1.3",
81
+ "oxc-parser": "0.121.0",
82
+ "tinyglobby": "0.2.17"
83
+ },
84
+ "peerDependencies": {
85
+ "@angular/build": ">=22.0.0 <23.0.0",
86
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0",
87
+ "@analogjs/vite-plugin-angular": "^2.8.0",
88
+ "@angular/compiler": ">=22.0.0 <23.0.0",
89
+ "@angular/compiler-cli": ">=22.0.0 <23.0.0"
90
+ },
91
+ "peerDependenciesMeta": {
92
+ "vite": {
93
+ "optional": true
94
+ },
95
+ "@analogjs/vite-plugin-angular": {
96
+ "optional": true
97
+ },
98
+ "@angular/compiler": {
99
+ "optional": true
100
+ },
101
+ "@angular/compiler-cli": {
102
+ "optional": true
103
+ }
104
+ },
105
+ "ng-doc": {
106
+ "viteEngine": {
107
+ "@analogjs/vite-plugin-angular": "^2.8.0",
108
+ "@angular/compiler": "^22.0.0",
109
+ "@angular/compiler-cli": "^22.0.0",
110
+ "vite": "^8.3.0"
111
+ }
39
112
  },
40
113
  "publishConfig": {
41
114
  "access": "public"
@@ -45,26 +118,11 @@
45
118
  "chokidar": "^5.0.0"
46
119
  }
47
120
  },
48
- "types": "./index.d.ts",
49
- "main": "./index.js",
50
- "keywords": [
51
- "angular",
52
- "documentation",
53
- "generator",
54
- "builder",
55
- "guides",
56
- "api",
57
- "demo",
58
- "ng-doc"
59
- ],
60
- "author": "Skoropad Aleksandr <alex@skoropad.dev>",
61
- "repository": {
62
- "type": "git",
63
- "url": "git+https://github.com/ng-doc/ng-doc.git"
121
+ "bin": {
122
+ "ng-doc": "./generator/bootstrap/bin.js"
64
123
  },
65
- "bugs": {
66
- "url": "https://github.com/ng-doc/ng-doc/issues"
124
+ "engines": {
125
+ "node": ">=24.15.0 <25"
67
126
  },
68
- "homepage": "https://ng-doc.com",
69
- "license": "MIT"
127
+ "author": "Skoropad Aleksandr <alex@skoropad.dev>"
70
128
  }
@@ -1,2 +1,2 @@
1
- import * as P from 'parsimmon';
1
+ import P from 'parsimmon';
2
2
  export declare const number: P.Parser<number>;
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.number = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const P = tslib_1.__importStar(require("parsimmon"));
6
- exports.number = P.digits.map(Number);
5
+ const parsimmon_1 = tslib_1.__importDefault(require("parsimmon"));
6
+ exports.number = parsimmon_1.default.digits.map(Number);
7
7
  //# sourceMappingURL=number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/number.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAElB,QAAA,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/number.ts"],"names":[],"mappings":";;;;AAAA,kEAA0B;AAEb,QAAA,MAAM,GAAG,mBAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- import * as P from 'parsimmon';
1
+ import P from 'parsimmon';
2
2
  export declare const paramValue: () => P.Parser<string>;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.paramValue = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const P = tslib_1.__importStar(require("parsimmon"));
6
- const paramValue = () => P.regexp(/.+?(?=")/).wrap(P.string('"'), P.string('"'));
5
+ const parsimmon_1 = tslib_1.__importDefault(require("parsimmon"));
6
+ const paramValue = () => parsimmon_1.default.regexp(/.+?(?=")/).wrap(parsimmon_1.default.string('"'), parsimmon_1.default.string('"'));
7
7
  exports.paramValue = paramValue;
8
8
  //# sourceMappingURL=param-value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"param-value.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/param-value.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAExB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAA3E,QAAA,UAAU,cAAiE"}
1
+ {"version":3,"file":"param-value.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/param-value.ts"],"names":[],"mappings":";;;;AAAA,kEAA0B;AAEnB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,mBAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,mBAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,mBAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAA3E,QAAA,UAAU,cAAiE"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.param = param;
4
4
  const tslib_1 = require("tslib");
5
- const P = tslib_1.__importStar(require("parsimmon"));
5
+ const parsimmon_1 = tslib_1.__importDefault(require("parsimmon"));
6
6
  const param_value_1 = require("./param-value");
7
7
  /**
8
8
  *
@@ -10,8 +10,8 @@ const param_value_1 = require("./param-value");
10
10
  * @param newKeyName
11
11
  */
12
12
  function param(key, newKeyName) {
13
- return P.string(key)
14
- .then(P.string('='))
13
+ return parsimmon_1.default.string(key)
14
+ .then(parsimmon_1.default.string('='))
15
15
  .then((0, param_value_1.paramValue)())
16
16
  .map((value) => ({ [newKeyName ?? key]: value }));
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"param.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/param.ts"],"names":[],"mappings":";;AAUA,sBAQC;;AAlBD,qDAA+B;AAG/B,+CAA2C;AAE3C;;;;GAIG;AACH,SAAgB,KAAK,CACpB,GAAM,EACN,UAAc;IAEd,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAClB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACnB,IAAI,CAAC,IAAA,wBAAU,GAAE,CAAC;SAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,KAAK,EAA+C,CAAA,CAAC,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"param.js","sourceRoot":"","sources":["../../../../../libs/builder/parsers/helpers/param.ts"],"names":[],"mappings":";;AAUA,sBAQC;;AAlBD,kEAA0B;AAG1B,+CAA2C;AAE3C;;;;GAIG;AACH,SAAgB,KAAK,CACnB,GAAM,EACN,UAAc;IAEd,OAAO,mBAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACjB,IAAI,CAAC,mBAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACnB,IAAI,CAAC,IAAA,wBAAU,GAAE,CAAC;SAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,CAA6C,CAAC,CAAC;AAClG,CAAC"}
@@ -1,6 +1,15 @@
1
- import { NgDocCodeBlockParams } from '../interfaces';
1
+ import type { NgDocCodeBlockParams } from '../interfaces/code-block-options';
2
+ /** Options of {@link parseCodeBlockParams}. */
3
+ export interface NgDocCodeBlockParserOptions {
4
+ /**
5
+ * Whether a fragment after the `file` parameter may name a snippet: `file="./x.ts"#greeting`.
6
+ * Without it, only line ranges are accepted, and any other fragment fails to parse.
7
+ */
8
+ snippets?: boolean;
9
+ }
2
10
  /**
3
11
  * Code block options parser
4
12
  * @param options - Options string to parse
13
+ * @param parserOptions - What the caller supports beyond the original syntax.
5
14
  */
6
- export declare function parseCodeBlockParams(options: string): NgDocCodeBlockParams;
15
+ export declare function parseCodeBlockParams(options: string, parserOptions?: NgDocCodeBlockParserOptions): NgDocCodeBlockParams;
@@ -2,41 +2,73 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseCodeBlockParams = parseCodeBlockParams;
4
4
  const tslib_1 = require("tslib");
5
- const P = tslib_1.__importStar(require("parsimmon"));
5
+ const parsimmon_1 = tslib_1.__importDefault(require("parsimmon"));
6
6
  const helpers_1 = require("./helpers");
7
+ /**
8
+ * A code block language: a Shiki language id or alias. Besides letters and dashes, they use digits
9
+ * (`f90`, `1c`), `+` and `#` (`c++`, `c#`, `f#`) and other scripts (`文言`). Quotes, `=`, braces and
10
+ * whitespace end it, so the parameters that follow are parsed as before.
11
+ */
12
+ const CODE_BLOCK_LANGUAGE = /[\p{L}\p{N}+#-]+/u;
13
+ /** The characters of a snippet id, as `// snippet#<id>` markers spell it (`parseSnippet`). */
14
+ const SNIPPET_ID = /[a-zA-Z0-9-]+/;
15
+ /** A fragment that is a line range: `L<n>`, `L<n>-` or `L<n>-L<m>`. */
16
+ const LINE_RANGE = /^L(\d+)(?:(-)(?:L(\d+))?)?$/;
17
+ /**
18
+ * The fragment after a `file` parameter when snippets are on: `#L<n>`, `#L<n>-` and
19
+ * `#L<n>-L<m>` are line ranges (the same ranges as without snippets), any other id names a
20
+ * snippet.
21
+ * @param fragment - The fragment without its `#`.
22
+ */
23
+ function fileFragment(fragment) {
24
+ const range = LINE_RANGE.exec(fragment);
25
+ if (!range)
26
+ return { snippet: fragment };
27
+ const fileLineStart = Number(range[1]) - 1;
28
+ if (!range[2])
29
+ return { fileLineStart, fileLineEnd: fileLineStart + 1 };
30
+ return { fileLineStart, fileLineEnd: range[3] === undefined ? undefined : Number(range[3]) };
31
+ }
7
32
  /**
8
33
  * Code block options parser
9
34
  * @param options - Options string to parse
35
+ * @param parserOptions - What the caller supports beyond the original syntax.
10
36
  */
11
- function parseCodeBlockParams(options) {
12
- const parser = P.createLanguage({
13
- language: () => P.regexp(/[a-zA-Z-]+/)
14
- .skip(P.optWhitespace)
37
+ function parseCodeBlockParams(options, parserOptions = {}) {
38
+ const parser = parsimmon_1.default.createLanguage({
39
+ language: () => parsimmon_1.default.regexp(CODE_BLOCK_LANGUAGE)
40
+ .skip(parsimmon_1.default.optWhitespace)
15
41
  .map((language) => ({ language })),
16
42
  // File Parsers
17
- fileLineNumber: () => P.string('L').then(P.digits).map(Number),
18
- fileLineRange: (p) => P.seqMap(P.string('#')
43
+ fileLineNumber: () => parsimmon_1.default.string('L').then(parsimmon_1.default.digits).map(Number),
44
+ fileLineRange: (p) => parsimmon_1.default.seqMap(parsimmon_1.default.string('#')
19
45
  .then(p['fileLineNumber'])
20
- .map((num) => num - 1), P.string('-').then(p['fileLineNumber'].fallback(undefined)), (fileLineStart, fileLineEnd) => ({ fileLineStart, fileLineEnd })),
21
- fileLineStart: (p) => P.string('#')
46
+ .map((num) => num - 1), parsimmon_1.default.string('-').then(p['fileLineNumber'].fallback(undefined)), (fileLineStart, fileLineEnd) => ({ fileLineStart, fileLineEnd })),
47
+ fileLineStart: (p) => parsimmon_1.default.string('#')
22
48
  .then(p['fileLineNumber'])
23
49
  .map((num) => num - 1)
24
50
  .map((fileLineStart) => ({ fileLineStart, fileLineEnd: fileLineStart + 1 })),
25
- lineParams: (p) => p['fileLineRange'].or(p['fileLineStart']).fallback({}),
26
- highlightedLinesRange: () => P.seqMap(helpers_1.number.skip(P.string('-')), helpers_1.number, (start, end) => [...Array(end + 1).keys()].slice(start - end - 1)),
51
+ lineParams: (p) => (parserOptions.snippets
52
+ ? parsimmon_1.default.string('#').then(parsimmon_1.default.regexp(SNIPPET_ID)).map(fileFragment)
53
+ : p['fileLineRange'].or(p['fileLineStart'])).fallback({}),
54
+ highlightedLinesRange: () => parsimmon_1.default.seqMap(helpers_1.number.skip(parsimmon_1.default.string('-')), helpers_1.number, (start, end) => [...Array(end + 1).keys()].slice(start - end - 1)),
27
55
  // Main Parsers
28
- lineNumbers: () => P.string('lineNumbers').map(() => ({ lineNumbers: true })),
56
+ lineNumbers: () => parsimmon_1.default.string('lineNumbers').map(() => ({ lineNumbers: true })),
29
57
  filePath: () => (0, helpers_1.param)('file'),
30
58
  name: () => (0, helpers_1.param)('name'),
31
59
  group: () => (0, helpers_1.param)('group'),
32
60
  fileName: () => (0, helpers_1.param)('fileName', 'name'),
33
61
  icon: () => (0, helpers_1.param)('icon'),
34
- active: () => P.string('active').map(() => ({ active: true })),
35
- file: (p) => P.seq(p['filePath'], p['lineParams'].map(({ fileLineStart, fileLineEnd }) => ({ fileLineStart, fileLineEnd }))).map(([file, lineParams]) => ({ ...file, ...lineParams })),
62
+ active: () => parsimmon_1.default.string('active').map(() => ({ active: true })),
63
+ file: (p) => parsimmon_1.default.seq(p['filePath'], p['lineParams'].map(({ fileLineStart, fileLineEnd, snippet }) => ({
64
+ fileLineStart,
65
+ fileLineEnd,
66
+ ...(snippet === undefined ? {} : { snippet }),
67
+ }))).map(([file, lineParams]) => ({ ...file, ...lineParams })),
36
68
  highlightedLines: (p) => p['highlightedLinesRange']
37
69
  .or(helpers_1.number)
38
- .sepBy(P.string(',').then(P.optWhitespace))
39
- .wrap(P.string('{'), P.string('}'))
70
+ .sepBy(parsimmon_1.default.string(',').then(parsimmon_1.default.optWhitespace))
71
+ .wrap(parsimmon_1.default.string('{'), parsimmon_1.default.string('}'))
40
72
  .map((a) => Array.from(new Set(a.flat())))
41
73
  .map((highlightedLines) => ({ highlightedLines })),
42
74
  // Combined Parsers
@@ -48,8 +80,8 @@ function parseCodeBlockParams(options) {
48
80
  .or(p['active'])
49
81
  .or(p['icon'])
50
82
  .or(p['highlightedLines'])
51
- .sepBy(P.whitespace),
52
- languageWithParamsParser: (p) => P.seq(p['language'], p['paramsParser']).map((v) => v.flat()),
83
+ .sepBy(parsimmon_1.default.whitespace),
84
+ languageWithParamsParser: (p) => parsimmon_1.default.seq(p['language'], p['paramsParser']).map((v) => v.flat()),
53
85
  });
54
86
  let result = parser['paramsParser'].parse(options);
55
87
  if (result.status) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-code-block-params.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/parse-code-block-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-code-block-params.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/parse-code-block-params.ts"],"names":[],"mappings":"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"}
@@ -2,31 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseSnippet = parseSnippet;
4
4
  const tslib_1 = require("tslib");
5
- const P = tslib_1.__importStar(require("parsimmon"));
5
+ const parsimmon_1 = tslib_1.__importDefault(require("parsimmon"));
6
6
  const helpers_1 = require("./helpers");
7
7
  /**
8
8
  *
9
9
  * @param string - string to parse
10
10
  */
11
11
  function parseSnippet(string) {
12
- const parser = P.createLanguage({
13
- keyword: () => P.string('snippet'),
14
- id: () => P.string('#')
15
- .then(P.regexp(/[a-zA-Z0-9-]+/))
12
+ const parser = parsimmon_1.default.createLanguage({
13
+ keyword: () => parsimmon_1.default.string('snippet'),
14
+ id: () => parsimmon_1.default.string('#')
15
+ .then(parsimmon_1.default.regexp(/[a-zA-Z0-9-]+/))
16
16
  .fallback(null)
17
17
  .map((id) => ({ id })),
18
- lang: () => P.string(':')
19
- .then(P.regexp(/[a-zA-Z0-9-]+/))
18
+ lang: () => parsimmon_1.default.string(':')
19
+ .then(parsimmon_1.default.regexp(/[a-zA-Z0-9-]+/))
20
20
  .fallback(undefined)
21
21
  .map((lang) => ({ lang })),
22
22
  icon: () => (0, helpers_1.param)('icon'),
23
23
  title: () => (0, helpers_1.paramValue)().map((title) => ({ title })),
24
- opened: () => P.string('opened')
24
+ opened: () => parsimmon_1.default.string('opened')
25
25
  .result(true)
26
26
  .fallback(undefined)
27
27
  .map((opened) => ({ opened })),
28
- snippet: ({ keyword, id, lang, icon, title, opened }) => keyword.then(P.seq(id, lang, P.whitespace.then(title.or(icon).or(opened).sepBy(P.whitespace)).fallback([])).map(([id, lang, rest]) => ({ ...id, ...lang, ...Object.assign({}, ...rest) }))),
29
- snippetFromFile: ({ lang, icon, title, opened }) => P.seq((0, helpers_1.param)('snippet-from-file', 'fromFile'), lang, P.whitespace.then(title.or(icon).or(opened).sepBy(P.whitespace)).fallback([])).map(([id, lang, rest]) => ({ ...id, ...lang, ...Object.assign({}, ...rest) })),
28
+ snippet: ({ keyword, id, lang, icon, title, opened }) => keyword.then(parsimmon_1.default.seq(id, lang, parsimmon_1.default.whitespace.then(title.or(icon).or(opened).sepBy(parsimmon_1.default.whitespace)).fallback([])).map(([id, lang, rest]) => ({ ...id, ...lang, ...Object.assign({}, ...rest) }))),
29
+ snippetFromFile: ({ lang, icon, title, opened }) => parsimmon_1.default.seq((0, helpers_1.param)('snippet-from-file', 'fromFile'), lang, parsimmon_1.default.whitespace.then(title.or(icon).or(opened).sepBy(parsimmon_1.default.whitespace)).fallback([])).map(([id, lang, rest]) => ({ ...id, ...lang, ...Object.assign({}, ...rest) })),
30
30
  anySnippet: ({ snippet, snippetFromFile }) => snippetFromFile.or(snippet),
31
31
  });
32
32
  const result = parser.anySnippet.parse(string);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-snippet.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/parse-snippet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-snippet.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/parse-snippet.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,36 @@
1
1
  {
2
- "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
- "schematics": {
4
- "category": {
5
- "description": "Generates NgDoc Category entity",
6
- "factory": "./category/index#generate",
7
- "schema": "./category/schema.json"
8
- },
9
- "page": {
10
- "description": "Generates NgDoc Page entity",
11
- "factory": "./page/index#generate",
12
- "schema": "./page/schema.json"
13
- },
14
- "api": {
15
- "description": "Generates NgDoc API entity",
16
- "factory": "./api/index#generate",
17
- "schema": "./api/schema.json"
18
- },
19
- "standalone-pages-migration": {
20
- "description": "Moves all dependencies from ng-doc.dependencies.ts to ng-doc.page.ts",
21
- "factory": "./migrations/standalone-pages/index#migrate",
22
- "schema": "./migrations/standalone-pages/schema.json"
23
- }
24
- }
2
+ "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
+ "schematics": {
4
+ "category": {
5
+ "description": "Generates NgDoc Category entity",
6
+ "factory": "./category/index#generate",
7
+ "schema": "./category/schema.json"
8
+ },
9
+ "page": {
10
+ "description": "Generates NgDoc Page entity",
11
+ "factory": "./page/index#generate",
12
+ "schema": "./page/schema.json"
13
+ },
14
+ "api": {
15
+ "description": "Generates NgDoc API entity",
16
+ "factory": "./api/index#generate",
17
+ "schema": "./api/schema.json"
18
+ },
19
+ "migrate-to-vite": {
20
+ "description": "Moves a project from the legacy NgDoc builders to the Vite engine (or back with --revert)",
21
+ "factory": "./migrate-to-vite/index#migrateToVite",
22
+ "schema": "./migrate-to-vite/schema.json"
23
+ },
24
+ "vite-setup": {
25
+ "description": "Sets up the Vite engine for a project on Angular's application builder or Nx's application executor (run by ng add @ng-doc/add)",
26
+ "factory": "./vite-setup/index#viteSetup",
27
+ "schema": "./vite-setup/schema.json",
28
+ "hidden": true
29
+ },
30
+ "standalone-pages-migration": {
31
+ "description": "Moves all dependencies from ng-doc.dependencies.ts to ng-doc.page.ts",
32
+ "factory": "./migrations/standalone-pages/index#migrate",
33
+ "schema": "./migrations/standalone-pages/schema.json"
34
+ }
35
+ }
25
36
  }