@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,231 @@
|
|
|
1
|
+
const {
|
|
2
|
+
KERNEL_BOUNDARY
|
|
3
|
+
} = require('./epic12-rc0-gate-matrix');
|
|
4
|
+
const {
|
|
5
|
+
RMT_APP_PLATFORM_FIXTURE_SCHEMA,
|
|
6
|
+
RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE
|
|
7
|
+
} = require('./epic18-rmt-app-platform-fixture');
|
|
8
|
+
|
|
9
|
+
const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SCHEMA = 'xtend.epic18.rmt-app-platform-release-handoff.v1';
|
|
10
|
+
const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_REPORT_SCHEMA = 'xtend.epic18.rmt-app-platform-release-handoff-report.v1';
|
|
11
|
+
const EPIC18_RMT_APP_PLATFORM_GATE_MATRIX_SCHEMA = 'xtend.epic18.rmt-app-platform-gate-matrix.v1';
|
|
12
|
+
const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_WORKPACKAGE = 'WP-E18-13';
|
|
13
|
+
const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_STATUS = 'accepted-docs-migration-vendor-rebuild-release-handoff';
|
|
14
|
+
const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_TARGET = 'epic18-rmt-app-platform-release-ready';
|
|
15
|
+
const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_MODULE = 'catalog/epic18-rmt-app-platform-release-handoff.js';
|
|
16
|
+
const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SUITE = 'tests/platform/epic18_rmt_app_platform_release_handoff_suite.js';
|
|
17
|
+
const EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_DOCS = 'docs/epic18-rmt-app-platform-release-handoff.md';
|
|
18
|
+
const EPIC18_RMT_APP_PLATFORM_MIGRATION_GUIDE = 'docs/rmt-app-platform-migration-guide.md';
|
|
19
|
+
const EPIC18_VENDOR_BUGFIX_DOCS = 'docs/epic18-vendor-bugfixes.md';
|
|
20
|
+
const EPIC18_RMT_APP_PLATFORM_WORKPACKAGE_DOC = 'development/WP-E18-13-Docs-Migration-Guide-Vendor-Rebuild-und-Release-Handoff.md';
|
|
21
|
+
const EPIC18_BACKLOG = 'development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md';
|
|
22
|
+
const EPIC18_DOCUMENT = 'docs/epic18-media-manager-vendor-upstream.md';
|
|
23
|
+
const EPIC18_LOCAL_GATE = 'node scripts/run_xtend_tests.js epic18-rmt-app-platform --json';
|
|
24
|
+
const EPIC18_PACKAGE_SCRIPT = 'npm run test:epic18-rmt-app-platform';
|
|
25
|
+
|
|
26
|
+
const REQUIRED_DOCS = Object.freeze([
|
|
27
|
+
EPIC18_DOCUMENT,
|
|
28
|
+
EPIC18_VENDOR_BUGFIX_DOCS,
|
|
29
|
+
'docs/rmt-app-platform-authoring.md',
|
|
30
|
+
'docs/rmt-dom-descriptor-renderer.md',
|
|
31
|
+
'docs/rmt-component-template-primitives.md',
|
|
32
|
+
'docs/rmt-state-selector-runtime.md',
|
|
33
|
+
'docs/rmt-action-effect-runtime.md',
|
|
34
|
+
'docs/rmt-event-routing-runtime.md',
|
|
35
|
+
'docs/rmt-surface-resource-graph-runtime.md',
|
|
36
|
+
'docs/rmt-app-platform-tooling.md',
|
|
37
|
+
'docs/rmt-app-platform-fixture.md',
|
|
38
|
+
EPIC18_RMT_APP_PLATFORM_MIGRATION_GUIDE,
|
|
39
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_DOCS,
|
|
40
|
+
EPIC18_RMT_APP_PLATFORM_WORKPACKAGE_DOC
|
|
41
|
+
]);
|
|
42
|
+
|
|
43
|
+
const REQUIRED_RELEASE_GATES = Object.freeze([
|
|
44
|
+
'epic18-vendor-bugfix-smokes',
|
|
45
|
+
'rmt-app-platform-authoring',
|
|
46
|
+
'rmt-dom-descriptor-renderer',
|
|
47
|
+
'rmt-component-template-primitives',
|
|
48
|
+
'rmt-state-selector-runtime',
|
|
49
|
+
'rmt-action-effect-runtime',
|
|
50
|
+
'rmt-event-routing-runtime',
|
|
51
|
+
'rmt-surface-resource-graph-runtime',
|
|
52
|
+
'rmt-app-platform-tooling',
|
|
53
|
+
'rmt-app-platform-fixture',
|
|
54
|
+
'type-exports-rmt',
|
|
55
|
+
'type-exports',
|
|
56
|
+
'epic13-package-export-lock',
|
|
57
|
+
'epic18-rmt-app-platform'
|
|
58
|
+
]);
|
|
59
|
+
|
|
60
|
+
const REQUIRED_COMMANDS = Object.freeze([
|
|
61
|
+
'node scripts/run_xtend_tests.js components surface-controller surface-manager-browser overlay-interaction-ux layout-display-media-ux epic18-vendor-bugfix-smokes browser references --json',
|
|
62
|
+
'node scripts/run_xtend_tests.js rmt-app-platform-authoring rmt-dom-descriptor-renderer rmt-component-template-primitives rmt-state-selector-runtime rmt-action-effect-runtime rmt-event-routing-runtime rmt-surface-resource-graph-runtime rmt-app-platform-tooling rmt-app-platform-fixture rmt-vnext-compiler rmt-vnext-events rmt-vnext-surfaces rmt-vnext-security rmt-first-demo-app scaffold-rmt-build --json',
|
|
63
|
+
'node scripts/run_xtend_tests.js type-exports-rmt type-exports epic13-package-export-lock --json',
|
|
64
|
+
EPIC18_LOCAL_GATE,
|
|
65
|
+
'npm run test:pr:report',
|
|
66
|
+
'npm run test:release:full:report',
|
|
67
|
+
'npm run pack:dry-run'
|
|
68
|
+
]);
|
|
69
|
+
|
|
70
|
+
const GITHUB_ACTIONS = Object.freeze({
|
|
71
|
+
workflow: '.github/workflows/xtend-default-gates.yml',
|
|
72
|
+
nodeVersion: '26.x',
|
|
73
|
+
prFastCommand: 'npm run test:pr:report',
|
|
74
|
+
prFastReport: '.xtend-test-results/xtend-pr-gate-report.json',
|
|
75
|
+
prFastArtifact: 'xtend-pr-gate-report-node-26',
|
|
76
|
+
fullReleaseCommand: 'npm run test:release:full:report',
|
|
77
|
+
fullReleaseReport: '.xtend-test-results/xtend-release-gate-report.json',
|
|
78
|
+
fullReleaseArtifact: 'xtend-release-gate-report-node-26',
|
|
79
|
+
conditionalNetworkCommand: 'npm run conditional-network:evidence',
|
|
80
|
+
conditionalNetworkExecuteEnv: 'XTEND_CONDITIONAL_NETWORK_EXECUTE=1'
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
function createEpic18RmtAppPlatformReleaseHandoffPlan(options = {}) {
|
|
84
|
+
return {
|
|
85
|
+
schema: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SCHEMA,
|
|
86
|
+
reportSchema: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_REPORT_SCHEMA,
|
|
87
|
+
gateMatrixSchema: EPIC18_RMT_APP_PLATFORM_GATE_MATRIX_SCHEMA,
|
|
88
|
+
fixtureSchema: RMT_APP_PLATFORM_FIXTURE_SCHEMA,
|
|
89
|
+
fixtureWorkpackage: RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE,
|
|
90
|
+
workpackage: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_WORKPACKAGE,
|
|
91
|
+
status: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_STATUS,
|
|
92
|
+
generatedAt: options.generatedAt || 'static-local',
|
|
93
|
+
targetReadiness: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_TARGET,
|
|
94
|
+
module: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_MODULE,
|
|
95
|
+
suite: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SUITE,
|
|
96
|
+
docs: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_DOCS,
|
|
97
|
+
migrationGuide: EPIC18_RMT_APP_PLATFORM_MIGRATION_GUIDE,
|
|
98
|
+
vendorBugfixDocs: EPIC18_VENDOR_BUGFIX_DOCS,
|
|
99
|
+
workpackageDocument: EPIC18_RMT_APP_PLATFORM_WORKPACKAGE_DOC,
|
|
100
|
+
epic: EPIC18_DOCUMENT,
|
|
101
|
+
backlog: EPIC18_BACKLOG,
|
|
102
|
+
localGate: EPIC18_LOCAL_GATE,
|
|
103
|
+
packageScript: EPIC18_PACKAGE_SCRIPT,
|
|
104
|
+
requiredDocs: REQUIRED_DOCS.slice(),
|
|
105
|
+
releaseGates: REQUIRED_RELEASE_GATES.slice(),
|
|
106
|
+
requiredCommands: REQUIRED_COMMANDS.slice(),
|
|
107
|
+
githubActions: { ...GITHUB_ACTIONS },
|
|
108
|
+
releaseEvidence: {
|
|
109
|
+
packDryRunCommand: 'npm run pack:dry-run',
|
|
110
|
+
packageExportLockGate: 'node scripts/run_xtend_tests.js epic13-package-export-lock --json',
|
|
111
|
+
packageExportLockReport: '.xtend-test-results/xtend-package-export-lock-report.json',
|
|
112
|
+
packageExportSurfaceLock: '.xtend-test-results/xtend-package-export-surface-lock.json',
|
|
113
|
+
releaseReportCommand: 'npm run release:report'
|
|
114
|
+
},
|
|
115
|
+
completion: {
|
|
116
|
+
epicStatus: 'completed',
|
|
117
|
+
completedWorkpackages: Array.from({ length: 13 }, (_, index) => `WP-E18-${String(index + 1).padStart(2, '0')}`),
|
|
118
|
+
nextWorkpackage: null,
|
|
119
|
+
publishAllowed: false,
|
|
120
|
+
publishBoundary: 'private-until-release-owner-acceptance'
|
|
121
|
+
},
|
|
122
|
+
model: {
|
|
123
|
+
componentBugfixDocsComplete: true,
|
|
124
|
+
rmtAppPlatformGuideComplete: true,
|
|
125
|
+
migrationAwayFromManualHtmlHostsComplete: true,
|
|
126
|
+
vendorRebuildReady: true,
|
|
127
|
+
packageExportLockReady: true,
|
|
128
|
+
githubActionsReady: true,
|
|
129
|
+
prFastGateIncludesEpic18: true,
|
|
130
|
+
fullReleaseRunsEpic18: true
|
|
131
|
+
},
|
|
132
|
+
kernelBoundary: KERNEL_BOUNDARY
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function validateEpic18RmtAppPlatformReleaseHandoffPlan(plan = createEpic18RmtAppPlatformReleaseHandoffPlan()) {
|
|
137
|
+
const errors = [];
|
|
138
|
+
const model = plan && plan.model ? plan.model : {};
|
|
139
|
+
const completion = plan && plan.completion ? plan.completion : {};
|
|
140
|
+
|
|
141
|
+
if (!plan || plan.schema !== EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SCHEMA) errors.push(`schema must be ${EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SCHEMA}`);
|
|
142
|
+
if (!plan || plan.reportSchema !== EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_REPORT_SCHEMA) errors.push(`reportSchema must be ${EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_REPORT_SCHEMA}`);
|
|
143
|
+
if (!plan || plan.gateMatrixSchema !== EPIC18_RMT_APP_PLATFORM_GATE_MATRIX_SCHEMA) errors.push(`gateMatrixSchema must be ${EPIC18_RMT_APP_PLATFORM_GATE_MATRIX_SCHEMA}`);
|
|
144
|
+
if (!plan || plan.fixtureSchema !== RMT_APP_PLATFORM_FIXTURE_SCHEMA) errors.push('WP-E18-13 must build on the WP-E18-12 fixture');
|
|
145
|
+
if (!plan || plan.fixtureWorkpackage !== RMT_APP_PLATFORM_FIXTURE_WORKPACKAGE) errors.push('fixture workpackage must be WP-E18-12');
|
|
146
|
+
if (!plan || plan.workpackage !== EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_WORKPACKAGE) errors.push(`workpackage must be ${EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_WORKPACKAGE}`);
|
|
147
|
+
if (!plan || plan.status !== EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_STATUS) errors.push(`status must be ${EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_STATUS}`);
|
|
148
|
+
if (!plan || plan.targetReadiness !== EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_TARGET) errors.push(`targetReadiness must be ${EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_TARGET}`);
|
|
149
|
+
REQUIRED_DOCS.forEach((docPath) => {
|
|
150
|
+
if (!plan || !plan.requiredDocs.includes(docPath)) errors.push(`required doc missing: ${docPath}`);
|
|
151
|
+
});
|
|
152
|
+
REQUIRED_RELEASE_GATES.forEach((gate) => {
|
|
153
|
+
if (!plan || !plan.releaseGates.includes(gate)) errors.push(`release gate missing: ${gate}`);
|
|
154
|
+
});
|
|
155
|
+
REQUIRED_COMMANDS.forEach((command) => {
|
|
156
|
+
if (!plan || !plan.requiredCommands.includes(command)) errors.push(`required command missing: ${command}`);
|
|
157
|
+
});
|
|
158
|
+
if (!plan || !plan.githubActions || plan.githubActions.workflow !== GITHUB_ACTIONS.workflow) errors.push('GitHub Actions workflow path must remain stable');
|
|
159
|
+
if (!plan || !plan.githubActions || plan.githubActions.prFastCommand !== GITHUB_ACTIONS.prFastCommand) errors.push('GitHub PR fast command must remain stable');
|
|
160
|
+
if (!plan || !plan.githubActions || plan.githubActions.fullReleaseCommand !== GITHUB_ACTIONS.fullReleaseCommand) errors.push('GitHub full release command must remain stable');
|
|
161
|
+
if (completion.completedWorkpackages && completion.completedWorkpackages.length !== 13) errors.push('Epic 18 completion must list all 13 workpackages');
|
|
162
|
+
if (completion.epicStatus !== 'completed') errors.push('Epic 18 completion must be completed');
|
|
163
|
+
if (completion.nextWorkpackage !== null) errors.push('Epic 18 must not expose another internal next workpackage');
|
|
164
|
+
if (completion.publishAllowed !== false) errors.push('Epic 18 handoff must not allow publish by itself');
|
|
165
|
+
if (model.componentBugfixDocsComplete !== true) errors.push('component bugfix docs must be complete');
|
|
166
|
+
if (model.rmtAppPlatformGuideComplete !== true) errors.push('RMT App Platform guide must be complete');
|
|
167
|
+
if (model.migrationAwayFromManualHtmlHostsComplete !== true) errors.push('manual HTML host migration guide must be complete');
|
|
168
|
+
if (model.vendorRebuildReady !== true) errors.push('vendor rebuild must be ready');
|
|
169
|
+
if (model.packageExportLockReady !== true) errors.push('package export lock must be ready');
|
|
170
|
+
if (model.githubActionsReady !== true) errors.push('GitHub Actions must be ready');
|
|
171
|
+
if (model.prFastGateIncludesEpic18 !== true) errors.push('PR fast gate must include Epic 18');
|
|
172
|
+
if (model.fullReleaseRunsEpic18 !== true) errors.push('full release gate must run Epic 18');
|
|
173
|
+
if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
|
|
174
|
+
|
|
175
|
+
return {
|
|
176
|
+
schema: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_REPORT_SCHEMA,
|
|
177
|
+
ok: errors.length === 0,
|
|
178
|
+
errors,
|
|
179
|
+
workpackage: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_WORKPACKAGE,
|
|
180
|
+
checkedAt: 'static-local'
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
function createEpic18RmtAppPlatformReleaseHandoffReport(options = {}) {
|
|
185
|
+
const plan = options.plan || createEpic18RmtAppPlatformReleaseHandoffPlan(options);
|
|
186
|
+
const validation = validateEpic18RmtAppPlatformReleaseHandoffPlan(plan);
|
|
187
|
+
|
|
188
|
+
return {
|
|
189
|
+
schema: EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_REPORT_SCHEMA,
|
|
190
|
+
ok: validation.ok,
|
|
191
|
+
errors: validation.errors.slice(),
|
|
192
|
+
workpackage: plan.workpackage,
|
|
193
|
+
status: plan.status,
|
|
194
|
+
targetReadiness: plan.targetReadiness,
|
|
195
|
+
docsCount: plan.requiredDocs.length,
|
|
196
|
+
releaseGateCount: plan.releaseGates.length,
|
|
197
|
+
requiredCommandCount: plan.requiredCommands.length,
|
|
198
|
+
completedWorkpackageCount: plan.completion.completedWorkpackages.length,
|
|
199
|
+
githubWorkflow: plan.githubActions.workflow,
|
|
200
|
+
prFastCommand: plan.githubActions.prFastCommand,
|
|
201
|
+
fullReleaseCommand: plan.githubActions.fullReleaseCommand,
|
|
202
|
+
packageDryRunCommand: plan.releaseEvidence.packDryRunCommand,
|
|
203
|
+
kernelBoundary: plan.kernelBoundary
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
module.exports = {
|
|
208
|
+
EPIC18_BACKLOG,
|
|
209
|
+
EPIC18_DOCUMENT,
|
|
210
|
+
EPIC18_LOCAL_GATE,
|
|
211
|
+
EPIC18_PACKAGE_SCRIPT,
|
|
212
|
+
EPIC18_RMT_APP_PLATFORM_GATE_MATRIX_SCHEMA,
|
|
213
|
+
EPIC18_RMT_APP_PLATFORM_MIGRATION_GUIDE,
|
|
214
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_DOCS,
|
|
215
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_MODULE,
|
|
216
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_REPORT_SCHEMA,
|
|
217
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SCHEMA,
|
|
218
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_STATUS,
|
|
219
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_SUITE,
|
|
220
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_TARGET,
|
|
221
|
+
EPIC18_RMT_APP_PLATFORM_RELEASE_HANDOFF_WORKPACKAGE,
|
|
222
|
+
EPIC18_RMT_APP_PLATFORM_WORKPACKAGE_DOC,
|
|
223
|
+
EPIC18_VENDOR_BUGFIX_DOCS,
|
|
224
|
+
GITHUB_ACTIONS,
|
|
225
|
+
REQUIRED_COMMANDS,
|
|
226
|
+
REQUIRED_DOCS,
|
|
227
|
+
REQUIRED_RELEASE_GATES,
|
|
228
|
+
createEpic18RmtAppPlatformReleaseHandoffPlan,
|
|
229
|
+
createEpic18RmtAppPlatformReleaseHandoffReport,
|
|
230
|
+
validateEpic18RmtAppPlatformReleaseHandoffPlan
|
|
231
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
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_COMPLETION_CONTEXTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
13
|
+
export declare const REQUIRED_DIAGNOSTIC_CODES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
14
|
+
export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
15
|
+
export declare const REQUIRED_TOOLING_CAPABILITIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
16
|
+
export declare const RMT_APP_PLATFORM_SCAFFOLD_SCHEMA: string;
|
|
17
|
+
export declare const RMT_APP_PLATFORM_SOURCE_MAP_SCHEMA: string;
|
|
18
|
+
export declare const RMT_APP_PLATFORM_TOOLING_BACKLOG: string;
|
|
19
|
+
export declare const RMT_APP_PLATFORM_TOOLING_DOCS: string;
|
|
20
|
+
export declare const RMT_APP_PLATFORM_TOOLING_EPIC: string;
|
|
21
|
+
export declare const RMT_APP_PLATFORM_TOOLING_FIXTURE: string;
|
|
22
|
+
export declare const RMT_APP_PLATFORM_TOOLING_FIXTURE_SCHEMA: string;
|
|
23
|
+
export declare const RMT_APP_PLATFORM_TOOLING_GENERATOR: string;
|
|
24
|
+
export declare const RMT_APP_PLATFORM_TOOLING_LOCAL_GATE: string;
|
|
25
|
+
export declare const RMT_APP_PLATFORM_TOOLING_MODULE: string;
|
|
26
|
+
export declare const RMT_APP_PLATFORM_TOOLING_PACKAGE_SCRIPT: string;
|
|
27
|
+
export declare const RMT_APP_PLATFORM_TOOLING_REPORT_SCHEMA: string;
|
|
28
|
+
export declare const RMT_APP_PLATFORM_TOOLING_RUNTIME: string;
|
|
29
|
+
export declare const RMT_APP_PLATFORM_TOOLING_SCHEMA: string;
|
|
30
|
+
export declare const RMT_APP_PLATFORM_TOOLING_STATUS: string;
|
|
31
|
+
export declare const RMT_APP_PLATFORM_TOOLING_SUITE: string;
|
|
32
|
+
export declare const RMT_APP_PLATFORM_TOOLING_TARGET: string;
|
|
33
|
+
export declare const RMT_APP_PLATFORM_TOOLING_TYPES: string;
|
|
34
|
+
export declare const RMT_APP_PLATFORM_TOOLING_WORKPACKAGE: string;
|
|
35
|
+
export declare const RMT_APP_PLATFORM_TOOLING_WORKPACKAGE_DOC: string;
|
|
36
|
+
export declare function createRmtAppPlatformToolingPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
|
|
37
|
+
export declare function createRmtAppPlatformToolingReport(options?: XtendCatalogOptions): XtendCatalogReport;
|
|
38
|
+
export declare function validateRmtAppPlatformToolingPlan(plan?: unknown): XtendCatalogReport;
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
const {
|
|
2
|
+
KERNEL_BOUNDARY
|
|
3
|
+
} = require('./epic12-rc0-gate-matrix');
|
|
4
|
+
const {
|
|
5
|
+
RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_SCHEMA,
|
|
6
|
+
RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_WORKPACKAGE
|
|
7
|
+
} = require('./epic18-rmt-surface-resource-graph-runtime');
|
|
8
|
+
|
|
9
|
+
const RMT_APP_PLATFORM_TOOLING_SCHEMA = 'xtend.epic18.rmt-app-platform-tooling.v1';
|
|
10
|
+
const RMT_APP_PLATFORM_TOOLING_REPORT_SCHEMA = 'xtend.epic18.rmt-app-platform-tooling-report.v1';
|
|
11
|
+
const RMT_APP_PLATFORM_TOOLING_FIXTURE_SCHEMA = 'xtend.epic18.rmt-app-platform-tooling-fixture.v1';
|
|
12
|
+
const RMT_APP_PLATFORM_SCAFFOLD_SCHEMA = 'xtend.epic18.rmt-app-platform-scaffold.v1';
|
|
13
|
+
const RMT_APP_PLATFORM_SOURCE_MAP_SCHEMA = 'xtend.epic18.rmt-app-platform-source-map.v1';
|
|
14
|
+
const RMT_APP_PLATFORM_TOOLING_WORKPACKAGE = 'WP-E18-11';
|
|
15
|
+
const RMT_APP_PLATFORM_TOOLING_STATUS = 'accepted-rmt-app-platform-scaffold-linter-lsp-diagnostics';
|
|
16
|
+
const RMT_APP_PLATFORM_TOOLING_TARGET = 'rmt-app-platform-authoring-tooling-ready';
|
|
17
|
+
const RMT_APP_PLATFORM_TOOLING_MODULE = 'catalog/epic18-rmt-app-platform-tooling.js';
|
|
18
|
+
const RMT_APP_PLATFORM_TOOLING_RUNTIME = 'tools/rmt-language/app-platform-tooling.js';
|
|
19
|
+
const RMT_APP_PLATFORM_TOOLING_TYPES = 'tools/rmt-language/app-platform-tooling.d.ts';
|
|
20
|
+
const RMT_APP_PLATFORM_TOOLING_GENERATOR = 'xtend-builder/generators/rmt-app-platform.js';
|
|
21
|
+
const RMT_APP_PLATFORM_TOOLING_SUITE = 'tests/rmt-language/rmt_app_platform_tooling_suite.js';
|
|
22
|
+
const RMT_APP_PLATFORM_TOOLING_FIXTURE = 'tests/fixtures/rmt-app-platform-tooling.rmt';
|
|
23
|
+
const RMT_APP_PLATFORM_TOOLING_DOCS = 'docs/rmt-app-platform-tooling.md';
|
|
24
|
+
const RMT_APP_PLATFORM_TOOLING_WORKPACKAGE_DOC = 'development/WP-E18-11-Scaffold-Linter-LSP-und-Diagnostics-fuer-RMT-Apps-erweitern.md';
|
|
25
|
+
const RMT_APP_PLATFORM_TOOLING_BACKLOG = 'development/BACKLOG-EPIC-18-XTendRMT-App-Platform-und-Media-Manager-Vendor-Upstream.md';
|
|
26
|
+
const RMT_APP_PLATFORM_TOOLING_EPIC = 'docs/epic18-media-manager-vendor-upstream.md';
|
|
27
|
+
const RMT_APP_PLATFORM_TOOLING_LOCAL_GATE = 'node scripts/run_xtend_tests.js rmt-app-platform-tooling --json';
|
|
28
|
+
const RMT_APP_PLATFORM_TOOLING_PACKAGE_SCRIPT = 'npm run test:rmt-app-platform-tooling';
|
|
29
|
+
const NEXT_WORKPACKAGE = 'WP-E18-12';
|
|
30
|
+
const NEXT_DECISION = 'generic-rmt-app-platform-fixture';
|
|
31
|
+
|
|
32
|
+
const REQUIRED_TOOLING_CAPABILITIES = Object.freeze([
|
|
33
|
+
'scaffold-pipeline-for-rmt-app-sources',
|
|
34
|
+
'no-manual-shell-html-sink-diagnostics',
|
|
35
|
+
'unsafe-html-boundary-diagnostics',
|
|
36
|
+
'unkeyed-repeat-diagnostics',
|
|
37
|
+
'untyped-event-diagnostics',
|
|
38
|
+
'resource-ownership-diagnostics',
|
|
39
|
+
'portal-resource-reference-diagnostics',
|
|
40
|
+
'app-platform-completions',
|
|
41
|
+
'app-platform-hover',
|
|
42
|
+
'source-map-build-report'
|
|
43
|
+
]);
|
|
44
|
+
|
|
45
|
+
const REQUIRED_DIAGNOSTIC_CODES = Object.freeze([
|
|
46
|
+
'rmt.app.no-manual-shell.html-sink',
|
|
47
|
+
'rmt.app.unsafe-html.boundary-missing',
|
|
48
|
+
'rmt.app.repeat.key.missing',
|
|
49
|
+
'rmt.app.event.payload-contract.missing',
|
|
50
|
+
'rmt.app.resource.ownership.missing',
|
|
51
|
+
'rmt.app.resource.unresolved',
|
|
52
|
+
'rmt.app.portal.unresolved',
|
|
53
|
+
'rmt.app.surface.source.unresolved'
|
|
54
|
+
]);
|
|
55
|
+
|
|
56
|
+
const REQUIRED_COMPLETION_CONTEXTS = Object.freeze([
|
|
57
|
+
'portal-ids',
|
|
58
|
+
'portal-policies',
|
|
59
|
+
'overlay-kinds',
|
|
60
|
+
'resource-kinds',
|
|
61
|
+
'resource-ids',
|
|
62
|
+
'event-kinds',
|
|
63
|
+
'surface-states'
|
|
64
|
+
]);
|
|
65
|
+
|
|
66
|
+
const REQUIRED_BOUNDARIES = Object.freeze([
|
|
67
|
+
'no-rmt-kernel-import-of-xtend-types',
|
|
68
|
+
'diagnostics-before-runtime',
|
|
69
|
+
'scaffold-output-owned-by-write-plan',
|
|
70
|
+
'no-product-bound-surface-list',
|
|
71
|
+
'normal-ui-no-html-string-renderer',
|
|
72
|
+
'lsp-surface-is-tooling-only'
|
|
73
|
+
]);
|
|
74
|
+
|
|
75
|
+
const REQUIRED_ARTIFACTS = Object.freeze([
|
|
76
|
+
RMT_APP_PLATFORM_TOOLING_MODULE,
|
|
77
|
+
RMT_APP_PLATFORM_TOOLING_RUNTIME,
|
|
78
|
+
RMT_APP_PLATFORM_TOOLING_TYPES,
|
|
79
|
+
RMT_APP_PLATFORM_TOOLING_GENERATOR,
|
|
80
|
+
RMT_APP_PLATFORM_TOOLING_SUITE,
|
|
81
|
+
RMT_APP_PLATFORM_TOOLING_FIXTURE,
|
|
82
|
+
RMT_APP_PLATFORM_TOOLING_DOCS,
|
|
83
|
+
RMT_APP_PLATFORM_TOOLING_WORKPACKAGE_DOC
|
|
84
|
+
]);
|
|
85
|
+
|
|
86
|
+
const REQUIRED_DOCS = Object.freeze([
|
|
87
|
+
RMT_APP_PLATFORM_TOOLING_DOCS,
|
|
88
|
+
RMT_APP_PLATFORM_TOOLING_WORKPACKAGE_DOC,
|
|
89
|
+
RMT_APP_PLATFORM_TOOLING_BACKLOG,
|
|
90
|
+
RMT_APP_PLATFORM_TOOLING_EPIC
|
|
91
|
+
]);
|
|
92
|
+
|
|
93
|
+
function createRmtAppPlatformToolingPlan(options = {}) {
|
|
94
|
+
return {
|
|
95
|
+
schema: RMT_APP_PLATFORM_TOOLING_SCHEMA,
|
|
96
|
+
reportSchema: RMT_APP_PLATFORM_TOOLING_REPORT_SCHEMA,
|
|
97
|
+
fixtureSchema: RMT_APP_PLATFORM_TOOLING_FIXTURE_SCHEMA,
|
|
98
|
+
scaffoldSchema: RMT_APP_PLATFORM_SCAFFOLD_SCHEMA,
|
|
99
|
+
sourceMapSchema: RMT_APP_PLATFORM_SOURCE_MAP_SCHEMA,
|
|
100
|
+
surfaceResourceGraphRuntimeSchema: RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_SCHEMA,
|
|
101
|
+
surfaceResourceGraphRuntimeWorkpackage: RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_WORKPACKAGE,
|
|
102
|
+
workpackage: RMT_APP_PLATFORM_TOOLING_WORKPACKAGE,
|
|
103
|
+
status: RMT_APP_PLATFORM_TOOLING_STATUS,
|
|
104
|
+
generatedAt: options.generatedAt || 'static-local',
|
|
105
|
+
targetReadiness: RMT_APP_PLATFORM_TOOLING_TARGET,
|
|
106
|
+
module: RMT_APP_PLATFORM_TOOLING_MODULE,
|
|
107
|
+
runtime: RMT_APP_PLATFORM_TOOLING_RUNTIME,
|
|
108
|
+
types: RMT_APP_PLATFORM_TOOLING_TYPES,
|
|
109
|
+
generator: RMT_APP_PLATFORM_TOOLING_GENERATOR,
|
|
110
|
+
suite: RMT_APP_PLATFORM_TOOLING_SUITE,
|
|
111
|
+
fixture: RMT_APP_PLATFORM_TOOLING_FIXTURE,
|
|
112
|
+
docs: RMT_APP_PLATFORM_TOOLING_DOCS,
|
|
113
|
+
workpackageDocument: RMT_APP_PLATFORM_TOOLING_WORKPACKAGE_DOC,
|
|
114
|
+
localGate: RMT_APP_PLATFORM_TOOLING_LOCAL_GATE,
|
|
115
|
+
packageScript: RMT_APP_PLATFORM_TOOLING_PACKAGE_SCRIPT,
|
|
116
|
+
capabilities: REQUIRED_TOOLING_CAPABILITIES.slice(),
|
|
117
|
+
diagnosticCodes: REQUIRED_DIAGNOSTIC_CODES.slice(),
|
|
118
|
+
completionContexts: REQUIRED_COMPLETION_CONTEXTS.slice(),
|
|
119
|
+
boundaries: REQUIRED_BOUNDARIES.slice(),
|
|
120
|
+
artifactPaths: REQUIRED_ARTIFACTS.slice(),
|
|
121
|
+
requiredDocs: REQUIRED_DOCS.slice(),
|
|
122
|
+
model: {
|
|
123
|
+
scaffoldBuildsDiagnosticsAndSourceMaps: true,
|
|
124
|
+
linterBlocksUnsafeAppShells: true,
|
|
125
|
+
lspExposesAppPlatformPrimitives: true,
|
|
126
|
+
sourceMapLinksSurfaceOverlayResourceEvents: true,
|
|
127
|
+
productSurfaceTaxonomyAllowed: false,
|
|
128
|
+
productRegistryRepaintRequired: false,
|
|
129
|
+
htmlStringRendererRequired: false
|
|
130
|
+
},
|
|
131
|
+
kernelBoundary: KERNEL_BOUNDARY,
|
|
132
|
+
nextWorkpackage: NEXT_WORKPACKAGE,
|
|
133
|
+
nextDecision: NEXT_DECISION
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function validateRmtAppPlatformToolingPlan(plan = createRmtAppPlatformToolingPlan()) {
|
|
138
|
+
const errors = [];
|
|
139
|
+
const model = plan && plan.model ? plan.model : {};
|
|
140
|
+
|
|
141
|
+
if (!plan || plan.schema !== RMT_APP_PLATFORM_TOOLING_SCHEMA) errors.push(`schema must be ${RMT_APP_PLATFORM_TOOLING_SCHEMA}`);
|
|
142
|
+
if (!plan || plan.reportSchema !== RMT_APP_PLATFORM_TOOLING_REPORT_SCHEMA) errors.push(`reportSchema must be ${RMT_APP_PLATFORM_TOOLING_REPORT_SCHEMA}`);
|
|
143
|
+
if (!plan || plan.fixtureSchema !== RMT_APP_PLATFORM_TOOLING_FIXTURE_SCHEMA) errors.push(`fixtureSchema must be ${RMT_APP_PLATFORM_TOOLING_FIXTURE_SCHEMA}`);
|
|
144
|
+
if (!plan || plan.scaffoldSchema !== RMT_APP_PLATFORM_SCAFFOLD_SCHEMA) errors.push(`scaffoldSchema must be ${RMT_APP_PLATFORM_SCAFFOLD_SCHEMA}`);
|
|
145
|
+
if (!plan || plan.sourceMapSchema !== RMT_APP_PLATFORM_SOURCE_MAP_SCHEMA) errors.push(`sourceMapSchema must be ${RMT_APP_PLATFORM_SOURCE_MAP_SCHEMA}`);
|
|
146
|
+
if (!plan || plan.surfaceResourceGraphRuntimeSchema !== RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_SCHEMA) errors.push('WP-E18-11 must build on WP-E18-10');
|
|
147
|
+
if (!plan || plan.surfaceResourceGraphRuntimeWorkpackage !== RMT_SURFACE_RESOURCE_GRAPH_RUNTIME_WORKPACKAGE) errors.push('surface graph runtime workpackage must be WP-E18-10');
|
|
148
|
+
if (!plan || plan.workpackage !== RMT_APP_PLATFORM_TOOLING_WORKPACKAGE) errors.push(`workpackage must be ${RMT_APP_PLATFORM_TOOLING_WORKPACKAGE}`);
|
|
149
|
+
if (!plan || plan.status !== RMT_APP_PLATFORM_TOOLING_STATUS) errors.push(`status must be ${RMT_APP_PLATFORM_TOOLING_STATUS}`);
|
|
150
|
+
if (!plan || plan.targetReadiness !== RMT_APP_PLATFORM_TOOLING_TARGET) errors.push(`targetReadiness must be ${RMT_APP_PLATFORM_TOOLING_TARGET}`);
|
|
151
|
+
REQUIRED_TOOLING_CAPABILITIES.forEach((capability) => {
|
|
152
|
+
if (!plan || !plan.capabilities.includes(capability)) errors.push(`capability missing: ${capability}`);
|
|
153
|
+
});
|
|
154
|
+
REQUIRED_DIAGNOSTIC_CODES.forEach((code) => {
|
|
155
|
+
if (!plan || !plan.diagnosticCodes.includes(code)) errors.push(`diagnostic code missing: ${code}`);
|
|
156
|
+
});
|
|
157
|
+
REQUIRED_COMPLETION_CONTEXTS.forEach((context) => {
|
|
158
|
+
if (!plan || !plan.completionContexts.includes(context)) errors.push(`completion context missing: ${context}`);
|
|
159
|
+
});
|
|
160
|
+
REQUIRED_BOUNDARIES.forEach((boundary) => {
|
|
161
|
+
if (!plan || !plan.boundaries.includes(boundary)) errors.push(`boundary missing: ${boundary}`);
|
|
162
|
+
});
|
|
163
|
+
REQUIRED_ARTIFACTS.forEach((artifact) => {
|
|
164
|
+
if (!plan || !plan.artifactPaths.includes(artifact)) errors.push(`artifact missing: ${artifact}`);
|
|
165
|
+
});
|
|
166
|
+
REQUIRED_DOCS.forEach((doc) => {
|
|
167
|
+
if (!plan || !plan.requiredDocs.includes(doc)) errors.push(`doc missing: ${doc}`);
|
|
168
|
+
});
|
|
169
|
+
if (model.scaffoldBuildsDiagnosticsAndSourceMaps !== true) errors.push('scaffold must build diagnostics and source maps');
|
|
170
|
+
if (model.linterBlocksUnsafeAppShells !== true) errors.push('linter must block unsafe app shells');
|
|
171
|
+
if (model.lspExposesAppPlatformPrimitives !== true) errors.push('LSP must expose App Platform primitives');
|
|
172
|
+
if (model.sourceMapLinksSurfaceOverlayResourceEvents !== true) errors.push('source map must link surface, overlay, resource and event records');
|
|
173
|
+
if (model.productSurfaceTaxonomyAllowed !== false) errors.push('product surface taxonomy must stay disallowed');
|
|
174
|
+
if (model.productRegistryRepaintRequired !== false) errors.push('product registry repaint must not be required');
|
|
175
|
+
if (model.htmlStringRendererRequired !== false) errors.push('html string renderer must not be required');
|
|
176
|
+
if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
|
|
177
|
+
if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
|
|
178
|
+
if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
|
|
179
|
+
|
|
180
|
+
return {
|
|
181
|
+
schema: RMT_APP_PLATFORM_TOOLING_REPORT_SCHEMA,
|
|
182
|
+
ok: errors.length === 0,
|
|
183
|
+
errors,
|
|
184
|
+
workpackage: RMT_APP_PLATFORM_TOOLING_WORKPACKAGE,
|
|
185
|
+
checkedAt: 'static-local'
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
function createRmtAppPlatformToolingReport(options = {}) {
|
|
190
|
+
const plan = options.plan || createRmtAppPlatformToolingPlan(options);
|
|
191
|
+
const validation = validateRmtAppPlatformToolingPlan(plan);
|
|
192
|
+
|
|
193
|
+
return {
|
|
194
|
+
schema: RMT_APP_PLATFORM_TOOLING_REPORT_SCHEMA,
|
|
195
|
+
ok: validation.ok,
|
|
196
|
+
errors: validation.errors.slice(),
|
|
197
|
+
workpackage: plan.workpackage,
|
|
198
|
+
status: plan.status,
|
|
199
|
+
targetReadiness: plan.targetReadiness,
|
|
200
|
+
capabilityCount: plan.capabilities.length,
|
|
201
|
+
diagnosticCodeCount: plan.diagnosticCodes.length,
|
|
202
|
+
completionContextCount: plan.completionContexts.length,
|
|
203
|
+
boundaryCount: plan.boundaries.length,
|
|
204
|
+
nextWorkpackage: plan.nextWorkpackage,
|
|
205
|
+
nextDecision: plan.nextDecision,
|
|
206
|
+
kernelBoundary: plan.kernelBoundary
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
module.exports = {
|
|
211
|
+
NEXT_DECISION,
|
|
212
|
+
NEXT_WORKPACKAGE,
|
|
213
|
+
REQUIRED_ARTIFACTS,
|
|
214
|
+
REQUIRED_BOUNDARIES,
|
|
215
|
+
REQUIRED_COMPLETION_CONTEXTS,
|
|
216
|
+
REQUIRED_DIAGNOSTIC_CODES,
|
|
217
|
+
REQUIRED_DOCS,
|
|
218
|
+
REQUIRED_TOOLING_CAPABILITIES,
|
|
219
|
+
RMT_APP_PLATFORM_SCAFFOLD_SCHEMA,
|
|
220
|
+
RMT_APP_PLATFORM_SOURCE_MAP_SCHEMA,
|
|
221
|
+
RMT_APP_PLATFORM_TOOLING_BACKLOG,
|
|
222
|
+
RMT_APP_PLATFORM_TOOLING_DOCS,
|
|
223
|
+
RMT_APP_PLATFORM_TOOLING_EPIC,
|
|
224
|
+
RMT_APP_PLATFORM_TOOLING_FIXTURE,
|
|
225
|
+
RMT_APP_PLATFORM_TOOLING_FIXTURE_SCHEMA,
|
|
226
|
+
RMT_APP_PLATFORM_TOOLING_GENERATOR,
|
|
227
|
+
RMT_APP_PLATFORM_TOOLING_LOCAL_GATE,
|
|
228
|
+
RMT_APP_PLATFORM_TOOLING_MODULE,
|
|
229
|
+
RMT_APP_PLATFORM_TOOLING_PACKAGE_SCRIPT,
|
|
230
|
+
RMT_APP_PLATFORM_TOOLING_REPORT_SCHEMA,
|
|
231
|
+
RMT_APP_PLATFORM_TOOLING_RUNTIME,
|
|
232
|
+
RMT_APP_PLATFORM_TOOLING_SCHEMA,
|
|
233
|
+
RMT_APP_PLATFORM_TOOLING_STATUS,
|
|
234
|
+
RMT_APP_PLATFORM_TOOLING_SUITE,
|
|
235
|
+
RMT_APP_PLATFORM_TOOLING_TARGET,
|
|
236
|
+
RMT_APP_PLATFORM_TOOLING_TYPES,
|
|
237
|
+
RMT_APP_PLATFORM_TOOLING_WORKPACKAGE,
|
|
238
|
+
RMT_APP_PLATFORM_TOOLING_WORKPACKAGE_DOC,
|
|
239
|
+
createRmtAppPlatformToolingPlan,
|
|
240
|
+
createRmtAppPlatformToolingReport,
|
|
241
|
+
validateRmtAppPlatformToolingPlan
|
|
242
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
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_COMPONENT_FAMILIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
13
|
+
export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
14
|
+
export declare const REQUIRED_RENDERER_CAPABILITIES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
15
|
+
export declare const REQUIRED_TEMPLATE_PRIMITIVES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
16
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_DOCS: string;
|
|
17
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE: string;
|
|
18
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_FIXTURE_SCHEMA: string;
|
|
19
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_LOCAL_GATE: string;
|
|
20
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_MODULE: string;
|
|
21
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_PACKAGE_SCRIPT: string;
|
|
22
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_REPORT_SCHEMA: string;
|
|
23
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_RUNTIME: string;
|
|
24
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_SCHEMA: string;
|
|
25
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_STATUS: string;
|
|
26
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_SUITE: string;
|
|
27
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_TARGET: string;
|
|
28
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_TYPES: string;
|
|
29
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE: string;
|
|
30
|
+
export declare const RMT_COMPONENT_TEMPLATE_PRIMITIVES_WORKPACKAGE_DOC: string;
|
|
31
|
+
export declare function createRmtComponentTemplatePrimitivesPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
|
|
32
|
+
export declare function createRmtComponentTemplatePrimitivesReport(options?: XtendCatalogOptions): XtendCatalogReport;
|
|
33
|
+
export declare function validateRmtComponentTemplatePrimitivesPlan(plan?: unknown): XtendCatalogReport;
|