@ccslabs/xtend 0.1.0-rc.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/catalog/component-catalog-coverage.js +2 -0
  4. package/catalog/epic13-package-export-lock.js +11 -1
  5. package/catalog/epic13-rmt-production-readiness.js +0 -1
  6. package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
  7. package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
  8. package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
  9. package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
  10. package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
  11. package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
  12. package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
  13. package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
  14. package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
  15. package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
  16. package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
  17. package/catalog/epic18-rmt-component-template-primitives.js +240 -0
  18. package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
  19. package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
  20. package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
  21. package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
  22. package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
  23. package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
  24. package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
  25. package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
  26. package/catalog/surface-manager-controller.js +5 -1
  27. package/catalog/surface-manager-materialization.js +7 -1
  28. package/catalog/surface-manager-overlay-bridge.js +41 -6
  29. package/catalog/surface-manager-workbench-fixture.js +1 -1
  30. package/catalog/surface-type-capability-matrix.d.ts +61 -0
  31. package/catalog/surface-type-capability-matrix.js +183 -0
  32. package/catalog/type-exports-rmt.js +37 -1
  33. package/catalog/type-exports.js +3 -3
  34. package/components/icon-packs/lucide.js +4 -0
  35. package/components/manifest.json +2 -0
  36. package/components/prism-rmt.d.ts +34 -0
  37. package/components/prism-rmt.js +130 -0
  38. package/components/xcards.js +15 -0
  39. package/components/xcode.d.ts +36 -1
  40. package/components/xcode.js +215 -20
  41. package/components/xfooter.js +17 -0
  42. package/components/xheader.js +14 -0
  43. package/components/xhero.js +16 -1
  44. package/components/xlink.js +97 -14
  45. package/components/xmasonry.js +15 -0
  46. package/components/xplayer.d.ts +44 -2
  47. package/components/xplayer.js +242 -15
  48. package/components/xrouter.js +27 -2
  49. package/components/xsection.js +15 -0
  50. package/components/xsidepanel.js +10 -2
  51. package/components/xsurfacemanager-controller.d.ts +2 -1
  52. package/components/xsurfacemanager-controller.js +27 -3
  53. package/components/xsurfacemanager.d.ts +2 -0
  54. package/components/xsurfacemanager.js +20 -8
  55. package/components/xsurfaceoverlay-bridge.d.ts +20 -5
  56. package/components/xsurfaceoverlay-bridge.js +114 -18
  57. package/components/xsurfaceportal.d.ts +29 -0
  58. package/components/xsurfaceportal.js +122 -0
  59. package/components/xsurfaceregion.d.ts +50 -0
  60. package/components/xsurfaceregion.js +285 -0
  61. package/components/xsurfacewindow.js +2 -1
  62. package/components/xtooltip.js +89 -23
  63. package/docs/README.md +222 -298
  64. package/docs/changelog.md +107 -0
  65. package/docs/component-catalog-coverage.md +9 -9
  66. package/docs/component-platform.md +19 -1
  67. package/docs/component-ux-app-authoring.md +56 -63
  68. package/docs/components/xcode.md +83 -53
  69. package/docs/components/xsurfaceportal.md +32 -0
  70. package/docs/components/xsurfaceregion.md +37 -0
  71. package/docs/components.md +105 -69
  72. package/docs/de/README.md +264 -0
  73. package/docs/de/XTend-ADR.md +221 -0
  74. package/docs/de/a11y-keyboard-smokes.md +62 -0
  75. package/docs/de/about.md +18 -0
  76. package/docs/de/api.md +157 -0
  77. package/docs/de/best-practices.md +76 -0
  78. package/docs/de/changelog.md +107 -0
  79. package/docs/de/component-catalog-coverage.md +58 -0
  80. package/docs/de/component-lab.md +103 -0
  81. package/docs/de/component-long-tail-migration.md +41 -0
  82. package/docs/de/component-platform.md +177 -0
  83. package/docs/de/component-ux-app-authoring.md +123 -0
  84. package/docs/de/component-ux-authoring.md +96 -0
  85. package/docs/de/component-ux-gates.md +45 -0
  86. package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
  87. package/docs/de/components/xalert.md +81 -0
  88. package/docs/de/components/xbutton.md +103 -0
  89. package/docs/de/components/xcalendar.md +82 -0
  90. package/docs/de/components/xcards.md +128 -0
  91. package/docs/de/components/xcheckbox.md +102 -0
  92. package/docs/de/components/xcode.md +156 -0
  93. package/docs/de/components/xdialog.md +92 -0
  94. package/docs/de/components/xdrawer.md +84 -0
  95. package/docs/de/components/xfooter.md +126 -0
  96. package/docs/de/components/xform.md +128 -0
  97. package/docs/de/components/xheader.md +308 -0
  98. package/docs/de/components/xhero.md +142 -0
  99. package/docs/de/components/xicon.md +125 -0
  100. package/docs/de/components/xinput.md +129 -0
  101. package/docs/de/components/xlightbox.md +98 -0
  102. package/docs/de/components/xlink.md +109 -0
  103. package/docs/de/components/xmasonry.md +124 -0
  104. package/docs/de/components/xmenu.md +158 -0
  105. package/docs/de/components/xmodal.md +82 -0
  106. package/docs/de/components/xplayer.md +104 -0
  107. package/docs/de/components/xpopover.md +67 -0
  108. package/docs/de/components/xprogress.md +56 -0
  109. package/docs/de/components/xradio.md +103 -0
  110. package/docs/de/components/xrouter.md +260 -0
  111. package/docs/de/components/xsection.md +125 -0
  112. package/docs/de/components/xselect.md +105 -0
  113. package/docs/de/components/xsidepanel.md +30 -0
  114. package/docs/de/components/xspinner.md +102 -0
  115. package/docs/de/components/xstate.md +148 -0
  116. package/docs/de/components/xstatus.md +55 -0
  117. package/docs/de/components/xsummary.md +78 -0
  118. package/docs/de/components/xsurfacemanager.md +27 -0
  119. package/docs/de/components/xsurfacewindow.md +21 -0
  120. package/docs/de/components/xtabs.md +160 -0
  121. package/docs/de/components/xtextarea.md +98 -0
  122. package/docs/de/components/xtheme.md +167 -0
  123. package/docs/de/components/xtoast.md +62 -0
  124. package/docs/de/components/xtooltip.md +66 -0
  125. package/docs/de/components/xtype.md +82 -0
  126. package/docs/de/components/xutils.md +144 -0
  127. package/docs/de/components/xwriter.md +94 -0
  128. package/docs/de/components.md +153 -0
  129. package/docs/de/conditional-network-evidence-ci.md +38 -0
  130. package/docs/de/conditional-network-evidence.md +50 -0
  131. package/docs/de/core-migration-guide.md +110 -0
  132. package/docs/de/design-tokens.md +116 -0
  133. package/docs/de/docs-rmt-production-hardening.md +31 -0
  134. package/docs/de/enterprise-adoption.md +413 -0
  135. package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
  136. package/docs/de/epic10-platform-gates.md +62 -0
  137. package/docs/de/epic10-release-handoff.md +81 -0
  138. package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
  139. package/docs/de/epic12-rc0-handoff.md +61 -0
  140. package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
  141. package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
  142. package/docs/de/epic18-vendor-bugfixes.md +34 -0
  143. package/docs/de/existing-component-metadata.md +67 -0
  144. package/docs/de/hydration-performance-closure.md +34 -0
  145. package/docs/de/hydration-policies.md +71 -0
  146. package/docs/de/known-residual-triage.md +22 -0
  147. package/docs/de/manifest-import-policy.md +79 -0
  148. package/docs/de/manifest.md +112 -0
  149. package/docs/de/motion-contrast.md +67 -0
  150. package/docs/de/package-export-lock.md +44 -0
  151. package/docs/de/performance-measurements.md +106 -0
  152. package/docs/de/performance-regression.md +89 -0
  153. package/docs/de/performance.md +94 -0
  154. package/docs/de/previews/README.md +17 -0
  155. package/docs/de/prod-browser-csp-smokes.md +40 -0
  156. package/docs/de/public-component-types.md +79 -0
  157. package/docs/de/quick-start-guide.md +220 -0
  158. package/docs/de/rc0-adoption-guide.md +102 -0
  159. package/docs/de/rc0-gate-matrix.md +58 -0
  160. package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
  161. package/docs/de/rc1-migration-notes.md +69 -0
  162. package/docs/de/rc1-readiness.md +46 -0
  163. package/docs/de/release-owner-acceptance.md +56 -0
  164. package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
  165. package/docs/de/rmt-action-effect-runtime.md +81 -0
  166. package/docs/de/rmt-app-platform-authoring.md +54 -0
  167. package/docs/de/rmt-app-platform-fixture.md +46 -0
  168. package/docs/de/rmt-app-platform-migration-guide.md +88 -0
  169. package/docs/de/rmt-app-platform-tooling.md +79 -0
  170. package/docs/de/rmt-component-template-primitives.md +57 -0
  171. package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
  172. package/docs/de/rmt-dsl-authoring-polish.md +145 -0
  173. package/docs/de/rmt-event-routing-runtime.md +81 -0
  174. package/docs/de/rmt-first-demo-app.md +77 -0
  175. package/docs/de/rmt-first-xtend-apps.md +129 -0
  176. package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
  177. package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
  178. package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
  179. package/docs/de/rmt-language-server.md +234 -0
  180. package/docs/de/rmt-lifecycle-demo.md +24 -0
  181. package/docs/de/rmt-linter.md +140 -0
  182. package/docs/de/rmt-node-ssr-adapter.md +100 -0
  183. package/docs/de/rmt-php-ssr-adapter.md +120 -0
  184. package/docs/de/rmt-production-readiness.md +63 -0
  185. package/docs/de/rmt-state-selector-runtime.md +47 -0
  186. package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
  187. package/docs/de/rmt-tooling-release-gates.md +77 -0
  188. package/docs/de/rmt-vnext-authoring.md +170 -0
  189. package/docs/de/rmt-vnext-component-primitives.md +188 -0
  190. package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
  191. package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
  192. package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
  193. package/docs/de/rmt-vnext-migration-notes.md +62 -0
  194. package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
  195. package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
  196. package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
  197. package/docs/de/rmt-vnext-primitive-migration.md +119 -0
  198. package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
  199. package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
  200. package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
  201. package/docs/de/rmt-vnext-release-handoff.md +83 -0
  202. package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
  203. package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
  204. package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
  205. package/docs/de/screenreader-signals.md +56 -0
  206. package/docs/de/supply-chain-gates.md +100 -0
  207. package/docs/de/surface-manager-authoring-guide.md +94 -0
  208. package/docs/de/surface-manager-browser-lab.md +45 -0
  209. package/docs/de/surface-manager-component-lab.md +43 -0
  210. package/docs/de/surface-manager-controller.md +66 -0
  211. package/docs/de/surface-manager-layout-engines.md +32 -0
  212. package/docs/de/surface-manager-lazy-hydration.md +63 -0
  213. package/docs/de/surface-manager-migration-guide.md +122 -0
  214. package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
  215. package/docs/de/surface-manager-overlay-bridge.md +53 -0
  216. package/docs/de/surface-manager-persistence.md +30 -0
  217. package/docs/de/surface-manager-quality-gates.md +51 -0
  218. package/docs/de/surface-manager-release-handoff.md +68 -0
  219. package/docs/de/surface-manager-remote-policy.md +54 -0
  220. package/docs/de/surface-manager-rmt-authoring.md +102 -0
  221. package/docs/de/surface-manager-route-lifecycle.md +59 -0
  222. package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
  223. package/docs/de/surface-manager-side-panel-runtime.md +36 -0
  224. package/docs/de/surface-manager-stack-policy.md +39 -0
  225. package/docs/de/surface-manager-window-runtime.md +47 -0
  226. package/docs/de/surface-manager-workbench-fixture.md +43 -0
  227. package/docs/de/third-party-design-authoring.md +406 -0
  228. package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
  229. package/docs/de/trusted-dom-sanitizing.md +110 -0
  230. package/docs/de/type-exports.md +61 -0
  231. package/docs/de/typescript-components.md +63 -0
  232. package/docs/de/visual-browser-regression.md +83 -0
  233. package/docs/de/visual-owner-artifacts.md +46 -0
  234. package/docs/de/visual-snapshot-automation.md +87 -0
  235. package/docs/de/xtend-api-types.md +55 -0
  236. package/docs/de/xtend-builder-types.md +55 -0
  237. package/docs/de/xtend-catalog-types.md +44 -0
  238. package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
  239. package/docs/de/xtend-fabric.md +474 -0
  240. package/docs/de/xtend-loader-types.md +58 -0
  241. package/docs/de/xtend-loader.md +265 -0
  242. package/docs/de/xtend-policy-types.md +38 -0
  243. package/docs/de/xtend-rmt-types.md +40 -0
  244. package/docs/de/xtend-vendor-types.md +36 -0
  245. package/docs/de/xtendrmt-app-dsl.md +334 -0
  246. package/docs/de/xtendrmt-migration-guide.md +266 -0
  247. package/docs/de/xtendrmt-native-authoring.md +333 -0
  248. package/docs/de/xtendrmt-overview.md +109 -0
  249. package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
  250. package/docs/de/xtendrmt-runtime-bridge.md +155 -0
  251. package/docs/en/README.md +163 -0
  252. package/docs/en/XTend-ADR.md +221 -0
  253. package/docs/en/a11y-keyboard-smokes.md +68 -0
  254. package/docs/en/about.md +25 -0
  255. package/docs/en/api.md +171 -0
  256. package/docs/en/best-practices.md +125 -0
  257. package/docs/en/changelog.md +104 -0
  258. package/docs/en/component-catalog-coverage.md +104 -0
  259. package/docs/en/component-lab.md +103 -0
  260. package/docs/en/component-long-tail-migration.md +41 -0
  261. package/docs/en/component-platform.md +243 -0
  262. package/docs/en/component-ux-app-authoring.md +118 -0
  263. package/docs/en/component-ux-authoring.md +96 -0
  264. package/docs/en/component-ux-gates.md +45 -0
  265. package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
  266. package/docs/en/components/xalert.md +94 -0
  267. package/docs/en/components/xbutton.md +118 -0
  268. package/docs/en/components/xcalendar.md +95 -0
  269. package/docs/en/components/xcards.md +139 -0
  270. package/docs/en/components/xcheckbox.md +118 -0
  271. package/docs/en/components/xcode.md +153 -0
  272. package/docs/en/components/xdialog.md +108 -0
  273. package/docs/en/components/xdrawer.md +110 -0
  274. package/docs/en/components/xfooter.md +138 -0
  275. package/docs/en/components/xform.md +147 -0
  276. package/docs/en/components/xheader.md +308 -0
  277. package/docs/en/components/xhero.md +157 -0
  278. package/docs/en/components/xicon.md +149 -0
  279. package/docs/en/components/xinput.md +147 -0
  280. package/docs/en/components/xlightbox.md +113 -0
  281. package/docs/en/components/xlink.md +130 -0
  282. package/docs/en/components/xmasonry.md +136 -0
  283. package/docs/en/components/xmenu.md +185 -0
  284. package/docs/en/components/xmodal.md +102 -0
  285. package/docs/en/components/xplayer.md +114 -0
  286. package/docs/en/components/xpopover.md +87 -0
  287. package/docs/en/components/xprogress.md +73 -0
  288. package/docs/en/components/xradio.md +119 -0
  289. package/docs/en/components/xrouter.md +260 -0
  290. package/docs/en/components/xsection.md +136 -0
  291. package/docs/en/components/xselect.md +122 -0
  292. package/docs/en/components/xsidepanel.md +48 -0
  293. package/docs/en/components/xspinner.md +118 -0
  294. package/docs/en/components/xstate.md +163 -0
  295. package/docs/en/components/xstatus.md +71 -0
  296. package/docs/en/components/xsummary.md +90 -0
  297. package/docs/en/components/xsurfacemanager.md +42 -0
  298. package/docs/en/components/xsurfacewindow.md +31 -0
  299. package/docs/en/components/xtabs.md +187 -0
  300. package/docs/en/components/xtextarea.md +115 -0
  301. package/docs/en/components/xtheme.md +203 -0
  302. package/docs/en/components/xtoast.md +78 -0
  303. package/docs/en/components/xtooltip.md +85 -0
  304. package/docs/en/components/xtype.md +91 -0
  305. package/docs/en/components/xutils.md +161 -0
  306. package/docs/en/components/xwriter.md +106 -0
  307. package/docs/en/components.md +151 -0
  308. package/docs/en/conditional-network-evidence-ci.md +38 -0
  309. package/docs/en/conditional-network-evidence.md +50 -0
  310. package/docs/en/core-migration-guide.md +110 -0
  311. package/docs/en/design-tokens.md +137 -0
  312. package/docs/en/docs-rmt-production-hardening.md +31 -0
  313. package/docs/en/enterprise-adoption.md +413 -0
  314. package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
  315. package/docs/en/epic10-platform-gates.md +62 -0
  316. package/docs/en/epic10-release-handoff.md +81 -0
  317. package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
  318. package/docs/en/epic12-rc0-handoff.md +61 -0
  319. package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
  320. package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
  321. package/docs/en/epic18-vendor-bugfixes.md +29 -0
  322. package/docs/en/existing-component-metadata.md +67 -0
  323. package/docs/en/hydration-performance-closure.md +34 -0
  324. package/docs/en/hydration-policies.md +75 -0
  325. package/docs/en/known-residual-triage.md +22 -0
  326. package/docs/en/manifest-import-policy.md +81 -0
  327. package/docs/en/manifest.md +135 -0
  328. package/docs/en/motion-contrast.md +67 -0
  329. package/docs/en/package-export-lock.md +44 -0
  330. package/docs/en/performance-measurements.md +106 -0
  331. package/docs/en/performance-regression.md +89 -0
  332. package/docs/en/performance.md +132 -0
  333. package/docs/en/previews/README.md +17 -0
  334. package/docs/en/prod-browser-csp-smokes.md +40 -0
  335. package/docs/en/public-component-types.md +79 -0
  336. package/docs/en/quick-start-guide.md +189 -0
  337. package/docs/en/rc0-adoption-guide.md +102 -0
  338. package/docs/en/rc0-gate-matrix.md +58 -0
  339. package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
  340. package/docs/en/rc1-migration-notes.md +69 -0
  341. package/docs/en/rc1-readiness.md +46 -0
  342. package/docs/en/release-owner-acceptance.md +56 -0
  343. package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
  344. package/docs/en/rmt-action-effect-runtime.md +101 -0
  345. package/docs/en/rmt-app-platform-authoring.md +47 -0
  346. package/docs/en/rmt-app-platform-fixture.md +35 -0
  347. package/docs/en/rmt-app-platform-migration-guide.md +75 -0
  348. package/docs/en/rmt-app-platform-tooling.md +58 -0
  349. package/docs/en/rmt-component-template-primitives.md +49 -0
  350. package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
  351. package/docs/en/rmt-dsl-authoring-polish.md +143 -0
  352. package/docs/en/rmt-event-routing-runtime.md +98 -0
  353. package/docs/en/rmt-first-demo-app.md +87 -0
  354. package/docs/en/rmt-first-xtend-apps.md +127 -0
  355. package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
  356. package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
  357. package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
  358. package/docs/en/rmt-language-server.md +243 -0
  359. package/docs/en/rmt-lifecycle-demo.md +23 -0
  360. package/docs/en/rmt-linter.md +146 -0
  361. package/docs/en/rmt-node-ssr-adapter.md +99 -0
  362. package/docs/en/rmt-php-ssr-adapter.md +118 -0
  363. package/docs/en/rmt-production-readiness.md +63 -0
  364. package/docs/en/rmt-state-selector-runtime.md +34 -0
  365. package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
  366. package/docs/en/rmt-tooling-release-gates.md +77 -0
  367. package/docs/en/rmt-vnext-authoring.md +102 -0
  368. package/docs/en/rmt-vnext-component-primitives.md +185 -0
  369. package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
  370. package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
  371. package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
  372. package/docs/en/rmt-vnext-migration-notes.md +62 -0
  373. package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
  374. package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
  375. package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
  376. package/docs/en/rmt-vnext-primitive-migration.md +93 -0
  377. package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
  378. package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
  379. package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
  380. package/docs/en/rmt-vnext-release-handoff.md +83 -0
  381. package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
  382. package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
  383. package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
  384. package/docs/en/screenreader-signals.md +56 -0
  385. package/docs/en/supply-chain-gates.md +106 -0
  386. package/docs/en/surface-manager-authoring-guide.md +94 -0
  387. package/docs/en/surface-manager-browser-lab.md +45 -0
  388. package/docs/en/surface-manager-component-lab.md +43 -0
  389. package/docs/en/surface-manager-controller.md +66 -0
  390. package/docs/en/surface-manager-layout-engines.md +32 -0
  391. package/docs/en/surface-manager-lazy-hydration.md +63 -0
  392. package/docs/en/surface-manager-migration-guide.md +113 -0
  393. package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
  394. package/docs/en/surface-manager-overlay-bridge.md +53 -0
  395. package/docs/en/surface-manager-persistence.md +30 -0
  396. package/docs/en/surface-manager-quality-gates.md +51 -0
  397. package/docs/en/surface-manager-release-handoff.md +68 -0
  398. package/docs/en/surface-manager-remote-policy.md +54 -0
  399. package/docs/en/surface-manager-rmt-authoring.md +89 -0
  400. package/docs/en/surface-manager-route-lifecycle.md +59 -0
  401. package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
  402. package/docs/en/surface-manager-side-panel-runtime.md +36 -0
  403. package/docs/en/surface-manager-stack-policy.md +39 -0
  404. package/docs/en/surface-manager-window-runtime.md +47 -0
  405. package/docs/en/surface-manager-workbench-fixture.md +43 -0
  406. package/docs/en/third-party-design-authoring.md +406 -0
  407. package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
  408. package/docs/en/trusted-dom-sanitizing.md +124 -0
  409. package/docs/en/type-exports.md +61 -0
  410. package/docs/en/typescript-components.md +63 -0
  411. package/docs/en/visual-browser-regression.md +83 -0
  412. package/docs/en/visual-owner-artifacts.md +46 -0
  413. package/docs/en/visual-snapshot-automation.md +87 -0
  414. package/docs/en/xtend-api-types.md +55 -0
  415. package/docs/en/xtend-builder-types.md +55 -0
  416. package/docs/en/xtend-catalog-types.md +44 -0
  417. package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
  418. package/docs/en/xtend-fabric.md +474 -0
  419. package/docs/en/xtend-loader-types.md +58 -0
  420. package/docs/en/xtend-loader.md +265 -0
  421. package/docs/en/xtend-policy-types.md +38 -0
  422. package/docs/en/xtend-rmt-types.md +40 -0
  423. package/docs/en/xtend-vendor-types.md +36 -0
  424. package/docs/en/xtendrmt-app-dsl.md +331 -0
  425. package/docs/en/xtendrmt-migration-guide.md +256 -0
  426. package/docs/en/xtendrmt-native-authoring.md +336 -0
  427. package/docs/en/xtendrmt-overview.md +63 -0
  428. package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
  429. package/docs/en/xtendrmt-runtime-bridge.md +155 -0
  430. package/docs/enterprise-adoption.md +4 -2
  431. package/docs/epic18-media-manager-vendor-upstream.md +318 -0
  432. package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
  433. package/docs/epic18-vendor-bugfixes.md +34 -0
  434. package/docs/index.php +1056 -109
  435. package/docs/manifest.md +8 -2
  436. package/docs/menu.json +986 -133
  437. package/docs/package-export-lock.md +2 -2
  438. package/docs/public-component-types.md +2 -2
  439. package/docs/quick-start-guide.md +126 -58
  440. package/docs/rmt-action-effect-runtime.md +101 -0
  441. package/docs/rmt-app-platform-authoring.md +54 -0
  442. package/docs/rmt-app-platform-fixture.md +46 -0
  443. package/docs/rmt-app-platform-migration-guide.md +88 -0
  444. package/docs/rmt-app-platform-tooling.md +79 -0
  445. package/docs/rmt-component-template-primitives.md +57 -0
  446. package/docs/rmt-dom-descriptor-renderer.md +64 -0
  447. package/docs/rmt-dsl-authoring-polish.md +67 -44
  448. package/docs/rmt-event-routing-runtime.md +98 -0
  449. package/docs/rmt-first-demo-app.md +2 -2
  450. package/docs/rmt-first-xtend-apps.md +70 -46
  451. package/docs/rmt-language-server.md +61 -4
  452. package/docs/rmt-lifecycle-demo.md +1 -2
  453. package/docs/rmt-node-ssr-adapter.md +144 -0
  454. package/docs/rmt-php-ssr-adapter.md +158 -0
  455. package/docs/rmt-state-selector-runtime.md +47 -0
  456. package/docs/rmt-surface-resource-graph-runtime.md +92 -0
  457. package/docs/rmt-vnext-authoring.md +128 -18
  458. package/docs/rmt-vnext-component-primitives.md +188 -0
  459. package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
  460. package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
  461. package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
  462. package/docs/rmt-vnext-primitive-lowering.md +108 -0
  463. package/docs/rmt-vnext-primitive-migration.md +119 -0
  464. package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
  465. package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
  466. package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
  467. package/docs/rmt-vnext-release-handoff.md +14 -0
  468. package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
  469. package/docs/surface-manager-migration-guide.md +34 -6
  470. package/docs/surface-manager-overlay-bridge.md +9 -4
  471. package/docs/surface-manager-rmt-authoring.md +50 -34
  472. package/docs/surface-manager-workbench-fixture.md +1 -2
  473. package/docs/third-party-design-authoring.md +1 -1
  474. package/docs/type-exports.md +3 -3
  475. package/docs/utils/pageloader.js +811 -62
  476. package/docs/visual-browser-regression.md +1 -1
  477. package/docs/xtend-rmt-types.md +3 -2
  478. package/docs/xtendrmt-app-dsl.md +187 -122
  479. package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
  480. package/docs/xtendrmt-migration-guide.md +48 -17
  481. package/docs/xtendrmt-native-authoring.md +213 -217
  482. package/docs/xtendrmt-overview.md +81 -61
  483. package/docs/xtendrmt-parsedown-scheduling.md +23 -8
  484. package/fabric/package.json +1 -1
  485. package/package.json +684 -21
  486. package/tools/package.json +5 -1
  487. package/tools/rmt-editor/vscode/README.md +72 -5
  488. package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
  489. package/tools/rmt-editor/vscode/extension.d.ts +33 -0
  490. package/tools/rmt-editor/vscode/extension.js +1816 -7
  491. package/tools/rmt-editor/vscode/language-configuration.json +2 -1
  492. package/tools/rmt-editor/vscode/package.json +193 -2
  493. package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
  494. package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
  495. package/tools/rmt-editor/vscode/templates/launch.json +70 -0
  496. package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
  497. package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
  498. package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
  499. package/tools/rmt-language/app-platform-tooling.js +677 -0
  500. package/tools/rmt-language/completions.d.ts +5 -0
  501. package/tools/rmt-language/completions.js +185 -3
  502. package/tools/rmt-language/diagnostics.js +54 -0
  503. package/tools/rmt-language/hover.js +36 -0
  504. package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
  505. package/tools/rmt-language/rules/app-platform-policy.js +39 -0
  506. package/tools/rmt-language/rules/index.js +5 -1
  507. package/tools/rmt-language/semantic-graph.d.ts +6 -0
  508. package/tools/rmt-language/semantic-graph.js +928 -0
  509. package/tools/rmt-language/snippets/index.js +44 -0
  510. package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
  511. package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
  512. package/tools/rmt-language/vnext-compatibility.js +642 -0
  513. package/tools/rmt-language/vnext-compiler.d.ts +5 -0
  514. package/tools/rmt-language/vnext-compiler.js +863 -17
  515. package/tools/rmt-language/vnext-parser.js +725 -9
  516. package/tools/rmt-language/vnext-release.d.ts +1 -0
  517. package/tools/rmt-language/vnext-release.js +20 -0
  518. package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
  519. package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
  520. package/tools/rmt-language/vnext-surfaces.js +111 -52
  521. package/tools/rmt-language/vnext-tooling.d.ts +19 -1
  522. package/tools/rmt-language/vnext-tooling.js +1247 -5
  523. package/tools/rmt-language-server/protocol.js +3 -0
  524. package/tools/rmt-language-server/server.d.ts +2 -0
  525. package/tools/rmt-language-server/server.js +176 -22
  526. package/tools/rmt-linter/cli.d.ts +2 -0
  527. package/tools/rmt-linter/cli.js +62 -0
  528. package/xtend-builder/generators/registry.js +11 -0
  529. package/xtend-builder/generators/rmt-app-platform.js +239 -0
  530. package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
  531. package/xtend-builder/lib/cli.js +38 -0
  532. package/xtend-builder/package.json +3 -3
  533. package/xtend-builder/scaffold.config.js +29 -2
  534. package/xtend.css +49 -2
  535. package/xtendrmt/package.json +49 -1
  536. package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
  537. package/xtendrmt/rmt-action-effect-runtime.js +494 -0
  538. package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
  539. package/xtendrmt/rmt-component-capability-registry.js +636 -0
  540. package/xtendrmt/rmt-core.d.ts +6 -0
  541. package/xtendrmt/rmt-core.esm.js +32 -6
  542. package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
  543. package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
  544. package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
  545. package/xtendrmt/rmt-event-routing-runtime.js +666 -0
  546. package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
  547. package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
  548. package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
  549. package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
  550. package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
  551. package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
  552. package/xtendrmt/rmt-native-shell-runtime.js +309 -0
  553. package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
  554. package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
  555. package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
  556. package/xtendrmt/rmt-runtime.browser.js +32 -6
  557. package/xtendrmt/rmt-runtime.esm.js +32 -6
  558. package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
  559. package/xtendrmt/rmt-state-selector-runtime.js +866 -0
  560. package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
  561. package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
  562. package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
  563. package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
  564. package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
  565. package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
  566. package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
