@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.
- package/CHANGELOG.md +2 -0
- package/README.md +4 -0
- package/catalog/component-catalog-coverage.js +2 -0
- package/catalog/epic13-package-export-lock.js +11 -1
- package/catalog/epic13-rmt-production-readiness.js +0 -1
- package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
- package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
- package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
- package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
- package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
- package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
- package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
- package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
- package/catalog/epic18-rmt-component-template-primitives.js +240 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
- package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
- package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
- package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
- package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
- package/catalog/surface-manager-controller.js +5 -1
- package/catalog/surface-manager-materialization.js +7 -1
- package/catalog/surface-manager-overlay-bridge.js +41 -6
- package/catalog/surface-manager-workbench-fixture.js +1 -1
- package/catalog/surface-type-capability-matrix.d.ts +61 -0
- package/catalog/surface-type-capability-matrix.js +183 -0
- package/catalog/type-exports-rmt.js +37 -1
- package/catalog/type-exports.js +3 -3
- package/components/icon-packs/lucide.js +4 -0
- package/components/manifest.json +2 -0
- package/components/prism-rmt.d.ts +34 -0
- package/components/prism-rmt.js +130 -0
- package/components/xcards.js +15 -0
- package/components/xcode.d.ts +36 -1
- package/components/xcode.js +215 -20
- package/components/xfooter.js +17 -0
- package/components/xheader.js +14 -0
- package/components/xhero.js +16 -1
- package/components/xlink.js +97 -14
- package/components/xmasonry.js +15 -0
- package/components/xplayer.d.ts +44 -2
- package/components/xplayer.js +242 -15
- package/components/xrouter.js +27 -2
- package/components/xsection.js +15 -0
- package/components/xsidepanel.js +10 -2
- package/components/xsurfacemanager-controller.d.ts +2 -1
- package/components/xsurfacemanager-controller.js +27 -3
- package/components/xsurfacemanager.d.ts +2 -0
- package/components/xsurfacemanager.js +20 -8
- package/components/xsurfaceoverlay-bridge.d.ts +20 -5
- package/components/xsurfaceoverlay-bridge.js +114 -18
- package/components/xsurfaceportal.d.ts +29 -0
- package/components/xsurfaceportal.js +122 -0
- package/components/xsurfaceregion.d.ts +50 -0
- package/components/xsurfaceregion.js +285 -0
- package/components/xsurfacewindow.js +2 -1
- package/components/xtooltip.js +89 -23
- package/docs/README.md +222 -298
- package/docs/changelog.md +107 -0
- package/docs/component-catalog-coverage.md +9 -9
- package/docs/component-platform.md +19 -1
- package/docs/component-ux-app-authoring.md +56 -63
- package/docs/components/xcode.md +83 -53
- package/docs/components/xsurfaceportal.md +32 -0
- package/docs/components/xsurfaceregion.md +37 -0
- package/docs/components.md +105 -69
- package/docs/de/README.md +264 -0
- package/docs/de/XTend-ADR.md +221 -0
- package/docs/de/a11y-keyboard-smokes.md +62 -0
- package/docs/de/about.md +18 -0
- package/docs/de/api.md +157 -0
- package/docs/de/best-practices.md +76 -0
- package/docs/de/changelog.md +107 -0
- package/docs/de/component-catalog-coverage.md +58 -0
- package/docs/de/component-lab.md +103 -0
- package/docs/de/component-long-tail-migration.md +41 -0
- package/docs/de/component-platform.md +177 -0
- package/docs/de/component-ux-app-authoring.md +123 -0
- package/docs/de/component-ux-authoring.md +96 -0
- package/docs/de/component-ux-gates.md +45 -0
- package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/de/components/xalert.md +81 -0
- package/docs/de/components/xbutton.md +103 -0
- package/docs/de/components/xcalendar.md +82 -0
- package/docs/de/components/xcards.md +128 -0
- package/docs/de/components/xcheckbox.md +102 -0
- package/docs/de/components/xcode.md +156 -0
- package/docs/de/components/xdialog.md +92 -0
- package/docs/de/components/xdrawer.md +84 -0
- package/docs/de/components/xfooter.md +126 -0
- package/docs/de/components/xform.md +128 -0
- package/docs/de/components/xheader.md +308 -0
- package/docs/de/components/xhero.md +142 -0
- package/docs/de/components/xicon.md +125 -0
- package/docs/de/components/xinput.md +129 -0
- package/docs/de/components/xlightbox.md +98 -0
- package/docs/de/components/xlink.md +109 -0
- package/docs/de/components/xmasonry.md +124 -0
- package/docs/de/components/xmenu.md +158 -0
- package/docs/de/components/xmodal.md +82 -0
- package/docs/de/components/xplayer.md +104 -0
- package/docs/de/components/xpopover.md +67 -0
- package/docs/de/components/xprogress.md +56 -0
- package/docs/de/components/xradio.md +103 -0
- package/docs/de/components/xrouter.md +260 -0
- package/docs/de/components/xsection.md +125 -0
- package/docs/de/components/xselect.md +105 -0
- package/docs/de/components/xsidepanel.md +30 -0
- package/docs/de/components/xspinner.md +102 -0
- package/docs/de/components/xstate.md +148 -0
- package/docs/de/components/xstatus.md +55 -0
- package/docs/de/components/xsummary.md +78 -0
- package/docs/de/components/xsurfacemanager.md +27 -0
- package/docs/de/components/xsurfacewindow.md +21 -0
- package/docs/de/components/xtabs.md +160 -0
- package/docs/de/components/xtextarea.md +98 -0
- package/docs/de/components/xtheme.md +167 -0
- package/docs/de/components/xtoast.md +62 -0
- package/docs/de/components/xtooltip.md +66 -0
- package/docs/de/components/xtype.md +82 -0
- package/docs/de/components/xutils.md +144 -0
- package/docs/de/components/xwriter.md +94 -0
- package/docs/de/components.md +153 -0
- package/docs/de/conditional-network-evidence-ci.md +38 -0
- package/docs/de/conditional-network-evidence.md +50 -0
- package/docs/de/core-migration-guide.md +110 -0
- package/docs/de/design-tokens.md +116 -0
- package/docs/de/docs-rmt-production-hardening.md +31 -0
- package/docs/de/enterprise-adoption.md +413 -0
- package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/de/epic10-platform-gates.md +62 -0
- package/docs/de/epic10-release-handoff.md +81 -0
- package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/de/epic12-rc0-handoff.md +61 -0
- package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/de/epic18-vendor-bugfixes.md +34 -0
- package/docs/de/existing-component-metadata.md +67 -0
- package/docs/de/hydration-performance-closure.md +34 -0
- package/docs/de/hydration-policies.md +71 -0
- package/docs/de/known-residual-triage.md +22 -0
- package/docs/de/manifest-import-policy.md +79 -0
- package/docs/de/manifest.md +112 -0
- package/docs/de/motion-contrast.md +67 -0
- package/docs/de/package-export-lock.md +44 -0
- package/docs/de/performance-measurements.md +106 -0
- package/docs/de/performance-regression.md +89 -0
- package/docs/de/performance.md +94 -0
- package/docs/de/previews/README.md +17 -0
- package/docs/de/prod-browser-csp-smokes.md +40 -0
- package/docs/de/public-component-types.md +79 -0
- package/docs/de/quick-start-guide.md +220 -0
- package/docs/de/rc0-adoption-guide.md +102 -0
- package/docs/de/rc0-gate-matrix.md +58 -0
- package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/de/rc1-migration-notes.md +69 -0
- package/docs/de/rc1-readiness.md +46 -0
- package/docs/de/release-owner-acceptance.md +56 -0
- package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/de/rmt-action-effect-runtime.md +81 -0
- package/docs/de/rmt-app-platform-authoring.md +54 -0
- package/docs/de/rmt-app-platform-fixture.md +46 -0
- package/docs/de/rmt-app-platform-migration-guide.md +88 -0
- package/docs/de/rmt-app-platform-tooling.md +79 -0
- package/docs/de/rmt-component-template-primitives.md +57 -0
- package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/de/rmt-dsl-authoring-polish.md +145 -0
- package/docs/de/rmt-event-routing-runtime.md +81 -0
- package/docs/de/rmt-first-demo-app.md +77 -0
- package/docs/de/rmt-first-xtend-apps.md +129 -0
- package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/de/rmt-language-server.md +234 -0
- package/docs/de/rmt-lifecycle-demo.md +24 -0
- package/docs/de/rmt-linter.md +140 -0
- package/docs/de/rmt-node-ssr-adapter.md +100 -0
- package/docs/de/rmt-php-ssr-adapter.md +120 -0
- package/docs/de/rmt-production-readiness.md +63 -0
- package/docs/de/rmt-state-selector-runtime.md +47 -0
- package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/de/rmt-tooling-release-gates.md +77 -0
- package/docs/de/rmt-vnext-authoring.md +170 -0
- package/docs/de/rmt-vnext-component-primitives.md +188 -0
- package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/de/rmt-vnext-migration-notes.md +62 -0
- package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/de/rmt-vnext-primitive-migration.md +119 -0
- package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
- package/docs/de/rmt-vnext-release-handoff.md +83 -0
- package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
- package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/de/screenreader-signals.md +56 -0
- package/docs/de/supply-chain-gates.md +100 -0
- package/docs/de/surface-manager-authoring-guide.md +94 -0
- package/docs/de/surface-manager-browser-lab.md +45 -0
- package/docs/de/surface-manager-component-lab.md +43 -0
- package/docs/de/surface-manager-controller.md +66 -0
- package/docs/de/surface-manager-layout-engines.md +32 -0
- package/docs/de/surface-manager-lazy-hydration.md +63 -0
- package/docs/de/surface-manager-migration-guide.md +122 -0
- package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/de/surface-manager-overlay-bridge.md +53 -0
- package/docs/de/surface-manager-persistence.md +30 -0
- package/docs/de/surface-manager-quality-gates.md +51 -0
- package/docs/de/surface-manager-release-handoff.md +68 -0
- package/docs/de/surface-manager-remote-policy.md +54 -0
- package/docs/de/surface-manager-rmt-authoring.md +102 -0
- package/docs/de/surface-manager-route-lifecycle.md +59 -0
- package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/de/surface-manager-side-panel-runtime.md +36 -0
- package/docs/de/surface-manager-stack-policy.md +39 -0
- package/docs/de/surface-manager-window-runtime.md +47 -0
- package/docs/de/surface-manager-workbench-fixture.md +43 -0
- package/docs/de/third-party-design-authoring.md +406 -0
- package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/de/trusted-dom-sanitizing.md +110 -0
- package/docs/de/type-exports.md +61 -0
- package/docs/de/typescript-components.md +63 -0
- package/docs/de/visual-browser-regression.md +83 -0
- package/docs/de/visual-owner-artifacts.md +46 -0
- package/docs/de/visual-snapshot-automation.md +87 -0
- package/docs/de/xtend-api-types.md +55 -0
- package/docs/de/xtend-builder-types.md +55 -0
- package/docs/de/xtend-catalog-types.md +44 -0
- package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/de/xtend-fabric.md +474 -0
- package/docs/de/xtend-loader-types.md +58 -0
- package/docs/de/xtend-loader.md +265 -0
- package/docs/de/xtend-policy-types.md +38 -0
- package/docs/de/xtend-rmt-types.md +40 -0
- package/docs/de/xtend-vendor-types.md +36 -0
- package/docs/de/xtendrmt-app-dsl.md +334 -0
- package/docs/de/xtendrmt-migration-guide.md +266 -0
- package/docs/de/xtendrmt-native-authoring.md +333 -0
- package/docs/de/xtendrmt-overview.md +109 -0
- package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/de/xtendrmt-runtime-bridge.md +155 -0
- package/docs/en/README.md +163 -0
- package/docs/en/XTend-ADR.md +221 -0
- package/docs/en/a11y-keyboard-smokes.md +68 -0
- package/docs/en/about.md +25 -0
- package/docs/en/api.md +171 -0
- package/docs/en/best-practices.md +125 -0
- package/docs/en/changelog.md +104 -0
- package/docs/en/component-catalog-coverage.md +104 -0
- package/docs/en/component-lab.md +103 -0
- package/docs/en/component-long-tail-migration.md +41 -0
- package/docs/en/component-platform.md +243 -0
- package/docs/en/component-ux-app-authoring.md +118 -0
- package/docs/en/component-ux-authoring.md +96 -0
- package/docs/en/component-ux-gates.md +45 -0
- package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
- package/docs/en/components/xalert.md +94 -0
- package/docs/en/components/xbutton.md +118 -0
- package/docs/en/components/xcalendar.md +95 -0
- package/docs/en/components/xcards.md +139 -0
- package/docs/en/components/xcheckbox.md +118 -0
- package/docs/en/components/xcode.md +153 -0
- package/docs/en/components/xdialog.md +108 -0
- package/docs/en/components/xdrawer.md +110 -0
- package/docs/en/components/xfooter.md +138 -0
- package/docs/en/components/xform.md +147 -0
- package/docs/en/components/xheader.md +308 -0
- package/docs/en/components/xhero.md +157 -0
- package/docs/en/components/xicon.md +149 -0
- package/docs/en/components/xinput.md +147 -0
- package/docs/en/components/xlightbox.md +113 -0
- package/docs/en/components/xlink.md +130 -0
- package/docs/en/components/xmasonry.md +136 -0
- package/docs/en/components/xmenu.md +185 -0
- package/docs/en/components/xmodal.md +102 -0
- package/docs/en/components/xplayer.md +114 -0
- package/docs/en/components/xpopover.md +87 -0
- package/docs/en/components/xprogress.md +73 -0
- package/docs/en/components/xradio.md +119 -0
- package/docs/en/components/xrouter.md +260 -0
- package/docs/en/components/xsection.md +136 -0
- package/docs/en/components/xselect.md +122 -0
- package/docs/en/components/xsidepanel.md +48 -0
- package/docs/en/components/xspinner.md +118 -0
- package/docs/en/components/xstate.md +163 -0
- package/docs/en/components/xstatus.md +71 -0
- package/docs/en/components/xsummary.md +90 -0
- package/docs/en/components/xsurfacemanager.md +42 -0
- package/docs/en/components/xsurfacewindow.md +31 -0
- package/docs/en/components/xtabs.md +187 -0
- package/docs/en/components/xtextarea.md +115 -0
- package/docs/en/components/xtheme.md +203 -0
- package/docs/en/components/xtoast.md +78 -0
- package/docs/en/components/xtooltip.md +85 -0
- package/docs/en/components/xtype.md +91 -0
- package/docs/en/components/xutils.md +161 -0
- package/docs/en/components/xwriter.md +106 -0
- package/docs/en/components.md +151 -0
- package/docs/en/conditional-network-evidence-ci.md +38 -0
- package/docs/en/conditional-network-evidence.md +50 -0
- package/docs/en/core-migration-guide.md +110 -0
- package/docs/en/design-tokens.md +137 -0
- package/docs/en/docs-rmt-production-hardening.md +31 -0
- package/docs/en/enterprise-adoption.md +413 -0
- package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/en/epic10-platform-gates.md +62 -0
- package/docs/en/epic10-release-handoff.md +81 -0
- package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/en/epic12-rc0-handoff.md +61 -0
- package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
- package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
- package/docs/en/epic18-vendor-bugfixes.md +29 -0
- package/docs/en/existing-component-metadata.md +67 -0
- package/docs/en/hydration-performance-closure.md +34 -0
- package/docs/en/hydration-policies.md +75 -0
- package/docs/en/known-residual-triage.md +22 -0
- package/docs/en/manifest-import-policy.md +81 -0
- package/docs/en/manifest.md +135 -0
- package/docs/en/motion-contrast.md +67 -0
- package/docs/en/package-export-lock.md +44 -0
- package/docs/en/performance-measurements.md +106 -0
- package/docs/en/performance-regression.md +89 -0
- package/docs/en/performance.md +132 -0
- package/docs/en/previews/README.md +17 -0
- package/docs/en/prod-browser-csp-smokes.md +40 -0
- package/docs/en/public-component-types.md +79 -0
- package/docs/en/quick-start-guide.md +189 -0
- package/docs/en/rc0-adoption-guide.md +102 -0
- package/docs/en/rc0-gate-matrix.md +58 -0
- package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/en/rc1-migration-notes.md +69 -0
- package/docs/en/rc1-readiness.md +46 -0
- package/docs/en/release-owner-acceptance.md +56 -0
- package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/en/rmt-action-effect-runtime.md +101 -0
- package/docs/en/rmt-app-platform-authoring.md +47 -0
- package/docs/en/rmt-app-platform-fixture.md +35 -0
- package/docs/en/rmt-app-platform-migration-guide.md +75 -0
- package/docs/en/rmt-app-platform-tooling.md +58 -0
- package/docs/en/rmt-component-template-primitives.md +49 -0
- package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
- package/docs/en/rmt-dsl-authoring-polish.md +143 -0
- package/docs/en/rmt-event-routing-runtime.md +98 -0
- package/docs/en/rmt-first-demo-app.md +87 -0
- package/docs/en/rmt-first-xtend-apps.md +127 -0
- package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
- package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
- package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
- package/docs/en/rmt-language-server.md +243 -0
- package/docs/en/rmt-lifecycle-demo.md +23 -0
- package/docs/en/rmt-linter.md +146 -0
- package/docs/en/rmt-node-ssr-adapter.md +99 -0
- package/docs/en/rmt-php-ssr-adapter.md +118 -0
- package/docs/en/rmt-production-readiness.md +63 -0
- package/docs/en/rmt-state-selector-runtime.md +34 -0
- package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
- package/docs/en/rmt-tooling-release-gates.md +77 -0
- package/docs/en/rmt-vnext-authoring.md +102 -0
- package/docs/en/rmt-vnext-component-primitives.md +185 -0
- package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
- package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
- package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
- package/docs/en/rmt-vnext-migration-notes.md +62 -0
- package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
- package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
- package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
- package/docs/en/rmt-vnext-primitive-migration.md +93 -0
- package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
- package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
- package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
- package/docs/en/rmt-vnext-release-handoff.md +83 -0
- package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
- package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
- package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
- package/docs/en/screenreader-signals.md +56 -0
- package/docs/en/supply-chain-gates.md +106 -0
- package/docs/en/surface-manager-authoring-guide.md +94 -0
- package/docs/en/surface-manager-browser-lab.md +45 -0
- package/docs/en/surface-manager-component-lab.md +43 -0
- package/docs/en/surface-manager-controller.md +66 -0
- package/docs/en/surface-manager-layout-engines.md +32 -0
- package/docs/en/surface-manager-lazy-hydration.md +63 -0
- package/docs/en/surface-manager-migration-guide.md +113 -0
- package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/en/surface-manager-overlay-bridge.md +53 -0
- package/docs/en/surface-manager-persistence.md +30 -0
- package/docs/en/surface-manager-quality-gates.md +51 -0
- package/docs/en/surface-manager-release-handoff.md +68 -0
- package/docs/en/surface-manager-remote-policy.md +54 -0
- package/docs/en/surface-manager-rmt-authoring.md +89 -0
- package/docs/en/surface-manager-route-lifecycle.md +59 -0
- package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/en/surface-manager-side-panel-runtime.md +36 -0
- package/docs/en/surface-manager-stack-policy.md +39 -0
- package/docs/en/surface-manager-window-runtime.md +47 -0
- package/docs/en/surface-manager-workbench-fixture.md +43 -0
- package/docs/en/third-party-design-authoring.md +406 -0
- package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/en/trusted-dom-sanitizing.md +124 -0
- package/docs/en/type-exports.md +61 -0
- package/docs/en/typescript-components.md +63 -0
- package/docs/en/visual-browser-regression.md +83 -0
- package/docs/en/visual-owner-artifacts.md +46 -0
- package/docs/en/visual-snapshot-automation.md +87 -0
- package/docs/en/xtend-api-types.md +55 -0
- package/docs/en/xtend-builder-types.md +55 -0
- package/docs/en/xtend-catalog-types.md +44 -0
- package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/en/xtend-fabric.md +474 -0
- package/docs/en/xtend-loader-types.md +58 -0
- package/docs/en/xtend-loader.md +265 -0
- package/docs/en/xtend-policy-types.md +38 -0
- package/docs/en/xtend-rmt-types.md +40 -0
- package/docs/en/xtend-vendor-types.md +36 -0
- package/docs/en/xtendrmt-app-dsl.md +331 -0
- package/docs/en/xtendrmt-migration-guide.md +256 -0
- package/docs/en/xtendrmt-native-authoring.md +336 -0
- package/docs/en/xtendrmt-overview.md +63 -0
- package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/en/xtendrmt-runtime-bridge.md +155 -0
- package/docs/enterprise-adoption.md +4 -2
- package/docs/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/epic18-vendor-bugfixes.md +34 -0
- package/docs/index.php +1056 -109
- package/docs/manifest.md +8 -2
- package/docs/menu.json +986 -133
- package/docs/package-export-lock.md +2 -2
- package/docs/public-component-types.md +2 -2
- package/docs/quick-start-guide.md +126 -58
- package/docs/rmt-action-effect-runtime.md +101 -0
- package/docs/rmt-app-platform-authoring.md +54 -0
- package/docs/rmt-app-platform-fixture.md +46 -0
- package/docs/rmt-app-platform-migration-guide.md +88 -0
- package/docs/rmt-app-platform-tooling.md +79 -0
- package/docs/rmt-component-template-primitives.md +57 -0
- package/docs/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/rmt-dsl-authoring-polish.md +67 -44
- package/docs/rmt-event-routing-runtime.md +98 -0
- package/docs/rmt-first-demo-app.md +2 -2
- package/docs/rmt-first-xtend-apps.md +70 -46
- package/docs/rmt-language-server.md +61 -4
- package/docs/rmt-lifecycle-demo.md +1 -2
- package/docs/rmt-node-ssr-adapter.md +144 -0
- package/docs/rmt-php-ssr-adapter.md +158 -0
- package/docs/rmt-state-selector-runtime.md +47 -0
- package/docs/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/rmt-vnext-authoring.md +128 -18
- package/docs/rmt-vnext-component-primitives.md +188 -0
- package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/rmt-vnext-primitive-migration.md +119 -0
- package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
- package/docs/rmt-vnext-release-handoff.md +14 -0
- package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
- package/docs/surface-manager-migration-guide.md +34 -6
- package/docs/surface-manager-overlay-bridge.md +9 -4
- package/docs/surface-manager-rmt-authoring.md +50 -34
- package/docs/surface-manager-workbench-fixture.md +1 -2
- package/docs/third-party-design-authoring.md +1 -1
- package/docs/type-exports.md +3 -3
- package/docs/utils/pageloader.js +811 -62
- package/docs/visual-browser-regression.md +1 -1
- package/docs/xtend-rmt-types.md +3 -2
- package/docs/xtendrmt-app-dsl.md +187 -122
- package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
- package/docs/xtendrmt-migration-guide.md +48 -17
- package/docs/xtendrmt-native-authoring.md +213 -217
- package/docs/xtendrmt-overview.md +81 -61
- package/docs/xtendrmt-parsedown-scheduling.md +23 -8
- package/fabric/package.json +1 -1
- package/package.json +684 -21
- package/tools/package.json +5 -1
- package/tools/rmt-editor/vscode/README.md +72 -5
- package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
- package/tools/rmt-editor/vscode/extension.d.ts +33 -0
- package/tools/rmt-editor/vscode/extension.js +1816 -7
- package/tools/rmt-editor/vscode/language-configuration.json +2 -1
- package/tools/rmt-editor/vscode/package.json +193 -2
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
- package/tools/rmt-editor/vscode/templates/launch.json +70 -0
- package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
- package/tools/rmt-language/app-platform-tooling.js +677 -0
- package/tools/rmt-language/completions.d.ts +5 -0
- package/tools/rmt-language/completions.js +185 -3
- package/tools/rmt-language/diagnostics.js +54 -0
- package/tools/rmt-language/hover.js +36 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
- package/tools/rmt-language/rules/app-platform-policy.js +39 -0
- package/tools/rmt-language/rules/index.js +5 -1
- package/tools/rmt-language/semantic-graph.d.ts +6 -0
- package/tools/rmt-language/semantic-graph.js +928 -0
- package/tools/rmt-language/snippets/index.js +44 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
- package/tools/rmt-language/vnext-compatibility.js +642 -0
- package/tools/rmt-language/vnext-compiler.d.ts +5 -0
- package/tools/rmt-language/vnext-compiler.js +863 -17
- package/tools/rmt-language/vnext-parser.js +725 -9
- package/tools/rmt-language/vnext-release.d.ts +1 -0
- package/tools/rmt-language/vnext-release.js +20 -0
- package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
- package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
- package/tools/rmt-language/vnext-surfaces.js +111 -52
- package/tools/rmt-language/vnext-tooling.d.ts +19 -1
- package/tools/rmt-language/vnext-tooling.js +1247 -5
- package/tools/rmt-language-server/protocol.js +3 -0
- package/tools/rmt-language-server/server.d.ts +2 -0
- package/tools/rmt-language-server/server.js +176 -22
- package/tools/rmt-linter/cli.d.ts +2 -0
- package/tools/rmt-linter/cli.js +62 -0
- package/xtend-builder/generators/registry.js +11 -0
- package/xtend-builder/generators/rmt-app-platform.js +239 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
- package/xtend-builder/lib/cli.js +38 -0
- package/xtend-builder/package.json +3 -3
- package/xtend-builder/scaffold.config.js +29 -2
- package/xtend.css +49 -2
- package/xtendrmt/package.json +49 -1
- package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
- package/xtendrmt/rmt-action-effect-runtime.js +494 -0
- package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
- package/xtendrmt/rmt-component-capability-registry.js +636 -0
- package/xtendrmt/rmt-core.d.ts +6 -0
- package/xtendrmt/rmt-core.esm.js +32 -6
- package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
- package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
- package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
- package/xtendrmt/rmt-event-routing-runtime.js +666 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
- package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
- package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
- package/xtendrmt/rmt-native-shell-runtime.js +309 -0
- package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
- package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
- package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
- package/xtendrmt/rmt-runtime.browser.js +32 -6
- package/xtendrmt/rmt-runtime.esm.js +32 -6
- package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
- package/xtendrmt/rmt-state-selector-runtime.js +866 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
- package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
const {
|
|
2
|
+
KERNEL_BOUNDARY
|
|
3
|
+
} = require('./epic12-rc0-gate-matrix');
|
|
4
|
+
const {
|
|
5
|
+
RMT_ACTION_EFFECT_RUNTIME_SCHEMA,
|
|
6
|
+
RMT_ACTION_EFFECT_RUNTIME_WORKPACKAGE
|
|
7
|
+
} = require('./epic18-rmt-action-effect-runtime');
|
|
8
|
+
|
|
9
|
+
const RMT_EVENT_ROUTING_RUNTIME_SCHEMA = 'xtend.epic18.rmt-event-routing-runtime.v1';
|
|
10
|
+
const RMT_EVENT_ROUTING_RUNTIME_REPORT_SCHEMA = 'xtend.epic18.rmt-event-routing-runtime-report.v1';
|
|
11
|
+
const RMT_EVENT_ROUTING_RUNTIME_FIXTURE_SCHEMA = 'xtend.epic18.rmt-event-routing-runtime-fixture.v1';
|
|
12
|
+
const RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE = 'WP-E18-09';
|
|
13
|
+
const RMT_EVENT_ROUTING_RUNTIME_STATUS = 'accepted-declarative-event-routing-component-interactions';
|
|
14
|
+
const RMT_EVENT_ROUTING_RUNTIME_TARGET = 'event-routing-component-interactions-ready';
|
|
15
|
+
const RMT_EVENT_ROUTING_RUNTIME_MODULE = 'catalog/epic18-rmt-event-routing-runtime.js';
|
|
16
|
+
const RMT_EVENT_ROUTING_RUNTIME_RUNTIME = 'xtendrmt/rmt-event-routing-runtime.js';
|
|
17
|
+
const RMT_EVENT_ROUTING_RUNTIME_TYPES = 'xtendrmt/rmt-event-routing-runtime.d.ts';
|
|
18
|
+
const RMT_EVENT_ROUTING_RUNTIME_SUITE = 'tests/rmt/rmt_event_routing_runtime_suite.js';
|
|
19
|
+
const RMT_EVENT_ROUTING_RUNTIME_FIXTURE = 'tests/fixtures/rmt-event-routing-runtime.rmt';
|
|
20
|
+
const RMT_EVENT_ROUTING_RUNTIME_DOCS = 'docs/rmt-event-routing-runtime.md';
|
|
21
|
+
const RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE_DOC = 'development/WP-E18-09-Deklaratives-Event-Routing-und-Component-Interaction-Contracts-bauen.md';
|
|
22
|
+
const RMT_EVENT_ROUTING_RUNTIME_BACKLOG = 'development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md';
|
|
23
|
+
const RMT_EVENT_ROUTING_RUNTIME_EPIC = 'docs/epic18-media-manager-vendor-upstream.md';
|
|
24
|
+
const RMT_EVENT_ROUTING_RUNTIME_LOCAL_GATE = 'node scripts/run_xtend_tests.js rmt-event-routing-runtime --json';
|
|
25
|
+
const RMT_EVENT_ROUTING_RUNTIME_PACKAGE_SCRIPT = 'npm run test:rmt-event-routing-runtime';
|
|
26
|
+
const NEXT_WORKPACKAGE = 'WP-E18-10';
|
|
27
|
+
const NEXT_DECISION = 'surface-overlay-portal-resource-graph-hardening';
|
|
28
|
+
|
|
29
|
+
const REQUIRED_EVENT_CAPABILITIES = Object.freeze([
|
|
30
|
+
'dom-event-bindings',
|
|
31
|
+
'custom-event-bindings',
|
|
32
|
+
'keyboard-event-bindings',
|
|
33
|
+
'form-event-bindings',
|
|
34
|
+
'event-to-action-mapping',
|
|
35
|
+
'payload-contract-validation',
|
|
36
|
+
'event-governance-prevent-default-stop-propagation',
|
|
37
|
+
'retargeting-policy',
|
|
38
|
+
'owner-scoped-listener-lifecycle',
|
|
39
|
+
'component-interaction-contracts',
|
|
40
|
+
'cancel-action-routing',
|
|
41
|
+
'diagnostics'
|
|
42
|
+
]);
|
|
43
|
+
|
|
44
|
+
const REQUIRED_EVENT_KINDS = Object.freeze([
|
|
45
|
+
'dom',
|
|
46
|
+
'custom',
|
|
47
|
+
'keyboard',
|
|
48
|
+
'form',
|
|
49
|
+
'surface',
|
|
50
|
+
'drop'
|
|
51
|
+
]);
|
|
52
|
+
|
|
53
|
+
const REQUIRED_GOVERNANCE_POLICIES = Object.freeze([
|
|
54
|
+
'preventDefault',
|
|
55
|
+
'stopPropagation',
|
|
56
|
+
'stopImmediatePropagation',
|
|
57
|
+
'capture',
|
|
58
|
+
'passive',
|
|
59
|
+
'once',
|
|
60
|
+
'retarget'
|
|
61
|
+
]);
|
|
62
|
+
|
|
63
|
+
const REQUIRED_BOUNDARIES = Object.freeze([
|
|
64
|
+
'no-rmt-kernel-import-of-xtend-types',
|
|
65
|
+
'event-routing-uses-injected-action-runtime',
|
|
66
|
+
'no-product-local-event-delegation-framework',
|
|
67
|
+
'payload-contracts-required-for-action-events',
|
|
68
|
+
'normal-ui-no-html-string-renderer',
|
|
69
|
+
'no-media-manager-product-event-taxonomy'
|
|
70
|
+
]);
|
|
71
|
+
|
|
72
|
+
const REQUIRED_ARTIFACTS = Object.freeze([
|
|
73
|
+
RMT_EVENT_ROUTING_RUNTIME_MODULE,
|
|
74
|
+
RMT_EVENT_ROUTING_RUNTIME_SUITE,
|
|
75
|
+
RMT_EVENT_ROUTING_RUNTIME_FIXTURE,
|
|
76
|
+
RMT_EVENT_ROUTING_RUNTIME_DOCS,
|
|
77
|
+
RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE_DOC,
|
|
78
|
+
RMT_EVENT_ROUTING_RUNTIME_RUNTIME,
|
|
79
|
+
RMT_EVENT_ROUTING_RUNTIME_TYPES
|
|
80
|
+
]);
|
|
81
|
+
|
|
82
|
+
const REQUIRED_DOCS = Object.freeze([
|
|
83
|
+
RMT_EVENT_ROUTING_RUNTIME_DOCS,
|
|
84
|
+
RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE_DOC,
|
|
85
|
+
RMT_EVENT_ROUTING_RUNTIME_BACKLOG,
|
|
86
|
+
RMT_EVENT_ROUTING_RUNTIME_EPIC
|
|
87
|
+
]);
|
|
88
|
+
|
|
89
|
+
function createRmtEventRoutingRuntimePlan(options = {}) {
|
|
90
|
+
return {
|
|
91
|
+
schema: RMT_EVENT_ROUTING_RUNTIME_SCHEMA,
|
|
92
|
+
reportSchema: RMT_EVENT_ROUTING_RUNTIME_REPORT_SCHEMA,
|
|
93
|
+
fixtureSchema: RMT_EVENT_ROUTING_RUNTIME_FIXTURE_SCHEMA,
|
|
94
|
+
actionEffectRuntimeSchema: RMT_ACTION_EFFECT_RUNTIME_SCHEMA,
|
|
95
|
+
actionEffectRuntimeWorkpackage: RMT_ACTION_EFFECT_RUNTIME_WORKPACKAGE,
|
|
96
|
+
workpackage: RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE,
|
|
97
|
+
status: RMT_EVENT_ROUTING_RUNTIME_STATUS,
|
|
98
|
+
generatedAt: options.generatedAt || 'static-local',
|
|
99
|
+
targetReadiness: RMT_EVENT_ROUTING_RUNTIME_TARGET,
|
|
100
|
+
module: RMT_EVENT_ROUTING_RUNTIME_MODULE,
|
|
101
|
+
runtime: RMT_EVENT_ROUTING_RUNTIME_RUNTIME,
|
|
102
|
+
types: RMT_EVENT_ROUTING_RUNTIME_TYPES,
|
|
103
|
+
suite: RMT_EVENT_ROUTING_RUNTIME_SUITE,
|
|
104
|
+
fixture: RMT_EVENT_ROUTING_RUNTIME_FIXTURE,
|
|
105
|
+
docs: RMT_EVENT_ROUTING_RUNTIME_DOCS,
|
|
106
|
+
workpackageDocument: RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE_DOC,
|
|
107
|
+
localGate: RMT_EVENT_ROUTING_RUNTIME_LOCAL_GATE,
|
|
108
|
+
packageScript: RMT_EVENT_ROUTING_RUNTIME_PACKAGE_SCRIPT,
|
|
109
|
+
eventCapabilities: REQUIRED_EVENT_CAPABILITIES.slice(),
|
|
110
|
+
eventKinds: REQUIRED_EVENT_KINDS.slice(),
|
|
111
|
+
governancePolicies: REQUIRED_GOVERNANCE_POLICIES.slice(),
|
|
112
|
+
boundaries: REQUIRED_BOUNDARIES.slice(),
|
|
113
|
+
artifactPaths: REQUIRED_ARTIFACTS.slice(),
|
|
114
|
+
requiredDocs: REQUIRED_DOCS.slice(),
|
|
115
|
+
model: {
|
|
116
|
+
eventToActionUsesInjectedRuntime: true,
|
|
117
|
+
payloadContractsRequired: true,
|
|
118
|
+
ownerScopedListenerCleanup: true,
|
|
119
|
+
retargetingDeclarative: true,
|
|
120
|
+
closestDelegationRequired: false,
|
|
121
|
+
productEventFrameworkAllowed: false,
|
|
122
|
+
productEventTaxonomyAllowed: false,
|
|
123
|
+
diagnosticsExposeSourceComponentPayloadAction: true
|
|
124
|
+
},
|
|
125
|
+
kernelBoundary: KERNEL_BOUNDARY,
|
|
126
|
+
nextWorkpackage: NEXT_WORKPACKAGE,
|
|
127
|
+
nextDecision: NEXT_DECISION
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function validateRmtEventRoutingRuntimePlan(plan = createRmtEventRoutingRuntimePlan()) {
|
|
132
|
+
const errors = [];
|
|
133
|
+
const model = plan && plan.model ? plan.model : {};
|
|
134
|
+
|
|
135
|
+
if (!plan || plan.schema !== RMT_EVENT_ROUTING_RUNTIME_SCHEMA) errors.push(`schema must be ${RMT_EVENT_ROUTING_RUNTIME_SCHEMA}`);
|
|
136
|
+
if (!plan || plan.reportSchema !== RMT_EVENT_ROUTING_RUNTIME_REPORT_SCHEMA) errors.push(`reportSchema must be ${RMT_EVENT_ROUTING_RUNTIME_REPORT_SCHEMA}`);
|
|
137
|
+
if (!plan || plan.fixtureSchema !== RMT_EVENT_ROUTING_RUNTIME_FIXTURE_SCHEMA) errors.push(`fixtureSchema must be ${RMT_EVENT_ROUTING_RUNTIME_FIXTURE_SCHEMA}`);
|
|
138
|
+
if (!plan || plan.actionEffectRuntimeSchema !== RMT_ACTION_EFFECT_RUNTIME_SCHEMA) errors.push('WP-E18-09 must build on WP-E18-08 action effect runtime');
|
|
139
|
+
if (!plan || plan.actionEffectRuntimeWorkpackage !== RMT_ACTION_EFFECT_RUNTIME_WORKPACKAGE) errors.push('action effect runtime workpackage must be WP-E18-08');
|
|
140
|
+
if (!plan || plan.workpackage !== RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE) errors.push(`workpackage must be ${RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE}`);
|
|
141
|
+
if (!plan || plan.status !== RMT_EVENT_ROUTING_RUNTIME_STATUS) errors.push(`status must be ${RMT_EVENT_ROUTING_RUNTIME_STATUS}`);
|
|
142
|
+
if (!plan || plan.targetReadiness !== RMT_EVENT_ROUTING_RUNTIME_TARGET) errors.push(`targetReadiness must be ${RMT_EVENT_ROUTING_RUNTIME_TARGET}`);
|
|
143
|
+
REQUIRED_EVENT_CAPABILITIES.forEach((capability) => {
|
|
144
|
+
if (!plan || !plan.eventCapabilities.includes(capability)) errors.push(`event capability missing: ${capability}`);
|
|
145
|
+
});
|
|
146
|
+
REQUIRED_EVENT_KINDS.forEach((kind) => {
|
|
147
|
+
if (!plan || !plan.eventKinds.includes(kind)) errors.push(`event kind missing: ${kind}`);
|
|
148
|
+
});
|
|
149
|
+
REQUIRED_GOVERNANCE_POLICIES.forEach((policy) => {
|
|
150
|
+
if (!plan || !plan.governancePolicies.includes(policy)) errors.push(`governance policy missing: ${policy}`);
|
|
151
|
+
});
|
|
152
|
+
REQUIRED_BOUNDARIES.forEach((boundary) => {
|
|
153
|
+
if (!plan || !plan.boundaries.includes(boundary)) errors.push(`boundary missing: ${boundary}`);
|
|
154
|
+
});
|
|
155
|
+
REQUIRED_ARTIFACTS.forEach((artifact) => {
|
|
156
|
+
if (!plan || !plan.artifactPaths.includes(artifact)) errors.push(`artifact missing: ${artifact}`);
|
|
157
|
+
});
|
|
158
|
+
REQUIRED_DOCS.forEach((doc) => {
|
|
159
|
+
if (!plan || !plan.requiredDocs.includes(doc)) errors.push(`doc missing: ${doc}`);
|
|
160
|
+
});
|
|
161
|
+
if (model.eventToActionUsesInjectedRuntime !== true) errors.push('event routing must use injected action runtime');
|
|
162
|
+
if (model.payloadContractsRequired !== true) errors.push('payload contracts must be required');
|
|
163
|
+
if (model.ownerScopedListenerCleanup !== true) errors.push('listener cleanup must be owner-scoped');
|
|
164
|
+
if (model.retargetingDeclarative !== true) errors.push('retargeting must be declarative');
|
|
165
|
+
if (model.closestDelegationRequired !== false) errors.push('closest delegation must not be required');
|
|
166
|
+
if (model.productEventFrameworkAllowed !== false) errors.push('product event frameworks must stay disallowed');
|
|
167
|
+
if (model.productEventTaxonomyAllowed !== false) errors.push('product event taxonomy must stay disallowed');
|
|
168
|
+
if (model.diagnosticsExposeSourceComponentPayloadAction !== true) errors.push('diagnostics must expose event source, component, payload and action');
|
|
169
|
+
if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
|
|
170
|
+
if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
|
|
171
|
+
if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
|
|
172
|
+
|
|
173
|
+
return {
|
|
174
|
+
schema: RMT_EVENT_ROUTING_RUNTIME_REPORT_SCHEMA,
|
|
175
|
+
ok: errors.length === 0,
|
|
176
|
+
errors,
|
|
177
|
+
workpackage: RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE,
|
|
178
|
+
checkedAt: 'static-local'
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function createRmtEventRoutingRuntimeReport(options = {}) {
|
|
183
|
+
const plan = options.plan || createRmtEventRoutingRuntimePlan(options);
|
|
184
|
+
const validation = validateRmtEventRoutingRuntimePlan(plan);
|
|
185
|
+
|
|
186
|
+
return {
|
|
187
|
+
schema: RMT_EVENT_ROUTING_RUNTIME_REPORT_SCHEMA,
|
|
188
|
+
ok: validation.ok,
|
|
189
|
+
errors: validation.errors.slice(),
|
|
190
|
+
workpackage: plan.workpackage,
|
|
191
|
+
status: plan.status,
|
|
192
|
+
targetReadiness: plan.targetReadiness,
|
|
193
|
+
eventCapabilityCount: plan.eventCapabilities.length,
|
|
194
|
+
eventKindCount: plan.eventKinds.length,
|
|
195
|
+
governancePolicyCount: plan.governancePolicies.length,
|
|
196
|
+
boundaryCount: plan.boundaries.length,
|
|
197
|
+
closestDelegationRequired: plan.model.closestDelegationRequired,
|
|
198
|
+
diagnosticsExposeSourceComponentPayloadAction: plan.model.diagnosticsExposeSourceComponentPayloadAction,
|
|
199
|
+
nextWorkpackage: plan.nextWorkpackage,
|
|
200
|
+
nextDecision: plan.nextDecision,
|
|
201
|
+
kernelBoundary: plan.kernelBoundary
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
module.exports = {
|
|
206
|
+
NEXT_DECISION,
|
|
207
|
+
NEXT_WORKPACKAGE,
|
|
208
|
+
REQUIRED_ARTIFACTS,
|
|
209
|
+
REQUIRED_BOUNDARIES,
|
|
210
|
+
REQUIRED_DOCS,
|
|
211
|
+
REQUIRED_EVENT_CAPABILITIES,
|
|
212
|
+
REQUIRED_EVENT_KINDS,
|
|
213
|
+
REQUIRED_GOVERNANCE_POLICIES,
|
|
214
|
+
RMT_EVENT_ROUTING_RUNTIME_BACKLOG,
|
|
215
|
+
RMT_EVENT_ROUTING_RUNTIME_DOCS,
|
|
216
|
+
RMT_EVENT_ROUTING_RUNTIME_EPIC,
|
|
217
|
+
RMT_EVENT_ROUTING_RUNTIME_FIXTURE,
|
|
218
|
+
RMT_EVENT_ROUTING_RUNTIME_FIXTURE_SCHEMA,
|
|
219
|
+
RMT_EVENT_ROUTING_RUNTIME_LOCAL_GATE,
|
|
220
|
+
RMT_EVENT_ROUTING_RUNTIME_MODULE,
|
|
221
|
+
RMT_EVENT_ROUTING_RUNTIME_PACKAGE_SCRIPT,
|
|
222
|
+
RMT_EVENT_ROUTING_RUNTIME_REPORT_SCHEMA,
|
|
223
|
+
RMT_EVENT_ROUTING_RUNTIME_RUNTIME,
|
|
224
|
+
RMT_EVENT_ROUTING_RUNTIME_SCHEMA,
|
|
225
|
+
RMT_EVENT_ROUTING_RUNTIME_STATUS,
|
|
226
|
+
RMT_EVENT_ROUTING_RUNTIME_SUITE,
|
|
227
|
+
RMT_EVENT_ROUTING_RUNTIME_TARGET,
|
|
228
|
+
RMT_EVENT_ROUTING_RUNTIME_TYPES,
|
|
229
|
+
RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE,
|
|
230
|
+
RMT_EVENT_ROUTING_RUNTIME_WORKPACKAGE_DOC,
|
|
231
|
+
createRmtEventRoutingRuntimePlan,
|
|
232
|
+
createRmtEventRoutingRuntimeReport,
|
|
233
|
+
validateRmtEventRoutingRuntimePlan
|
|
234
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
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_STATE_CAPABILITIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
14
|
+
export declare const REQUIRED_STATE_TYPES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
15
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_BACKLOG: string;
|
|
16
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_DOCS: string;
|
|
17
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_EPIC: string;
|
|
18
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_FIXTURE: string;
|
|
19
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_FIXTURE_SCHEMA: string;
|
|
20
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_LOCAL_GATE: string;
|
|
21
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_MODULE: string;
|
|
22
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_PACKAGE_SCRIPT: string;
|
|
23
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_REPORT_SCHEMA: string;
|
|
24
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_RUNTIME: string;
|
|
25
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_SCHEMA: string;
|
|
26
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_STATUS: string;
|
|
27
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_SUITE: string;
|
|
28
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_TARGET: string;
|
|
29
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_TYPES: string;
|
|
30
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE: string;
|
|
31
|
+
export declare const RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE_DOC: string;
|
|
32
|
+
export declare function createRmtStateSelectorRuntimePlan(options?: XtendCatalogOptions): XtendCatalogPlan;
|
|
33
|
+
export declare function createRmtStateSelectorRuntimeReport(options?: XtendCatalogOptions): XtendCatalogReport;
|
|
34
|
+
export declare function validateRmtStateSelectorRuntimePlan(plan?: unknown): XtendCatalogReport;
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
const {
|
|
2
|
+
KERNEL_BOUNDARY
|
|
3
|
+
} = require('./epic12-rc0-gate-matrix');
|
|
4
|
+
const {
|
|
5
|
+
RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA,
|
|
6
|
+
RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE
|
|
7
|
+
} = require('./epic18-rmt-component-template-primitives');
|
|
8
|
+
|
|
9
|
+
const RMT_STATE_SELECTOR_RUNTIME_SCHEMA = 'xtend.epic18.rmt-state-selector-runtime.v1';
|
|
10
|
+
const RMT_STATE_SELECTOR_RUNTIME_REPORT_SCHEMA = 'xtend.epic18.rmt-state-selector-runtime-report.v1';
|
|
11
|
+
const RMT_STATE_SELECTOR_RUNTIME_FIXTURE_SCHEMA = 'xtend.epic18.rmt-state-selector-runtime-fixture.v1';
|
|
12
|
+
const RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE = 'WP-E18-07';
|
|
13
|
+
const RMT_STATE_SELECTOR_RUNTIME_STATUS = 'accepted-typed-state-selector-xstate-bridge';
|
|
14
|
+
const RMT_STATE_SELECTOR_RUNTIME_TARGET = 'typed-state-selector-runtime-ready';
|
|
15
|
+
const RMT_STATE_SELECTOR_RUNTIME_MODULE = 'catalog/epic18-rmt-state-selector-runtime.js';
|
|
16
|
+
const RMT_STATE_SELECTOR_RUNTIME_RUNTIME = 'xtendrmt/rmt-state-selector-runtime.js';
|
|
17
|
+
const RMT_STATE_SELECTOR_RUNTIME_TYPES = 'xtendrmt/rmt-state-selector-runtime.d.ts';
|
|
18
|
+
const RMT_STATE_SELECTOR_RUNTIME_SUITE = 'tests/rmt/rmt_state_selector_runtime_suite.js';
|
|
19
|
+
const RMT_STATE_SELECTOR_RUNTIME_FIXTURE = 'tests/fixtures/rmt-state-selector-runtime.rmt';
|
|
20
|
+
const RMT_STATE_SELECTOR_RUNTIME_DOCS = 'docs/rmt-state-selector-runtime.md';
|
|
21
|
+
const RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE_DOC = 'development/WP-E18-07-Typed-State-Selectors-und-XState-Bridge-fuer-Apps-bauen.md';
|
|
22
|
+
const RMT_STATE_SELECTOR_RUNTIME_BACKLOG = 'development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md';
|
|
23
|
+
const RMT_STATE_SELECTOR_RUNTIME_EPIC = 'docs/epic18-media-manager-vendor-upstream.md';
|
|
24
|
+
const RMT_STATE_SELECTOR_RUNTIME_LOCAL_GATE = 'node scripts/run_xtend_tests.js rmt-state-selector-runtime --json';
|
|
25
|
+
const RMT_STATE_SELECTOR_RUNTIME_PACKAGE_SCRIPT = 'npm run test:rmt-state-selector-runtime';
|
|
26
|
+
const NEXT_WORKPACKAGE = 'WP-E18-08';
|
|
27
|
+
const NEXT_DECISION = 'actions-effects-datasources-resource-runtime';
|
|
28
|
+
|
|
29
|
+
const REQUIRED_STATE_CAPABILITIES = Object.freeze([
|
|
30
|
+
'typed-state-definitions',
|
|
31
|
+
'state-graph-snapshot',
|
|
32
|
+
'selector-evaluation',
|
|
33
|
+
'derived-values',
|
|
34
|
+
'reducer-command-dispatch',
|
|
35
|
+
'xstate-bridge',
|
|
36
|
+
'render-context-model',
|
|
37
|
+
'preserve-patch-planning',
|
|
38
|
+
'attribute-sync-bindings',
|
|
39
|
+
'non-structural-selection-updates'
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
const REQUIRED_STATE_TYPES = Object.freeze([
|
|
43
|
+
'collection',
|
|
44
|
+
'object',
|
|
45
|
+
'boolean',
|
|
46
|
+
'string',
|
|
47
|
+
'number',
|
|
48
|
+
'nullable'
|
|
49
|
+
]);
|
|
50
|
+
|
|
51
|
+
const REQUIRED_BOUNDARIES = Object.freeze([
|
|
52
|
+
'no-rmt-kernel-import-of-xtend-types',
|
|
53
|
+
'xstate-is-injected-host-adapter',
|
|
54
|
+
'component-native-primitives-remain-generic',
|
|
55
|
+
'selection-updates-preserve-dom',
|
|
56
|
+
'filter-updates-may-request-structural-rerender',
|
|
57
|
+
'no-media-manager-product-state-taxonomy'
|
|
58
|
+
]);
|
|
59
|
+
|
|
60
|
+
const REQUIRED_ARTIFACTS = Object.freeze([
|
|
61
|
+
RMT_STATE_SELECTOR_RUNTIME_MODULE,
|
|
62
|
+
RMT_STATE_SELECTOR_RUNTIME_SUITE,
|
|
63
|
+
RMT_STATE_SELECTOR_RUNTIME_FIXTURE,
|
|
64
|
+
RMT_STATE_SELECTOR_RUNTIME_DOCS,
|
|
65
|
+
RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE_DOC,
|
|
66
|
+
RMT_STATE_SELECTOR_RUNTIME_RUNTIME,
|
|
67
|
+
RMT_STATE_SELECTOR_RUNTIME_TYPES
|
|
68
|
+
]);
|
|
69
|
+
|
|
70
|
+
const REQUIRED_DOCS = Object.freeze([
|
|
71
|
+
RMT_STATE_SELECTOR_RUNTIME_DOCS,
|
|
72
|
+
RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE_DOC,
|
|
73
|
+
RMT_STATE_SELECTOR_RUNTIME_BACKLOG,
|
|
74
|
+
RMT_STATE_SELECTOR_RUNTIME_EPIC
|
|
75
|
+
]);
|
|
76
|
+
|
|
77
|
+
function createRmtStateSelectorRuntimePlan(options = {}) {
|
|
78
|
+
return {
|
|
79
|
+
schema: RMT_STATE_SELECTOR_RUNTIME_SCHEMA,
|
|
80
|
+
reportSchema: RMT_STATE_SELECTOR_RUNTIME_REPORT_SCHEMA,
|
|
81
|
+
fixtureSchema: RMT_STATE_SELECTOR_RUNTIME_FIXTURE_SCHEMA,
|
|
82
|
+
componentPrimitiveSchema: RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA,
|
|
83
|
+
componentPrimitiveWorkpackage: RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE,
|
|
84
|
+
workpackage: RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE,
|
|
85
|
+
status: RMT_STATE_SELECTOR_RUNTIME_STATUS,
|
|
86
|
+
generatedAt: options.generatedAt || 'static-local',
|
|
87
|
+
targetReadiness: RMT_STATE_SELECTOR_RUNTIME_TARGET,
|
|
88
|
+
module: RMT_STATE_SELECTOR_RUNTIME_MODULE,
|
|
89
|
+
runtime: RMT_STATE_SELECTOR_RUNTIME_RUNTIME,
|
|
90
|
+
types: RMT_STATE_SELECTOR_RUNTIME_TYPES,
|
|
91
|
+
suite: RMT_STATE_SELECTOR_RUNTIME_SUITE,
|
|
92
|
+
fixture: RMT_STATE_SELECTOR_RUNTIME_FIXTURE,
|
|
93
|
+
docs: RMT_STATE_SELECTOR_RUNTIME_DOCS,
|
|
94
|
+
workpackageDocument: RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE_DOC,
|
|
95
|
+
localGate: RMT_STATE_SELECTOR_RUNTIME_LOCAL_GATE,
|
|
96
|
+
packageScript: RMT_STATE_SELECTOR_RUNTIME_PACKAGE_SCRIPT,
|
|
97
|
+
stateCapabilities: REQUIRED_STATE_CAPABILITIES.slice(),
|
|
98
|
+
stateTypes: REQUIRED_STATE_TYPES.slice(),
|
|
99
|
+
boundaries: REQUIRED_BOUNDARIES.slice(),
|
|
100
|
+
artifactPaths: REQUIRED_ARTIFACTS.slice(),
|
|
101
|
+
requiredDocs: REQUIRED_DOCS.slice(),
|
|
102
|
+
model: {
|
|
103
|
+
typedStateDefinitions: true,
|
|
104
|
+
reducerCommandsRequired: true,
|
|
105
|
+
selectorsFeedRenderContext: true,
|
|
106
|
+
xstateImportedByRuntime: false,
|
|
107
|
+
xstateInjectedAsHostAdapter: true,
|
|
108
|
+
selectionUpdatesPreserveDom: true,
|
|
109
|
+
filterUpdatesMayRerenderStructure: true,
|
|
110
|
+
productStateTaxonomyAllowed: false
|
|
111
|
+
},
|
|
112
|
+
kernelBoundary: KERNEL_BOUNDARY,
|
|
113
|
+
nextWorkpackage: NEXT_WORKPACKAGE,
|
|
114
|
+
nextDecision: NEXT_DECISION
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function validateRmtStateSelectorRuntimePlan(plan = createRmtStateSelectorRuntimePlan()) {
|
|
119
|
+
const errors = [];
|
|
120
|
+
const model = plan && plan.model ? plan.model : {};
|
|
121
|
+
|
|
122
|
+
if (!plan || plan.schema !== RMT_STATE_SELECTOR_RUNTIME_SCHEMA) errors.push(`schema must be ${RMT_STATE_SELECTOR_RUNTIME_SCHEMA}`);
|
|
123
|
+
if (!plan || plan.reportSchema !== RMT_STATE_SELECTOR_RUNTIME_REPORT_SCHEMA) errors.push(`reportSchema must be ${RMT_STATE_SELECTOR_RUNTIME_REPORT_SCHEMA}`);
|
|
124
|
+
if (!plan || plan.fixtureSchema !== RMT_STATE_SELECTOR_RUNTIME_FIXTURE_SCHEMA) errors.push(`fixtureSchema must be ${RMT_STATE_SELECTOR_RUNTIME_FIXTURE_SCHEMA}`);
|
|
125
|
+
if (!plan || plan.componentPrimitiveSchema !== RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA) errors.push('WP-E18-07 must build on WP-E18-06 component primitives');
|
|
126
|
+
if (!plan || plan.componentPrimitiveWorkpackage !== RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE) errors.push('component primitive workpackage must be WP-E18-06');
|
|
127
|
+
if (!plan || plan.workpackage !== RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE) errors.push(`workpackage must be ${RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE}`);
|
|
128
|
+
if (!plan || plan.status !== RMT_STATE_SELECTOR_RUNTIME_STATUS) errors.push(`status must be ${RMT_STATE_SELECTOR_RUNTIME_STATUS}`);
|
|
129
|
+
if (!plan || plan.targetReadiness !== RMT_STATE_SELECTOR_RUNTIME_TARGET) errors.push(`targetReadiness must be ${RMT_STATE_SELECTOR_RUNTIME_TARGET}`);
|
|
130
|
+
REQUIRED_STATE_CAPABILITIES.forEach((capability) => {
|
|
131
|
+
if (!plan || !plan.stateCapabilities.includes(capability)) errors.push(`state capability missing: ${capability}`);
|
|
132
|
+
});
|
|
133
|
+
REQUIRED_STATE_TYPES.forEach((type) => {
|
|
134
|
+
if (!plan || !plan.stateTypes.includes(type)) errors.push(`state type missing: ${type}`);
|
|
135
|
+
});
|
|
136
|
+
REQUIRED_BOUNDARIES.forEach((boundary) => {
|
|
137
|
+
if (!plan || !plan.boundaries.includes(boundary)) errors.push(`boundary missing: ${boundary}`);
|
|
138
|
+
});
|
|
139
|
+
REQUIRED_ARTIFACTS.forEach((artifact) => {
|
|
140
|
+
if (!plan || !plan.artifactPaths.includes(artifact)) errors.push(`artifact missing: ${artifact}`);
|
|
141
|
+
});
|
|
142
|
+
REQUIRED_DOCS.forEach((doc) => {
|
|
143
|
+
if (!plan || !plan.requiredDocs.includes(doc)) errors.push(`doc missing: ${doc}`);
|
|
144
|
+
});
|
|
145
|
+
if (model.typedStateDefinitions !== true) errors.push('typed state definitions must be enabled');
|
|
146
|
+
if (model.reducerCommandsRequired !== true) errors.push('reducer commands must be required');
|
|
147
|
+
if (model.selectorsFeedRenderContext !== true) errors.push('selectors must feed render context');
|
|
148
|
+
if (model.xstateImportedByRuntime !== false) errors.push('xstate must not be imported by runtime');
|
|
149
|
+
if (model.xstateInjectedAsHostAdapter !== true) errors.push('xstate must be injected as host adapter');
|
|
150
|
+
if (model.selectionUpdatesPreserveDom !== true) errors.push('selection updates must preserve DOM');
|
|
151
|
+
if (model.filterUpdatesMayRerenderStructure !== true) errors.push('filter updates may request structural rerender');
|
|
152
|
+
if (model.productStateTaxonomyAllowed !== false) errors.push('product state taxonomy must stay disallowed');
|
|
153
|
+
if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
|
|
154
|
+
if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
|
|
155
|
+
if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
|
|
156
|
+
|
|
157
|
+
return {
|
|
158
|
+
schema: RMT_STATE_SELECTOR_RUNTIME_REPORT_SCHEMA,
|
|
159
|
+
ok: errors.length === 0,
|
|
160
|
+
errors,
|
|
161
|
+
workpackage: RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE,
|
|
162
|
+
checkedAt: 'static-local'
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function createRmtStateSelectorRuntimeReport(options = {}) {
|
|
167
|
+
const plan = options.plan || createRmtStateSelectorRuntimePlan(options);
|
|
168
|
+
const validation = validateRmtStateSelectorRuntimePlan(plan);
|
|
169
|
+
|
|
170
|
+
return {
|
|
171
|
+
schema: RMT_STATE_SELECTOR_RUNTIME_REPORT_SCHEMA,
|
|
172
|
+
ok: validation.ok,
|
|
173
|
+
errors: validation.errors.slice(),
|
|
174
|
+
workpackage: plan.workpackage,
|
|
175
|
+
status: plan.status,
|
|
176
|
+
targetReadiness: plan.targetReadiness,
|
|
177
|
+
stateCapabilityCount: plan.stateCapabilities.length,
|
|
178
|
+
stateTypeCount: plan.stateTypes.length,
|
|
179
|
+
boundaryCount: plan.boundaries.length,
|
|
180
|
+
xstateImportedByRuntime: plan.model.xstateImportedByRuntime,
|
|
181
|
+
selectionUpdatesPreserveDom: plan.model.selectionUpdatesPreserveDom,
|
|
182
|
+
nextWorkpackage: plan.nextWorkpackage,
|
|
183
|
+
nextDecision: plan.nextDecision,
|
|
184
|
+
kernelBoundary: plan.kernelBoundary
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
module.exports = {
|
|
189
|
+
NEXT_DECISION,
|
|
190
|
+
NEXT_WORKPACKAGE,
|
|
191
|
+
REQUIRED_ARTIFACTS,
|
|
192
|
+
REQUIRED_BOUNDARIES,
|
|
193
|
+
REQUIRED_DOCS,
|
|
194
|
+
REQUIRED_STATE_CAPABILITIES,
|
|
195
|
+
REQUIRED_STATE_TYPES,
|
|
196
|
+
RMT_STATE_SELECTOR_RUNTIME_BACKLOG,
|
|
197
|
+
RMT_STATE_SELECTOR_RUNTIME_DOCS,
|
|
198
|
+
RMT_STATE_SELECTOR_RUNTIME_EPIC,
|
|
199
|
+
RMT_STATE_SELECTOR_RUNTIME_FIXTURE,
|
|
200
|
+
RMT_STATE_SELECTOR_RUNTIME_FIXTURE_SCHEMA,
|
|
201
|
+
RMT_STATE_SELECTOR_RUNTIME_LOCAL_GATE,
|
|
202
|
+
RMT_STATE_SELECTOR_RUNTIME_MODULE,
|
|
203
|
+
RMT_STATE_SELECTOR_RUNTIME_PACKAGE_SCRIPT,
|
|
204
|
+
RMT_STATE_SELECTOR_RUNTIME_REPORT_SCHEMA,
|
|
205
|
+
RMT_STATE_SELECTOR_RUNTIME_RUNTIME,
|
|
206
|
+
RMT_STATE_SELECTOR_RUNTIME_SCHEMA,
|
|
207
|
+
RMT_STATE_SELECTOR_RUNTIME_STATUS,
|
|
208
|
+
RMT_STATE_SELECTOR_RUNTIME_SUITE,
|
|
209
|
+
RMT_STATE_SELECTOR_RUNTIME_TARGET,
|
|
210
|
+
RMT_STATE_SELECTOR_RUNTIME_TYPES,
|
|
211
|
+
RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE,
|
|
212
|
+
RMT_STATE_SELECTOR_RUNTIME_WORKPACKAGE_DOC,
|
|
213
|
+
createRmtStateSelectorRuntimePlan,
|
|
214
|
+
createRmtStateSelectorRuntimeReport,
|
|
215
|
+
validateRmtStateSelectorRuntimePlan
|
|
216
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
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_OVERLAY_KINDS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
14
|
+
export declare const REQUIRED_PORTAL_POLICIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
15
|
+
export declare const REQUIRED_SURFACE_CAPABILITIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
16
|
+
export declare const REQUIRED_SURFACE_KINDS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
17
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_BACKLOG: string;
|
|
18
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_DOCS: string;
|
|
19
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_EPIC: string;
|
|
20
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_FIXTURE: string;
|
|
21
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_FIXTURE_SCHEMA: string;
|
|
22
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_LOCAL_GATE: string;
|
|
23
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_MODULE: string;
|
|
24
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_PACKAGE_SCRIPT: string;
|
|
25
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_REPORT_SCHEMA: string;
|
|
26
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_RUNTIME: string;
|
|
27
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_SCHEMA: string;
|
|
28
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_STATUS: string;
|
|
29
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_SUITE: string;
|
|
30
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_TARGET: string;
|
|
31
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_TYPES: string;
|
|
32
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_WORKPACKAGE: string;
|
|
33
|
+
export declare const RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_WORKPACKAGE_DOC: string;
|
|
34
|
+
export declare function createRmtSurfaceResourceGraphRuntimePlan(options?: XtendCatalogOptions): XtendCatalogPlan;
|
|
35
|
+
export declare function createRmtSurfaceResourceGraphRuntimeReport(options?: XtendCatalogOptions): XtendCatalogReport;
|
|
36
|
+
export declare function validateRmtSurfaceResourceGraphRuntimePlan(plan?: unknown): XtendCatalogReport;
|