@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,225 @@
|
|
|
1
|
+
const {
|
|
2
|
+
KERNEL_BOUNDARY
|
|
3
|
+
} = require('./epic12-rc0-gate-matrix');
|
|
4
|
+
|
|
5
|
+
const SURFACE_MANAGER_BROWSER_LAB_SCHEMA = 'xtend.surface.browser-lab.v1';
|
|
6
|
+
const SURFACE_MANAGER_BROWSER_LAB_REPORT_SCHEMA = 'xtend.surface.browser-lab-report.v1';
|
|
7
|
+
const SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE_SCHEMA = 'xtend.surface.browser-lab.visual-baseline.v1';
|
|
8
|
+
const SURFACE_MANAGER_BROWSER_LAB_PERFORMANCE_REPORT_SCHEMA = 'xtend.surface.browser-lab.performance-report.v1';
|
|
9
|
+
const SURFACE_MANAGER_BROWSER_LAB_CLS_REPORT_SCHEMA = 'xtend.surface.browser-lab.cls-report.v1';
|
|
10
|
+
const SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE = 'WP-SM-18';
|
|
11
|
+
const SURFACE_MANAGER_BROWSER_LAB_STATUS = 'implemented-browser-lab-visual-stability-gates';
|
|
12
|
+
const SURFACE_MANAGER_BROWSER_LAB_TARGET = 'surface-browser-lab-visual-stability-ready';
|
|
13
|
+
const SURFACE_MANAGER_BROWSER_LAB_MODULE = 'catalog/surface-manager-browser-lab.js';
|
|
14
|
+
const SURFACE_MANAGER_BROWSER_LAB_SUITE = 'tests/browser/surface_manager_browser_lab_suite.js';
|
|
15
|
+
const SURFACE_MANAGER_BROWSER_LAB_FIXTURE = 'tests/browser/fixtures/surface-manager-browser-lab.html';
|
|
16
|
+
const SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE = 'tests/browser/visual-baselines/surface-manager-browser-lab.dom-baseline.json';
|
|
17
|
+
const SURFACE_MANAGER_BROWSER_LAB_BACKLOG = 'development/BACKLOG-XTend-SurfaceManager-App-Shell-und-RMT-Surface-Runtime.md';
|
|
18
|
+
const SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE_DOC = 'development/WP-SM-18-Browser-Lab-Pixel-Baselines-und-App-Shell-Projektproben-ausbauen.md';
|
|
19
|
+
const SURFACE_MANAGER_BROWSER_LAB_DOCS = 'docs/surface-manager-browser-lab.md';
|
|
20
|
+
const SURFACE_MANAGER_BROWSER_LAB_LOCAL_GATE = 'node scripts/run_xtend_tests.js surface-browser-lab --json';
|
|
21
|
+
const SURFACE_MANAGER_BROWSER_LAB_PACKAGE_SCRIPT = 'npm run test:surface-browser-lab';
|
|
22
|
+
const DOCS_APP_REFERENCE = 'docs/index.php';
|
|
23
|
+
const DOCS_RMT_REFERENCE = 'docs/xtendrmt-parsedown-docs.rmt';
|
|
24
|
+
const WORKBENCH_REFERENCE = 'tests/browser/fixtures/rmt-surface-workbench-smoke.html';
|
|
25
|
+
|
|
26
|
+
const VISUAL_STATES = Object.freeze([
|
|
27
|
+
'cold-start',
|
|
28
|
+
'skeleton',
|
|
29
|
+
'hydrated',
|
|
30
|
+
'route-change',
|
|
31
|
+
'modal-stack'
|
|
32
|
+
]);
|
|
33
|
+
|
|
34
|
+
const VISUAL_SNAPSHOT_IDS = Object.freeze([
|
|
35
|
+
'surface-lab-cold-start',
|
|
36
|
+
'surface-lab-skeleton',
|
|
37
|
+
'surface-lab-hydrated',
|
|
38
|
+
'surface-lab-route-change',
|
|
39
|
+
'surface-lab-modal-stack'
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
const PERFORMANCE_BUDGETS = Object.freeze({
|
|
43
|
+
coldStartShellMs: 1000,
|
|
44
|
+
openMs: 16,
|
|
45
|
+
focusMs: 16,
|
|
46
|
+
routeMs: 32,
|
|
47
|
+
hydrateMs: 120,
|
|
48
|
+
maxCumulativeLayoutShift: 0.01,
|
|
49
|
+
maxLayoutShiftPx: 1,
|
|
50
|
+
unstyledContentPopInCount: 0
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
const APP_SHELL_PROBES = Object.freeze([
|
|
54
|
+
'docs-app-parsedown-shell',
|
|
55
|
+
'rmt-surface-workbench'
|
|
56
|
+
]);
|
|
57
|
+
|
|
58
|
+
const REQUIRED_ARTIFACTS = Object.freeze([
|
|
59
|
+
SURFACE_MANAGER_BROWSER_LAB_MODULE,
|
|
60
|
+
SURFACE_MANAGER_BROWSER_LAB_SUITE,
|
|
61
|
+
SURFACE_MANAGER_BROWSER_LAB_FIXTURE,
|
|
62
|
+
SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE,
|
|
63
|
+
SURFACE_MANAGER_BROWSER_LAB_BACKLOG,
|
|
64
|
+
SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE_DOC,
|
|
65
|
+
SURFACE_MANAGER_BROWSER_LAB_DOCS,
|
|
66
|
+
'tests/browser/browser_smoke_suite.js',
|
|
67
|
+
DOCS_APP_REFERENCE,
|
|
68
|
+
DOCS_RMT_REFERENCE,
|
|
69
|
+
WORKBENCH_REFERENCE,
|
|
70
|
+
'components/xsurfacemanager.js',
|
|
71
|
+
'components/xsurfacewindow.js',
|
|
72
|
+
'components/xsidepanel.js',
|
|
73
|
+
'components/xmodal.js',
|
|
74
|
+
'xtend-loader.js'
|
|
75
|
+
]);
|
|
76
|
+
|
|
77
|
+
function includesAll(values, required) {
|
|
78
|
+
return required.every((entry) => Array.isArray(values) && values.includes(entry));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function createSurfaceManagerBrowserLabPlan(options = {}) {
|
|
82
|
+
return {
|
|
83
|
+
schema: SURFACE_MANAGER_BROWSER_LAB_SCHEMA,
|
|
84
|
+
reportSchema: SURFACE_MANAGER_BROWSER_LAB_REPORT_SCHEMA,
|
|
85
|
+
visualBaselineSchema: SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE_SCHEMA,
|
|
86
|
+
performanceReportSchema: SURFACE_MANAGER_BROWSER_LAB_PERFORMANCE_REPORT_SCHEMA,
|
|
87
|
+
clsReportSchema: SURFACE_MANAGER_BROWSER_LAB_CLS_REPORT_SCHEMA,
|
|
88
|
+
workpackage: SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE,
|
|
89
|
+
status: SURFACE_MANAGER_BROWSER_LAB_STATUS,
|
|
90
|
+
generatedAt: options.generatedAt || 'static-local',
|
|
91
|
+
targetReadiness: SURFACE_MANAGER_BROWSER_LAB_TARGET,
|
|
92
|
+
module: SURFACE_MANAGER_BROWSER_LAB_MODULE,
|
|
93
|
+
suite: SURFACE_MANAGER_BROWSER_LAB_SUITE,
|
|
94
|
+
fixture: SURFACE_MANAGER_BROWSER_LAB_FIXTURE,
|
|
95
|
+
visualBaseline: SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE,
|
|
96
|
+
backlog: SURFACE_MANAGER_BROWSER_LAB_BACKLOG,
|
|
97
|
+
workpackageDocument: SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE_DOC,
|
|
98
|
+
docs: SURFACE_MANAGER_BROWSER_LAB_DOCS,
|
|
99
|
+
localGate: SURFACE_MANAGER_BROWSER_LAB_LOCAL_GATE,
|
|
100
|
+
packageScript: SURFACE_MANAGER_BROWSER_LAB_PACKAGE_SCRIPT,
|
|
101
|
+
docsAppReference: DOCS_APP_REFERENCE,
|
|
102
|
+
docsRmtReference: DOCS_RMT_REFERENCE,
|
|
103
|
+
workbenchReference: WORKBENCH_REFERENCE,
|
|
104
|
+
requiredArtifacts: REQUIRED_ARTIFACTS.slice(),
|
|
105
|
+
visualStates: VISUAL_STATES.slice(),
|
|
106
|
+
visualSnapshotIds: VISUAL_SNAPSHOT_IDS.slice(),
|
|
107
|
+
performanceBudgets: { ...PERFORMANCE_BUDGETS },
|
|
108
|
+
appShellProbes: APP_SHELL_PROBES.slice(),
|
|
109
|
+
runtimeBoundary: {
|
|
110
|
+
shellFirst: true,
|
|
111
|
+
coldStartVisualGate: true,
|
|
112
|
+
skeletonHydrationReproducible: true,
|
|
113
|
+
routeChangeVisualGate: true,
|
|
114
|
+
modalStackVisualGate: true,
|
|
115
|
+
layoutShiftRegressionFails: true,
|
|
116
|
+
unstyledContentPopInRegressionFails: true,
|
|
117
|
+
usesSkeletonLoader: true,
|
|
118
|
+
usesXTendStyleRegistry: true,
|
|
119
|
+
docsAppMonkeypatch: false,
|
|
120
|
+
browserRequiredInLocalGate: false,
|
|
121
|
+
externalNetworkAllowedInLocalGate: false,
|
|
122
|
+
createsSecondRegistry: false,
|
|
123
|
+
rmtKernelImportsXtendTypes: false
|
|
124
|
+
},
|
|
125
|
+
nextWorkpackage: 'WP-SM-19',
|
|
126
|
+
nextDecision: 'surface-runtime-release-handoff',
|
|
127
|
+
kernelBoundary: KERNEL_BOUNDARY
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function validateSurfaceManagerBrowserLabPlan(plan = createSurfaceManagerBrowserLabPlan()) {
|
|
132
|
+
const errors = [];
|
|
133
|
+
|
|
134
|
+
if (!plan || plan.schema !== SURFACE_MANAGER_BROWSER_LAB_SCHEMA) errors.push(`schema must be ${SURFACE_MANAGER_BROWSER_LAB_SCHEMA}`);
|
|
135
|
+
if (!plan || plan.reportSchema !== SURFACE_MANAGER_BROWSER_LAB_REPORT_SCHEMA) errors.push(`reportSchema must be ${SURFACE_MANAGER_BROWSER_LAB_REPORT_SCHEMA}`);
|
|
136
|
+
if (!plan || plan.visualBaselineSchema !== SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE_SCHEMA) errors.push(`visualBaselineSchema must be ${SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE_SCHEMA}`);
|
|
137
|
+
if (!plan || plan.performanceReportSchema !== SURFACE_MANAGER_BROWSER_LAB_PERFORMANCE_REPORT_SCHEMA) errors.push(`performanceReportSchema must be ${SURFACE_MANAGER_BROWSER_LAB_PERFORMANCE_REPORT_SCHEMA}`);
|
|
138
|
+
if (!plan || plan.clsReportSchema !== SURFACE_MANAGER_BROWSER_LAB_CLS_REPORT_SCHEMA) errors.push(`clsReportSchema must be ${SURFACE_MANAGER_BROWSER_LAB_CLS_REPORT_SCHEMA}`);
|
|
139
|
+
if (!plan || plan.workpackage !== SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE) errors.push(`workpackage must be ${SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE}`);
|
|
140
|
+
if (!plan || plan.status !== SURFACE_MANAGER_BROWSER_LAB_STATUS) errors.push(`status must be ${SURFACE_MANAGER_BROWSER_LAB_STATUS}`);
|
|
141
|
+
if (!plan || plan.targetReadiness !== SURFACE_MANAGER_BROWSER_LAB_TARGET) errors.push(`targetReadiness must be ${SURFACE_MANAGER_BROWSER_LAB_TARGET}`);
|
|
142
|
+
if (!includesAll(plan && plan.visualStates, VISUAL_STATES)) errors.push('visual states missing');
|
|
143
|
+
if (!includesAll(plan && plan.visualSnapshotIds, VISUAL_SNAPSHOT_IDS)) errors.push('visual snapshot ids missing');
|
|
144
|
+
if (!includesAll(plan && plan.appShellProbes, APP_SHELL_PROBES)) errors.push('app shell probes missing');
|
|
145
|
+
if (!plan || !plan.performanceBudgets || plan.performanceBudgets.openMs !== PERFORMANCE_BUDGETS.openMs) errors.push('open budget missing');
|
|
146
|
+
if (!plan || !plan.performanceBudgets || plan.performanceBudgets.maxCumulativeLayoutShift !== PERFORMANCE_BUDGETS.maxCumulativeLayoutShift) errors.push('CLS budget missing');
|
|
147
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.shellFirst !== true) errors.push('shell-first boundary must be true');
|
|
148
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.coldStartVisualGate !== true) errors.push('cold-start visual gate must be true');
|
|
149
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.skeletonHydrationReproducible !== true) errors.push('skeleton hydration must be reproducible');
|
|
150
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.layoutShiftRegressionFails !== true) errors.push('layout-shift regressions must fail');
|
|
151
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.unstyledContentPopInRegressionFails !== true) errors.push('unstyled pop-in regressions must fail');
|
|
152
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.usesSkeletonLoader !== true) errors.push('SkeletonLoader must be used');
|
|
153
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.usesXTendStyleRegistry !== true) errors.push('XTendStyleRegistry must be used');
|
|
154
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.docsAppMonkeypatch !== false) errors.push('docs app monkeypatch must stay false');
|
|
155
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.externalNetworkAllowedInLocalGate !== false) errors.push('browser lab must stay offline');
|
|
156
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.createsSecondRegistry !== false) errors.push('browser lab must not create a second registry');
|
|
157
|
+
if (!plan || !plan.runtimeBoundary || plan.runtimeBoundary.rmtKernelImportsXtendTypes !== false) errors.push('RMT kernel boundary must stay clean');
|
|
158
|
+
if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
|
|
159
|
+
|
|
160
|
+
return {
|
|
161
|
+
schema: SURFACE_MANAGER_BROWSER_LAB_REPORT_SCHEMA,
|
|
162
|
+
ok: errors.length === 0,
|
|
163
|
+
errors,
|
|
164
|
+
checkedAt: 'static-local',
|
|
165
|
+
workpackage: SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE,
|
|
166
|
+
targetReadiness: SURFACE_MANAGER_BROWSER_LAB_TARGET
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function createSurfaceManagerBrowserLabReport(options = {}) {
|
|
171
|
+
const plan = options.plan || createSurfaceManagerBrowserLabPlan(options);
|
|
172
|
+
const validation = validateSurfaceManagerBrowserLabPlan(plan);
|
|
173
|
+
|
|
174
|
+
return {
|
|
175
|
+
schema: SURFACE_MANAGER_BROWSER_LAB_REPORT_SCHEMA,
|
|
176
|
+
ok: validation.ok,
|
|
177
|
+
errors: validation.errors,
|
|
178
|
+
workpackage: plan.workpackage,
|
|
179
|
+
status: plan.status,
|
|
180
|
+
targetReadiness: plan.targetReadiness,
|
|
181
|
+
visualStates: plan.visualStates.length,
|
|
182
|
+
visualSnapshots: plan.visualSnapshotIds.length,
|
|
183
|
+
appShellProbes: plan.appShellProbes.slice(),
|
|
184
|
+
performanceBudgets: { ...plan.performanceBudgets },
|
|
185
|
+
fixture: plan.fixture,
|
|
186
|
+
visualBaseline: plan.visualBaseline,
|
|
187
|
+
localGate: plan.localGate,
|
|
188
|
+
packageScript: plan.packageScript,
|
|
189
|
+
kernelBoundary: plan.kernelBoundary,
|
|
190
|
+
nextWorkpackage: plan.nextWorkpackage,
|
|
191
|
+
nextDecision: plan.nextDecision
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
module.exports = {
|
|
196
|
+
APP_SHELL_PROBES,
|
|
197
|
+
DOCS_APP_REFERENCE,
|
|
198
|
+
DOCS_RMT_REFERENCE,
|
|
199
|
+
KERNEL_BOUNDARY,
|
|
200
|
+
PERFORMANCE_BUDGETS,
|
|
201
|
+
REQUIRED_ARTIFACTS,
|
|
202
|
+
SURFACE_MANAGER_BROWSER_LAB_BACKLOG,
|
|
203
|
+
SURFACE_MANAGER_BROWSER_LAB_CLS_REPORT_SCHEMA,
|
|
204
|
+
SURFACE_MANAGER_BROWSER_LAB_DOCS,
|
|
205
|
+
SURFACE_MANAGER_BROWSER_LAB_FIXTURE,
|
|
206
|
+
SURFACE_MANAGER_BROWSER_LAB_LOCAL_GATE,
|
|
207
|
+
SURFACE_MANAGER_BROWSER_LAB_MODULE,
|
|
208
|
+
SURFACE_MANAGER_BROWSER_LAB_PACKAGE_SCRIPT,
|
|
209
|
+
SURFACE_MANAGER_BROWSER_LAB_PERFORMANCE_REPORT_SCHEMA,
|
|
210
|
+
SURFACE_MANAGER_BROWSER_LAB_REPORT_SCHEMA,
|
|
211
|
+
SURFACE_MANAGER_BROWSER_LAB_SCHEMA,
|
|
212
|
+
SURFACE_MANAGER_BROWSER_LAB_STATUS,
|
|
213
|
+
SURFACE_MANAGER_BROWSER_LAB_SUITE,
|
|
214
|
+
SURFACE_MANAGER_BROWSER_LAB_TARGET,
|
|
215
|
+
SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE,
|
|
216
|
+
SURFACE_MANAGER_BROWSER_LAB_VISUAL_BASELINE_SCHEMA,
|
|
217
|
+
SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE,
|
|
218
|
+
SURFACE_MANAGER_BROWSER_LAB_WORKPACKAGE_DOC,
|
|
219
|
+
VISUAL_SNAPSHOT_IDS,
|
|
220
|
+
VISUAL_STATES,
|
|
221
|
+
WORKBENCH_REFERENCE,
|
|
222
|
+
createSurfaceManagerBrowserLabPlan,
|
|
223
|
+
createSurfaceManagerBrowserLabReport,
|
|
224
|
+
validateSurfaceManagerBrowserLabPlan
|
|
225
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
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 KERNEL_BOUNDARY: XtendCatalogConstant;
|
|
12
|
+
export declare const NEXT_DECISION: XtendCatalogConstant;
|
|
13
|
+
export declare const NEXT_WORKPACKAGE: string;
|
|
14
|
+
export declare const REQUIRED_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
15
|
+
export declare const REQUIRED_DIAGNOSTIC_CODES: XtendCatalogConstant;
|
|
16
|
+
export declare const REQUIRED_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
17
|
+
export declare const REQUIRED_LANES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
18
|
+
export declare const REQUIRED_METHODS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
19
|
+
export declare const REQUIRED_STATE_KEYS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
20
|
+
export declare const REQUIRED_SURFACE_TYPES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
21
|
+
export declare const SOURCE_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
22
|
+
export declare const SURFACE_CONTROLLER_CONTRACT: string;
|
|
23
|
+
export declare const SURFACE_CONTROLLER_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
24
|
+
export declare const SURFACE_CONTROLLER_LOCAL_GATE: string;
|
|
25
|
+
export declare const SURFACE_CONTROLLER_MODULE: string;
|
|
26
|
+
export declare const SURFACE_CONTROLLER_PACKAGE_SCRIPT: string;
|
|
27
|
+
export declare const SURFACE_CONTROLLER_PLAN: XtendCatalogConstant;
|
|
28
|
+
export declare const SURFACE_CONTROLLER_REPORT_SCHEMA: string;
|
|
29
|
+
export declare const SURFACE_CONTROLLER_RUNTIME: XtendCatalogConstant;
|
|
30
|
+
export declare const SURFACE_CONTROLLER_SCHEMA: string;
|
|
31
|
+
export declare const SURFACE_DIAGNOSTIC_SCHEMA: string;
|
|
32
|
+
export declare const SURFACE_CONTROLLER_STATUS: string;
|
|
33
|
+
export declare const SURFACE_CONTROLLER_SUITE: string;
|
|
34
|
+
export declare const SURFACE_CONTROLLER_TARGET: string;
|
|
35
|
+
export declare const SURFACE_CONTROLLER_TYPES: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
36
|
+
export declare const SURFACE_CONTROLLER_WORKPACKAGE: string;
|
|
37
|
+
export declare const SURFACE_CONTROLLER_WORKPACKAGE_DOC: XtendCatalogConstant;
|
|
38
|
+
export declare const SURFACE_OPERATION_RESULT_SCHEMA: string;
|
|
39
|
+
export declare const SURFACE_RECORD_SCHEMA: string;
|
|
40
|
+
export declare const SURFACE_SNAPSHOT_SCHEMA: string;
|
|
41
|
+
export declare function createSurfaceControllerPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
|
|
42
|
+
export declare function createSurfaceControllerReport(options?: XtendCatalogOptions): XtendCatalogReport;
|
|
43
|
+
export declare function validateSurfaceControllerPlan(plan?: unknown): XtendCatalogReport;
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
const {
|
|
2
|
+
KERNEL_BOUNDARY
|
|
3
|
+
} = require('./epic12-rc0-gate-matrix');
|
|
4
|
+
|
|
5
|
+
const SURFACE_CONTROLLER_SCHEMA = 'xtend.surface.controller.v1';
|
|
6
|
+
const SURFACE_CONTROLLER_REPORT_SCHEMA = 'xtend.surface.controller-report.v1';
|
|
7
|
+
const SURFACE_RECORD_SCHEMA = 'xtend.surface.record.v1';
|
|
8
|
+
const SURFACE_SNAPSHOT_SCHEMA = 'xtend.surface.snapshot.v1';
|
|
9
|
+
const SURFACE_DIAGNOSTIC_SCHEMA = 'xtend.surface.diagnostic.v1';
|
|
10
|
+
const SURFACE_OPERATION_RESULT_SCHEMA = 'xtend.surface.operation-result.v1';
|
|
11
|
+
const SURFACE_CONTROLLER_WORKPACKAGE = 'WP-SM-02';
|
|
12
|
+
const SURFACE_CONTROLLER_STATUS = 'accepted-controller-contract';
|
|
13
|
+
const SURFACE_CONTROLLER_TARGET = 'surface-controller-state-snapshot-ready';
|
|
14
|
+
const SURFACE_CONTROLLER_MODULE = 'catalog/surface-manager-controller.js';
|
|
15
|
+
const SURFACE_CONTROLLER_RUNTIME = 'components/xsurfacemanager-controller.js';
|
|
16
|
+
const SURFACE_CONTROLLER_TYPES = 'components/xsurfacemanager-controller.d.ts';
|
|
17
|
+
const SURFACE_CONTROLLER_SUITE = 'tests/components/surface_controller_suite.js';
|
|
18
|
+
const SURFACE_CONTROLLER_PLAN = 'development/XTend-SurfaceManager-und-Multi-Window-Plan.md';
|
|
19
|
+
const SURFACE_CONTROLLER_CONTRACT = 'development/XTend-SurfaceManager-Controller-und-State-Snapshot-Contract.md';
|
|
20
|
+
const SURFACE_CONTROLLER_WORKPACKAGE_DOC = 'development/WP-SM-02-Surface-Controller-und-State-Snapshot-bauen.md';
|
|
21
|
+
const SURFACE_CONTROLLER_DOCS = 'docs/surface-manager-controller.md';
|
|
22
|
+
const SURFACE_CONTROLLER_LOCAL_GATE = 'node scripts/run_xtend_tests.js surface-controller --json';
|
|
23
|
+
const SURFACE_CONTROLLER_PACKAGE_SCRIPT = 'npm run test:surface-controller';
|
|
24
|
+
const NEXT_WORKPACKAGE = 'WP-SM-03';
|
|
25
|
+
const NEXT_DECISION = 'x-surface-manager-window-runtime';
|
|
26
|
+
|
|
27
|
+
const SOURCE_ARTIFACTS = Object.freeze([
|
|
28
|
+
'src/components/x-surface-manager/surface-record.ts',
|
|
29
|
+
'src/components/x-surface-manager/surface-layout.ts',
|
|
30
|
+
'src/components/x-surface-manager/surface-controller.ts'
|
|
31
|
+
]);
|
|
32
|
+
|
|
33
|
+
const REQUIRED_ARTIFACTS = Object.freeze([
|
|
34
|
+
SURFACE_CONTROLLER_MODULE,
|
|
35
|
+
SURFACE_CONTROLLER_RUNTIME,
|
|
36
|
+
SURFACE_CONTROLLER_TYPES,
|
|
37
|
+
SURFACE_CONTROLLER_SUITE,
|
|
38
|
+
SURFACE_CONTROLLER_CONTRACT,
|
|
39
|
+
SURFACE_CONTROLLER_WORKPACKAGE_DOC,
|
|
40
|
+
SURFACE_CONTROLLER_DOCS,
|
|
41
|
+
...SOURCE_ARTIFACTS
|
|
42
|
+
]);
|
|
43
|
+
|
|
44
|
+
const REQUIRED_DOCS = Object.freeze([
|
|
45
|
+
SURFACE_CONTROLLER_PLAN,
|
|
46
|
+
SURFACE_CONTROLLER_CONTRACT,
|
|
47
|
+
SURFACE_CONTROLLER_WORKPACKAGE_DOC,
|
|
48
|
+
SURFACE_CONTROLLER_DOCS,
|
|
49
|
+
'development/XTend-SurfaceManager-Contract-und-RMT-Authoring-Model.md',
|
|
50
|
+
'docs/surface-manager-rmt-authoring.md',
|
|
51
|
+
'docs/xtend-fabric.md'
|
|
52
|
+
]);
|
|
53
|
+
|
|
54
|
+
const REQUIRED_METHODS = Object.freeze([
|
|
55
|
+
'registerSurface',
|
|
56
|
+
'openSurface',
|
|
57
|
+
'closeSurface',
|
|
58
|
+
'focusSurface',
|
|
59
|
+
'updateSurface',
|
|
60
|
+
'moveSurface',
|
|
61
|
+
'resizeSurface',
|
|
62
|
+
'minimizeSurface',
|
|
63
|
+
'maximizeSurface',
|
|
64
|
+
'restoreSurface',
|
|
65
|
+
'snapshot',
|
|
66
|
+
'dispose'
|
|
67
|
+
]);
|
|
68
|
+
|
|
69
|
+
const REQUIRED_STATE_KEYS = Object.freeze([
|
|
70
|
+
'xtend.surface.registry',
|
|
71
|
+
'xtend.surface.active',
|
|
72
|
+
'xtend.surface.<surfaceId>.state',
|
|
73
|
+
'xtend.surface.<surfaceId>.bounds',
|
|
74
|
+
'xtend.surface.<surfaceId>.lifecycle',
|
|
75
|
+
'xtend.surface.diagnostics',
|
|
76
|
+
'xtend.surface.snapshot'
|
|
77
|
+
]);
|
|
78
|
+
|
|
79
|
+
const REQUIRED_SURFACE_TYPES = Object.freeze([
|
|
80
|
+
'window',
|
|
81
|
+
'side-panel',
|
|
82
|
+
'modal',
|
|
83
|
+
'dialog',
|
|
84
|
+
'drawer',
|
|
85
|
+
'popover',
|
|
86
|
+
'tooltip'
|
|
87
|
+
]);
|
|
88
|
+
|
|
89
|
+
const REQUIRED_DIAGNOSTIC_CODES = Object.freeze([
|
|
90
|
+
'xtend.surface.controller.created',
|
|
91
|
+
'xtend.surface.registered',
|
|
92
|
+
'xtend.surface.opened',
|
|
93
|
+
'xtend.surface.closed',
|
|
94
|
+
'xtend.surface.focused',
|
|
95
|
+
'xtend.surface.updated',
|
|
96
|
+
'xtend.surface.moved',
|
|
97
|
+
'xtend.surface.resized',
|
|
98
|
+
'xtend.surface.minimized',
|
|
99
|
+
'xtend.surface.maximized',
|
|
100
|
+
'xtend.surface.restored',
|
|
101
|
+
'xtend.surface.snapshot',
|
|
102
|
+
'xtend.surface.disposed',
|
|
103
|
+
'xtend.surface.invalid-record',
|
|
104
|
+
'xtend.surface.not-found',
|
|
105
|
+
'xtend.surface.capability-refused',
|
|
106
|
+
'xtend.surface.state-mirror.failed',
|
|
107
|
+
'xtend.surface.fabric-diagnostic.failed'
|
|
108
|
+
]);
|
|
109
|
+
|
|
110
|
+
const REQUIRED_LANES = Object.freeze([
|
|
111
|
+
'user-blocking',
|
|
112
|
+
'visible',
|
|
113
|
+
'transition',
|
|
114
|
+
'diagnostics'
|
|
115
|
+
]);
|
|
116
|
+
|
|
117
|
+
function includesAll(values, required) {
|
|
118
|
+
return required.every((entry) => Array.isArray(values) && values.includes(entry));
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function createSurfaceControllerPlan(options = {}) {
|
|
122
|
+
return {
|
|
123
|
+
schema: SURFACE_CONTROLLER_SCHEMA,
|
|
124
|
+
reportSchema: SURFACE_CONTROLLER_REPORT_SCHEMA,
|
|
125
|
+
recordSchema: SURFACE_RECORD_SCHEMA,
|
|
126
|
+
snapshotSchema: SURFACE_SNAPSHOT_SCHEMA,
|
|
127
|
+
diagnosticSchema: SURFACE_DIAGNOSTIC_SCHEMA,
|
|
128
|
+
operationResultSchema: SURFACE_OPERATION_RESULT_SCHEMA,
|
|
129
|
+
workpackage: SURFACE_CONTROLLER_WORKPACKAGE,
|
|
130
|
+
status: SURFACE_CONTROLLER_STATUS,
|
|
131
|
+
generatedAt: options.generatedAt || 'static-local',
|
|
132
|
+
targetReadiness: SURFACE_CONTROLLER_TARGET,
|
|
133
|
+
module: SURFACE_CONTROLLER_MODULE,
|
|
134
|
+
runtime: SURFACE_CONTROLLER_RUNTIME,
|
|
135
|
+
types: SURFACE_CONTROLLER_TYPES,
|
|
136
|
+
suite: SURFACE_CONTROLLER_SUITE,
|
|
137
|
+
planningDocument: SURFACE_CONTROLLER_PLAN,
|
|
138
|
+
contract: SURFACE_CONTROLLER_CONTRACT,
|
|
139
|
+
workpackageDocument: SURFACE_CONTROLLER_WORKPACKAGE_DOC,
|
|
140
|
+
docs: SURFACE_CONTROLLER_DOCS,
|
|
141
|
+
localGate: SURFACE_CONTROLLER_LOCAL_GATE,
|
|
142
|
+
packageScript: SURFACE_CONTROLLER_PACKAGE_SCRIPT,
|
|
143
|
+
sourceArtifacts: SOURCE_ARTIFACTS.slice(),
|
|
144
|
+
artifactPaths: REQUIRED_ARTIFACTS.slice(),
|
|
145
|
+
requiredDocs: REQUIRED_DOCS.slice(),
|
|
146
|
+
requiredMethods: REQUIRED_METHODS.slice(),
|
|
147
|
+
stateKeys: REQUIRED_STATE_KEYS.slice(),
|
|
148
|
+
surfaceTypes: REQUIRED_SURFACE_TYPES.slice(),
|
|
149
|
+
diagnosticCodes: REQUIRED_DIAGNOSTIC_CODES.slice(),
|
|
150
|
+
lanes: REQUIRED_LANES.slice(),
|
|
151
|
+
controllerModel: {
|
|
152
|
+
boundary: 'component-owned-controller',
|
|
153
|
+
runtimeArtifact: 'controller-only-no-custom-element',
|
|
154
|
+
rmtInputModel: 'metadata.surface-records-from-WP-SM-01',
|
|
155
|
+
statePolicy: 'digital-twin-ssot-with-xstate-mirror',
|
|
156
|
+
fabricPolicy: 'emit-diagnostics-consume-fabric-do-not-replace-fabric',
|
|
157
|
+
persistencePolicy: 'layout-state-only-no-content-payload',
|
|
158
|
+
loaderPolicy: 'deferred-to-WP-SM-03-custom-element-runtime'
|
|
159
|
+
},
|
|
160
|
+
featureFlags: {
|
|
161
|
+
customElementsImplemented: false,
|
|
162
|
+
visibleSurfaceChromeImplemented: false,
|
|
163
|
+
sidePanelRuntimeImplemented: false,
|
|
164
|
+
nativeSurfacesDomainImplemented: false,
|
|
165
|
+
browserRequiredInLocalGate: false,
|
|
166
|
+
externalNetworkAllowedInLocalGate: false,
|
|
167
|
+
runtimeHasDomDependency: false,
|
|
168
|
+
runtimeHasRmtKernelImport: false,
|
|
169
|
+
runtimeHasFabricHardDependency: false
|
|
170
|
+
},
|
|
171
|
+
snapshotShape: {
|
|
172
|
+
schema: SURFACE_SNAPSHOT_SCHEMA,
|
|
173
|
+
fields: [
|
|
174
|
+
'managerId',
|
|
175
|
+
'stateKey',
|
|
176
|
+
'activeSurfaceId',
|
|
177
|
+
'version',
|
|
178
|
+
'surfaceCount',
|
|
179
|
+
'openSurfaceCount',
|
|
180
|
+
'surfaces',
|
|
181
|
+
'stack',
|
|
182
|
+
'diagnostics',
|
|
183
|
+
'updatedAt'
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
kernelBoundary: KERNEL_BOUNDARY,
|
|
187
|
+
nextWorkpackage: NEXT_WORKPACKAGE,
|
|
188
|
+
nextDecision: NEXT_DECISION
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
function validateSurfaceControllerPlan(plan = createSurfaceControllerPlan()) {
|
|
193
|
+
const errors = [];
|
|
194
|
+
|
|
195
|
+
if (!plan || plan.schema !== SURFACE_CONTROLLER_SCHEMA) errors.push(`schema must be ${SURFACE_CONTROLLER_SCHEMA}`);
|
|
196
|
+
if (!plan || plan.reportSchema !== SURFACE_CONTROLLER_REPORT_SCHEMA) errors.push(`reportSchema must be ${SURFACE_CONTROLLER_REPORT_SCHEMA}`);
|
|
197
|
+
if (!plan || plan.recordSchema !== SURFACE_RECORD_SCHEMA) errors.push(`recordSchema must be ${SURFACE_RECORD_SCHEMA}`);
|
|
198
|
+
if (!plan || plan.snapshotSchema !== SURFACE_SNAPSHOT_SCHEMA) errors.push(`snapshotSchema must be ${SURFACE_SNAPSHOT_SCHEMA}`);
|
|
199
|
+
if (!plan || plan.diagnosticSchema !== SURFACE_DIAGNOSTIC_SCHEMA) errors.push(`diagnosticSchema must be ${SURFACE_DIAGNOSTIC_SCHEMA}`);
|
|
200
|
+
if (!plan || plan.workpackage !== SURFACE_CONTROLLER_WORKPACKAGE) errors.push(`workpackage must be ${SURFACE_CONTROLLER_WORKPACKAGE}`);
|
|
201
|
+
if (!plan || plan.status !== SURFACE_CONTROLLER_STATUS) errors.push(`status must be ${SURFACE_CONTROLLER_STATUS}`);
|
|
202
|
+
if (!plan || plan.targetReadiness !== SURFACE_CONTROLLER_TARGET) errors.push(`targetReadiness must be ${SURFACE_CONTROLLER_TARGET}`);
|
|
203
|
+
if (!includesAll(plan && plan.requiredMethods, REQUIRED_METHODS)) errors.push('required methods missing');
|
|
204
|
+
if (!includesAll(plan && plan.stateKeys, REQUIRED_STATE_KEYS)) errors.push('required xstate mirror keys missing');
|
|
205
|
+
if (!includesAll(plan && plan.surfaceTypes, REQUIRED_SURFACE_TYPES)) errors.push('required surface types missing');
|
|
206
|
+
if (!includesAll(plan && plan.diagnosticCodes, REQUIRED_DIAGNOSTIC_CODES)) errors.push('required diagnostics missing');
|
|
207
|
+
if (!includesAll(plan && plan.lanes, REQUIRED_LANES)) errors.push('required lanes missing');
|
|
208
|
+
if (!plan || plan.featureFlags.runtimeHasDomDependency !== false) errors.push('runtime must stay DOM-free in WP-SM-02');
|
|
209
|
+
if (!plan || plan.featureFlags.runtimeHasRmtKernelImport !== false) errors.push('runtime must not import RMT kernel types');
|
|
210
|
+
if (!plan || plan.featureFlags.runtimeHasFabricHardDependency !== false) errors.push('runtime must not hard-depend on Fabric');
|
|
211
|
+
if (!plan || plan.featureFlags.customElementsImplemented !== false) errors.push('custom elements must remain WP-SM-03 scope');
|
|
212
|
+
if (!plan || plan.kernelBoundary !== KERNEL_BOUNDARY) errors.push(`kernelBoundary must be ${KERNEL_BOUNDARY}`);
|
|
213
|
+
if (!plan || plan.nextWorkpackage !== NEXT_WORKPACKAGE) errors.push(`nextWorkpackage must be ${NEXT_WORKPACKAGE}`);
|
|
214
|
+
if (!plan || plan.nextDecision !== NEXT_DECISION) errors.push(`nextDecision must be ${NEXT_DECISION}`);
|
|
215
|
+
|
|
216
|
+
return {
|
|
217
|
+
schema: SURFACE_CONTROLLER_REPORT_SCHEMA,
|
|
218
|
+
ok: errors.length === 0,
|
|
219
|
+
errors,
|
|
220
|
+
checkedAt: 'static-local',
|
|
221
|
+
workpackage: SURFACE_CONTROLLER_WORKPACKAGE,
|
|
222
|
+
targetReadiness: SURFACE_CONTROLLER_TARGET
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
function createSurfaceControllerReport(options = {}) {
|
|
227
|
+
const plan = options.plan || createSurfaceControllerPlan(options);
|
|
228
|
+
const validation = validateSurfaceControllerPlan(plan);
|
|
229
|
+
|
|
230
|
+
return {
|
|
231
|
+
schema: SURFACE_CONTROLLER_REPORT_SCHEMA,
|
|
232
|
+
ok: validation.ok,
|
|
233
|
+
errors: validation.errors,
|
|
234
|
+
workpackage: plan.workpackage,
|
|
235
|
+
status: plan.status,
|
|
236
|
+
targetReadiness: plan.targetReadiness,
|
|
237
|
+
methodCount: plan.requiredMethods.length,
|
|
238
|
+
stateKeyCount: plan.stateKeys.length,
|
|
239
|
+
surfaceTypeCount: plan.surfaceTypes.length,
|
|
240
|
+
diagnosticCount: plan.diagnosticCodes.length,
|
|
241
|
+
runtime: plan.runtime,
|
|
242
|
+
types: plan.types,
|
|
243
|
+
localGate: plan.localGate,
|
|
244
|
+
packageScript: plan.packageScript,
|
|
245
|
+
runtimeHasDomDependency: plan.featureFlags.runtimeHasDomDependency,
|
|
246
|
+
runtimeHasRmtKernelImport: plan.featureFlags.runtimeHasRmtKernelImport,
|
|
247
|
+
runtimeHasFabricHardDependency: plan.featureFlags.runtimeHasFabricHardDependency,
|
|
248
|
+
kernelBoundary: plan.kernelBoundary,
|
|
249
|
+
nextWorkpackage: plan.nextWorkpackage,
|
|
250
|
+
nextDecision: plan.nextDecision
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
module.exports = {
|
|
255
|
+
KERNEL_BOUNDARY,
|
|
256
|
+
NEXT_DECISION,
|
|
257
|
+
NEXT_WORKPACKAGE,
|
|
258
|
+
REQUIRED_ARTIFACTS,
|
|
259
|
+
REQUIRED_DIAGNOSTIC_CODES,
|
|
260
|
+
REQUIRED_DOCS,
|
|
261
|
+
REQUIRED_LANES,
|
|
262
|
+
REQUIRED_METHODS,
|
|
263
|
+
REQUIRED_STATE_KEYS,
|
|
264
|
+
REQUIRED_SURFACE_TYPES,
|
|
265
|
+
SOURCE_ARTIFACTS,
|
|
266
|
+
SURFACE_CONTROLLER_CONTRACT,
|
|
267
|
+
SURFACE_CONTROLLER_DIAGNOSTIC_SCHEMA: SURFACE_DIAGNOSTIC_SCHEMA,
|
|
268
|
+
SURFACE_CONTROLLER_DOCS,
|
|
269
|
+
SURFACE_CONTROLLER_LOCAL_GATE,
|
|
270
|
+
SURFACE_CONTROLLER_MODULE,
|
|
271
|
+
SURFACE_CONTROLLER_PACKAGE_SCRIPT,
|
|
272
|
+
SURFACE_CONTROLLER_PLAN,
|
|
273
|
+
SURFACE_CONTROLLER_REPORT_SCHEMA,
|
|
274
|
+
SURFACE_CONTROLLER_RUNTIME,
|
|
275
|
+
SURFACE_CONTROLLER_SCHEMA,
|
|
276
|
+
SURFACE_DIAGNOSTIC_SCHEMA,
|
|
277
|
+
SURFACE_CONTROLLER_SNAPSHOT_SCHEMA: SURFACE_SNAPSHOT_SCHEMA,
|
|
278
|
+
SURFACE_CONTROLLER_STATUS,
|
|
279
|
+
SURFACE_CONTROLLER_SUITE,
|
|
280
|
+
SURFACE_CONTROLLER_TARGET,
|
|
281
|
+
SURFACE_CONTROLLER_TYPES,
|
|
282
|
+
SURFACE_CONTROLLER_WORKPACKAGE,
|
|
283
|
+
SURFACE_CONTROLLER_WORKPACKAGE_DOC,
|
|
284
|
+
SURFACE_OPERATION_RESULT_SCHEMA,
|
|
285
|
+
SURFACE_RECORD_SCHEMA,
|
|
286
|
+
SURFACE_SNAPSHOT_SCHEMA,
|
|
287
|
+
createSurfaceControllerPlan,
|
|
288
|
+
createSurfaceControllerReport,
|
|
289
|
+
validateSurfaceControllerPlan
|
|
290
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
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 KERNEL_BOUNDARY: XtendCatalogConstant;
|
|
12
|
+
export declare const LAYOUT_ENGINES: XtendCatalogConstant;
|
|
13
|
+
export declare const LAYOUT_ENGINE_EVENTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
14
|
+
export declare const MANAGER_METHODS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
15
|
+
export declare const REQUIRED_ARTIFACTS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
16
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_BACKLOG: string;
|
|
17
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_DIAGNOSTIC_SCHEMA: string;
|
|
18
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_DOCS: readonly XtendCatalogConstant[] | XtendCatalogConstant;
|
|
19
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_FIXTURE: XtendCatalogConstant;
|
|
20
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_LOCAL_GATE: string;
|
|
21
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_MODULE: string;
|
|
22
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_PACKAGE_SCRIPT: string;
|
|
23
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_REPORT_SCHEMA: string;
|
|
24
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_SCHEMA: string;
|
|
25
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_STATUS: string;
|
|
26
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_SUITE: string;
|
|
27
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_TARGET: string;
|
|
28
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_WORKPACKAGE: string;
|
|
29
|
+
export declare const SURFACE_MANAGER_LAYOUT_ENGINE_WORKPACKAGE_DOC: XtendCatalogConstant;
|
|
30
|
+
export declare function createSurfaceManagerLayoutEnginesPlan(options?: XtendCatalogOptions): XtendCatalogPlan;
|
|
31
|
+
export declare function createSurfaceManagerLayoutEnginesReport(options?: XtendCatalogOptions): XtendCatalogReport;
|
|
32
|
+
export declare function validateSurfaceManagerLayoutEnginesPlan(plan?: unknown): XtendCatalogReport;
|