@@ -0,0 +1,240 @@
1
+ const {
2
+ KERNEL_BOUNDARY
3
+ } = require('./epic12-rc0-gate-matrix');
4
+ const {
5
+ RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA,
6
+ RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE
7
+ } = require('./epic18-rmt-dom-descriptor-renderer');
8
+
9
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA = 'xtend.epic18.rmt-component-template-primitives.v1';
10
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_REPORT_SCHEMA = 'xtend.epic18.rmt-component-template-primitives-report.v1';
11
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE_SCHEMA = 'xtend.epic18.rmt-component-template-primitives-fixture.v1';
12
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE = 'WP-E18-06';
13
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_STATUS = 'accepted-component-template-primitives';
14
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_TARGET = 'rmt-component-template-primitives-ready';
15
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_MODULE = 'catalog/epic18-rmt-component-template-primitives.js';
16
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_RUNTIME = 'xtendrmt/rmt-dom-descriptor-renderer.js';
17
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_TYPES = 'xtendrmt/rmt-dom-descriptor-renderer.d.ts';
18
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_SUITE = 'tests/rmt/rmt_component_template_primitives_suite.js';
19
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE = 'tests/fixtures/rmt-component-template-primitives.rmt';
20
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_DOCS = 'docs/rmt-component-template-primitives.md';
21
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE_DOC = 'development/WP-E18-06-Component-native-Template-Primitives-fuer-RMT-implementieren.md';
22
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_BACKLOG = 'development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md';
23
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_EPIC = 'docs/epic18-media-manager-vendor-upstream.md';
24
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_LOCAL_GATE = 'node scripts/run_xtend_tests.js rmt-component-template-primitives --json';
25
+ const RMT_COMPONENT_TEMPLATE_PRIMITIVES_PACKAGE_SCRIPT = 'npm run test:rmt-component-template-primitives';
26
+ const NEXT_WORKPACKAGE = 'WP-E18-07';
27
+ const NEXT_DECISION = 'typed-state-selectors-xstate-bridge';
28
+
29
+ const REQUIRED_TEMPLATE_PRIMITIVES = Object.freeze([
30
+ 'component',
31
+ 'props',
32
+ 'attributes',
33
+ 'parts',
34
+ 'slots',
35
+ 'text',
36
+ 'when',
37
+ 'repeat',
38
+ 'empty',
39
+ 'fallback',
40
+ 'key',
41
+ 'ref',
42
+ 'class',
43
+ 'style-token'
44
+ ]);
45
+
46
+ const REQUIRED_COMPONENT_FAMILIES = Object.freeze([
47
+ 'icons',
48
+ 'tooltips',
49
+ 'form-controls',
50
+ 'navigation',
51
+ 'list',
52
+ 'selection',
53
+ 'empty-state',
54
+ 'error-state',
55
+ 'custom-elements'
56
+ ]);
57
+
58
+ const REQUIRED_RENDERER_CAPABILITIES = Object.freeze([
59
+ 'component-tag-resolution',
60
+ 'property-binding',
61
+ 'attribute-binding',
62
+ 'slot-content-object',
63
+ 'css-part-mapping',
64
+ 'class-token-mapping',
65
+ 'style-token-mapping',
66
+ 'ref-capture',
67
+ 'conditional-rendering',
68
+ 'repeat-keyed-rendering',
69
+ 'empty-fallback-rendering',
70
+ 'event-listener-binding',
71
+ 'no-manual-html'
72
+ ]);
73
+
74
+ const REQUIRED_BOUNDARIES = Object.freeze([
75
+ 'component-native-over-html-strings',
76
+ 'developer-defined-component-families',
77
+ 'generic-custom-elements-supported',
78
+ 'no-media-manager-product-taxonomy',
79
+ 'no-external-innerhtml-helper-required',
80
+ 'no-rmt-kernel-import-of-xtend-types'
81
+ ]);
82
+
83
+ const REQUIRED_ARTIFACTS = Object.freeze([
84
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_MODULE,
85
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_SUITE,
86
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE,
87
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_DOCS,
88
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE_DOC,
89
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_RUNTIME,
90
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_TYPES
91
+ ]);
92
+
93
+ const REQUIRED_DOCS = Object.freeze([
94
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_DOCS,
95
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE_DOC,
96
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_BACKLOG,
97
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_EPIC
98
+ ]);
99
+
100
+ function createRmtComponentTemplatePrimitivesPlan(options = {}) {
101
+ return {
102
+ schema: RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA,
103
+ reportSchema: RMT_COMPONENT_TEMPLATE_PRIMITIVES_REPORT_SCHEMA,
104
+ fixtureSchema: RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE_SCHEMA,
105
+ rendererSchema: RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA,
106
+ rendererWorkpackage: RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE,
107
+ workpackage: RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE,
108
+ status: RMT_COMPONENT_TEMPLATE_PRIMITIVES_STATUS,
109
+ generatedAt: options.generatedAt || 'static-local',
110
+ targetReadiness: RMT_COMPONENT_TEMPLATE_PRIMITIVES_TARGET,
111
+ module: RMT_COMPONENT_TEMPLATE_PRIMITIVES_MODULE,
112
+ runtime: RMT_COMPONENT_TEMPLATE_PRIMITIVES_RUNTIME,
113
+ types: RMT_COMPONENT_TEMPLATE_PRIMITIVES_TYPES,
114
+ suite: RMT_COMPONENT_TEMPLATE_PRIMITIVES_SUITE,
115
+ fixture: RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE,
116
+ docs: RMT_COMPONENT_TEMPLATE_PRIMITIVES_DOCS,
117
+ workpackageDocument: RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE_DOC,
118
+ localGate: RMT_COMPONENT_TEMPLATE_PRIMITIVES_LOCAL_GATE,
119
+ packageScript: RMT_COMPONENT_TEMPLATE_PRIMITIVES_PACKAGE_SCRIPT,
120
+ templatePrimitives: REQUIRED_TEMPLATE_PRIMITIVES.slice(),
121
+ componentFamilies: REQUIRED_COMPONENT_FAMILIES.slice(),
122
+ rendererCapabilities: REQUIRED_RENDERER_CAPABILITIES.slice(),
123
+ boundaries: REQUIRED_BOUNDARIES.slice(),
124
+ artifactPaths: REQUIRED_ARTIFACTS.slice(),
125
+ requiredDocs: REQUIRED_DOCS.slice(),
126
+ model: {
127
+ componentNativeTemplates: true,
128
+ htmlStringRendererRequired: false,
129
+ customElementTagsAllowed: true,
130
+ genericComponentFamiliesRequired: true,
131
+ listSelectionEmptyErrorStatesRequired: true,
132
+ productSurfaceTaxonomyAllowed: false,
133
+ rendererReusedFromWp05: true
134
+ },
135
+ kernelBoundary: KERNEL_BOUNDARY,
136
+ nextWorkpackage: NEXT_WORKPACKAGE,
137
+ nextDecision: NEXT_DECISION
138
+ };
139
+ }
140
+
141
+ function validateRmtComponentTemplatePrimitivesPlan(plan = createRmtComponentTemplatePrimitivesPlan()) {
142
+ const errors = [];
143
+ const model = plan && plan.model ? plan.model : {};
144
+
145
+ if (!plan || plan.schema !== RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA) errors.push(`schema must be ${RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA}`);
146
+ if (!plan || plan.reportSchema !== RMT_COMPONENT_TEMPLATE_PRIMITIVES_REPORT_SCHEMA) errors.push(`reportSchema must be ${RMT_COMPONENT_TEMPLATE_PRIMITIVES_REPORT_SCHEMA}`);
147
+ if (!plan || plan.fixtureSchema !== RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE_SCHEMA) errors.push(`fixtureSchema must be ${RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE_SCHEMA}`);
148
+ if (!plan || plan.rendererSchema !== RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA) errors.push('renderer schema must come from WP-E18-05');
149
+ if (!plan || plan.rendererWorkpackage !== RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE) errors.push('renderer workpackage must be WP-E18-05');
150
+ if (!plan || plan.workpackage !== RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE) errors.push(`workpackage must be ${RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE}`);
151
+ if (!plan || plan.status !== RMT_COMPONENT_TEMPLATE_PRIMITIVES_STATUS) errors.push(`status must be ${RMT_COMPONENT_TEMPLATE_PRIMITIVES_STATUS}`);
152
+ if (!plan || plan.targetReadiness !== RMT_COMPONENT_TEMPLATE_PRIMITIVES_TARGET) errors.push(`targetReadiness must be ${RMT_COMPONENT_TEMPLATE_PRIMITIVES_TARGET}`);
153
+ REQUIRED_TEMPLATE_PRIMITIVES.forEach((primitive) => {
154
+ if (!plan || !plan.templatePrimitives.includes(primitive)) errors.push(`template primitive missing: ${primitive}`);
155
+ });
156
+ REQUIRED_COMPONENT_FAMILIES.forEach((family) => {
157
+ if (!plan || !plan.componentFamilies.includes(family)) errors.push(`component family missing: ${family}`);
158
+ });
159
+ REQUIRED_RENDERER_CAPABILITIES.forEach((capability) => {
160
+ if (!plan || !plan.rendererCapabilities.includes(capability)) errors.push(`renderer capability missing: ${capability}`);
161
+ });
162
+ REQUIRED_BOUNDARIES.forEach((boundary) => {
163
+ if (!plan || !plan.boundaries.includes(boundary)) errors.push(`boundary missing: ${boundary}`);
164
+ });
165
+ REQUIRED_ARTIFACTS.forEach((artifact) => {
166
+ if (!plan || !plan.artifactPaths.includes(artifact)) errors.push(`artifact missing: ${artifact}`);
167
+ });
168
+ REQUIRED_DOCS.forEach((doc) => {
169
+ if (!plan || !plan.requiredDocs.includes(doc)) errors.push(`doc missing: ${doc}`);
170
+ });
171
+ if (model.componentNativeTemplates !== true) errors.push('component native templates must be enabled');
172
+ if (model.htmlStringRendererRequired !== false) errors.push('HTML string renderer must not be required');
173
+ if (model.customElementTagsAllowed !== true) errors.push('custom elements must be supported');
174
+ if (model.genericComponentFamiliesRequired !== true) errors.push('generic component families must be required');
175
+ if (model.listSelectionEmptyErrorStatesRequired !== true) errors.push('list, selection, empty and error states must be required');
176
+ if (model.productSurfaceTaxonomyAllowed !== false) errors.push('product surface taxonomy must stay disallowed');
177
+ if (model.rendererReusedFromWp05 !== true) errors.push('WP-E18-06 must build on WP-E18-05 renderer');
178
+ if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
179
+ if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
180
+ if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
181
+
182
+ return {
183
+ schema: RMT_COMPONENT_TEMPLATE_PRIMITIVES_REPORT_SCHEMA,
184
+ ok: errors.length === 0,
185
+ errors,
186
+ workpackage: RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE,
187
+ checkedAt: 'static-local'
188
+ };
189
+ }
190
+
191
+ function createRmtComponentTemplatePrimitivesReport(options = {}) {
192
+ const plan = options.plan || createRmtComponentTemplatePrimitivesPlan(options);
193
+ const validation = validateRmtComponentTemplatePrimitivesPlan(plan);
194
+
195
+ return {
196
+ schema: RMT_COMPONENT_TEMPLATE_PRIMITIVES_REPORT_SCHEMA,
197
+ ok: validation.ok,
198
+ errors: validation.errors.slice(),
199
+ workpackage: plan.workpackage,
200
+ status: plan.status,
201
+ targetReadiness: plan.targetReadiness,
202
+ templatePrimitiveCount: plan.templatePrimitives.length,
203
+ componentFamilyCount: plan.componentFamilies.length,
204
+ rendererCapabilityCount: plan.rendererCapabilities.length,
205
+ boundaryCount: plan.boundaries.length,
206
+ htmlStringRendererRequired: plan.model.htmlStringRendererRequired,
207
+ nextWorkpackage: plan.nextWorkpackage,
208
+ nextDecision: plan.nextDecision,
209
+ kernelBoundary: plan.kernelBoundary
210
+ };
211
+ }
212
+
213
+ module.exports = {
214
+ NEXT_DECISION,
215
+ NEXT_WORKPACKAGE,
216
+ REQUIRED_ARTIFACTS,
217
+ REQUIRED_BOUNDARIES,
218
+ REQUIRED_COMPONENT_FAMILIES,
219
+ REQUIRED_DOCS,
220
+ REQUIRED_RENDERER_CAPABILITIES,
221
+ REQUIRED_TEMPLATE_PRIMITIVES,
222
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_DOCS,
223
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE,
224
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE_SCHEMA,
225
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_LOCAL_GATE,
226
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_MODULE,
227
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_PACKAGE_SCRIPT,
228
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_REPORT_SCHEMA,
229
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_RUNTIME,
230
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA,
231
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_STATUS,
232
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_SUITE,
233
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_TARGET,
234
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_TYPES,
235
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE,
236
+ RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE_DOC,
237
+ createRmtComponentTemplatePrimitivesPlan,
238
+ createRmtComponentTemplatePrimitivesReport,
239
+ validateRmtComponentTemplatePrimitivesPlan
240
+ };
@@ -0,0 +1,35 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogOptions,
4
+ XtendCatalogPlan,
5
+ XtendCatalogReport
6
+ } from './catalog-public-types';
7
+
8
+ export declare const FORBIDDEN_NORMAL_UI_SINKS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
9
+ export declare const NEXT_DECISION: string;
10
+ export declare const NEXT_WORKPACKAGE: string;
11
+ export declare const NO_MANUAL_HTML_GATE_SCHEMA: string;
12
+ export declare const REQUIRED_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
13
+ export declare const REQUIRED_BOUNDARIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
14
+ export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
15
+ export declare const REQUIRED_RENDER_OPERATIONS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
16
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_DOCS: string;
17
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE: string;
18
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE_SCHEMA: string;
19
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_LOCAL_GATE: string;
20
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_MODULE: string;
21
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_PACKAGE_SCRIPT: string;
22
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_REPORT_SCHEMA: string;
23
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_RUNTIME: string;
24
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA: string;
25
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_STATUS: string;
26
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_SUITE: string;
27
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_TARGET: string;
28
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_TYPES: string;
29
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE: string;
30
+ export declare const RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE_DOC: string;
31
+ export declare const RMT_DOM_RENDERER_DIAGNOSTIC_SCHEMA: string;
32
+ export declare const TRUSTED_DOM_BOUNDARY: string;
33
+ export declare function createRmtDomDescriptorRendererPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
34
+ export declare function createRmtDomDescriptorRendererReport(options?: XtendCatalogOptions): XtendCatalogReport;
35
+ export declare function validateRmtDomDescriptorRendererPlan(plan?: unknown): XtendCatalogReport;
@@ -0,0 +1,232 @@
1
+ const {
2
+ KERNEL_BOUNDARY
3
+ } = require('./epic12-rc0-gate-matrix');
4
+ const {
5
+ RMT_APP_PLATFORM_AUTHORING_SCHEMA,
6
+ RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE
7
+ } = require('./epic18-rmt-app-platform-authoring');
8
+
9
+ const RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA = 'xtend.epic18.rmt-dom-descriptor-renderer.v1';
10
+ const RMT_DOM_DESCRIPTOR_RENDERER_REPORT_SCHEMA = 'xtend.epic18.rmt-dom-descriptor-renderer-report.v1';
11
+ const RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE_SCHEMA = 'xtend.epic18.rmt-dom-descriptor-renderer-fixture.v1';
12
+ const RMT_DOM_RENDERER_DIAGNOSTIC_SCHEMA = 'xtend.epic18.rmt-dom-renderer-diagnostic.v1';
13
+ const NO_MANUAL_HTML_GATE_SCHEMA = 'xtend.epic18.no-manual-html-gate.v1';
14
+ const RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE = 'WP-E18-05';
15
+ const RMT_DOM_DESCRIPTOR_RENDERER_STATUS = 'accepted-dom-descriptor-renderer';
16
+ const RMT_DOM_DESCRIPTOR_RENDERER_TARGET = 'rmt-dom-descriptor-renderer-ready';
17
+ const RMT_DOM_DESCRIPTOR_RENDERER_MODULE = 'catalog/epic18-rmt-dom-descriptor-renderer.js';
18
+ const RMT_DOM_DESCRIPTOR_RENDERER_RUNTIME = 'xtendrmt/rmt-dom-descriptor-renderer.js';
19
+ const RMT_DOM_DESCRIPTOR_RENDERER_TYPES = 'xtendrmt/rmt-dom-descriptor-renderer.d.ts';
20
+ const RMT_DOM_DESCRIPTOR_RENDERER_SUITE = 'tests/rmt/rmt_dom_descriptor_renderer_suite.js';
21
+ const RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE = 'tests/fixtures/rmt-dom-descriptor-renderer.rmt';
22
+ const RMT_DOM_DESCRIPTOR_RENDERER_DOCS = 'docs/rmt-dom-descriptor-renderer.md';
23
+ const RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE_DOC = 'development/WP-E18-05-Sicheren-DOM-Descriptor-Renderer-und-No-Manual-HTML-Gate-bauen.md';
24
+ const RMT_DOM_DESCRIPTOR_RENDERER_BACKLOG = 'development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md';
25
+ const RMT_DOM_DESCRIPTOR_RENDERER_EPIC = 'docs/epic18-media-manager-vendor-upstream.md';
26
+ const RMT_DOM_DESCRIPTOR_RENDERER_LOCAL_GATE = 'node scripts/run_xtend_tests.js rmt-dom-descriptor-renderer --json';
27
+ const RMT_DOM_DESCRIPTOR_RENDERER_PACKAGE_SCRIPT = 'npm run test:rmt-dom-descriptor-renderer';
28
+ const TRUSTED_DOM_BOUNDARY = 'xtend.rmt.trusted-dom-boundary.explicit';
29
+ const NEXT_WORKPACKAGE = 'WP-E18-06';
30
+ const NEXT_DECISION = 'component-native-template-primitives';
31
+
32
+ const REQUIRED_RENDER_OPERATIONS = Object.freeze([
33
+ 'document.createElement',
34
+ 'document.createTextNode',
35
+ 'document.createDocumentFragment',
36
+ 'root.replaceChildren',
37
+ 'element.replaceChildren',
38
+ 'keyed-child-reuse',
39
+ 'safe-setAttribute',
40
+ 'safe-removeAttribute',
41
+ 'safe-property-setter',
42
+ 'addEventListener',
43
+ 'trusted-dom-boundary-delegation',
44
+ 'diagnostic-source-map'
45
+ ]);
46
+
47
+ const FORBIDDEN_NORMAL_UI_SINKS = Object.freeze([
48
+ 'root.innerHTML',
49
+ 'element.innerHTML',
50
+ 'template.innerHTML',
51
+ 'outerHTML',
52
+ 'insertAdjacentHTML',
53
+ 'document.write',
54
+ 'createContextualFragment'
55
+ ]);
56
+
57
+ const REQUIRED_BOUNDARIES = Object.freeze([
58
+ 'structured-dom-descriptor-default',
59
+ 'trusted-html-explicit-boundary-only',
60
+ 'no-manual-html-normal-ui',
61
+ 'no-external-innerhtml-helper-required',
62
+ 'diagnostics-map-runtime-errors-to-rmt-source',
63
+ 'no-rmt-kernel-import-of-xtend-types'
64
+ ]);
65
+
66
+ const REQUIRED_ARTIFACTS = Object.freeze([
67
+ RMT_DOM_DESCRIPTOR_RENDERER_MODULE,
68
+ RMT_DOM_DESCRIPTOR_RENDERER_RUNTIME,
69
+ RMT_DOM_DESCRIPTOR_RENDERER_TYPES,
70
+ RMT_DOM_DESCRIPTOR_RENDERER_SUITE,
71
+ RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE,
72
+ RMT_DOM_DESCRIPTOR_RENDERER_DOCS,
73
+ RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE_DOC
74
+ ]);
75
+
76
+ const REQUIRED_DOCS = Object.freeze([
77
+ RMT_DOM_DESCRIPTOR_RENDERER_DOCS,
78
+ RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE_DOC,
79
+ RMT_DOM_DESCRIPTOR_RENDERER_BACKLOG,
80
+ RMT_DOM_DESCRIPTOR_RENDERER_EPIC
81
+ ]);
82
+
83
+ function createRmtDomDescriptorRendererPlan(options = {}) {
84
+ return {
85
+ schema: RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA,
86
+ reportSchema: RMT_DOM_DESCRIPTOR_RENDERER_REPORT_SCHEMA,
87
+ fixtureSchema: RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE_SCHEMA,
88
+ diagnosticSchema: RMT_DOM_RENDERER_DIAGNOSTIC_SCHEMA,
89
+ noManualHtmlGateSchema: NO_MANUAL_HTML_GATE_SCHEMA,
90
+ authoringSchema: RMT_APP_PLATFORM_AUTHORING_SCHEMA,
91
+ authoringWorkpackage: RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE,
92
+ workpackage: RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE,
93
+ status: RMT_DOM_DESCRIPTOR_RENDERER_STATUS,
94
+ generatedAt: options.generatedAt || 'static-local',
95
+ targetReadiness: RMT_DOM_DESCRIPTOR_RENDERER_TARGET,
96
+ module: RMT_DOM_DESCRIPTOR_RENDERER_MODULE,
97
+ runtime: RMT_DOM_DESCRIPTOR_RENDERER_RUNTIME,
98
+ types: RMT_DOM_DESCRIPTOR_RENDERER_TYPES,
99
+ suite: RMT_DOM_DESCRIPTOR_RENDERER_SUITE,
100
+ fixture: RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE,
101
+ docs: RMT_DOM_DESCRIPTOR_RENDERER_DOCS,
102
+ workpackageDocument: RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE_DOC,
103
+ localGate: RMT_DOM_DESCRIPTOR_RENDERER_LOCAL_GATE,
104
+ packageScript: RMT_DOM_DESCRIPTOR_RENDERER_PACKAGE_SCRIPT,
105
+ trustedDomBoundary: TRUSTED_DOM_BOUNDARY,
106
+ requiredRenderOperations: REQUIRED_RENDER_OPERATIONS.slice(),
107
+ forbiddenNormalUiSinks: FORBIDDEN_NORMAL_UI_SINKS.slice(),
108
+ boundaries: REQUIRED_BOUNDARIES.slice(),
109
+ artifactPaths: REQUIRED_ARTIFACTS.slice(),
110
+ requiredDocs: REQUIRED_DOCS.slice(),
111
+ model: {
112
+ rendererImplemented: true,
113
+ runtimeImplemented: true,
114
+ structuredDescriptorDefault: true,
115
+ normalUiAllowsManualHtml: false,
116
+ trustedHtmlAllowedOnlyWithExplicitBoundary: true,
117
+ externalInnerHtmlHelperRequired: false,
118
+ diagnosticSourceMappingRequired: true,
119
+ keyedDiffingRequired: true,
120
+ productSurfaceTaxonomyAllowed: false
121
+ },
122
+ kernelBoundary: KERNEL_BOUNDARY,
123
+ nextWorkpackage: NEXT_WORKPACKAGE,
124
+ nextDecision: NEXT_DECISION
125
+ };
126
+ }
127
+
128
+ function validateRmtDomDescriptorRendererPlan(plan = createRmtDomDescriptorRendererPlan()) {
129
+ const errors = [];
130
+ const model = plan && plan.model ? plan.model : {};
131
+
132
+ if (!plan || plan.schema !== RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA) errors.push(`schema must be ${RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA}`);
133
+ if (!plan || plan.reportSchema !== RMT_DOM_DESCRIPTOR_RENDERER_REPORT_SCHEMA) errors.push(`reportSchema must be ${RMT_DOM_DESCRIPTOR_RENDERER_REPORT_SCHEMA}`);
134
+ if (!plan || plan.fixtureSchema !== RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE_SCHEMA) errors.push(`fixtureSchema must be ${RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE_SCHEMA}`);
135
+ if (!plan || plan.diagnosticSchema !== RMT_DOM_RENDERER_DIAGNOSTIC_SCHEMA) errors.push(`diagnosticSchema must be ${RMT_DOM_RENDERER_DIAGNOSTIC_SCHEMA}`);
136
+ if (!plan || plan.noManualHtmlGateSchema !== NO_MANUAL_HTML_GATE_SCHEMA) errors.push(`noManualHtmlGateSchema must be ${NO_MANUAL_HTML_GATE_SCHEMA}`);
137
+ if (!plan || plan.authoringSchema !== RMT_APP_PLATFORM_AUTHORING_SCHEMA) errors.push('authoring schema must match WP-E18-04');
138
+ if (!plan || plan.authoringWorkpackage !== RMT_APP_PLATFORM_AUTHORING_WORKPACKAGE) errors.push('authoring workpackage must match WP-E18-04');
139
+ if (!plan || plan.workpackage !== RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE) errors.push(`workpackage must be ${RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE}`);
140
+ if (!plan || plan.status !== RMT_DOM_DESCRIPTOR_RENDERER_STATUS) errors.push(`status must be ${RMT_DOM_DESCRIPTOR_RENDERER_STATUS}`);
141
+ if (!plan || plan.targetReadiness !== RMT_DOM_DESCRIPTOR_RENDERER_TARGET) errors.push(`targetReadiness must be ${RMT_DOM_DESCRIPTOR_RENDERER_TARGET}`);
142
+ if (!plan || plan.trustedDomBoundary !== TRUSTED_DOM_BOUNDARY) errors.push(`trustedDomBoundary must be ${TRUSTED_DOM_BOUNDARY}`);
143
+ REQUIRED_RENDER_OPERATIONS.forEach((operation) => {
144
+ if (!plan || !plan.requiredRenderOperations.includes(operation)) errors.push(`render operation missing: ${operation}`);
145
+ });
146
+ FORBIDDEN_NORMAL_UI_SINKS.forEach((sink) => {
147
+ if (!plan || !plan.forbiddenNormalUiSinks.includes(sink)) errors.push(`forbidden sink missing: ${sink}`);
148
+ });
149
+ REQUIRED_BOUNDARIES.forEach((boundary) => {
150
+ if (!plan || !plan.boundaries.includes(boundary)) errors.push(`boundary missing: ${boundary}`);
151
+ });
152
+ REQUIRED_ARTIFACTS.forEach((artifact) => {
153
+ if (!plan || !plan.artifactPaths.includes(artifact)) errors.push(`artifact missing: ${artifact}`);
154
+ });
155
+ REQUIRED_DOCS.forEach((doc) => {
156
+ if (!plan || !plan.requiredDocs.includes(doc)) errors.push(`doc missing: ${doc}`);
157
+ });
158
+ if (model.rendererImplemented !== true || model.runtimeImplemented !== true) errors.push('WP-E18-05 must implement renderer/runtime');
159
+ if (model.structuredDescriptorDefault !== true) errors.push('structured descriptor must be default');
160
+ if (model.normalUiAllowsManualHtml !== false) errors.push('normal UI must not allow manual HTML');
161
+ if (model.trustedHtmlAllowedOnlyWithExplicitBoundary !== true) errors.push('trusted HTML must require explicit boundary');
162
+ if (model.externalInnerHtmlHelperRequired !== false) errors.push('external innerHTML helper must not be required');
163
+ if (model.diagnosticSourceMappingRequired !== true) errors.push('diagnostic source mapping must be required');
164
+ if (model.keyedDiffingRequired !== true) errors.push('keyed diffing must be required');
165
+ if (model.productSurfaceTaxonomyAllowed !== false) errors.push('product surface taxonomy must stay disallowed');
166
+ if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
167
+ if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
168
+ if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
169
+
170
+ return {
171
+ schema: RMT_DOM_DESCRIPTOR_RENDERER_REPORT_SCHEMA,
172
+ ok: errors.length === 0,
173
+ errors,
174
+ workpackage: RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE,
175
+ checkedAt: 'static-local'
176
+ };
177
+ }
178
+
179
+ function createRmtDomDescriptorRendererReport(options = {}) {
180
+ const plan = options.plan || createRmtDomDescriptorRendererPlan(options);
181
+ const validation = validateRmtDomDescriptorRendererPlan(plan);
182
+
183
+ return {
184
+ schema: RMT_DOM_DESCRIPTOR_RENDERER_REPORT_SCHEMA,
185
+ ok: validation.ok,
186
+ errors: validation.errors.slice(),
187
+ workpackage: plan.workpackage,
188
+ status: plan.status,
189
+ targetReadiness: plan.targetReadiness,
190
+ renderOperationCount: plan.requiredRenderOperations.length,
191
+ forbiddenSinkCount: plan.forbiddenNormalUiSinks.length,
192
+ boundaryCount: plan.boundaries.length,
193
+ rendererImplemented: plan.model.rendererImplemented,
194
+ runtimeImplemented: plan.model.runtimeImplemented,
195
+ normalUiAllowsManualHtml: plan.model.normalUiAllowsManualHtml,
196
+ trustedDomBoundary: plan.trustedDomBoundary,
197
+ nextWorkpackage: plan.nextWorkpackage,
198
+ nextDecision: plan.nextDecision,
199
+ kernelBoundary: plan.kernelBoundary
200
+ };
201
+ }
202
+
203
+ module.exports = {
204
+ FORBIDDEN_NORMAL_UI_SINKS,
205
+ NEXT_DECISION,
206
+ NEXT_WORKPACKAGE,
207
+ NO_MANUAL_HTML_GATE_SCHEMA,
208
+ REQUIRED_ARTIFACTS,
209
+ REQUIRED_BOUNDARIES,
210
+ REQUIRED_DOCS,
211
+ REQUIRED_RENDER_OPERATIONS,
212
+ RMT_DOM_DESCRIPTOR_RENDERER_DOCS,
213
+ RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE,
214
+ RMT_DOM_DESCRIPTOR_RENDERER_FIXTURE_SCHEMA,
215
+ RMT_DOM_DESCRIPTOR_RENDERER_LOCAL_GATE,
216
+ RMT_DOM_DESCRIPTOR_RENDERER_MODULE,
217
+ RMT_DOM_DESCRIPTOR_RENDERER_PACKAGE_SCRIPT,
218
+ RMT_DOM_DESCRIPTOR_RENDERER_REPORT_SCHEMA,
219
+ RMT_DOM_DESCRIPTOR_RENDERER_RUNTIME,
220
+ RMT_DOM_DESCRIPTOR_RENDERER_SCHEMA,
221
+ RMT_DOM_DESCRIPTOR_RENDERER_STATUS,
222
+ RMT_DOM_DESCRIPTOR_RENDERER_SUITE,
223
+ RMT_DOM_DESCRIPTOR_RENDERER_TARGET,
224
+ RMT_DOM_DESCRIPTOR_RENDERER_TYPES,
225
+ RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE,
226
+ RMT_DOM_DESCRIPTOR_RENDERER_WORKPACKAGE_DOC,
227
+ RMT_DOM_RENDERER_DIAGNOSTIC_SCHEMA,
228
+ TRUSTED_DOM_BOUNDARY,
229
+ createRmtDomDescriptorRendererPlan,
230
+ createRmtDomDescriptorRendererReport,
231
+ validateRmtDomDescriptorRendererPlan
232
+ };
@@ -0,0 +1,35 @@
1
+ import type {
2
+ XtendCatalogConstant,
3
+ XtendCatalogOptions,
4
+ XtendCatalogPlan,
5
+ XtendCatalogReport
6
+ } from './catalog-public-types';
7
+
8
+ export declare const NEXT_DECISION: string;
9
+ export declare const NEXT_WORKPACKAGE: string;
10
+ export declare const REQUIRED_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
11
+ export declare const REQUIRED_BOUNDARIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
12
+ export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
13
+ export declare const REQUIRED_EVENT_CAPABILITIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
14
+ export declare const REQUIRED_EVENT_KINDS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
15
+ export declare const REQUIRED_GOVERNANCE_POLICIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
16
+ export declare const RMT_EVENT_ROUTING_RUNTIME_BACKLOG: string;
17
+ export declare const RMT_EVENT_ROUTING_RUNTIME_DOCS: string;
18
+ export declare const RMT_EVENT_ROUTING_RUNTIME_EPIC: string;
19
+ export declare const RMT_EVENT_ROUTING_RUNTIME_FIXTURE: string;
20
+ export declare const RMT_EVENT_ROUTING_RUNTIME_FIXTURE_SCHEMA: string;
21
+ export declare const RMT_EVENT_ROUTING_RUNTIME_LOCAL_GATE: string;
22
+ export declare const RMT_EVENT_ROUTING_RUNTIME_MODULE: string;
23
+ export declare const RMT_EVENT_ROUTING_RUNTIME_PACKAGE_SCRIPT: string;
24
+ export declare const RMT_EVENT_ROUTING_RUNTIME_REPORT_SCHEMA: string;
25
+ export declare const RMT_EVENT_ROUTING_RUNTIME_RUNTIME: string;
26
+ export declare const RMT_EVENT_ROUTING_RUNTIME_SCHEMA: string;
27
+ export declare const RMT_EVENT_ROUTING_RUNTIME_STATUS: string;
28
+ export declare const RMT_EVENT_ROUTING_RUNTIME_SUITE: string;
29
+ export declare const RMT_EVENT_ROUTING_RUNTIME_TARGET: string;
30
+ export declare const RMT_EVENT_ROUTING_RUNTIME_TYPES: string;
31
+ export declare const RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE: string;
32
+ export declare const RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE_DOC: string;
33
+ export declare function createRmtEventRoutingRuntimePlan(options?: XtendCatalogOptions): XtendCatalogPlan;
34
+ export declare function createRmtEventRoutingRuntimeReport(options?: XtendCatalogOptions): XtendCatalogReport;
35
+ export declare function validateRmtEventRoutingRuntimePlan(plan?: unknown): XtendCatalogReport;