@ccslabs/xtend 0.1.0-rc.1
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 +65 -0
- package/LICENSE +201 -0
- package/README.md +184 -0
- package/a11y/motion-contrast-policy.d.ts +32 -0
- package/a11y/motion-contrast-policy.js +261 -0
- package/a11y/runtime-a11y-contract.d.ts +44 -0
- package/a11y/runtime-a11y-contract.js +385 -0
- package/a11y/screenreader-signals.d.ts +32 -0
- package/a11y/screenreader-signals.js +372 -0
- package/api.d.ts +168 -0
- package/api.js +864 -0
- package/catalog/catalog-public-types.d.ts +66 -0
- package/catalog/component-catalog-coverage.d.ts +20 -0
- package/catalog/component-catalog-coverage.js +377 -0
- package/catalog/component-long-tail-migration.d.ts +18 -0
- package/catalog/component-long-tail-migration.js +305 -0
- package/catalog/component-regression-priority.d.ts +20 -0
- package/catalog/component-regression-priority.js +305 -0
- package/catalog/enterprise-component-flex-release-handoff.d.ts +32 -0
- package/catalog/enterprise-component-flex-release-handoff.js +437 -0
- package/catalog/enterprise-component-style-audit.d.ts +22 -0
- package/catalog/enterprise-component-style-audit.js +353 -0
- package/catalog/enterprise-form-control-theme-a11y.d.ts +19 -0
- package/catalog/enterprise-form-control-theme-a11y.js +220 -0
- package/catalog/enterprise-icon-control-audit.d.ts +21 -0
- package/catalog/enterprise-icon-control-audit.js +258 -0
- package/catalog/enterprise-layout-display-media-tokenization.d.ts +20 -0
- package/catalog/enterprise-layout-display-media-tokenization.js +237 -0
- package/catalog/enterprise-navigation-routing-state-hardening.d.ts +20 -0
- package/catalog/enterprise-navigation-routing-state-hardening.js +255 -0
- package/catalog/enterprise-overlay-mode-token-parity.d.ts +15 -0
- package/catalog/enterprise-overlay-mode-token-parity.js +178 -0
- package/catalog/enterprise-third-party-authoring-guide.d.ts +23 -0
- package/catalog/enterprise-third-party-authoring-guide.js +310 -0
- package/catalog/enterprise-visual-dom-snapshot-matrix.d.ts +31 -0
- package/catalog/enterprise-visual-dom-snapshot-matrix.js +357 -0
- package/catalog/epic10-existing-component-metadata.d.ts +25 -0
- package/catalog/epic10-existing-component-metadata.js +534 -0
- package/catalog/epic10-p0-component-wave.d.ts +28 -0
- package/catalog/epic10-p0-component-wave.js +688 -0
- package/catalog/epic10-platform-gates.d.ts +31 -0
- package/catalog/epic10-platform-gates.js +425 -0
- package/catalog/epic10-release-handoff.d.ts +30 -0
- package/catalog/epic10-release-handoff.js +195 -0
- package/catalog/epic11-enterprise-ux-handoff.d.ts +29 -0
- package/catalog/epic11-enterprise-ux-handoff.js +403 -0
- package/catalog/epic12-docs-adoption.d.ts +29 -0
- package/catalog/epic12-docs-adoption.js +183 -0
- package/catalog/epic12-rc0-gate-matrix.d.ts +36 -0
- package/catalog/epic12-rc0-gate-matrix.js +439 -0
- package/catalog/epic12-rc0-handoff.d.ts +30 -0
- package/catalog/epic12-rc0-handoff.js +385 -0
- package/catalog/epic13-conditional-network-evidence-ci.d.ts +35 -0
- package/catalog/epic13-conditional-network-evidence-ci.js +278 -0
- package/catalog/epic13-conditional-network-evidence.d.ts +34 -0
- package/catalog/epic13-conditional-network-evidence.js +280 -0
- package/catalog/epic13-docs-rmt-production-hardening.d.ts +39 -0
- package/catalog/epic13-docs-rmt-production-hardening.js +286 -0
- package/catalog/epic13-hydration-performance-closure.d.ts +33 -0
- package/catalog/epic13-hydration-performance-closure.js +234 -0
- package/catalog/epic13-known-residual-triage.d.ts +32 -0
- package/catalog/epic13-known-residual-triage.js +339 -0
- package/catalog/epic13-package-export-lock.d.ts +41 -0
- package/catalog/epic13-package-export-lock.js +604 -0
- package/catalog/epic13-prod-browser-csp-smoke.d.ts +35 -0
- package/catalog/epic13-prod-browser-csp-smoke.js +218 -0
- package/catalog/epic13-rc1-gate-matrix-ci-handoff.d.ts +36 -0
- package/catalog/epic13-rc1-gate-matrix-ci-handoff.js +418 -0
- package/catalog/epic13-rc1-migration-notes.d.ts +36 -0
- package/catalog/epic13-rc1-migration-notes.js +271 -0
- package/catalog/epic13-rc1-readiness.d.ts +33 -0
- package/catalog/epic13-rc1-readiness.js +487 -0
- package/catalog/epic13-release-owner-acceptance.d.ts +33 -0
- package/catalog/epic13-release-owner-acceptance.js +354 -0
- package/catalog/epic13-release-report-pack-dry-run-evidence.d.ts +36 -0
- package/catalog/epic13-release-report-pack-dry-run-evidence.js +253 -0
- package/catalog/epic13-rmt-production-readiness.d.ts +35 -0
- package/catalog/epic13-rmt-production-readiness.js +314 -0
- package/catalog/epic13-trusted-dom-boundary.d.ts +36 -0
- package/catalog/epic13-trusted-dom-boundary.js +230 -0
- package/catalog/epic13-visual-owner-artifact.d.ts +35 -0
- package/catalog/epic13-visual-owner-artifact.js +233 -0
- package/catalog/epic14-lsp-handoff.d.ts +28 -0
- package/catalog/epic14-lsp-handoff.js +312 -0
- package/catalog/epic14-rmt-tooling.d.ts +33 -0
- package/catalog/epic14-rmt-tooling.js +282 -0
- package/catalog/surface-manager-adapter-runtime.d.ts +37 -0
- package/catalog/surface-manager-adapter-runtime.js +203 -0
- package/catalog/surface-manager-browser-lab.d.ts +39 -0
- package/catalog/surface-manager-browser-lab.js +225 -0
- package/catalog/surface-manager-controller.d.ts +43 -0
- package/catalog/surface-manager-controller.js +290 -0
- package/catalog/surface-manager-layout-engines.d.ts +32 -0
- package/catalog/surface-manager-layout-engines.js +161 -0
- package/catalog/surface-manager-lazy-loading.d.ts +35 -0
- package/catalog/surface-manager-lazy-loading.js +173 -0
- package/catalog/surface-manager-materialization.d.ts +37 -0
- package/catalog/surface-manager-materialization.js +202 -0
- package/catalog/surface-manager-native-rmt-surfaces.d.ts +48 -0
- package/catalog/surface-manager-native-rmt-surfaces.js +325 -0
- package/catalog/surface-manager-overlay-bridge.d.ts +42 -0
- package/catalog/surface-manager-overlay-bridge.js +247 -0
- package/catalog/surface-manager-persistence.d.ts +37 -0
- package/catalog/surface-manager-persistence.js +178 -0
- package/catalog/surface-manager-quality-gates.d.ts +48 -0
- package/catalog/surface-manager-quality-gates.js +324 -0
- package/catalog/surface-manager-release-handoff.d.ts +47 -0
- package/catalog/surface-manager-release-handoff.js +274 -0
- package/catalog/surface-manager-remote-policy.d.ts +34 -0
- package/catalog/surface-manager-remote-policy.js +199 -0
- package/catalog/surface-manager-rmt-authoring.d.ts +44 -0
- package/catalog/surface-manager-rmt-authoring.js +368 -0
- package/catalog/surface-manager-route-lifecycle.d.ts +32 -0
- package/catalog/surface-manager-route-lifecycle.js +162 -0
- package/catalog/surface-manager-runtime-release-handoff.d.ts +36 -0
- package/catalog/surface-manager-runtime-release-handoff.js +245 -0
- package/catalog/surface-manager-side-panel-runtime.d.ts +46 -0
- package/catalog/surface-manager-side-panel-runtime.js +307 -0
- package/catalog/surface-manager-stack-policy.d.ts +32 -0
- package/catalog/surface-manager-stack-policy.js +169 -0
- package/catalog/surface-manager-window-runtime.d.ts +45 -0
- package/catalog/surface-manager-window-runtime.js +285 -0
- package/catalog/surface-manager-workbench-fixture.d.ts +50 -0
- package/catalog/surface-manager-workbench-fixture.js +315 -0
- package/catalog/type-exports-api.js +236 -0
- package/catalog/type-exports-builder.js +405 -0
- package/catalog/type-exports-catalog.js +394 -0
- package/catalog/type-exports-loader.js +266 -0
- package/catalog/type-exports-policy.js +461 -0
- package/catalog/type-exports-rmt.js +407 -0
- package/catalog/type-exports-vendor.js +365 -0
- package/catalog/type-exports.js +574 -0
- package/components/icon-packs/core.js +154 -0
- package/components/icon-packs/lucide.js +136 -0
- package/components/manifest.json +44 -0
- package/components/prism.d.ts +73 -0
- package/components/prism.js +300 -0
- package/components/turndown.d.ts +34 -0
- package/components/turndown.js +107 -0
- package/components/x-rmt-lifecycle-demo-build.d.ts +78 -0
- package/components/x-rmt-lifecycle-demo-build.js +1175 -0
- package/components/x-rmt-lifecycle-demo.d.ts +83 -0
- package/components/x-rmt-lifecycle-demo.js +1175 -0
- package/components/xalert.d.ts +42 -0
- package/components/xalert.js +538 -0
- package/components/xbutton.d.ts +127 -0
- package/components/xbutton.js +612 -0
- package/components/xcalendar.d.ts +39 -0
- package/components/xcalendar.js +338 -0
- package/components/xcards.d.ts +34 -0
- package/components/xcards.js +253 -0
- package/components/xcheckbox.d.ts +48 -0
- package/components/xcheckbox.js +448 -0
- package/components/xcode.d.ts +35 -0
- package/components/xcode.js +370 -0
- package/components/xdialog.d.ts +48 -0
- package/components/xdialog.js +763 -0
- package/components/xdrawer.d.ts +61 -0
- package/components/xdrawer.js +654 -0
- package/components/xfooter.d.ts +41 -0
- package/components/xfooter.js +351 -0
- package/components/xform.d.ts +43 -0
- package/components/xform.js +456 -0
- package/components/xheader.d.ts +68 -0
- package/components/xheader.js +1253 -0
- package/components/xhero.d.ts +42 -0
- package/components/xhero.js +475 -0
- package/components/xicon.d.ts +146 -0
- package/components/xicon.js +688 -0
- package/components/xinput.d.ts +37 -0
- package/components/xinput.js +444 -0
- package/components/xlightbox.d.ts +48 -0
- package/components/xlightbox.js +571 -0
- package/components/xlink.d.ts +63 -0
- package/components/xlink.js +565 -0
- package/components/xmasonry.d.ts +35 -0
- package/components/xmasonry.js +666 -0
- package/components/xmenu.d.ts +118 -0
- package/components/xmenu.js +1005 -0
- package/components/xmodal.d.ts +64 -0
- package/components/xmodal.js +831 -0
- package/components/xplayer.d.ts +57 -0
- package/components/xplayer.js +1748 -0
- package/components/xpopover.d.ts +54 -0
- package/components/xpopover.js +466 -0
- package/components/xprogress.d.ts +40 -0
- package/components/xprogress.js +345 -0
- package/components/xradio.d.ts +50 -0
- package/components/xradio.js +474 -0
- package/components/xrouter.d.ts +244 -0
- package/components/xrouter.js +1841 -0
- package/components/xsection.d.ts +34 -0
- package/components/xsection.js +253 -0
- package/components/xselect.d.ts +46 -0
- package/components/xselect.js +463 -0
- package/components/xsidepanel.d.ts +56 -0
- package/components/xsidepanel.js +728 -0
- package/components/xspinner.d.ts +38 -0
- package/components/xspinner.js +388 -0
- package/components/xstate.d.ts +137 -0
- package/components/xstate.js +493 -0
- package/components/xstatus.d.ts +41 -0
- package/components/xstatus.js +381 -0
- package/components/xsummary.d.ts +43 -0
- package/components/xsummary.js +293 -0
- package/components/xsurfacemanager-controller.d.ts +130 -0
- package/components/xsurfacemanager-controller.js +699 -0
- package/components/xsurfacemanager.d.ts +452 -0
- package/components/xsurfacemanager.js +3775 -0
- package/components/xsurfaceoverlay-bridge.d.ts +43 -0
- package/components/xsurfaceoverlay-bridge.js +238 -0
- package/components/xsurfacewindow.d.ts +50 -0
- package/components/xsurfacewindow.js +576 -0
- package/components/xtabs.d.ts +73 -0
- package/components/xtabs.js +611 -0
- package/components/xtend-public-types.d.ts +208 -0
- package/components/xtextarea.d.ts +46 -0
- package/components/xtextarea.js +451 -0
- package/components/xtheme.d.ts +253 -0
- package/components/xtheme.js +1438 -0
- package/components/xtoast.d.ts +39 -0
- package/components/xtoast.js +389 -0
- package/components/xtooltip.d.ts +53 -0
- package/components/xtooltip.js +432 -0
- package/components/xtype.d.ts +42 -0
- package/components/xtype.js +244 -0
- package/components/xutils.d.ts +164 -0
- package/components/xutils.js +496 -0
- package/components/xwriter.d.ts +67 -0
- package/components/xwriter.js +854 -0
- package/design-tokens/themes/enterprise-light.json +40 -0
- package/design-tokens/themes/xtend-signature.json +126 -0
- package/design-tokens/xtend-design-tokens.d.ts +95 -0
- package/design-tokens/xtend-design-tokens.js +395 -0
- package/design-tokens/xtheme-token-alias-layer.d.ts +84 -0
- package/design-tokens/xtheme-token-alias-layer.js +423 -0
- package/docs/.htaccess +51 -0
- package/docs/README.md +340 -0
- package/docs/XTend-ADR.md +221 -0
- package/docs/a11y-keyboard-smokes.md +62 -0
- package/docs/about.md +18 -0
- package/docs/api.md +157 -0
- package/docs/best-practices.md +76 -0
- package/docs/component-catalog-coverage.md +58 -0
- package/docs/component-lab.md +103 -0
- package/docs/component-long-tail-migration.md +41 -0
- package/docs/component-platform.md +159 -0
- package/docs/component-ux-app-authoring.md +130 -0
- package/docs/component-ux-authoring.md +96 -0
- package/docs/component-ux-gates.md +45 -0
- package/docs/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/components/xalert.md +81 -0
- package/docs/components/xbutton.md +103 -0
- package/docs/components/xcalendar.md +82 -0
- package/docs/components/xcards.md +128 -0
- package/docs/components/xcheckbox.md +102 -0
- package/docs/components/xcode.md +126 -0
- package/docs/components/xdialog.md +92 -0
- package/docs/components/xdrawer.md +84 -0
- package/docs/components/xfooter.md +126 -0
- package/docs/components/xform.md +128 -0
- package/docs/components/xheader.md +308 -0
- package/docs/components/xhero.md +142 -0
- package/docs/components/xicon.md +125 -0
- package/docs/components/xinput.md +129 -0
- package/docs/components/xlightbox.md +98 -0
- package/docs/components/xlink.md +109 -0
- package/docs/components/xmasonry.md +124 -0
- package/docs/components/xmenu.md +158 -0
- package/docs/components/xmodal.md +82 -0
- package/docs/components/xplayer.md +104 -0
- package/docs/components/xpopover.md +67 -0
- package/docs/components/xprogress.md +56 -0
- package/docs/components/xradio.md +103 -0
- package/docs/components/xrouter.md +260 -0
- package/docs/components/xsection.md +125 -0
- package/docs/components/xselect.md +105 -0
- package/docs/components/xsidepanel.md +30 -0
- package/docs/components/xspinner.md +102 -0
- package/docs/components/xstate.md +148 -0
- package/docs/components/xstatus.md +55 -0
- package/docs/components/xsummary.md +78 -0
- package/docs/components/xsurfacemanager.md +27 -0
- package/docs/components/xsurfacewindow.md +21 -0
- package/docs/components/xtabs.md +160 -0
- package/docs/components/xtextarea.md +98 -0
- package/docs/components/xtheme.md +167 -0
- package/docs/components/xtoast.md +62 -0
- package/docs/components/xtooltip.md +66 -0
- package/docs/components/xtype.md +82 -0
- package/docs/components/xutils.md +144 -0
- package/docs/components/xwriter.md +94 -0
- package/docs/components.md +117 -0
- package/docs/conditional-network-evidence-ci.md +38 -0
- package/docs/conditional-network-evidence.md +50 -0
- package/docs/core-migration-guide.md +110 -0
- package/docs/design-tokens.md +116 -0
- package/docs/docs-rmt-production-hardening.md +31 -0
- package/docs/enterprise-adoption.md +411 -0
- package/docs/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/epic10-platform-gates.md +62 -0
- package/docs/epic10-release-handoff.md +81 -0
- package/docs/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/epic12-rc0-handoff.md +61 -0
- package/docs/existing-component-metadata.md +67 -0
- package/docs/hydration-performance-closure.md +34 -0
- package/docs/hydration-policies.md +71 -0
- package/docs/index.php +1625 -0
- package/docs/known-residual-triage.md +22 -0
- package/docs/manifest-import-policy.md +79 -0
- package/docs/manifest.md +106 -0
- package/docs/menu.json +1190 -0
- package/docs/motion-contrast.md +67 -0
- package/docs/package-export-lock.md +44 -0
- package/docs/performance-measurements.md +106 -0
- package/docs/performance-regression.md +89 -0
- package/docs/performance.md +94 -0
- package/docs/previews/README.md +17 -0
- package/docs/prod-browser-csp-smokes.md +40 -0
- package/docs/public-component-types.md +79 -0
- package/docs/quick-start-guide.md +152 -0
- package/docs/rc0-adoption-guide.md +102 -0
- package/docs/rc0-gate-matrix.md +58 -0
- package/docs/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/rc1-migration-notes.md +69 -0
- package/docs/rc1-readiness.md +46 -0
- package/docs/release-owner-acceptance.md +56 -0
- package/docs/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/rmt-dsl-authoring-polish.md +122 -0
- package/docs/rmt-first-demo-app.md +77 -0
- package/docs/rmt-first-xtend-apps.md +105 -0
- package/docs/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/rmt-language-server.md +177 -0
- package/docs/rmt-lifecycle-demo.md +25 -0
- package/docs/rmt-linter.md +140 -0
- package/docs/rmt-production-readiness.md +63 -0
- package/docs/rmt-tooling-release-gates.md +77 -0
- package/docs/rmt-vnext-authoring.md +60 -0
- package/docs/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/rmt-vnext-migration-notes.md +62 -0
- package/docs/rmt-vnext-release-handoff.md +69 -0
- package/docs/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/screenreader-signals.md +56 -0
- package/docs/supply-chain-gates.md +100 -0
- package/docs/surface-manager-authoring-guide.md +94 -0
- package/docs/surface-manager-browser-lab.md +45 -0
- package/docs/surface-manager-component-lab.md +43 -0
- package/docs/surface-manager-controller.md +66 -0
- package/docs/surface-manager-layout-engines.md +32 -0
- package/docs/surface-manager-lazy-hydration.md +63 -0
- package/docs/surface-manager-migration-guide.md +94 -0
- package/docs/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/surface-manager-overlay-bridge.md +53 -0
- package/docs/surface-manager-persistence.md +30 -0
- package/docs/surface-manager-quality-gates.md +51 -0
- package/docs/surface-manager-release-handoff.md +68 -0
- package/docs/surface-manager-remote-policy.md +54 -0
- package/docs/surface-manager-rmt-authoring.md +86 -0
- package/docs/surface-manager-route-lifecycle.md +59 -0
- package/docs/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/surface-manager-side-panel-runtime.md +36 -0
- package/docs/surface-manager-stack-policy.md +39 -0
- package/docs/surface-manager-window-runtime.md +47 -0
- package/docs/surface-manager-workbench-fixture.md +43 -0
- package/docs/third-party-design-authoring.md +406 -0
- package/docs/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/trusted-dom-sanitizing.md +110 -0
- package/docs/type-exports.md +61 -0
- package/docs/typescript-components.md +63 -0
- package/docs/utils/fabric-runtime.js +650 -0
- package/docs/utils/pageloader.js +2823 -0
- package/docs/utils/parsedown.php +298 -0
- package/docs/visual-browser-regression.md +83 -0
- package/docs/visual-owner-artifacts.md +46 -0
- package/docs/visual-snapshot-automation.md +87 -0
- package/docs/xtend-api-types.md +55 -0
- package/docs/xtend-builder-types.md +55 -0
- package/docs/xtend-catalog-types.md +44 -0
- package/docs/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/xtend-fabric.md +474 -0
- package/docs/xtend-loader-types.md +58 -0
- package/docs/xtend-loader.md +265 -0
- package/docs/xtend-policy-types.md +38 -0
- package/docs/xtend-rmt-types.md +39 -0
- package/docs/xtend-vendor-types.md +36 -0
- package/docs/xtendrmt-app-dsl.md +269 -0
- package/docs/xtendrmt-migration-guide.md +235 -0
- package/docs/xtendrmt-native-authoring.md +337 -0
- package/docs/xtendrmt-overview.md +89 -0
- package/docs/xtendrmt-parsedown-docs.rmt +956 -0
- package/docs/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/xtendrmt-runtime-bridge.md +155 -0
- package/fabric/hydration-policy.d.ts +27 -0
- package/fabric/hydration-policy.js +306 -0
- package/fabric/package.json +58 -0
- package/fabric/rmt-lane-mapping.d.ts +47 -0
- package/fabric/rmt-lane-mapping.js +504 -0
- package/fabric/xtend-fabric.d.ts +81 -0
- package/fabric/xtend-fabric.js +2669 -0
- package/fabric/xtend-policy-public-types.d.ts +135 -0
- package/package.json +8225 -0
- package/security/README.md +54 -0
- package/security/manifest-import-policy.d.ts +43 -0
- package/security/manifest-import-policy.js +260 -0
- package/security/supply-chain-gate-policy.d.ts +45 -0
- package/security/supply-chain-gate-policy.js +249 -0
- package/security/trusted-dom-policy.d.ts +36 -0
- package/security/trusted-dom-policy.js +316 -0
- package/tools/package.json +77 -0
- package/tools/rmt-editor/vscode/README.md +33 -0
- package/tools/rmt-editor/vscode/extension.d.ts +9 -0
- package/tools/rmt-editor/vscode/extension.js +55 -0
- package/tools/rmt-editor/vscode/language-configuration.json +28 -0
- package/tools/rmt-editor/vscode/package.json +83 -0
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +243 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +13 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/code-actions.d.ts +15 -0
- package/tools/rmt-language/code-actions.js +566 -0
- package/tools/rmt-language/completions.d.ts +22 -0
- package/tools/rmt-language/completions.js +475 -0
- package/tools/rmt-language/definitions.d.ts +13 -0
- package/tools/rmt-language/definitions.js +212 -0
- package/tools/rmt-language/diagnostics.d.ts +23 -0
- package/tools/rmt-language/diagnostics.js +486 -0
- package/tools/rmt-language/format-adapter.d.ts +16 -0
- package/tools/rmt-language/format-adapter.js +270 -0
- package/tools/rmt-language/hover.d.ts +12 -0
- package/tools/rmt-language/hover.js +326 -0
- package/tools/rmt-language/kernel-escalation.d.ts +122 -0
- package/tools/rmt-language/kernel-escalation.js +427 -0
- package/tools/rmt-language/kernel-panic-monitor.d.ts +176 -0
- package/tools/rmt-language/kernel-panic-monitor.js +674 -0
- package/tools/rmt-language/kernel-policy-parity.d.ts +142 -0
- package/tools/rmt-language/kernel-policy-parity.js +629 -0
- package/tools/rmt-language/kernel-recovery.d.ts +173 -0
- package/tools/rmt-language/kernel-recovery.js +666 -0
- package/tools/rmt-language/kernel-scheduler-failure.d.ts +136 -0
- package/tools/rmt-language/kernel-scheduler-failure.js +486 -0
- package/tools/rmt-language/kernel-security-regression.d.ts +154 -0
- package/tools/rmt-language/kernel-security-regression.js +465 -0
- package/tools/rmt-language/kernel-trust-authority.d.ts +120 -0
- package/tools/rmt-language/kernel-trust-authority.js +549 -0
- package/tools/rmt-language/parser.d.ts +14 -0
- package/tools/rmt-language/parser.js +111 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +179 -0
- package/tools/rmt-language/rules/boundary-policy.js +81 -0
- package/tools/rmt-language/rules/document-policy.js +65 -0
- package/tools/rmt-language/rules/index.js +29 -0
- package/tools/rmt-language/rules/route-policy.js +81 -0
- package/tools/rmt-language/rules/scheduler-policy.js +66 -0
- package/tools/rmt-language/rules/template-policy.js +130 -0
- package/tools/rmt-language/semantic-graph.d.ts +18 -0
- package/tools/rmt-language/semantic-graph.js +827 -0
- package/tools/rmt-language/snippets/README.md +17 -0
- package/tools/rmt-language/snippets/index.d.ts +17 -0
- package/tools/rmt-language/snippets/index.js +417 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +243 -0
- package/tools/rmt-language/source-model.d.ts +14 -0
- package/tools/rmt-language/source-model.js +731 -0
- package/tools/rmt-language/symbols.d.ts +13 -0
- package/tools/rmt-language/symbols.js +183 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +28 -0
- package/tools/rmt-language/vnext-compatibility.js +675 -0
- package/tools/rmt-language/vnext-compiler.d.ts +17 -0
- package/tools/rmt-language/vnext-compiler.js +716 -0
- package/tools/rmt-language/vnext-composition.d.ts +30 -0
- package/tools/rmt-language/vnext-composition.js +595 -0
- package/tools/rmt-language/vnext-conditions.d.ts +25 -0
- package/tools/rmt-language/vnext-conditions.js +474 -0
- package/tools/rmt-language/vnext-cross-surface-events.d.ts +30 -0
- package/tools/rmt-language/vnext-cross-surface-events.js +607 -0
- package/tools/rmt-language/vnext-degradation.d.ts +23 -0
- package/tools/rmt-language/vnext-degradation.js +428 -0
- package/tools/rmt-language/vnext-enterprise-fixtures.d.ts +28 -0
- package/tools/rmt-language/vnext-enterprise-fixtures.js +487 -0
- package/tools/rmt-language/vnext-enterprise-registry.d.ts +21 -0
- package/tools/rmt-language/vnext-enterprise-registry.js +495 -0
- package/tools/rmt-language/vnext-enterprise-release.d.ts +44 -0
- package/tools/rmt-language/vnext-enterprise-release.js +472 -0
- package/tools/rmt-language/vnext-event-governance.d.ts +29 -0
- package/tools/rmt-language/vnext-event-governance.js +488 -0
- package/tools/rmt-language/vnext-events.d.ts +44 -0
- package/tools/rmt-language/vnext-events.js +680 -0
- package/tools/rmt-language/vnext-import-resolver.d.ts +28 -0
- package/tools/rmt-language/vnext-import-resolver.js +642 -0
- package/tools/rmt-language/vnext-lifecycle.d.ts +22 -0
- package/tools/rmt-language/vnext-lifecycle.js +404 -0
- package/tools/rmt-language/vnext-parser.d.ts +21 -0
- package/tools/rmt-language/vnext-parser.js +1391 -0
- package/tools/rmt-language/vnext-regression.d.ts +25 -0
- package/tools/rmt-language/vnext-regression.js +394 -0
- package/tools/rmt-language/vnext-release.d.ts +29 -0
- package/tools/rmt-language/vnext-release.js +293 -0
- package/tools/rmt-language/vnext-remote-compatibility.d.ts +33 -0
- package/tools/rmt-language/vnext-remote-compatibility.js +892 -0
- package/tools/rmt-language/vnext-remote-compiler.d.ts +14 -0
- package/tools/rmt-language/vnext-remote-compiler.js +520 -0
- package/tools/rmt-language/vnext-remote-manifest.d.ts +33 -0
- package/tools/rmt-language/vnext-remote-manifest.js +538 -0
- package/tools/rmt-language/vnext-remote-security.d.ts +27 -0
- package/tools/rmt-language/vnext-remote-security.js +380 -0
- package/tools/rmt-language/vnext-remote-tooling.d.ts +25 -0
- package/tools/rmt-language/vnext-remote-tooling.js +805 -0
- package/tools/rmt-language/vnext-scheduler.d.ts +24 -0
- package/tools/rmt-language/vnext-scheduler.js +469 -0
- package/tools/rmt-language/vnext-security.d.ts +28 -0
- package/tools/rmt-language/vnext-security.js +597 -0
- package/tools/rmt-language/vnext-streaming.d.ts +28 -0
- package/tools/rmt-language/vnext-streaming.js +593 -0
- package/tools/rmt-language/vnext-surfaces.d.ts +24 -0
- package/tools/rmt-language/vnext-surfaces.js +406 -0
- package/tools/rmt-language/vnext-tooling.d.ts +25 -0
- package/tools/rmt-language/vnext-tooling.js +728 -0
- package/tools/rmt-language-server/protocol.d.ts +22 -0
- package/tools/rmt-language-server/protocol.js +352 -0
- package/tools/rmt-language-server/server.d.ts +15 -0
- package/tools/rmt-language-server/server.js +622 -0
- package/tools/rmt-linter/cli.d.ts +14 -0
- package/tools/rmt-linter/cli.js +450 -0
- package/tools/rmt-linter/reporter.d.ts +16 -0
- package/tools/rmt-linter/reporter.js +472 -0
- package/xtend-builder/README.md +83 -0
- package/xtend-builder/a11y/README.md +42 -0
- package/xtend-builder/a11y/component-a11y-profile.d.ts +14 -0
- package/xtend-builder/a11y/component-a11y-profile.js +314 -0
- package/xtend-builder/blueprints/README.md +105 -0
- package/xtend-builder/blueprints/component-blueprint.contract.d.ts +16 -0
- package/xtend-builder/blueprints/component-blueprint.contract.js +343 -0
- package/xtend-builder/builder-public-types.d.ts +234 -0
- package/xtend-builder/extensions/README.md +26 -0
- package/xtend-builder/extensions/component-extension-points.d.ts +11 -0
- package/xtend-builder/extensions/component-extension-points.js +277 -0
- package/xtend-builder/generators/README.md +149 -0
- package/xtend-builder/generators/component-files.d.ts +5 -0
- package/xtend-builder/generators/component-files.js +769 -0
- package/xtend-builder/generators/component-plan.d.ts +4 -0
- package/xtend-builder/generators/component-plan.js +104 -0
- package/xtend-builder/generators/registry.d.ts +6 -0
- package/xtend-builder/generators/registry.js +118 -0
- package/xtend-builder/generators/rmt-build.js +738 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +922 -0
- package/xtend-builder/lib/cli.d.ts +9 -0
- package/xtend-builder/lib/cli.js +543 -0
- package/xtend-builder/lib/layout.d.ts +6 -0
- package/xtend-builder/lib/layout.js +153 -0
- package/xtend-builder/lib/package-resolver.js +25 -0
- package/xtend-builder/package.json +90 -0
- package/xtend-builder/performance/README.md +31 -0
- package/xtend-builder/performance/component-performance-profile.d.ts +11 -0
- package/xtend-builder/performance/component-performance-profile.js +347 -0
- package/xtend-builder/performance/component-ux-performance-contract.d.ts +27 -0
- package/xtend-builder/performance/component-ux-performance-contract.js +424 -0
- package/xtend-builder/preview/README.md +61 -0
- package/xtend-builder/preview/component-lab-ux-inspector.d.ts +20 -0
- package/xtend-builder/preview/component-lab-ux-inspector.js +448 -0
- package/xtend-builder/preview/component-lab.d.ts +14 -0
- package/xtend-builder/preview/component-lab.js +278 -0
- package/xtend-builder/preview/component-preview.d.ts +5 -0
- package/xtend-builder/preview/component-preview.js +160 -0
- package/xtend-builder/scaffold.config.d.ts +4 -0
- package/xtend-builder/scaffold.config.js +2056 -0
- package/xtend-builder/scaffold.d.ts +3 -0
- package/xtend-builder/scaffold.js +11 -0
- package/xtend-builder/templates/README.md +33 -0
- package/xtend-builder/templates/component/a11y.template.ts +11 -0
- package/xtend-builder/templates/component/component-suite.template.d.ts +2 -0
- package/xtend-builder/templates/component/component-suite.template.js +108 -0
- package/xtend-builder/templates/component/contract.template.ts +10 -0
- package/xtend-builder/templates/component/demo-plan.template.md +73 -0
- package/xtend-builder/templates/component/docs.template.md +301 -0
- package/xtend-builder/templates/component/fixture-data.template.ts +28 -0
- package/xtend-builder/templates/component/fixture.template.html +37 -0
- package/xtend-builder/templates/component/manifest-plan.template.json +22 -0
- package/xtend-builder/templates/component/performance.template.ts +13 -0
- package/xtend-builder/templates/component/rmt.template.ts +12 -0
- package/xtend-builder/templates/component/source.template.d.ts +2 -0
- package/xtend-builder/templates/component/source.template.js +137 -0
- package/xtend-builder/templates/component/source.template.ts +110 -0
- package/xtend-builder/templates/component/types.template.d.ts +423 -0
- package/xtend-builder/templates/loader.d.ts +4 -0
- package/xtend-builder/templates/loader.js +51 -0
- package/xtend-builder/templates/registry.d.ts +6 -0
- package/xtend-builder/templates/registry.js +119 -0
- package/xtend-builder/typing/README.md +130 -0
- package/xtend-builder/typing/component-contract-v2.d.ts +15 -0
- package/xtend-builder/typing/component-contract-v2.js +248 -0
- package/xtend-builder/typing/component-network-contract.d.ts +22 -0
- package/xtend-builder/typing/component-network-contract.js +478 -0
- package/xtend-builder/typing/component-shell-contract.d.ts +21 -0
- package/xtend-builder/typing/component-shell-contract.js +312 -0
- package/xtend-builder/typing/component-styling-contract.d.ts +22 -0
- package/xtend-builder/typing/component-styling-contract.js +301 -0
- package/xtend-builder/typing/component-types.d.ts +10 -0
- package/xtend-builder/typing/component-types.js +551 -0
- package/xtend-builder/typing/enterprise-component-flex-hardening-contract.d.ts +20 -0
- package/xtend-builder/typing/enterprise-component-flex-hardening-contract.js +332 -0
- package/xtend-builder/typing/feedback-status-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/feedback-status-ux-contract.js +347 -0
- package/xtend-builder/typing/form-controls-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/form-controls-ux-contract.js +357 -0
- package/xtend-builder/typing/layout-display-media-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/layout-display-media-ux-contract.js +420 -0
- package/xtend-builder/typing/navigation-routing-ux-contract.d.ts +17 -0
- package/xtend-builder/typing/navigation-routing-ux-contract.js +297 -0
- package/xtend-builder/typing/overlay-interaction-ux-contract.d.ts +25 -0
- package/xtend-builder/typing/overlay-interaction-ux-contract.js +383 -0
- package/xtend-builder/typing/rmt-dsl-authoring-polish.d.ts +27 -0
- package/xtend-builder/typing/rmt-dsl-authoring-polish.js +419 -0
- package/xtend-builder/typing/rmt-shell-authoring-contract.d.ts +26 -0
- package/xtend-builder/typing/rmt-shell-authoring-contract.js +315 -0
- package/xtend-builder/utils/README.md +8 -0
- package/xtend-builder/utils/naming.d.ts +7 -0
- package/xtend-builder/utils/naming.js +36 -0
- package/xtend-builder/utils/validation.d.ts +5 -0
- package/xtend-builder/utils/validation.js +95 -0
- package/xtend-builder/wiring/README.md +46 -0
- package/xtend-builder/wiring/features.d.ts +5 -0
- package/xtend-builder/wiring/features.js +165 -0
- package/xtend-builder/wiring/hydration.d.ts +4 -0
- package/xtend-builder/wiring/hydration.js +44 -0
- package/xtend-builder/wiring/manifest.d.ts +5 -0
- package/xtend-builder/wiring/manifest.js +48 -0
- package/xtend-builder/workflows/README.md +47 -0
- package/xtend-builder/workflows/developer-workflow.d.ts +6 -0
- package/xtend-builder/workflows/developer-workflow.js +125 -0
- package/xtend-builder/writing/manifest-patcher.d.ts +49 -0
- package/xtend-builder/writing/manifest-patcher.js +391 -0
- package/xtend-builder/writing/write-plan.d.ts +148 -0
- package/xtend-builder/writing/write-plan.js +646 -0
- package/xtend-dev.d.ts +23 -0
- package/xtend-dev.js +4 -0
- package/xtend-loader.d.ts +201 -0
- package/xtend-loader.js +1704 -0
- package/xtend.css +402 -0
- package/xtendrmt/package.json +64 -0
- package/xtendrmt/rmt-core.d.ts +4452 -0
- package/xtendrmt/rmt-core.esm.js +25793 -0
- package/xtendrmt/rmt-first-demo-app.js +265 -0
- package/xtendrmt/rmt-first-demo-app.rmt +737 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +493 -0
- package/xtendrmt/rmt-lifecycle-demo.core.json +810 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt +35 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +153 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.core.json +810 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +202 -0
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +187 -0
- package/xtendrmt/rmt-manifest.json +548 -0
- package/xtendrmt/rmt-runtime.browser.js +26183 -0
- package/xtendrmt/rmt-runtime.esm.js +26214 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +849 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.rmt +50 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +1069 -0
- package/xtendrmt/rmt-vnext-reference-demo.rmt +50 -0
- package/xtendrmt/rmt.schema.json +3145 -0
- package/xtendrmt/surface-workbench.js +316 -0
- package/xtendrmt/surface-workbench.rmt +762 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +1187 -0
- package/xtendrmt/xtendrmt-bestcase-demo.js +1728 -0
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +57 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
const {
|
|
2
|
+
KERNEL_BOUNDARY
|
|
3
|
+
} = require('./epic12-rc0-gate-matrix');
|
|
4
|
+
|
|
5
|
+
const SURFACE_MANAGER_PERSISTENCE_SCHEMA = 'xtend.surface.manager-persistence.v1';
|
|
6
|
+
const SURFACE_MANAGER_PERSISTENCE_REPORT_SCHEMA = 'xtend.surface.manager-persistence-report.v1';
|
|
7
|
+
const SURFACE_PERSISTED_SNAPSHOT_SCHEMA = 'xtend.surface.persisted-snapshot.v1';
|
|
8
|
+
const SURFACE_SNAPSHOT_SCHEMA = 'xtend.surface.snapshot.v1';
|
|
9
|
+
const SURFACE_MANAGER_SCHEMA = 'xtend.surface.manager.v1';
|
|
10
|
+
const SURFACE_RECORD_SCHEMA = 'xtend.surface.record.v1';
|
|
11
|
+
const SURFACE_CONTROLLER_SCHEMA = 'xtend.surface.controller.v1';
|
|
12
|
+
const SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE = 'WP-SM-12';
|
|
13
|
+
const SURFACE_MANAGER_PERSISTENCE_STATUS = 'implemented-surface-snapshot-persistence';
|
|
14
|
+
const SURFACE_MANAGER_PERSISTENCE_TARGET = 'restore-key-snapshot-hydration-ready';
|
|
15
|
+
const SURFACE_MANAGER_PERSISTENCE_MODULE = 'catalog/surface-manager-persistence.js';
|
|
16
|
+
const SURFACE_MANAGER_PERSISTENCE_SUITE = 'tests/components/surface_manager_persistence_suite.js';
|
|
17
|
+
const SURFACE_MANAGER_PERSISTENCE_FIXTURE = 'tests/components/fixtures/xsurfacemanager-persistence.component.html';
|
|
18
|
+
const SURFACE_MANAGER_PERSISTENCE_BACKLOG = 'development/BACKLOG-XTend-SurfaceManager-App-Shell-und-RMT-Surface-Runtime.md';
|
|
19
|
+
const SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE_DOC = 'development/WP-SM-12-Persistenz-restore-key-und-Snapshot-Hydration-implementieren.md';
|
|
20
|
+
const SURFACE_MANAGER_PERSISTENCE_DOCS = 'docs/surface-manager-persistence.md';
|
|
21
|
+
const SURFACE_MANAGER_PERSISTENCE_LOCAL_GATE = 'node scripts/run_xtend_tests.js surface-persistence --json';
|
|
22
|
+
const SURFACE_MANAGER_PERSISTENCE_PACKAGE_SCRIPT = 'npm run test:surface-persistence';
|
|
23
|
+
|
|
24
|
+
const PERSISTENCE_MODES = Object.freeze(['none', 'memory', 'session', 'local']);
|
|
25
|
+
const RESTORE_POLICIES = Object.freeze(['auto', 'manual', 'reset']);
|
|
26
|
+
const MANAGER_METHODS = Object.freeze([
|
|
27
|
+
'snapshotPersistence',
|
|
28
|
+
'persistSnapshot',
|
|
29
|
+
'restorePersistedSnapshot',
|
|
30
|
+
'clearPersistedSnapshot',
|
|
31
|
+
'resetSurfaceLayout'
|
|
32
|
+
]);
|
|
33
|
+
|
|
34
|
+
const PERSISTENCE_EVENTS = Object.freeze([
|
|
35
|
+
'surface-snapshot-persisted',
|
|
36
|
+
'surface-snapshot-restored',
|
|
37
|
+
'surface-snapshot-cleared',
|
|
38
|
+
'surface-snapshot-reset',
|
|
39
|
+
'surface-restore-skipped',
|
|
40
|
+
'surface-persistence-error'
|
|
41
|
+
]);
|
|
42
|
+
|
|
43
|
+
const REQUIRED_ARTIFACTS = Object.freeze([
|
|
44
|
+
SURFACE_MANAGER_PERSISTENCE_MODULE,
|
|
45
|
+
SURFACE_MANAGER_PERSISTENCE_SUITE,
|
|
46
|
+
SURFACE_MANAGER_PERSISTENCE_FIXTURE,
|
|
47
|
+
SURFACE_MANAGER_PERSISTENCE_BACKLOG,
|
|
48
|
+
SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE_DOC,
|
|
49
|
+
SURFACE_MANAGER_PERSISTENCE_DOCS,
|
|
50
|
+
'components/xsurfacemanager.js',
|
|
51
|
+
'components/xsurfacemanager.d.ts',
|
|
52
|
+
'components/xsurfacemanager-controller.js'
|
|
53
|
+
]);
|
|
54
|
+
|
|
55
|
+
function includesAll(values, required) {
|
|
56
|
+
return required.every((entry) => Array.isArray(values) && values.includes(entry));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function createSurfaceManagerPersistencePlan(options = {}) {
|
|
60
|
+
return {
|
|
61
|
+
schema: SURFACE_MANAGER_PERSISTENCE_SCHEMA,
|
|
62
|
+
reportSchema: SURFACE_MANAGER_PERSISTENCE_REPORT_SCHEMA,
|
|
63
|
+
persistedSnapshotSchema: SURFACE_PERSISTED_SNAPSHOT_SCHEMA,
|
|
64
|
+
snapshotSchema: SURFACE_SNAPSHOT_SCHEMA,
|
|
65
|
+
surfaceManagerSchema: SURFACE_MANAGER_SCHEMA,
|
|
66
|
+
surfaceRecordSchema: SURFACE_RECORD_SCHEMA,
|
|
67
|
+
surfaceControllerSchema: SURFACE_CONTROLLER_SCHEMA,
|
|
68
|
+
workpackage: SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE,
|
|
69
|
+
status: SURFACE_MANAGER_PERSISTENCE_STATUS,
|
|
70
|
+
generatedAt: options.generatedAt || 'static-local',
|
|
71
|
+
targetReadiness: SURFACE_MANAGER_PERSISTENCE_TARGET,
|
|
72
|
+
module: SURFACE_MANAGER_PERSISTENCE_MODULE,
|
|
73
|
+
suite: SURFACE_MANAGER_PERSISTENCE_SUITE,
|
|
74
|
+
fixture: SURFACE_MANAGER_PERSISTENCE_FIXTURE,
|
|
75
|
+
backlog: SURFACE_MANAGER_PERSISTENCE_BACKLOG,
|
|
76
|
+
workpackageDocument: SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE_DOC,
|
|
77
|
+
docs: SURFACE_MANAGER_PERSISTENCE_DOCS,
|
|
78
|
+
localGate: SURFACE_MANAGER_PERSISTENCE_LOCAL_GATE,
|
|
79
|
+
packageScript: SURFACE_MANAGER_PERSISTENCE_PACKAGE_SCRIPT,
|
|
80
|
+
requiredArtifacts: REQUIRED_ARTIFACTS.slice(),
|
|
81
|
+
persistenceModes: PERSISTENCE_MODES.slice(),
|
|
82
|
+
restorePolicies: RESTORE_POLICIES.slice(),
|
|
83
|
+
managerMethods: MANAGER_METHODS.slice(),
|
|
84
|
+
events: PERSISTENCE_EVENTS.slice(),
|
|
85
|
+
runtimeBoundary: {
|
|
86
|
+
persistenceAdapterOutsideControllerCore: true,
|
|
87
|
+
controllerRemainsRegistryTruth: true,
|
|
88
|
+
createsSecondRegistry: false,
|
|
89
|
+
storesContentPayload: false,
|
|
90
|
+
persistenceRequiresRestoreKeyOrPolicy: true,
|
|
91
|
+
invalidSnapshotFallsBackControlled: true,
|
|
92
|
+
rmtKernelImportsXtendTypes: false,
|
|
93
|
+
networkRequired: false
|
|
94
|
+
},
|
|
95
|
+
nextWorkpackage: 'WP-SM-14',
|
|
96
|
+
nextDecision: 'xrouter-bound-surface-lifecycles',
|
|
97
|
+
kernelBoundary: KERNEL_BOUNDARY
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function validateSurfaceManagerPersistencePlan(plan = createSurfaceManagerPersistencePlan()) {
|
|
102
|
+
const errors = [];
|
|
103
|
+
if (!plan || plan.schema !== SURFACE_MANAGER_PERSISTENCE_SCHEMA) errors.push(`schema must be ${SURFACE_MANAGER_PERSISTENCE_SCHEMA}`);
|
|
104
|
+
if (!plan || plan.reportSchema !== SURFACE_MANAGER_PERSISTENCE_REPORT_SCHEMA) errors.push(`reportSchema must be ${SURFACE_MANAGER_PERSISTENCE_REPORT_SCHEMA}`);
|
|
105
|
+
if (!plan || plan.persistedSnapshotSchema !== SURFACE_PERSISTED_SNAPSHOT_SCHEMA) errors.push(`persistedSnapshotSchema must be ${SURFACE_PERSISTED_SNAPSHOT_SCHEMA}`);
|
|
106
|
+
if (!plan || plan.snapshotSchema !== SURFACE_SNAPSHOT_SCHEMA) errors.push(`snapshotSchema must be ${SURFACE_SNAPSHOT_SCHEMA}`);
|
|
107
|
+
if (!plan || plan.workpackage !== SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE) errors.push(`workpackage must be ${SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE}`);
|
|
108
|
+
if (!plan || plan.status !== SURFACE_MANAGER_PERSISTENCE_STATUS) errors.push(`status must be ${SURFACE_MANAGER_PERSISTENCE_STATUS}`);
|
|
109
|
+
if (!includesAll(plan && plan.persistenceModes, PERSISTENCE_MODES)) errors.push('persistence modes missing');
|
|
110
|
+
if (!includesAll(plan && plan.restorePolicies, RESTORE_POLICIES)) errors.push('restore policies missing');
|
|
111
|
+
if (!includesAll(plan && plan.managerMethods, MANAGER_METHODS)) errors.push('manager persistence methods missing');
|
|
112
|
+
if (!includesAll(plan && plan.events, PERSISTENCE_EVENTS)) errors.push('persistence events missing');
|
|
113
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.persistenceAdapterOutsideControllerCore !== true) errors.push('persistence adapter must stay outside controller core');
|
|
114
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.controllerRemainsRegistryTruth !== true) errors.push('controller must remain registry truth');
|
|
115
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.createsSecondRegistry !== false) errors.push('persistence must not create a second registry');
|
|
116
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.storesContentPayload !== false) errors.push('persistence must not store content payload');
|
|
117
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.invalidSnapshotFallsBackControlled !== true) errors.push('invalid snapshots must fall back controlled');
|
|
118
|
+
if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
|
|
119
|
+
return {
|
|
120
|
+
schema: SURFACE_MANAGER_PERSISTENCE_REPORT_SCHEMA,
|
|
121
|
+
ok: errors.length === 0,
|
|
122
|
+
errors,
|
|
123
|
+
checkedAt: 'static-local',
|
|
124
|
+
workpackage: SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE,
|
|
125
|
+
targetReadiness: SURFACE_MANAGER_PERSISTENCE_TARGET
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function createSurfaceManagerPersistenceReport(options = {}) {
|
|
130
|
+
const plan = options.plan || createSurfaceManagerPersistencePlan(options);
|
|
131
|
+
const validation = validateSurfaceManagerPersistencePlan(plan);
|
|
132
|
+
return {
|
|
133
|
+
schema: SURFACE_MANAGER_PERSISTENCE_REPORT_SCHEMA,
|
|
134
|
+
ok: validation.ok,
|
|
135
|
+
errors: validation.errors,
|
|
136
|
+
workpackage: plan.workpackage,
|
|
137
|
+
status: plan.status,
|
|
138
|
+
targetReadiness: plan.targetReadiness,
|
|
139
|
+
persistenceModes: plan.persistenceModes.slice(),
|
|
140
|
+
managerMethods: plan.managerMethods.length,
|
|
141
|
+
events: plan.events.length,
|
|
142
|
+
localGate: plan.localGate,
|
|
143
|
+
packageScript: plan.packageScript,
|
|
144
|
+
kernelBoundary: plan.kernelBoundary,
|
|
145
|
+
nextWorkpackage: plan.nextWorkpackage,
|
|
146
|
+
nextDecision: plan.nextDecision
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
module.exports = {
|
|
151
|
+
KERNEL_BOUNDARY,
|
|
152
|
+
MANAGER_METHODS,
|
|
153
|
+
PERSISTENCE_EVENTS,
|
|
154
|
+
PERSISTENCE_MODES,
|
|
155
|
+
REQUIRED_ARTIFACTS,
|
|
156
|
+
RESTORE_POLICIES,
|
|
157
|
+
SURFACE_CONTROLLER_SCHEMA,
|
|
158
|
+
SURFACE_MANAGER_PERSISTENCE_BACKLOG,
|
|
159
|
+
SURFACE_MANAGER_PERSISTENCE_DOCS,
|
|
160
|
+
SURFACE_MANAGER_PERSISTENCE_FIXTURE,
|
|
161
|
+
SURFACE_MANAGER_PERSISTENCE_LOCAL_GATE,
|
|
162
|
+
SURFACE_MANAGER_PERSISTENCE_MODULE,
|
|
163
|
+
SURFACE_MANAGER_PERSISTENCE_PACKAGE_SCRIPT,
|
|
164
|
+
SURFACE_MANAGER_PERSISTENCE_REPORT_SCHEMA,
|
|
165
|
+
SURFACE_MANAGER_PERSISTENCE_SCHEMA,
|
|
166
|
+
SURFACE_MANAGER_PERSISTENCE_STATUS,
|
|
167
|
+
SURFACE_MANAGER_PERSISTENCE_SUITE,
|
|
168
|
+
SURFACE_MANAGER_PERSISTENCE_TARGET,
|
|
169
|
+
SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE,
|
|
170
|
+
SURFACE_MANAGER_PERSISTENCE_WORKPACKAGE_DOC,
|
|
171
|
+
SURFACE_MANAGER_SCHEMA,
|
|
172
|
+
SURFACE_PERSISTED_SNAPSHOT_SCHEMA,
|
|
173
|
+
SURFACE_RECORD_SCHEMA,
|
|
174
|
+
SURFACE_SNAPSHOT_SCHEMA,
|
|
175
|
+
createSurfaceManagerPersistencePlan,
|
|
176
|
+
createSurfaceManagerPersistenceReport,
|
|
177
|
+
validateSurfaceManagerPersistencePlan
|
|
178
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
XtendCatalogConstant,
|
|
3
|
+
XtendCatalogGate,
|
|
4
|
+
XtendCatalogOptions,
|
|
5
|
+
XtendCatalogPlan,
|
|
6
|
+
XtendCatalogRecord,
|
|
7
|
+
XtendCatalogReport
|
|
8
|
+
} from './catalog-public-types';
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
export declare const A11Y_ASSERTIONS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
12
|
+
export declare const COMPONENT_TAGS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
13
|
+
export declare const DOMAIN_GATES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
14
|
+
export declare const KERNEL_BOUNDARY: XtendCatalogConstant;
|
|
15
|
+
export declare const NEXT_DECISION: XtendCatalogConstant;
|
|
16
|
+
export declare const NEXT_WORKPACKAGE: string;
|
|
17
|
+
export declare const PERFORMANCE_BUDGETS: XtendCatalogConstant;
|
|
18
|
+
export declare const QUALITY_DOMAINS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
19
|
+
export declare const REQUIRED_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
20
|
+
export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
21
|
+
export declare const RUNTIME_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
22
|
+
export declare const SURFACE_CONTROLLER_SCHEMA: string;
|
|
23
|
+
export declare const SURFACE_MANAGER_QUALITY_BROWSER_FIXTURE: XtendCatalogConstant;
|
|
24
|
+
export declare const SURFACE_MANAGER_QUALITY_BROWSER_SMOKE_SCHEMA: string;
|
|
25
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_CONTRACT: string;
|
|
26
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
27
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_MODULE: string;
|
|
28
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_PLAN: XtendCatalogConstant;
|
|
29
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_REPORT_SCHEMA: string;
|
|
30
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_SCHEMA: string;
|
|
31
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_STATUS: string;
|
|
32
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_SUITE: string;
|
|
33
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_TARGET: string;
|
|
34
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE: string;
|
|
35
|
+
export declare const SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE_DOC: XtendCatalogConstant;
|
|
36
|
+
export declare const SURFACE_MANAGER_QUALITY_LOCAL_GATE: string;
|
|
37
|
+
export declare const SURFACE_MANAGER_QUALITY_PACKAGE_SCRIPT: string;
|
|
38
|
+
export declare const SURFACE_MANAGER_QUALITY_VISUAL_BASELINE: XtendCatalogConstant;
|
|
39
|
+
export declare const SURFACE_MANAGER_QUALITY_VISUAL_BASELINE_SCHEMA: string;
|
|
40
|
+
export declare const SURFACE_MANAGER_SCHEMA: string;
|
|
41
|
+
export declare const SURFACE_OVERLAY_BRIDGE_SCHEMA: string;
|
|
42
|
+
export declare const SURFACE_RECORD_SCHEMA: string;
|
|
43
|
+
export declare const SURFACE_SNAPSHOT_SCHEMA: string;
|
|
44
|
+
export declare const SURFACE_TYPES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
45
|
+
export declare const VISUAL_SNAPSHOT_IDS: XtendCatalogConstant;
|
|
46
|
+
export declare function createSurfaceManagerQualityGatesPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
|
|
47
|
+
export declare function createSurfaceManagerQualityGatesReport(options?: XtendCatalogOptions): XtendCatalogReport;
|
|
48
|
+
export declare function validateSurfaceManagerQualityGatesPlan(plan?: unknown): XtendCatalogReport;
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
const {
|
|
2
|
+
KERNEL_BOUNDARY
|
|
3
|
+
} = require('./epic12-rc0-gate-matrix');
|
|
4
|
+
|
|
5
|
+
const SURFACE_MANAGER_QUALITY_GATES_SCHEMA = 'xtend.surface.quality-gates.v1';
|
|
6
|
+
const SURFACE_MANAGER_QUALITY_GATES_REPORT_SCHEMA = 'xtend.surface.quality-gates-report.v1';
|
|
7
|
+
const SURFACE_MANAGER_QUALITY_BROWSER_SMOKE_SCHEMA = 'xtend.surface.quality-gates.browser-smoke.v1';
|
|
8
|
+
const SURFACE_MANAGER_QUALITY_VISUAL_BASELINE_SCHEMA = 'xtend.surface.quality-gates.visual-baseline.v1';
|
|
9
|
+
const SURFACE_MANAGER_SCHEMA = 'xtend.surface.manager.v1';
|
|
10
|
+
const SURFACE_RECORD_SCHEMA = 'xtend.surface.record.v1';
|
|
11
|
+
const SURFACE_CONTROLLER_SCHEMA = 'xtend.surface.controller.v1';
|
|
12
|
+
const SURFACE_SNAPSHOT_SCHEMA = 'xtend.surface.snapshot.v1';
|
|
13
|
+
const SURFACE_OVERLAY_BRIDGE_SCHEMA = 'xtend.surface.overlay-stack-bridge.v1';
|
|
14
|
+
const SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE = 'WP-SM-07';
|
|
15
|
+
const SURFACE_MANAGER_QUALITY_GATES_STATUS = 'accepted-quality-gates';
|
|
16
|
+
const SURFACE_MANAGER_QUALITY_GATES_TARGET = 'surface-manager-quality-gates-ready';
|
|
17
|
+
const SURFACE_MANAGER_QUALITY_GATES_MODULE = 'catalog/surface-manager-quality-gates.js';
|
|
18
|
+
const SURFACE_MANAGER_QUALITY_GATES_SUITE = 'tests/components/surface_manager_quality_gates_suite.js';
|
|
19
|
+
const SURFACE_MANAGER_QUALITY_GATES_PLAN = 'development/XTend-SurfaceManager-und-Multi-Window-Plan.md';
|
|
20
|
+
const SURFACE_MANAGER_QUALITY_GATES_CONTRACT = 'development/XTend-SurfaceManager-Quality-Gates-Contract.md';
|
|
21
|
+
const SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE_DOC = 'development/WP-SM-07-Browser-A11y-Performance-und-Visual-Gates-ergaenzen.md';
|
|
22
|
+
const SURFACE_MANAGER_QUALITY_GATES_DOCS = 'docs/surface-manager-quality-gates.md';
|
|
23
|
+
const SURFACE_MANAGER_QUALITY_BROWSER_FIXTURE = 'tests/browser/fixtures/surface-manager-quality-smoke.html';
|
|
24
|
+
const SURFACE_MANAGER_QUALITY_VISUAL_BASELINE = 'tests/browser/visual-baselines/surface-manager-quality.dom-baseline.json';
|
|
25
|
+
const SURFACE_MANAGER_QUALITY_LOCAL_GATE = 'node scripts/run_xtend_tests.js surface-manager-quality --json';
|
|
26
|
+
const SURFACE_MANAGER_QUALITY_PACKAGE_SCRIPT = 'npm run test:surface-manager-quality';
|
|
27
|
+
const NEXT_WORKPACKAGE = 'WP-SM-08';
|
|
28
|
+
const NEXT_DECISION = 'native-rmt-surfaces-domain-and-xtend-surface-adapter';
|
|
29
|
+
|
|
30
|
+
const QUALITY_DOMAINS = Object.freeze([
|
|
31
|
+
'browser',
|
|
32
|
+
'a11y',
|
|
33
|
+
'performance',
|
|
34
|
+
'visual'
|
|
35
|
+
]);
|
|
36
|
+
|
|
37
|
+
const DOMAIN_GATES = Object.freeze([
|
|
38
|
+
Object.freeze({
|
|
39
|
+
id: 'surface-manager-browser',
|
|
40
|
+
domain: 'browser',
|
|
41
|
+
localGate: 'node scripts/run_xtend_tests.js surface-manager-browser --json',
|
|
42
|
+
packageScript: 'npm run test:surface-manager-browser'
|
|
43
|
+
}),
|
|
44
|
+
Object.freeze({
|
|
45
|
+
id: 'surface-manager-a11y',
|
|
46
|
+
domain: 'a11y',
|
|
47
|
+
localGate: 'node scripts/run_xtend_tests.js surface-manager-a11y --json',
|
|
48
|
+
packageScript: 'npm run test:surface-manager-a11y'
|
|
49
|
+
}),
|
|
50
|
+
Object.freeze({
|
|
51
|
+
id: 'surface-manager-performance',
|
|
52
|
+
domain: 'performance',
|
|
53
|
+
localGate: 'node scripts/run_xtend_tests.js surface-manager-performance --json',
|
|
54
|
+
packageScript: 'npm run test:surface-manager-performance'
|
|
55
|
+
}),
|
|
56
|
+
Object.freeze({
|
|
57
|
+
id: 'surface-manager-visual',
|
|
58
|
+
domain: 'visual',
|
|
59
|
+
localGate: 'node scripts/run_xtend_tests.js surface-manager-visual --json',
|
|
60
|
+
packageScript: 'npm run test:surface-manager-visual'
|
|
61
|
+
})
|
|
62
|
+
]);
|
|
63
|
+
|
|
64
|
+
const COMPONENT_TAGS = Object.freeze([
|
|
65
|
+
'x-surface-manager',
|
|
66
|
+
'x-surface-window',
|
|
67
|
+
'x-side-panel',
|
|
68
|
+
'x-modal',
|
|
69
|
+
'x-dialog',
|
|
70
|
+
'x-drawer'
|
|
71
|
+
]);
|
|
72
|
+
|
|
73
|
+
const SURFACE_TYPES = Object.freeze([
|
|
74
|
+
'window',
|
|
75
|
+
'side-panel',
|
|
76
|
+
'modal',
|
|
77
|
+
'dialog',
|
|
78
|
+
'drawer'
|
|
79
|
+
]);
|
|
80
|
+
|
|
81
|
+
const A11Y_ASSERTIONS = Object.freeze([
|
|
82
|
+
'role-application',
|
|
83
|
+
'role-dialog',
|
|
84
|
+
'role-complementary',
|
|
85
|
+
'aria-live-status',
|
|
86
|
+
'focus-return',
|
|
87
|
+
'escape-topmost',
|
|
88
|
+
'tab-focus-trap',
|
|
89
|
+
'forced-colors-focus-visible',
|
|
90
|
+
'reduced-motion-safe'
|
|
91
|
+
]);
|
|
92
|
+
|
|
93
|
+
const PERFORMANCE_BUDGETS = Object.freeze({
|
|
94
|
+
openCloseBudgetMs: 16,
|
|
95
|
+
focusBudgetMs: 16,
|
|
96
|
+
layoutTransitionBudgetMs: 16,
|
|
97
|
+
snapshotBudgetMs: 8,
|
|
98
|
+
registrationBudgetMs: 16,
|
|
99
|
+
hydrationPolicy: 'visible',
|
|
100
|
+
browserFixtureMeasure: 'surface-quality-open-close'
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
const VISUAL_SNAPSHOT_IDS = Object.freeze([
|
|
104
|
+
'surface-quality-desktop-mixed-stack',
|
|
105
|
+
'surface-quality-mobile-responsive-panel',
|
|
106
|
+
'surface-quality-topmost-overlay',
|
|
107
|
+
'surface-quality-forced-colors-a11y'
|
|
108
|
+
]);
|
|
109
|
+
|
|
110
|
+
const RUNTIME_ARTIFACTS = Object.freeze([
|
|
111
|
+
'components/xsurfacemanager.js',
|
|
112
|
+
'components/xsurfacemanager-controller.js',
|
|
113
|
+
'components/xsurfacewindow.js',
|
|
114
|
+
'components/xsidepanel.js',
|
|
115
|
+
'components/xsurfaceoverlay-bridge.js',
|
|
116
|
+
'components/xmodal.js',
|
|
117
|
+
'components/xdialog.js',
|
|
118
|
+
'components/xdrawer.js'
|
|
119
|
+
]);
|
|
120
|
+
|
|
121
|
+
const REQUIRED_ARTIFACTS = Object.freeze([
|
|
122
|
+
SURFACE_MANAGER_QUALITY_GATES_MODULE,
|
|
123
|
+
SURFACE_MANAGER_QUALITY_GATES_SUITE,
|
|
124
|
+
SURFACE_MANAGER_QUALITY_GATES_CONTRACT,
|
|
125
|
+
SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE_DOC,
|
|
126
|
+
SURFACE_MANAGER_QUALITY_GATES_DOCS,
|
|
127
|
+
SURFACE_MANAGER_QUALITY_BROWSER_FIXTURE,
|
|
128
|
+
SURFACE_MANAGER_QUALITY_VISUAL_BASELINE,
|
|
129
|
+
'tests/browser/browser_smoke_suite.js',
|
|
130
|
+
...RUNTIME_ARTIFACTS
|
|
131
|
+
]);
|
|
132
|
+
|
|
133
|
+
const REQUIRED_DOCS = Object.freeze([
|
|
134
|
+
SURFACE_MANAGER_QUALITY_GATES_PLAN,
|
|
135
|
+
SURFACE_MANAGER_QUALITY_GATES_CONTRACT,
|
|
136
|
+
SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE_DOC,
|
|
137
|
+
SURFACE_MANAGER_QUALITY_GATES_DOCS,
|
|
138
|
+
'docs/surface-manager-overlay-bridge.md',
|
|
139
|
+
'docs/surface-manager-workbench-fixture.md',
|
|
140
|
+
'docs/surface-manager-side-panel-runtime.md',
|
|
141
|
+
'docs/surface-manager-window-runtime.md'
|
|
142
|
+
]);
|
|
143
|
+
|
|
144
|
+
function includesAll(values, required) {
|
|
145
|
+
return required.every((entry) => Array.isArray(values) && values.includes(entry));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function createSurfaceManagerQualityGatesPlan(options = {}) {
|
|
149
|
+
return {
|
|
150
|
+
schema: SURFACE_MANAGER_QUALITY_GATES_SCHEMA,
|
|
151
|
+
reportSchema: SURFACE_MANAGER_QUALITY_GATES_REPORT_SCHEMA,
|
|
152
|
+
browserSmokeSchema: SURFACE_MANAGER_QUALITY_BROWSER_SMOKE_SCHEMA,
|
|
153
|
+
visualBaselineSchema: SURFACE_MANAGER_QUALITY_VISUAL_BASELINE_SCHEMA,
|
|
154
|
+
surfaceManagerSchema: SURFACE_MANAGER_SCHEMA,
|
|
155
|
+
surfaceRecordSchema: SURFACE_RECORD_SCHEMA,
|
|
156
|
+
surfaceControllerSchema: SURFACE_CONTROLLER_SCHEMA,
|
|
157
|
+
snapshotSchema: SURFACE_SNAPSHOT_SCHEMA,
|
|
158
|
+
overlayBridgeSchema: SURFACE_OVERLAY_BRIDGE_SCHEMA,
|
|
159
|
+
workpackage: SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE,
|
|
160
|
+
status: SURFACE_MANAGER_QUALITY_GATES_STATUS,
|
|
161
|
+
generatedAt: options.generatedAt || 'static-local',
|
|
162
|
+
targetReadiness: SURFACE_MANAGER_QUALITY_GATES_TARGET,
|
|
163
|
+
module: SURFACE_MANAGER_QUALITY_GATES_MODULE,
|
|
164
|
+
suite: SURFACE_MANAGER_QUALITY_GATES_SUITE,
|
|
165
|
+
planningDocument: SURFACE_MANAGER_QUALITY_GATES_PLAN,
|
|
166
|
+
contract: SURFACE_MANAGER_QUALITY_GATES_CONTRACT,
|
|
167
|
+
workpackageDocument: SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE_DOC,
|
|
168
|
+
docs: SURFACE_MANAGER_QUALITY_GATES_DOCS,
|
|
169
|
+
browserFixture: SURFACE_MANAGER_QUALITY_BROWSER_FIXTURE,
|
|
170
|
+
visualBaseline: SURFACE_MANAGER_QUALITY_VISUAL_BASELINE,
|
|
171
|
+
localGate: SURFACE_MANAGER_QUALITY_LOCAL_GATE,
|
|
172
|
+
packageScript: SURFACE_MANAGER_QUALITY_PACKAGE_SCRIPT,
|
|
173
|
+
domainGates: DOMAIN_GATES.map((gate) => ({ ...gate })),
|
|
174
|
+
domains: QUALITY_DOMAINS.slice(),
|
|
175
|
+
runtimeArtifacts: RUNTIME_ARTIFACTS.slice(),
|
|
176
|
+
artifactPaths: REQUIRED_ARTIFACTS.slice(),
|
|
177
|
+
requiredDocs: REQUIRED_DOCS.slice(),
|
|
178
|
+
componentTags: COMPONENT_TAGS.slice(),
|
|
179
|
+
surfaceTypes: SURFACE_TYPES.slice(),
|
|
180
|
+
a11yAssertions: A11Y_ASSERTIONS.slice(),
|
|
181
|
+
performanceBudgets: { ...PERFORMANCE_BUDGETS },
|
|
182
|
+
visualSnapshotIds: VISUAL_SNAPSHOT_IDS.slice(),
|
|
183
|
+
runtimeModel: {
|
|
184
|
+
browser: 'mixed-stack-local-fixture-registered-in-browser-harness',
|
|
185
|
+
a11y: 'static-and-browser-smoke-focus-keyboard-screenreader-policy',
|
|
186
|
+
performance: 'budget-contract-plus-browser-performance-marks',
|
|
187
|
+
visual: 'deterministic-dom-baseline-for-surface-stack-states',
|
|
188
|
+
stack: 'single-controller-stack-for-windows-panels-and-overlays'
|
|
189
|
+
},
|
|
190
|
+
featureFlags: {
|
|
191
|
+
mixedStackBrowserFixtureImplemented: true,
|
|
192
|
+
browserHarnessActivated: true,
|
|
193
|
+
a11yGateImplemented: true,
|
|
194
|
+
performanceGateImplemented: true,
|
|
195
|
+
visualDomBaselineImplemented: true,
|
|
196
|
+
usesWorkbenchFixtureFromWpSm05: true,
|
|
197
|
+
usesOverlayBridgeFromWpSm06: true,
|
|
198
|
+
controllerReusedFromWpSm02: true,
|
|
199
|
+
createsSecondRegistry: false,
|
|
200
|
+
externalNetworkAllowedInLocalGate: false,
|
|
201
|
+
browserRequiredInLocalGate: false,
|
|
202
|
+
nativeSurfacesDomainImplemented: false,
|
|
203
|
+
rmtKernelImportsXtendTypes: false
|
|
204
|
+
},
|
|
205
|
+
kernelBoundary: KERNEL_BOUNDARY,
|
|
206
|
+
nextWorkpackage: NEXT_WORKPACKAGE,
|
|
207
|
+
nextDecision: NEXT_DECISION
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
function validateSurfaceManagerQualityGatesPlan(plan = createSurfaceManagerQualityGatesPlan()) {
|
|
212
|
+
const errors = [];
|
|
213
|
+
|
|
214
|
+
if (!plan || plan.schema !== SURFACE_MANAGER_QUALITY_GATES_SCHEMA) errors.push(`schema must be ${SURFACE_MANAGER_QUALITY_GATES_SCHEMA}`);
|
|
215
|
+
if (!plan || plan.reportSchema !== SURFACE_MANAGER_QUALITY_GATES_REPORT_SCHEMA) errors.push(`reportSchema must be ${SURFACE_MANAGER_QUALITY_GATES_REPORT_SCHEMA}`);
|
|
216
|
+
if (!plan || plan.browserSmokeSchema !== SURFACE_MANAGER_QUALITY_BROWSER_SMOKE_SCHEMA) errors.push(`browserSmokeSchema must be ${SURFACE_MANAGER_QUALITY_BROWSER_SMOKE_SCHEMA}`);
|
|
217
|
+
if (!plan || plan.visualBaselineSchema !== SURFACE_MANAGER_QUALITY_VISUAL_BASELINE_SCHEMA) errors.push(`visualBaselineSchema must be ${SURFACE_MANAGER_QUALITY_VISUAL_BASELINE_SCHEMA}`);
|
|
218
|
+
if (!plan || plan.surfaceManagerSchema !== SURFACE_MANAGER_SCHEMA) errors.push(`surfaceManagerSchema must be ${SURFACE_MANAGER_SCHEMA}`);
|
|
219
|
+
if (!plan || plan.surfaceRecordSchema !== SURFACE_RECORD_SCHEMA) errors.push(`surfaceRecordSchema must be ${SURFACE_RECORD_SCHEMA}`);
|
|
220
|
+
if (!plan || plan.surfaceControllerSchema !== SURFACE_CONTROLLER_SCHEMA) errors.push(`surfaceControllerSchema must be ${SURFACE_CONTROLLER_SCHEMA}`);
|
|
221
|
+
if (!plan || plan.snapshotSchema !== SURFACE_SNAPSHOT_SCHEMA) errors.push(`snapshotSchema must be ${SURFACE_SNAPSHOT_SCHEMA}`);
|
|
222
|
+
if (!plan || plan.overlayBridgeSchema !== SURFACE_OVERLAY_BRIDGE_SCHEMA) errors.push(`overlayBridgeSchema must be ${SURFACE_OVERLAY_BRIDGE_SCHEMA}`);
|
|
223
|
+
if (!plan || plan.workpackage !== SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE) errors.push(`workpackage must be ${SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE}`);
|
|
224
|
+
if (!plan || plan.status !== SURFACE_MANAGER_QUALITY_GATES_STATUS) errors.push(`status must be ${SURFACE_MANAGER_QUALITY_GATES_STATUS}`);
|
|
225
|
+
if (!plan || plan.targetReadiness !== SURFACE_MANAGER_QUALITY_GATES_TARGET) errors.push(`targetReadiness must be ${SURFACE_MANAGER_QUALITY_GATES_TARGET}`);
|
|
226
|
+
if (!includesAll(plan && plan.domains, QUALITY_DOMAINS)) errors.push('quality domains missing');
|
|
227
|
+
if (!includesAll(plan && plan.componentTags, COMPONENT_TAGS)) errors.push('component tags missing');
|
|
228
|
+
if (!includesAll(plan && plan.surfaceTypes, SURFACE_TYPES)) errors.push('surface types missing');
|
|
229
|
+
if (!includesAll(plan && plan.a11yAssertions, A11Y_ASSERTIONS)) errors.push('a11y assertions missing');
|
|
230
|
+
if (!includesAll(plan && plan.visualSnapshotIds, VISUAL_SNAPSHOT_IDS)) errors.push('visual snapshot ids missing');
|
|
231
|
+
if (!plan || !plan.performanceBudgets || plan.performanceBudgets.openCloseBudgetMs !== PERFORMANCE_BUDGETS.openCloseBudgetMs) errors.push('performance budgets missing');
|
|
232
|
+
if (!plan || plan.featureFlags.mixedStackBrowserFixtureImplemented !== true) errors.push('mixed stack browser fixture must be implemented');
|
|
233
|
+
if (!plan || plan.featureFlags.browserHarnessActivated !== true) errors.push('browser harness must be activated');
|
|
234
|
+
if (!plan || plan.featureFlags.a11yGateImplemented !== true) errors.push('a11y gate must be implemented');
|
|
235
|
+
if (!plan || plan.featureFlags.performanceGateImplemented !== true) errors.push('performance gate must be implemented');
|
|
236
|
+
if (!plan || plan.featureFlags.visualDomBaselineImplemented !== true) errors.push('visual DOM baseline must be implemented');
|
|
237
|
+
if (!plan || plan.featureFlags.usesWorkbenchFixtureFromWpSm05 !== true) errors.push('WP-SM-07 must use WP-SM-05 fixture');
|
|
238
|
+
if (!plan || plan.featureFlags.usesOverlayBridgeFromWpSm06 !== true) errors.push('WP-SM-07 must use WP-SM-06 bridge');
|
|
239
|
+
if (!plan || plan.featureFlags.createsSecondRegistry !== false) errors.push('WP-SM-07 must not create a second registry');
|
|
240
|
+
if (!plan || plan.featureFlags.rmtKernelImportsXtendTypes !== false) errors.push('RMT kernel boundary must stay clean');
|
|
241
|
+
if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
|
|
242
|
+
if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
|
|
243
|
+
if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
|
|
244
|
+
|
|
245
|
+
return {
|
|
246
|
+
schema: SURFACE_MANAGER_QUALITY_GATES_REPORT_SCHEMA,
|
|
247
|
+
ok: errors.length === 0,
|
|
248
|
+
errors,
|
|
249
|
+
checkedAt: 'static-local',
|
|
250
|
+
workpackage: SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE,
|
|
251
|
+
targetReadiness: SURFACE_MANAGER_QUALITY_GATES_TARGET
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function createSurfaceManagerQualityGatesReport(options = {}) {
|
|
256
|
+
const plan = options.plan || createSurfaceManagerQualityGatesPlan(options);
|
|
257
|
+
const validation = validateSurfaceManagerQualityGatesPlan(plan);
|
|
258
|
+
|
|
259
|
+
return {
|
|
260
|
+
schema: SURFACE_MANAGER_QUALITY_GATES_REPORT_SCHEMA,
|
|
261
|
+
ok: validation.ok,
|
|
262
|
+
errors: validation.errors,
|
|
263
|
+
workpackage: plan.workpackage,
|
|
264
|
+
status: plan.status,
|
|
265
|
+
targetReadiness: plan.targetReadiness,
|
|
266
|
+
requestedDomain: options.domain || 'all',
|
|
267
|
+
domains: plan.domains.slice(),
|
|
268
|
+
domainGateCount: plan.domainGates.length,
|
|
269
|
+
componentCount: plan.componentTags.length,
|
|
270
|
+
surfaceTypeCount: plan.surfaceTypes.length,
|
|
271
|
+
a11yAssertionCount: plan.a11yAssertions.length,
|
|
272
|
+
visualSnapshotCount: plan.visualSnapshotIds.length,
|
|
273
|
+
browserFixture: plan.browserFixture,
|
|
274
|
+
visualBaseline: plan.visualBaseline,
|
|
275
|
+
localGate: plan.localGate,
|
|
276
|
+
packageScript: plan.packageScript,
|
|
277
|
+
kernelBoundary: plan.kernelBoundary,
|
|
278
|
+
nextWorkpackage: plan.nextWorkpackage,
|
|
279
|
+
nextDecision: plan.nextDecision
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
module.exports = {
|
|
284
|
+
A11Y_ASSERTIONS,
|
|
285
|
+
COMPONENT_TAGS,
|
|
286
|
+
DOMAIN_GATES,
|
|
287
|
+
KERNEL_BOUNDARY,
|
|
288
|
+
NEXT_DECISION,
|
|
289
|
+
NEXT_WORKPACKAGE,
|
|
290
|
+
PERFORMANCE_BUDGETS,
|
|
291
|
+
QUALITY_DOMAINS,
|
|
292
|
+
REQUIRED_ARTIFACTS,
|
|
293
|
+
REQUIRED_DOCS,
|
|
294
|
+
RUNTIME_ARTIFACTS,
|
|
295
|
+
SURFACE_CONTROLLER_SCHEMA,
|
|
296
|
+
SURFACE_MANAGER_QUALITY_BROWSER_FIXTURE,
|
|
297
|
+
SURFACE_MANAGER_QUALITY_BROWSER_SMOKE_SCHEMA,
|
|
298
|
+
SURFACE_MANAGER_QUALITY_GATES_CONTRACT,
|
|
299
|
+
SURFACE_MANAGER_QUALITY_GATES_DOCS,
|
|
300
|
+
SURFACE_MANAGER_QUALITY_GATES_LOCAL_GATE: SURFACE_MANAGER_QUALITY_LOCAL_GATE,
|
|
301
|
+
SURFACE_MANAGER_QUALITY_GATES_MODULE,
|
|
302
|
+
SURFACE_MANAGER_QUALITY_GATES_PACKAGE_SCRIPT: SURFACE_MANAGER_QUALITY_PACKAGE_SCRIPT,
|
|
303
|
+
SURFACE_MANAGER_QUALITY_GATES_PLAN,
|
|
304
|
+
SURFACE_MANAGER_QUALITY_GATES_REPORT_SCHEMA,
|
|
305
|
+
SURFACE_MANAGER_QUALITY_GATES_SCHEMA,
|
|
306
|
+
SURFACE_MANAGER_QUALITY_GATES_STATUS,
|
|
307
|
+
SURFACE_MANAGER_QUALITY_GATES_SUITE,
|
|
308
|
+
SURFACE_MANAGER_QUALITY_GATES_TARGET,
|
|
309
|
+
SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE,
|
|
310
|
+
SURFACE_MANAGER_QUALITY_GATES_WORKPACKAGE_DOC,
|
|
311
|
+
SURFACE_MANAGER_QUALITY_LOCAL_GATE,
|
|
312
|
+
SURFACE_MANAGER_QUALITY_PACKAGE_SCRIPT,
|
|
313
|
+
SURFACE_MANAGER_QUALITY_VISUAL_BASELINE,
|
|
314
|
+
SURFACE_MANAGER_QUALITY_VISUAL_BASELINE_SCHEMA,
|
|
315
|
+
SURFACE_MANAGER_SCHEMA,
|
|
316
|
+
SURFACE_OVERLAY_BRIDGE_SCHEMA,
|
|
317
|
+
SURFACE_RECORD_SCHEMA,
|
|
318
|
+
SURFACE_SNAPSHOT_SCHEMA,
|
|
319
|
+
SURFACE_TYPES,
|
|
320
|
+
VISUAL_SNAPSHOT_IDS,
|
|
321
|
+
createSurfaceManagerQualityGatesPlan,
|
|
322
|
+
createSurfaceManagerQualityGatesReport,
|
|
323
|
+
validateSurfaceManagerQualityGatesPlan
|
|
324
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
XtendCatalogConstant,
|
|
3
|
+
XtendCatalogGate,
|
|
4
|
+
XtendCatalogOptions,
|
|
5
|
+
XtendCatalogPlan,
|
|
6
|
+
XtendCatalogRecord,
|
|
7
|
+
XtendCatalogReport
|
|
8
|
+
} from './catalog-public-types';
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
export declare const AUTHORING_MODES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
12
|
+
export declare const COMPONENT_LAB_PANELS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
13
|
+
export declare const KERNEL_BOUNDARY: XtendCatalogConstant;
|
|
14
|
+
export declare const MIGRATION_STEPS: XtendCatalogConstant;
|
|
15
|
+
export declare const NEXT_DECISION: XtendCatalogConstant;
|
|
16
|
+
export declare const NEXT_WORKPACKAGE: string;
|
|
17
|
+
export declare const RELEASE_GATES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
18
|
+
export declare const REQUIRED_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
19
|
+
export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
20
|
+
export declare const REQUIRED_PREVIOUS_CONTRACTS: XtendCatalogConstant;
|
|
21
|
+
export declare const SURFACE_ADAPTER_SCHEMA: string;
|
|
22
|
+
export declare const SURFACE_CONTROLLER_SCHEMA: string;
|
|
23
|
+
export declare const SURFACE_MANAGER_AUTHORING_GUIDE: XtendCatalogConstant;
|
|
24
|
+
export declare const SURFACE_MANAGER_COMPONENT_LAB_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
25
|
+
export declare const SURFACE_MANAGER_COMPONENT_LAB_FIXTURE: XtendCatalogConstant;
|
|
26
|
+
export declare const SURFACE_MANAGER_COMPONENT_LAB_FIXTURE_SCHEMA: string;
|
|
27
|
+
export declare const SURFACE_MANAGER_MIGRATION_GUIDE: XtendCatalogConstant;
|
|
28
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_CONTRACT: string;
|
|
29
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
30
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_LOCAL_GATE: string;
|
|
31
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_MODULE: string;
|
|
32
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_PACKAGE_SCRIPT: string;
|
|
33
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_PLAN: XtendCatalogConstant;
|
|
34
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_REPORT_SCHEMA: string;
|
|
35
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_SCHEMA: string;
|
|
36
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_STATUS: string;
|
|
37
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_SUITE: string;
|
|
38
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_TARGET: string;
|
|
39
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_WORKPACKAGE: string;
|
|
40
|
+
export declare const SURFACE_MANAGER_RELEASE_HANDOFF_WORKPACKAGE_DOC: XtendCatalogConstant;
|
|
41
|
+
export declare const SURFACE_MANAGER_SCHEMA: string;
|
|
42
|
+
export declare const SURFACE_NATIVE_RMT_SCHEMA: string;
|
|
43
|
+
export declare const SURFACE_RECORD_SCHEMA: string;
|
|
44
|
+
export declare const SURFACE_SNAPSHOT_SCHEMA: string;
|
|
45
|
+
export declare function createSurfaceManagerReleaseHandoffPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
|
|
46
|
+
export declare function createSurfaceManagerReleaseHandoffReport(options?: XtendCatalogOptions): XtendCatalogReport;
|
|
47
|
+
export declare function validateSurfaceManagerReleaseHandoffPlan(plan?: unknown): XtendCatalogReport;
|