@ccslabs/xtend 0.1.0-rc.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +4 -0
- package/catalog/component-catalog-coverage.js +2 -0
- package/catalog/epic13-package-export-lock.js +11 -1
- package/catalog/epic13-rmt-production-readiness.js +0 -1
- package/catalog/epic18-rmt-action-effect-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-action-effect-runtime.js +249 -0
- package/catalog/epic18-rmt-app-platform-authoring.d.ts +39 -0
- package/catalog/epic18-rmt-app-platform-authoring.js +319 -0
- package/catalog/epic18-rmt-app-platform-fixture.d.ts +33 -0
- package/catalog/epic18-rmt-app-platform-fixture.js +221 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.d.ts +30 -0
- package/catalog/epic18-rmt-app-platform-release-handoff.js +231 -0
- package/catalog/epic18-rmt-app-platform-tooling.d.ts +38 -0
- package/catalog/epic18-rmt-app-platform-tooling.js +242 -0
- package/catalog/epic18-rmt-component-template-primitives.d.ts +33 -0
- package/catalog/epic18-rmt-component-template-primitives.js +240 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.d.ts +35 -0
- package/catalog/epic18-rmt-dom-descriptor-renderer.js +232 -0
- package/catalog/epic18-rmt-event-routing-runtime.d.ts +35 -0
- package/catalog/epic18-rmt-event-routing-runtime.js +234 -0
- package/catalog/epic18-rmt-state-selector-runtime.d.ts +34 -0
- package/catalog/epic18-rmt-state-selector-runtime.js +216 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.d.ts +36 -0
- package/catalog/epic18-rmt-surface-resource-graph-runtime.js +256 -0
- package/catalog/surface-manager-controller.js +5 -1
- package/catalog/surface-manager-materialization.js +7 -1
- package/catalog/surface-manager-overlay-bridge.js +41 -6
- package/catalog/surface-manager-workbench-fixture.js +1 -1
- package/catalog/surface-type-capability-matrix.d.ts +61 -0
- package/catalog/surface-type-capability-matrix.js +183 -0
- package/catalog/type-exports-rmt.js +37 -1
- package/catalog/type-exports.js +3 -3
- package/components/icon-packs/lucide.js +4 -0
- package/components/manifest.json +2 -0
- package/components/prism-rmt.d.ts +34 -0
- package/components/prism-rmt.js +130 -0
- package/components/xcards.js +15 -0
- package/components/xcode.d.ts +36 -1
- package/components/xcode.js +215 -20
- package/components/xfooter.js +17 -0
- package/components/xheader.js +14 -0
- package/components/xhero.js +16 -1
- package/components/xlink.js +97 -14
- package/components/xmasonry.js +15 -0
- package/components/xplayer.d.ts +44 -2
- package/components/xplayer.js +242 -15
- package/components/xrouter.js +27 -2
- package/components/xsection.js +15 -0
- package/components/xsidepanel.js +10 -2
- package/components/xsurfacemanager-controller.d.ts +2 -1
- package/components/xsurfacemanager-controller.js +27 -3
- package/components/xsurfacemanager.d.ts +2 -0
- package/components/xsurfacemanager.js +20 -8
- package/components/xsurfaceoverlay-bridge.d.ts +20 -5
- package/components/xsurfaceoverlay-bridge.js +114 -18
- package/components/xsurfaceportal.d.ts +29 -0
- package/components/xsurfaceportal.js +122 -0
- package/components/xsurfaceregion.d.ts +50 -0
- package/components/xsurfaceregion.js +285 -0
- package/components/xsurfacewindow.js +2 -1
- package/components/xtooltip.js +89 -23
- package/docs/README.md +222 -298
- package/docs/changelog.md +107 -0
- package/docs/component-catalog-coverage.md +9 -9
- package/docs/component-platform.md +19 -1
- package/docs/component-ux-app-authoring.md +56 -63
- package/docs/components/xcode.md +83 -53
- package/docs/components/xsurfaceportal.md +32 -0
- package/docs/components/xsurfaceregion.md +37 -0
- package/docs/components.md +105 -69
- package/docs/de/README.md +264 -0
- package/docs/de/XTend-ADR.md +221 -0
- package/docs/de/a11y-keyboard-smokes.md +62 -0
- package/docs/de/about.md +18 -0
- package/docs/de/api.md +157 -0
- package/docs/de/best-practices.md +76 -0
- package/docs/de/changelog.md +107 -0
- package/docs/de/component-catalog-coverage.md +58 -0
- package/docs/de/component-lab.md +103 -0
- package/docs/de/component-long-tail-migration.md +41 -0
- package/docs/de/component-platform.md +177 -0
- package/docs/de/component-ux-app-authoring.md +123 -0
- package/docs/de/component-ux-authoring.md +96 -0
- package/docs/de/component-ux-gates.md +45 -0
- package/docs/de/components/x-rmt-lifecycle-demo-build.md +60 -0
- package/docs/de/components/xalert.md +81 -0
- package/docs/de/components/xbutton.md +103 -0
- package/docs/de/components/xcalendar.md +82 -0
- package/docs/de/components/xcards.md +128 -0
- package/docs/de/components/xcheckbox.md +102 -0
- package/docs/de/components/xcode.md +156 -0
- package/docs/de/components/xdialog.md +92 -0
- package/docs/de/components/xdrawer.md +84 -0
- package/docs/de/components/xfooter.md +126 -0
- package/docs/de/components/xform.md +128 -0
- package/docs/de/components/xheader.md +308 -0
- package/docs/de/components/xhero.md +142 -0
- package/docs/de/components/xicon.md +125 -0
- package/docs/de/components/xinput.md +129 -0
- package/docs/de/components/xlightbox.md +98 -0
- package/docs/de/components/xlink.md +109 -0
- package/docs/de/components/xmasonry.md +124 -0
- package/docs/de/components/xmenu.md +158 -0
- package/docs/de/components/xmodal.md +82 -0
- package/docs/de/components/xplayer.md +104 -0
- package/docs/de/components/xpopover.md +67 -0
- package/docs/de/components/xprogress.md +56 -0
- package/docs/de/components/xradio.md +103 -0
- package/docs/de/components/xrouter.md +260 -0
- package/docs/de/components/xsection.md +125 -0
- package/docs/de/components/xselect.md +105 -0
- package/docs/de/components/xsidepanel.md +30 -0
- package/docs/de/components/xspinner.md +102 -0
- package/docs/de/components/xstate.md +148 -0
- package/docs/de/components/xstatus.md +55 -0
- package/docs/de/components/xsummary.md +78 -0
- package/docs/de/components/xsurfacemanager.md +27 -0
- package/docs/de/components/xsurfacewindow.md +21 -0
- package/docs/de/components/xtabs.md +160 -0
- package/docs/de/components/xtextarea.md +98 -0
- package/docs/de/components/xtheme.md +167 -0
- package/docs/de/components/xtoast.md +62 -0
- package/docs/de/components/xtooltip.md +66 -0
- package/docs/de/components/xtype.md +82 -0
- package/docs/de/components/xutils.md +144 -0
- package/docs/de/components/xwriter.md +94 -0
- package/docs/de/components.md +153 -0
- package/docs/de/conditional-network-evidence-ci.md +38 -0
- package/docs/de/conditional-network-evidence.md +50 -0
- package/docs/de/core-migration-guide.md +110 -0
- package/docs/de/design-tokens.md +116 -0
- package/docs/de/docs-rmt-production-hardening.md +31 -0
- package/docs/de/enterprise-adoption.md +413 -0
- package/docs/de/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/de/epic10-platform-gates.md +62 -0
- package/docs/de/epic10-release-handoff.md +81 -0
- package/docs/de/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/de/epic12-rc0-handoff.md +61 -0
- package/docs/de/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/de/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/de/epic18-vendor-bugfixes.md +34 -0
- package/docs/de/existing-component-metadata.md +67 -0
- package/docs/de/hydration-performance-closure.md +34 -0
- package/docs/de/hydration-policies.md +71 -0
- package/docs/de/known-residual-triage.md +22 -0
- package/docs/de/manifest-import-policy.md +79 -0
- package/docs/de/manifest.md +112 -0
- package/docs/de/motion-contrast.md +67 -0
- package/docs/de/package-export-lock.md +44 -0
- package/docs/de/performance-measurements.md +106 -0
- package/docs/de/performance-regression.md +89 -0
- package/docs/de/performance.md +94 -0
- package/docs/de/previews/README.md +17 -0
- package/docs/de/prod-browser-csp-smokes.md +40 -0
- package/docs/de/public-component-types.md +79 -0
- package/docs/de/quick-start-guide.md +220 -0
- package/docs/de/rc0-adoption-guide.md +102 -0
- package/docs/de/rc0-gate-matrix.md +58 -0
- package/docs/de/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/de/rc1-migration-notes.md +69 -0
- package/docs/de/rc1-readiness.md +46 -0
- package/docs/de/release-owner-acceptance.md +56 -0
- package/docs/de/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/de/rmt-action-effect-runtime.md +81 -0
- package/docs/de/rmt-app-platform-authoring.md +54 -0
- package/docs/de/rmt-app-platform-fixture.md +46 -0
- package/docs/de/rmt-app-platform-migration-guide.md +88 -0
- package/docs/de/rmt-app-platform-tooling.md +79 -0
- package/docs/de/rmt-component-template-primitives.md +57 -0
- package/docs/de/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/de/rmt-dsl-authoring-polish.md +145 -0
- package/docs/de/rmt-event-routing-runtime.md +81 -0
- package/docs/de/rmt-first-demo-app.md +77 -0
- package/docs/de/rmt-first-xtend-apps.md +129 -0
- package/docs/de/rmt-kernel-panic-recovery-incident-handoff.md +61 -0
- package/docs/de/rmt-kernel-security-hardening-migration.md +50 -0
- package/docs/de/rmt-kernel-trusted-output-authoring.md +69 -0
- package/docs/de/rmt-language-server.md +234 -0
- package/docs/de/rmt-lifecycle-demo.md +24 -0
- package/docs/de/rmt-linter.md +140 -0
- package/docs/de/rmt-node-ssr-adapter.md +100 -0
- package/docs/de/rmt-php-ssr-adapter.md +120 -0
- package/docs/de/rmt-production-readiness.md +63 -0
- package/docs/de/rmt-state-selector-runtime.md +47 -0
- package/docs/de/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/de/rmt-tooling-release-gates.md +77 -0
- package/docs/de/rmt-vnext-authoring.md +170 -0
- package/docs/de/rmt-vnext-component-primitives.md +188 -0
- package/docs/de/rmt-vnext-cross-surface-events.md +68 -0
- package/docs/de/rmt-vnext-enterprise-mfe-handoff.md +70 -0
- package/docs/de/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/de/rmt-vnext-migration-notes.md +62 -0
- package/docs/de/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/de/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/de/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/de/rmt-vnext-primitive-migration.md +119 -0
- package/docs/de/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/de/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/de/rmt-vnext-primitives-compiler-backlog.md +739 -0
- package/docs/de/rmt-vnext-release-handoff.md +83 -0
- package/docs/de/rmt-vnext-remote-surfaces.md +90 -0
- package/docs/de/rmt-vnext-source-to-sea-gate.md +612 -0
- package/docs/de/rmt-vnext-surface-registry-enterprise.md +76 -0
- package/docs/de/screenreader-signals.md +56 -0
- package/docs/de/supply-chain-gates.md +100 -0
- package/docs/de/surface-manager-authoring-guide.md +94 -0
- package/docs/de/surface-manager-browser-lab.md +45 -0
- package/docs/de/surface-manager-component-lab.md +43 -0
- package/docs/de/surface-manager-controller.md +66 -0
- package/docs/de/surface-manager-layout-engines.md +32 -0
- package/docs/de/surface-manager-lazy-hydration.md +63 -0
- package/docs/de/surface-manager-migration-guide.md +122 -0
- package/docs/de/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/de/surface-manager-overlay-bridge.md +53 -0
- package/docs/de/surface-manager-persistence.md +30 -0
- package/docs/de/surface-manager-quality-gates.md +51 -0
- package/docs/de/surface-manager-release-handoff.md +68 -0
- package/docs/de/surface-manager-remote-policy.md +54 -0
- package/docs/de/surface-manager-rmt-authoring.md +102 -0
- package/docs/de/surface-manager-route-lifecycle.md +59 -0
- package/docs/de/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/de/surface-manager-side-panel-runtime.md +36 -0
- package/docs/de/surface-manager-stack-policy.md +39 -0
- package/docs/de/surface-manager-window-runtime.md +47 -0
- package/docs/de/surface-manager-workbench-fixture.md +43 -0
- package/docs/de/third-party-design-authoring.md +406 -0
- package/docs/de/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/de/trusted-dom-sanitizing.md +110 -0
- package/docs/de/type-exports.md +61 -0
- package/docs/de/typescript-components.md +63 -0
- package/docs/de/visual-browser-regression.md +83 -0
- package/docs/de/visual-owner-artifacts.md +46 -0
- package/docs/de/visual-snapshot-automation.md +87 -0
- package/docs/de/xtend-api-types.md +55 -0
- package/docs/de/xtend-builder-types.md +55 -0
- package/docs/de/xtend-catalog-types.md +44 -0
- package/docs/de/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/de/xtend-fabric.md +474 -0
- package/docs/de/xtend-loader-types.md +58 -0
- package/docs/de/xtend-loader.md +265 -0
- package/docs/de/xtend-policy-types.md +38 -0
- package/docs/de/xtend-rmt-types.md +40 -0
- package/docs/de/xtend-vendor-types.md +36 -0
- package/docs/de/xtendrmt-app-dsl.md +334 -0
- package/docs/de/xtendrmt-migration-guide.md +266 -0
- package/docs/de/xtendrmt-native-authoring.md +333 -0
- package/docs/de/xtendrmt-overview.md +109 -0
- package/docs/de/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/de/xtendrmt-runtime-bridge.md +155 -0
- package/docs/en/README.md +163 -0
- package/docs/en/XTend-ADR.md +221 -0
- package/docs/en/a11y-keyboard-smokes.md +68 -0
- package/docs/en/about.md +25 -0
- package/docs/en/api.md +171 -0
- package/docs/en/best-practices.md +125 -0
- package/docs/en/changelog.md +104 -0
- package/docs/en/component-catalog-coverage.md +104 -0
- package/docs/en/component-lab.md +103 -0
- package/docs/en/component-long-tail-migration.md +41 -0
- package/docs/en/component-platform.md +243 -0
- package/docs/en/component-ux-app-authoring.md +118 -0
- package/docs/en/component-ux-authoring.md +96 -0
- package/docs/en/component-ux-gates.md +45 -0
- package/docs/en/components/x-rmt-lifecycle-demo-build.md +75 -0
- package/docs/en/components/xalert.md +94 -0
- package/docs/en/components/xbutton.md +118 -0
- package/docs/en/components/xcalendar.md +95 -0
- package/docs/en/components/xcards.md +139 -0
- package/docs/en/components/xcheckbox.md +118 -0
- package/docs/en/components/xcode.md +153 -0
- package/docs/en/components/xdialog.md +108 -0
- package/docs/en/components/xdrawer.md +110 -0
- package/docs/en/components/xfooter.md +138 -0
- package/docs/en/components/xform.md +147 -0
- package/docs/en/components/xheader.md +308 -0
- package/docs/en/components/xhero.md +157 -0
- package/docs/en/components/xicon.md +149 -0
- package/docs/en/components/xinput.md +147 -0
- package/docs/en/components/xlightbox.md +113 -0
- package/docs/en/components/xlink.md +130 -0
- package/docs/en/components/xmasonry.md +136 -0
- package/docs/en/components/xmenu.md +185 -0
- package/docs/en/components/xmodal.md +102 -0
- package/docs/en/components/xplayer.md +114 -0
- package/docs/en/components/xpopover.md +87 -0
- package/docs/en/components/xprogress.md +73 -0
- package/docs/en/components/xradio.md +119 -0
- package/docs/en/components/xrouter.md +260 -0
- package/docs/en/components/xsection.md +136 -0
- package/docs/en/components/xselect.md +122 -0
- package/docs/en/components/xsidepanel.md +48 -0
- package/docs/en/components/xspinner.md +118 -0
- package/docs/en/components/xstate.md +163 -0
- package/docs/en/components/xstatus.md +71 -0
- package/docs/en/components/xsummary.md +90 -0
- package/docs/en/components/xsurfacemanager.md +42 -0
- package/docs/en/components/xsurfacewindow.md +31 -0
- package/docs/en/components/xtabs.md +187 -0
- package/docs/en/components/xtextarea.md +115 -0
- package/docs/en/components/xtheme.md +203 -0
- package/docs/en/components/xtoast.md +78 -0
- package/docs/en/components/xtooltip.md +85 -0
- package/docs/en/components/xtype.md +91 -0
- package/docs/en/components/xutils.md +161 -0
- package/docs/en/components/xwriter.md +106 -0
- package/docs/en/components.md +151 -0
- package/docs/en/conditional-network-evidence-ci.md +38 -0
- package/docs/en/conditional-network-evidence.md +50 -0
- package/docs/en/core-migration-guide.md +110 -0
- package/docs/en/design-tokens.md +137 -0
- package/docs/en/docs-rmt-production-hardening.md +31 -0
- package/docs/en/enterprise-adoption.md +413 -0
- package/docs/en/enterprise-component-flex-release-handoff.md +129 -0
- package/docs/en/epic10-platform-gates.md +62 -0
- package/docs/en/epic10-release-handoff.md +81 -0
- package/docs/en/epic11-enterprise-ux-handoff.md +70 -0
- package/docs/en/epic12-rc0-handoff.md +61 -0
- package/docs/en/epic18-media-manager-vendor-upstream.md +232 -0
- package/docs/en/epic18-rmt-app-platform-release-handoff.md +60 -0
- package/docs/en/epic18-vendor-bugfixes.md +29 -0
- package/docs/en/existing-component-metadata.md +67 -0
- package/docs/en/hydration-performance-closure.md +34 -0
- package/docs/en/hydration-policies.md +75 -0
- package/docs/en/known-residual-triage.md +22 -0
- package/docs/en/manifest-import-policy.md +81 -0
- package/docs/en/manifest.md +135 -0
- package/docs/en/motion-contrast.md +67 -0
- package/docs/en/package-export-lock.md +44 -0
- package/docs/en/performance-measurements.md +106 -0
- package/docs/en/performance-regression.md +89 -0
- package/docs/en/performance.md +132 -0
- package/docs/en/previews/README.md +17 -0
- package/docs/en/prod-browser-csp-smokes.md +40 -0
- package/docs/en/public-component-types.md +79 -0
- package/docs/en/quick-start-guide.md +189 -0
- package/docs/en/rc0-adoption-guide.md +102 -0
- package/docs/en/rc0-gate-matrix.md +58 -0
- package/docs/en/rc1-gate-matrix-ci-handoff.md +56 -0
- package/docs/en/rc1-migration-notes.md +69 -0
- package/docs/en/rc1-readiness.md +46 -0
- package/docs/en/release-owner-acceptance.md +56 -0
- package/docs/en/release-report-pack-dry-run-evidence.md +39 -0
- package/docs/en/rmt-action-effect-runtime.md +101 -0
- package/docs/en/rmt-app-platform-authoring.md +47 -0
- package/docs/en/rmt-app-platform-fixture.md +35 -0
- package/docs/en/rmt-app-platform-migration-guide.md +75 -0
- package/docs/en/rmt-app-platform-tooling.md +58 -0
- package/docs/en/rmt-component-template-primitives.md +49 -0
- package/docs/en/rmt-dom-descriptor-renderer.md +54 -0
- package/docs/en/rmt-dsl-authoring-polish.md +143 -0
- package/docs/en/rmt-event-routing-runtime.md +98 -0
- package/docs/en/rmt-first-demo-app.md +87 -0
- package/docs/en/rmt-first-xtend-apps.md +127 -0
- package/docs/en/rmt-kernel-panic-recovery-incident-handoff.md +60 -0
- package/docs/en/rmt-kernel-security-hardening-migration.md +49 -0
- package/docs/en/rmt-kernel-trusted-output-authoring.md +68 -0
- package/docs/en/rmt-language-server.md +243 -0
- package/docs/en/rmt-lifecycle-demo.md +23 -0
- package/docs/en/rmt-linter.md +146 -0
- package/docs/en/rmt-node-ssr-adapter.md +99 -0
- package/docs/en/rmt-php-ssr-adapter.md +118 -0
- package/docs/en/rmt-production-readiness.md +63 -0
- package/docs/en/rmt-state-selector-runtime.md +34 -0
- package/docs/en/rmt-surface-resource-graph-runtime.md +68 -0
- package/docs/en/rmt-tooling-release-gates.md +77 -0
- package/docs/en/rmt-vnext-authoring.md +102 -0
- package/docs/en/rmt-vnext-component-primitives.md +185 -0
- package/docs/en/rmt-vnext-cross-surface-events.md +59 -0
- package/docs/en/rmt-vnext-enterprise-mfe-handoff.md +62 -0
- package/docs/en/rmt-vnext-fabric-bridge-evidence.md +64 -0
- package/docs/en/rmt-vnext-migration-notes.md +62 -0
- package/docs/en/rmt-vnext-primitive-authoring-tooling.md +174 -0
- package/docs/en/rmt-vnext-primitive-grammar-design.md +268 -0
- package/docs/en/rmt-vnext-primitive-lowering.md +91 -0
- package/docs/en/rmt-vnext-primitive-migration.md +93 -0
- package/docs/en/rmt-vnext-primitive-parser-ast.md +59 -0
- package/docs/en/rmt-vnext-primitive-semantic-graph.md +103 -0
- package/docs/en/rmt-vnext-primitives-compiler-backlog.md +327 -0
- package/docs/en/rmt-vnext-release-handoff.md +83 -0
- package/docs/en/rmt-vnext-remote-surfaces.md +81 -0
- package/docs/en/rmt-vnext-source-to-sea-gate.md +482 -0
- package/docs/en/rmt-vnext-surface-registry-enterprise.md +68 -0
- package/docs/en/screenreader-signals.md +56 -0
- package/docs/en/supply-chain-gates.md +106 -0
- package/docs/en/surface-manager-authoring-guide.md +94 -0
- package/docs/en/surface-manager-browser-lab.md +45 -0
- package/docs/en/surface-manager-component-lab.md +43 -0
- package/docs/en/surface-manager-controller.md +66 -0
- package/docs/en/surface-manager-layout-engines.md +32 -0
- package/docs/en/surface-manager-lazy-hydration.md +63 -0
- package/docs/en/surface-manager-migration-guide.md +113 -0
- package/docs/en/surface-manager-native-rmt-surfaces.md +38 -0
- package/docs/en/surface-manager-overlay-bridge.md +53 -0
- package/docs/en/surface-manager-persistence.md +30 -0
- package/docs/en/surface-manager-quality-gates.md +51 -0
- package/docs/en/surface-manager-release-handoff.md +68 -0
- package/docs/en/surface-manager-remote-policy.md +54 -0
- package/docs/en/surface-manager-rmt-authoring.md +89 -0
- package/docs/en/surface-manager-route-lifecycle.md +59 -0
- package/docs/en/surface-manager-runtime-release-handoff.md +69 -0
- package/docs/en/surface-manager-side-panel-runtime.md +36 -0
- package/docs/en/surface-manager-stack-policy.md +39 -0
- package/docs/en/surface-manager-window-runtime.md +47 -0
- package/docs/en/surface-manager-workbench-fixture.md +43 -0
- package/docs/en/third-party-design-authoring.md +406 -0
- package/docs/en/trusted-dom-boundary-browser-proof.md +32 -0
- package/docs/en/trusted-dom-sanitizing.md +124 -0
- package/docs/en/type-exports.md +61 -0
- package/docs/en/typescript-components.md +63 -0
- package/docs/en/visual-browser-regression.md +83 -0
- package/docs/en/visual-owner-artifacts.md +46 -0
- package/docs/en/visual-snapshot-automation.md +87 -0
- package/docs/en/xtend-api-types.md +55 -0
- package/docs/en/xtend-builder-types.md +55 -0
- package/docs/en/xtend-catalog-types.md +44 -0
- package/docs/en/xtend-fabric-rmt-lane-mapping.md +143 -0
- package/docs/en/xtend-fabric.md +474 -0
- package/docs/en/xtend-loader-types.md +58 -0
- package/docs/en/xtend-loader.md +265 -0
- package/docs/en/xtend-policy-types.md +38 -0
- package/docs/en/xtend-rmt-types.md +40 -0
- package/docs/en/xtend-vendor-types.md +36 -0
- package/docs/en/xtendrmt-app-dsl.md +331 -0
- package/docs/en/xtendrmt-migration-guide.md +256 -0
- package/docs/en/xtendrmt-native-authoring.md +336 -0
- package/docs/en/xtendrmt-overview.md +63 -0
- package/docs/en/xtendrmt-parsedown-scheduling.md +301 -0
- package/docs/en/xtendrmt-runtime-bridge.md +155 -0
- package/docs/enterprise-adoption.md +4 -2
- package/docs/epic18-media-manager-vendor-upstream.md +318 -0
- package/docs/epic18-rmt-app-platform-release-handoff.md +67 -0
- package/docs/epic18-vendor-bugfixes.md +34 -0
- package/docs/index.php +1056 -109
- package/docs/manifest.md +8 -2
- package/docs/menu.json +986 -133
- package/docs/package-export-lock.md +2 -2
- package/docs/public-component-types.md +2 -2
- package/docs/quick-start-guide.md +126 -58
- package/docs/rmt-action-effect-runtime.md +101 -0
- package/docs/rmt-app-platform-authoring.md +54 -0
- package/docs/rmt-app-platform-fixture.md +46 -0
- package/docs/rmt-app-platform-migration-guide.md +88 -0
- package/docs/rmt-app-platform-tooling.md +79 -0
- package/docs/rmt-component-template-primitives.md +57 -0
- package/docs/rmt-dom-descriptor-renderer.md +64 -0
- package/docs/rmt-dsl-authoring-polish.md +67 -44
- package/docs/rmt-event-routing-runtime.md +98 -0
- package/docs/rmt-first-demo-app.md +2 -2
- package/docs/rmt-first-xtend-apps.md +70 -46
- package/docs/rmt-language-server.md +61 -4
- package/docs/rmt-lifecycle-demo.md +1 -2
- package/docs/rmt-node-ssr-adapter.md +144 -0
- package/docs/rmt-php-ssr-adapter.md +158 -0
- package/docs/rmt-state-selector-runtime.md +47 -0
- package/docs/rmt-surface-resource-graph-runtime.md +92 -0
- package/docs/rmt-vnext-authoring.md +128 -18
- package/docs/rmt-vnext-component-primitives.md +188 -0
- package/docs/rmt-vnext-fabric-bridge-evidence.md +81 -0
- package/docs/rmt-vnext-primitive-authoring-tooling.md +247 -0
- package/docs/rmt-vnext-primitive-grammar-design.md +289 -0
- package/docs/rmt-vnext-primitive-lowering.md +108 -0
- package/docs/rmt-vnext-primitive-migration.md +119 -0
- package/docs/rmt-vnext-primitive-parser-ast.md +76 -0
- package/docs/rmt-vnext-primitive-semantic-graph.md +118 -0
- package/docs/rmt-vnext-primitives-compiler-backlog.md +742 -0
- package/docs/rmt-vnext-release-handoff.md +14 -0
- package/docs/rmt-vnext-source-to-sea-gate.md +629 -0
- package/docs/surface-manager-migration-guide.md +34 -6
- package/docs/surface-manager-overlay-bridge.md +9 -4
- package/docs/surface-manager-rmt-authoring.md +50 -34
- package/docs/surface-manager-workbench-fixture.md +1 -2
- package/docs/third-party-design-authoring.md +1 -1
- package/docs/type-exports.md +3 -3
- package/docs/utils/pageloader.js +811 -62
- package/docs/visual-browser-regression.md +1 -1
- package/docs/xtend-rmt-types.md +3 -2
- package/docs/xtendrmt-app-dsl.md +187 -122
- package/docs/xtendrmt-docs-shell-vnext.rmt +165 -0
- package/docs/xtendrmt-migration-guide.md +48 -17
- package/docs/xtendrmt-native-authoring.md +213 -217
- package/docs/xtendrmt-overview.md +81 -61
- package/docs/xtendrmt-parsedown-scheduling.md +23 -8
- package/fabric/package.json +1 -1
- package/package.json +684 -21
- package/tools/package.json +5 -1
- package/tools/rmt-editor/vscode/README.md +72 -5
- package/tools/rmt-editor/vscode/XTend-Logo.png +0 -0
- package/tools/rmt-editor/vscode/extension.d.ts +33 -0
- package/tools/rmt-editor/vscode/extension.js +1816 -7
- package/tools/rmt-editor/vscode/language-configuration.json +2 -1
- package/tools/rmt-editor/vscode/package.json +193 -2
- package/tools/rmt-editor/vscode/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-editor/vscode/syntaxes/rmt.tmLanguage.json +103 -1
- package/tools/rmt-editor/vscode/templates/launch.json +70 -0
- package/tools/rmt-editor/vscode/templates/tasks.json +172 -0
- package/tools/rmt-editor/vscode/xtend-rmt-language-0.0.0-enterprise-readiness.vsix +0 -0
- package/tools/rmt-language/app-platform-tooling.d.ts +128 -0
- package/tools/rmt-language/app-platform-tooling.js +677 -0
- package/tools/rmt-language/completions.d.ts +5 -0
- package/tools/rmt-language/completions.js +185 -3
- package/tools/rmt-language/diagnostics.js +54 -0
- package/tools/rmt-language/hover.js +36 -0
- package/tools/rmt-language/rmt-tooling-public-types.d.ts +7 -0
- package/tools/rmt-language/rules/app-platform-policy.js +39 -0
- package/tools/rmt-language/rules/index.js +5 -1
- package/tools/rmt-language/semantic-graph.d.ts +6 -0
- package/tools/rmt-language/semantic-graph.js +928 -0
- package/tools/rmt-language/snippets/index.js +44 -0
- package/tools/rmt-language/snippets/rmt.code-snippets +41 -0
- package/tools/rmt-language/vnext-compatibility.d.ts +10 -0
- package/tools/rmt-language/vnext-compatibility.js +642 -0
- package/tools/rmt-language/vnext-compiler.d.ts +5 -0
- package/tools/rmt-language/vnext-compiler.js +863 -17
- package/tools/rmt-language/vnext-parser.js +725 -9
- package/tools/rmt-language/vnext-release.d.ts +1 -0
- package/tools/rmt-language/vnext-release.js +20 -0
- package/tools/rmt-language/vnext-source-to-sea.d.ts +33 -0
- package/tools/rmt-language/vnext-source-to-sea.js +2227 -0
- package/tools/rmt-language/vnext-surfaces.js +111 -52
- package/tools/rmt-language/vnext-tooling.d.ts +19 -1
- package/tools/rmt-language/vnext-tooling.js +1247 -5
- package/tools/rmt-language-server/protocol.js +3 -0
- package/tools/rmt-language-server/server.d.ts +2 -0
- package/tools/rmt-language-server/server.js +176 -22
- package/tools/rmt-linter/cli.d.ts +2 -0
- package/tools/rmt-linter/cli.js +62 -0
- package/xtend-builder/generators/registry.js +11 -0
- package/xtend-builder/generators/rmt-app-platform.js +239 -0
- package/xtend-builder/generators/rmt-lifecycle-demo.js +3 -11
- package/xtend-builder/lib/cli.js +38 -0
- package/xtend-builder/package.json +3 -3
- package/xtend-builder/scaffold.config.js +29 -2
- package/xtend.css +49 -2
- package/xtendrmt/package.json +49 -1
- package/xtendrmt/rmt-action-effect-runtime.d.ts +126 -0
- package/xtendrmt/rmt-action-effect-runtime.js +494 -0
- package/xtendrmt/rmt-component-capability-registry.d.ts +180 -0
- package/xtendrmt/rmt-component-capability-registry.js +636 -0
- package/xtendrmt/rmt-core.d.ts +6 -0
- package/xtendrmt/rmt-core.esm.js +32 -6
- package/xtendrmt/rmt-dom-descriptor-renderer.d.ts +107 -0
- package/xtendrmt/rmt-dom-descriptor-renderer.js +1066 -0
- package/xtendrmt/rmt-event-routing-runtime.d.ts +144 -0
- package/xtendrmt/rmt-event-routing-runtime.js +666 -0
- package/xtendrmt/rmt-lifecycle-demo.app.js +2 -2
- package/xtendrmt/rmt-lifecycle-demo.core.json +4 -0
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.app.js +1 -1
- package/xtendrmt/rmt-lifecycle-demo.rmt-build.scaffold.json +2 -2
- package/xtendrmt/rmt-lifecycle-demo.scaffold.json +4 -4
- package/xtendrmt/rmt-native-shell-runtime.d.ts +77 -0
- package/xtendrmt/rmt-native-shell-runtime.js +309 -0
- package/xtendrmt/rmt-node-ssr-adapter.d.ts +197 -0
- package/xtendrmt/rmt-node-ssr-adapter.js +1006 -0
- package/xtendrmt/rmt-php-ssr-adapter.php +976 -0
- package/xtendrmt/rmt-runtime.browser.js +32 -6
- package/xtendrmt/rmt-runtime.esm.js +32 -6
- package/xtendrmt/rmt-state-selector-runtime.d.ts +166 -0
- package/xtendrmt/rmt-state-selector-runtime.js +866 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.d.ts +224 -0
- package/xtendrmt/rmt-surface-resource-graph-runtime.js +932 -0
- package/xtendrmt/rmt-vnext-enterprise-mfe-demo.core.json +3 -0
- package/xtendrmt/rmt-vnext-reference-demo.core.json +3 -0
- package/xtendrmt/xtendrmt-bestcase-demo.core.json +3420 -372
- package/xtendrmt/xtendrmt-bestcase-demo.js +424 -8
- package/xtendrmt/xtendrmt-bestcase-demo.rmt +214 -6
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Public Component Types
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.docs.public-component-types.v1`
|
|
4
|
+
- Type Contract: `xtend.enterprise.er-wp-34.public-component-types.v1`
|
|
5
|
+
- Workpackage: `ER-WP-34`
|
|
6
|
+
|
|
7
|
+
XTend liefert fuer priorisierte Public Components lokale TypeScript-Declaration-Artefakte neben der jeweiligen Runtime-Source aus. Die Dateien liegen direkt in `components/*.d.ts` und werden ueber den Package-Export `xtend/components/*` erreichbar.
|
|
8
|
+
|
|
9
|
+
## Lokaler Contract
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
components/xtend-public-types.d.ts
|
|
13
|
+
components/xalert.d.ts
|
|
14
|
+
components/xtoast.d.ts
|
|
15
|
+
components/xmodal.d.ts
|
|
16
|
+
components/xrouter.d.ts
|
|
17
|
+
components/xlink.d.ts
|
|
18
|
+
components/xinput.d.ts
|
|
19
|
+
components/xselect.d.ts
|
|
20
|
+
components/xcheckbox.d.ts
|
|
21
|
+
components/xradio.d.ts
|
|
22
|
+
components/xtextarea.d.ts
|
|
23
|
+
components/xstatus.d.ts
|
|
24
|
+
components/xprogress.d.ts
|
|
25
|
+
components/xtooltip.d.ts
|
|
26
|
+
components/xpopover.d.ts
|
|
27
|
+
components/xdrawer.d.ts
|
|
28
|
+
components/xform.d.ts
|
|
29
|
+
components/xtabs.d.ts
|
|
30
|
+
components/xdialog.d.ts
|
|
31
|
+
components/xlightbox.d.ts
|
|
32
|
+
components/xcalendar.d.ts
|
|
33
|
+
components/xwriter.d.ts
|
|
34
|
+
components/xtheme.d.ts
|
|
35
|
+
components/xbutton.d.ts
|
|
36
|
+
components/xspinner.d.ts
|
|
37
|
+
components/xmenu.d.ts
|
|
38
|
+
components/xsummary.d.ts
|
|
39
|
+
components/xplayer.d.ts
|
|
40
|
+
components/xsection.d.ts
|
|
41
|
+
components/xcards.d.ts
|
|
42
|
+
components/xheader.d.ts
|
|
43
|
+
components/xfooter.d.ts
|
|
44
|
+
components/xhero.d.ts
|
|
45
|
+
components/xtype.d.ts
|
|
46
|
+
components/xcode.d.ts
|
|
47
|
+
components/xmasonry.d.ts
|
|
48
|
+
components/xstate.d.ts
|
|
49
|
+
components/xutils.d.ts
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Jede Komponenten-Datei beschreibt:
|
|
53
|
+
|
|
54
|
+
- Public Attribute-Namen
|
|
55
|
+
- Public Property- und Methodenflaechen
|
|
56
|
+
- Eventnamen
|
|
57
|
+
- `CustomEvent` Detail-Payloads
|
|
58
|
+
- `HTMLElementTagNameMap` fuer Custom Elements
|
|
59
|
+
- typed `addEventListener` Overloads fuer komponentenspezifische Events
|
|
60
|
+
|
|
61
|
+
`x-theme` ist kein Custom Element, sondern ein Core-Modul. Seine Typen beschreiben deshalb `window.XTend.theme`, `window.XTheme`, A11y-Preference-Snapshots, Motion-/Contrast-Policy, Density, Theme Context, Performance Snapshot, RMT Metadata und die Document-Events `theme-initialized`, `theme-changed`, `theme-variable-changed`, `theme-preference-changed`, `theme-a11y-announcement`, `theme-density-changed`, `theme-context-changed` und `theme-performance-measured`.
|
|
62
|
+
|
|
63
|
+
## Gate
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
node scripts/run_xtend_tests.js components
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Die Component-Suite enthaelt ab `ER-WP-34` den Sub-Gate `component-public-types`. Nach `RC1TB-WP-03` prueft er die Shared-Type-Helfer, alle 44 priorisierten `.d.ts` Dateien, Eventnamen, Detail-Typen, API-Methoden und Element-/Window-Mappings.
|
|
70
|
+
|
|
71
|
+
Ab `WP-TypeExports-09` ist der Component-Wildcard-Export auch im produktiven TypeExports-Handoff abgedeckt. `./components/*` bleibt eine adjacent-Declaration-Grenze: Consumer bekommen `components/*.d.ts` ueber die nebenliegenden Dateien, waehrend `node scripts/run_xtend_tests.js type-exports --json` verhindert, dass neue Public Component Exports ohne Type-Entscheidung in die Package Surface geraten.
|
|
72
|
+
|
|
73
|
+
## Coverage-Status
|
|
74
|
+
|
|
75
|
+
Nach `RC1TB-WP-03` stehen `types` in der Component Catalog Coverage Matrix bei `44/44`. `x-input`, `x-select`, `x-checkbox`, `x-radio`, `x-rmt-lifecycle-demo-build`, `x-textarea`, `x-form`, `x-calendar`, `x-writer`, `x-status`, `x-progress`, `x-tooltip`, `x-popover`, `x-drawer`, `x-surface-manager`, `x-surface-portal`, `x-surface-region`, `x-surface-window`, `x-side-panel`, `x-modal`, `x-dialog`, `x-alert`, `x-toast`, `x-spinner`, `x-router`, `x-link`, `x-tabs`, `x-theme`, `x-button`, `x-icon`, `x-menu`, `x-footer`, `x-lightbox`, `x-masonry`, `x-code`, `x-header`, `x-hero`, `x-type`, `x-summary`, `x-section`, `x-cards` und `x-player` sind die aktuelle `enterprise-ready` Referenzlinie mit Public Types, Component-Suite, Fixture, A11y und Performance-Profil. `xstate` besitzt Public Types fuer Boundary Contract, RMT State Adapter, Lifecycle Events und Diagnostics. `x-utils` besitzt Public Types fuer Utility Contract, Import Policy, Boundary Snapshot, UI Effects, Template API sowie die Events `xutils:import-policy-check` und `xutils:ui-effects-change`.
|
|
76
|
+
|
|
77
|
+
Es gibt nach `WP-E12-09` keinen verbleibenden Type-Gap. Seit `WP-E13-05` sind auch die frueheren Boundary-Residuals geschlossen: `xstate` ist `closed-as-runtime-boundary`, `x-utils` ist `closed-as-utility-boundary`. Beide bleiben Public-Type-Boundaries, aber keine offenen Type- oder Performance-Aufgaben.
|
|
78
|
+
|
|
79
|
+
Die frueheren Vendor-Grenzen `components/prism.js` und `components/turndown.js` besitzen ab `WP-TypeExports-08` schmale Facade-Declarations. Sie sind keine Public XTend UI Komponenten, werden aber vom TypeExports-Release-Gate gegen unbeabsichtigten Declaration Drift mitgeprueft.
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# Quick Start Guide
|
|
2
|
+
|
|
3
|
+
Dieser Guide bringt dich von einer lokalen XTend-Seite zu einer kleinen
|
|
4
|
+
RMT-vNext-App-Shell. Der schnellste Einstieg bleibt HTML mit Web Components;
|
|
5
|
+
der empfohlene Ausbaupfad fuer Apps ist RMT-first.
|
|
6
|
+
|
|
7
|
+
## Voraussetzungen
|
|
8
|
+
|
|
9
|
+
- Node.js 18 oder neuer
|
|
10
|
+
- ein lokaler Checkout des XTend-Repositories
|
|
11
|
+
- ein Browser mit Custom-Elements- und ES-Module-Support
|
|
12
|
+
|
|
13
|
+
Starte den lokalen Dev Server:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm run dev:local
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Der Server liefert die App normalerweise unter `http://127.0.0.1:4173/` aus.
|
|
20
|
+
|
|
21
|
+
## 1. Minimalen Host starten
|
|
22
|
+
|
|
23
|
+
Lege im Projekt eine HTML-Datei an, zum Beispiel `quick-start.html`:
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<!doctype html>
|
|
27
|
+
<html lang="de">
|
|
28
|
+
<head>
|
|
29
|
+
<meta charset="utf-8">
|
|
30
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
31
|
+
<meta name="xtend-preload" content="x-theme,x-section,x-button">
|
|
32
|
+
<title>XTend Quick Start</title>
|
|
33
|
+
<script
|
|
34
|
+
type="module"
|
|
35
|
+
src="/xtend-loader.js"
|
|
36
|
+
data-manifest="/components/manifest.json">
|
|
37
|
+
</script>
|
|
38
|
+
</head>
|
|
39
|
+
<body>
|
|
40
|
+
<main>
|
|
41
|
+
<x-section layout="column" label="Quick Start">
|
|
42
|
+
<h1>Hallo XTend</h1>
|
|
43
|
+
<p>Diese App laeuft mit lokalen Web Components.</p>
|
|
44
|
+
<x-button variant="primary">Loslegen</x-button>
|
|
45
|
+
</x-section>
|
|
46
|
+
</main>
|
|
47
|
+
</body>
|
|
48
|
+
</html>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Oeffne danach `http://127.0.0.1:4173/quick-start.html`.
|
|
52
|
+
|
|
53
|
+
Was passiert hier?
|
|
54
|
+
|
|
55
|
+
- `xtend-loader.js` ist der lokale Loader.
|
|
56
|
+
- `components/manifest.json` ist die Component Registry.
|
|
57
|
+
- `meta name="xtend-preload"` laedt kritische Komponenten frueh.
|
|
58
|
+
- `x-theme` ist ein Infrastrukturmodul; `x-section` und `x-button` sind
|
|
59
|
+
normale XTend Web Components.
|
|
60
|
+
- `/xtend.css` ist optional und dient Host-Theming.
|
|
61
|
+
|
|
62
|
+
## 2. App Shell in RMT vNext beschreiben
|
|
63
|
+
|
|
64
|
+
Wenn aus der Seite eine App wird, soll die Shell in RMT liegen. RMT vNext
|
|
65
|
+
beschreibt UI-Struktur, State, Actions, Events, Surfaces und Scheduling in
|
|
66
|
+
einer lesbaren `.rmt` Quelle.
|
|
67
|
+
|
|
68
|
+
Lege zum Beispiel `app.rmt` an:
|
|
69
|
+
|
|
70
|
+
```rmt
|
|
71
|
+
template quickstart.app {
|
|
72
|
+
state counter type number initial 0
|
|
73
|
+
|
|
74
|
+
selector counterLabel from state counter {
|
|
75
|
+
output text
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
action increment {
|
|
79
|
+
input amount number
|
|
80
|
+
reduce state.counter = input.amount
|
|
81
|
+
emit counter.changed with action increment
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
portal app root "#app-root" layer surface
|
|
85
|
+
|
|
86
|
+
surface home kind page component x-section {
|
|
87
|
+
source state counter
|
|
88
|
+
portal app
|
|
89
|
+
key route.path
|
|
90
|
+
|
|
91
|
+
lane visible weight 80 {
|
|
92
|
+
hydrate x-section from state counter
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
on click target button.primary -> action increment {
|
|
96
|
+
payload amount from 1
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Dieses Dokument ist kein Runtime-Import und keine Framework-Komponente. Es ist
|
|
103
|
+
die App-Beschreibung: Der Compiler erzeugt daraus Core-/Kernel-Records, die
|
|
104
|
+
Host-Adapter mit XTend Components, XRouter und Fabric verbinden koennen.
|
|
105
|
+
|
|
106
|
+
## 3. XTend UI aus RMT materialisieren
|
|
107
|
+
|
|
108
|
+
Fuer Runtime-Hosts verbindet die Component Capability Registry RMT-Descriptoren
|
|
109
|
+
mit den vorhandenen XTend-Komponenten aus dem Manifest. Dadurch bleiben
|
|
110
|
+
Component Contracts, Events, Slots, Parts und State-Bindings die gemeinsame
|
|
111
|
+
Quelle der Wahrheit:
|
|
112
|
+
|
|
113
|
+
```js
|
|
114
|
+
import {
|
|
115
|
+
createRmtComponentCapabilityRegistry
|
|
116
|
+
} from '@ccslabs/xtend/rmt/component-capability-registry';
|
|
117
|
+
import {
|
|
118
|
+
createRmtDomDescriptorRenderer
|
|
119
|
+
} from '@ccslabs/xtend/rmt/dom-descriptor-renderer';
|
|
120
|
+
|
|
121
|
+
const registry = createRmtComponentCapabilityRegistry({ manifest, sourceTexts });
|
|
122
|
+
const renderer = createRmtDomDescriptorRenderer({ documentTarget: document });
|
|
123
|
+
|
|
124
|
+
renderer.renderKeyed(root, [
|
|
125
|
+
registry.buildComponentDescriptor({
|
|
126
|
+
tag: 'x-button',
|
|
127
|
+
key: 'primary-action',
|
|
128
|
+
attributes: { variant: 'primary' },
|
|
129
|
+
slots: { default: { text: 'Loslegen' } },
|
|
130
|
+
events: { click: 'quickstart.increment' }
|
|
131
|
+
})
|
|
132
|
+
], {
|
|
133
|
+
componentRegistry: registry,
|
|
134
|
+
dispatchEvent: actions.dispatch,
|
|
135
|
+
stateBridge
|
|
136
|
+
});
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
So koennen RMT-Primitives XTend UI nutzen, ohne Shadow-DOM-Patches,
|
|
140
|
+
komponentenspezifische Renderer oder manuelle HTML-Sinks einzubauen.
|
|
141
|
+
|
|
142
|
+
## 4. Serverseitig vorhydrieren
|
|
143
|
+
|
|
144
|
+
Node-Hosts koennen dieselbe RMT-Beschreibung fuer SSR und inkrementelles JSONL
|
|
145
|
+
nutzen. Der Adapter bleibt framework-neutral und startet keinen eigenen
|
|
146
|
+
HTTP-Server:
|
|
147
|
+
|
|
148
|
+
```js
|
|
149
|
+
import {
|
|
150
|
+
createRmtNodeSsrAdapter
|
|
151
|
+
} from '@ccslabs/xtend/rmt/node-ssr-adapter';
|
|
152
|
+
|
|
153
|
+
const adapter = createRmtNodeSsrAdapter({ manifest, sourceTexts });
|
|
154
|
+
const result = await adapter.render({ source, filePath: 'app.rmt' });
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
PHP/Laravel-Hosts nutzen denselben clientseitigen Wire-Shape ueber das
|
|
158
|
+
Single-File-Modul:
|
|
159
|
+
|
|
160
|
+
```php
|
|
161
|
+
require __DIR__ . '/xtendrmt/rmt-php-ssr-adapter.php';
|
|
162
|
+
|
|
163
|
+
$adapter = createRmtPhpSsrAdapter(['manifest' => $manifest]);
|
|
164
|
+
$result = $adapter->render(['coreDocument' => $coreDocument]);
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Mehr dazu:
|
|
168
|
+
[RMT Node SSR Adapter](./rmt-node-ssr-adapter.md) und
|
|
169
|
+
[RMT PHP/Laravel SSR Adapter](./rmt-php-ssr-adapter.md).
|
|
170
|
+
|
|
171
|
+
## 5. RMT lokal pruefen
|
|
172
|
+
|
|
173
|
+
Der Standardcheck fuer ein einzelnes Dokument ist:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
xt rmt lint app.rmt
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Fuer CI oder maschinenlesbare Auswertung:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
xt rmt lint app.rmt --json
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
AI-Agenten koennen den Repair Report nutzen:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
xt rmt lint app.rmt --agent
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Der Agent Report enthaelt `repairPlan`, `fixOrder`, `confidence`, `impact`,
|
|
192
|
+
`relatedDiagnostics` und erklaerte No-Ops fuer bewusst nicht automatisierte
|
|
193
|
+
Reparaturen.
|
|
194
|
+
|
|
195
|
+
## 6. Editor-Unterstuetzung aktivieren
|
|
196
|
+
|
|
197
|
+
Der RMT Language Server startet lokal ueber:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
node tools/rmt-language-server/server.js
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Er liefert Diagnostics, Completion, Hover, Document Symbols, Definition und
|
|
204
|
+
Code Actions. VS Code, JetBrains, Neovim und Helix koennen den Server ueber
|
|
205
|
+
stdio anbinden. Fuer eine minimale native App-Shell kannst du in einer IDE mit
|
|
206
|
+
RMT Snippets den Prefix `rmt-app` nutzen; fuer vNext-Primitives ist
|
|
207
|
+
`rmt-vnext-primitive-shell` der schnellste Start.
|
|
208
|
+
|
|
209
|
+
## Naechste Schritte
|
|
210
|
+
|
|
211
|
+
- [RMT vNext Authoring Guide](./rmt-vnext-authoring.md)
|
|
212
|
+
- [RMT vNext Component Primitives und XTend UI](./rmt-vnext-component-primitives.md)
|
|
213
|
+
- [RMT Node SSR Adapter](./rmt-node-ssr-adapter.md)
|
|
214
|
+
- [RMT PHP/Laravel SSR Adapter](./rmt-php-ssr-adapter.md)
|
|
215
|
+
- [XTendRMT Developer Overview](./xtendrmt-overview.md)
|
|
216
|
+
- [RMT Linter und AI-Agent Repair Report](./rmt-linter.md)
|
|
217
|
+
- [RMT Language Server und Editor Setup](./rmt-language-server.md)
|
|
218
|
+
- [XTend Loader](./xtend-loader.md)
|
|
219
|
+
- [Manifest-Format](./manifest.md)
|
|
220
|
+
- [Komponenten-Entwicklung](./components.md)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# RC0 Adoption Guide
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.epic12.docs-adoption.v1`
|
|
4
|
+
- Report: `xtend.epic12.docs-adoption-report.v1`
|
|
5
|
+
- Workpackage: `WP-E12-15`
|
|
6
|
+
- Lokaler Gate: `node scripts/run_xtend_tests.js epic12-docs-adoption --json`
|
|
7
|
+
|
|
8
|
+
Dieser Guide ist der produktnahe Einstieg fuer Teams, die XTend nach Epic 12 als Release-Candidate-Kandidaten evaluieren. Er verbindet die Migration Notes aus Long-Tail Runtime, Visual Snapshots, Design Tokens, RMT DSL Authoring Polish und RC0 Gate Matrix.
|
|
9
|
+
|
|
10
|
+
RC0 bleibt ein lokaler Review-Kandidat. `private-until-release-owner-approval` bleibt aktiv; ein gruener Gate-Lauf ist keine Publish-Freigabe.
|
|
11
|
+
|
|
12
|
+
## Migration Notes
|
|
13
|
+
|
|
14
|
+
### Long-Tail Runtime Closure
|
|
15
|
+
|
|
16
|
+
Geschlossen:
|
|
17
|
+
|
|
18
|
+
- `x-tabs`: Performance Profile, Keyboard, Browser-Smoke, Theme Matrix
|
|
19
|
+
- `x-theme`: A11y, Reduced Motion, Forced Colors, Performance, Theme Propagation, Density Boundary
|
|
20
|
+
- `x-button`: Performance Budget, Interaction Budget, Fabric Measurement, RMT Metadata
|
|
21
|
+
- `x-menu`: Performance, Keyboard Navigation, Router-Kompatibilitaet, Fabric Measurement, RMT Metadata
|
|
22
|
+
|
|
23
|
+
Akzeptierte RC0-Residuals:
|
|
24
|
+
|
|
25
|
+
- `xstate`: nicht-visuelle Boundary-Probe, `contract-gated`
|
|
26
|
+
- `x-utils`: Utility-Boundary, `typed-contract-gated`
|
|
27
|
+
|
|
28
|
+
Diese Residuals sind keine versteckten Blocker. Sie bleiben sichtbar, weil Infrastrukturmodule nicht kuenstlich als UI-Shells behandelt werden.
|
|
29
|
+
|
|
30
|
+
### DOM-first Visual Snapshots
|
|
31
|
+
|
|
32
|
+
Der RC0 Snapshot-Pfad ist DOM-first:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
node scripts/run_xtend_tests.js visual-snapshots --json
|
|
36
|
+
node scripts/run_xtend_tests.js design-tokens --json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Pixel-Baselines sind optional lokal. Die reviewbare Baseline liegt in `tests/browser/visual-baselines/visual-snapshots.dom-baseline.json`.
|
|
40
|
+
|
|
41
|
+
### Design Token Productization
|
|
42
|
+
|
|
43
|
+
Neue Komponenten und RMT-Shells nutzen die `--xtend-*` Tokenlinie. Theme Packs, Density Packs, High Contrast, Forced Colors und CSS Parts sind oeffentliche Styling-Oberflaechen und brauchen Migration Notes, wenn sie veraendert werden.
|
|
44
|
+
|
|
45
|
+
### RMT DSL Authoring Polish
|
|
46
|
+
|
|
47
|
+
Neue RMT-App-Dokumente koennen Shells, Routes, Links, Outlets, Components, Slots, Commands, Hydration und Lanes ueber die DSL-Polish-Schicht authoren. XTendRMT bleibt framework-agnostisch: Der Kernel importiert keine XTend-Typen und keine XRouter-Implementierung.
|
|
48
|
+
|
|
49
|
+
### RC0 Gate Matrix
|
|
50
|
+
|
|
51
|
+
Vor dem Owner Review:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
node scripts/run_xtend_tests.js epic12-docs-adoption --json
|
|
55
|
+
node scripts/run_xtend_tests.js rc0-gate-matrix --json
|
|
56
|
+
npm run test:release:full:report
|
|
57
|
+
npm run pack:dry-run
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Conditional Network Gates:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npm audit --audit-level=moderate
|
|
64
|
+
npm sbom --sbom-format=cyclonedx --json
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Wenn Netzwerkzugriff nicht verfuegbar ist, bleibt RC0 lokal reviewbar; Publish bleibt blockiert.
|
|
68
|
+
|
|
69
|
+
## Component Author Checklist
|
|
70
|
+
|
|
71
|
+
| Check | Pflicht |
|
|
72
|
+
|-------|---------|
|
|
73
|
+
| `xtend-loader.js` und lokales Manifest verwenden | ja |
|
|
74
|
+
| Types, Events, A11y und Performance dokumentieren | ja |
|
|
75
|
+
| Design Tokens und CSS Parts als Public API behandeln | ja |
|
|
76
|
+
| Fabric-Lanes und RMT-Schedule-Hints korrekt setzen | ja |
|
|
77
|
+
| Snapshot- und Theme-Matrix-Auswirkungen pruefen | ja |
|
|
78
|
+
| Breaking Changes mit Migration Notes markieren | ja |
|
|
79
|
+
|
|
80
|
+
## App Author Checklist
|
|
81
|
+
|
|
82
|
+
| Check | Pflicht |
|
|
83
|
+
|-------|---------|
|
|
84
|
+
| App Shell nach Moeglichkeit Shell-first in RMT beschreiben | ja |
|
|
85
|
+
| XRouter-Routen ueber native RMT `routes` Records fuehren | ja |
|
|
86
|
+
| Parsedown, Rich HTML oder Media als scheduled Content-Komponenten behandeln | ja |
|
|
87
|
+
| Trusted-DOM-Boundary fuer `html_fragment` pruefen | ja |
|
|
88
|
+
| `rmt-dsl-authoring-polish` und `docs-rmt-pilot` fuer RMT-Pfade ausfuehren | ja |
|
|
89
|
+
|
|
90
|
+
## Known Residual Policy
|
|
91
|
+
|
|
92
|
+
RC0 akzeptiert:
|
|
93
|
+
|
|
94
|
+
- `xstate`
|
|
95
|
+
- `x-utils`
|
|
96
|
+
- `xtend.component.hydrate`
|
|
97
|
+
|
|
98
|
+
Die Hydration-Warnung bleibt akzeptiert, solange sie unter der Fail-Schwelle und unter `maxWarningCount = 2` bleibt. Failures sind nicht erlaubt.
|
|
99
|
+
|
|
100
|
+
## Handoff zu WP-E12-16
|
|
101
|
+
|
|
102
|
+
`WP-E12-16` hat aus diesem Guide, der [RC0 Gate Matrix](./rc0-gate-matrix.md), dem Package Dry Run, den Conditional Network Gates und der Known Residual Policy den [Epic 12 RC0 Handoff](./epic12-rc0-handoff.md) fuer Release Owner gebaut.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# RC0 Gate Matrix
|
|
2
|
+
|
|
3
|
+
`xtend.epic12.rc0-gate-matrix.v1` beschreibt den ersten release-kandidatenfaehigen Gate-Schnitt fuer XTend. RC0 ist ein lokaler Review-Kandidat, kein Publish.
|
|
4
|
+
|
|
5
|
+
Lokaler Self Check:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
node scripts/run_xtend_tests.js rc0-gate-matrix --json
|
|
9
|
+
npm run test:rc0-gate-matrix
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Pflichtgates
|
|
13
|
+
|
|
14
|
+
| Bereich | Command |
|
|
15
|
+
|---------|---------|
|
|
16
|
+
| PR Fast | `npm run test:pr:report` |
|
|
17
|
+
| Full Release | `npm run test:release:full:report` |
|
|
18
|
+
| Snapshot Gate | `node scripts/run_xtend_tests.js component-shell-theme-matrix visual-snapshot-automation visual-snapshots design-tokens --json` |
|
|
19
|
+
| RMT Authoring Gate | `node scripts/run_xtend_tests.js rmt-shell-authoring-ux rmt-first-class-app rmt-first-demo-app docs-rmt-pilot rmt-dsl-authoring-polish --json` |
|
|
20
|
+
| Package Dry Run | `npm run pack:dry-run` |
|
|
21
|
+
| Matrix Self Check | `node scripts/run_xtend_tests.js rc0-gate-matrix --json` |
|
|
22
|
+
|
|
23
|
+
## Snapshot und Design Tokens
|
|
24
|
+
|
|
25
|
+
Der Snapshot Gate nutzt `visual-snapshots` und `design-tokens`. Pixel-Baselines bleiben optional; die reviewbare RC0-Basis ist die DOM-Baseline unter `tests/browser/visual-baselines/visual-snapshots.dom-baseline.json`.
|
|
26
|
+
|
|
27
|
+
## RMT Authoring
|
|
28
|
+
|
|
29
|
+
Der RMT Authoring Gate verbindet Shell Authoring, RMT-first Apps, Docs Parsedown Scheduling und den neuen `rmt-dsl-authoring-polish` Gate. So ist pruefbar, dass XTend UI, XRouter und XTendRMT zusammenarbeiten, ohne XTend-Typen in den RMT Kernel zu importieren.
|
|
30
|
+
|
|
31
|
+
## Conditional Network Gates
|
|
32
|
+
|
|
33
|
+
Vor Publish muessen Netzwerk-Gates laufen oder im Handoff bewusst deferred werden:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm audit --audit-level=moderate
|
|
37
|
+
npm sbom --sbom-format=cyclonedx --json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Diese Gates sind nicht Teil des lokalen Default-Runners.
|
|
41
|
+
|
|
42
|
+
## Known Residual Policy
|
|
43
|
+
|
|
44
|
+
RC0 akzeptiert aktuell:
|
|
45
|
+
|
|
46
|
+
- `xstate` als `contract-gated` nicht-visuelle Boundary-Probe
|
|
47
|
+
- `x-utils` als `typed-contract-gated` Utility-Boundary
|
|
48
|
+
- die bekannte Performance-Warnung `xtend.component.hydrate`, solange sie unter der Fail-Schwelle bleibt
|
|
49
|
+
|
|
50
|
+
`private-until-release-owner-approval` bleibt aktiv. Auch ein gruener RC0 Gate Run bedeutet keine Publish-Freigabe.
|
|
51
|
+
|
|
52
|
+
## Migration und Adoption
|
|
53
|
+
|
|
54
|
+
Die operative Doku fuer Teams liegt seit `WP-E12-15` im [RC0 Adoption Guide](./rc0-adoption-guide.md). Dort sind Long-Tail Runtime Closure, DOM-first Snapshot-Baseline, Design Token Productization, RMT DSL Authoring Polish, Known Residual Policy und Migration Notes fuer Component Authors und App Authors zusammengefuehrt.
|
|
55
|
+
|
|
56
|
+
Der finale Owner-Handoff liegt seit `WP-E12-16` unter [Epic 12 RC0 Handoff](./epic12-rc0-handoff.md). Er setzt den Epic-12-Status auf `ready-for-release-owner-review-not-publish` und laesst Publishing bis zur Release Owner Acceptance blockiert.
|
|
57
|
+
|
|
58
|
+
Kanonischer Pfad: `docs/rc0-adoption-guide.md`.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# RC1 Gate Matrix und CI-Handoff
|
|
2
|
+
|
|
3
|
+
Contract: `xtend.epic13.rc1-gate-matrix-ci-handoff.v1`
|
|
4
|
+
|
|
5
|
+
Status: `accepted-rc1-gate-matrix-ci-handoff`
|
|
6
|
+
|
|
7
|
+
Workpackage: `WP-E13-13`
|
|
8
|
+
|
|
9
|
+
DPF-Paket: `DPF-WP-01-rc1-gate-matrix-ci-handoff`
|
|
10
|
+
|
|
11
|
+
## Ziel
|
|
12
|
+
|
|
13
|
+
Die RC1 Gate Matrix fasst die Epic-13-Evidence in einen lokalen, netzwerkfreien Handoff fuer CI Maintainer und Release Owner zusammen. Der Gate prueft nicht die produktiven Netzwerklaeufe selbst, sondern ob ihre Evidence-Pfade, Deferral-Regeln, Reports und Owner-Metadaten registriert sind.
|
|
14
|
+
|
|
15
|
+
## Lokaler Gate
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
node scripts/run_xtend_tests.js epic13-rc1-gate-matrix-ci-handoff --json
|
|
19
|
+
npm run test:epic13-rc1-gate-matrix-ci-handoff
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Der Report schreibt bei Aggregatlaeufen nach `.xtend-test-results/xtend-epic13-rc1-gate-matrix-ci-handoff-report.json` und nutzt `xtend.epic13.rc1-gate-matrix-ci-handoff-report.v1`.
|
|
23
|
+
|
|
24
|
+
## Source Gates
|
|
25
|
+
|
|
26
|
+
- `npm run test:epic13-rc1-readiness`
|
|
27
|
+
- `npm run test:epic13-release-owner-acceptance`
|
|
28
|
+
- `npm run test:epic13-conditional-network-evidence`
|
|
29
|
+
- `npm run test:epic13-package-export-lock`
|
|
30
|
+
- `npm run test:epic13-known-residual-triage`
|
|
31
|
+
- `npm run test:epic13-hydration-performance-closure`
|
|
32
|
+
- `npm run test:epic13-prod-browser-csp-smoke`
|
|
33
|
+
- `npm run test:epic13-visual-owner-artifact`
|
|
34
|
+
- `npm run test:epic13-rmt-production-readiness`
|
|
35
|
+
- `npm run test:epic13-docs-rmt-production-hardening`
|
|
36
|
+
- `npm run test:epic13-trusted-dom-boundary`
|
|
37
|
+
- `npm run test:epic13-rc1-migration-notes`
|
|
38
|
+
|
|
39
|
+
## CI Lanes
|
|
40
|
+
|
|
41
|
+
| Lane | Zweck | Report |
|
|
42
|
+
|------|-------|--------|
|
|
43
|
+
| `pr-fast` | PR Feedback mit TypeExports Drift-Handoff | `.xtend-test-results/xtend-pr-gate-report.json` |
|
|
44
|
+
| `rc1-full-release` | vollstaendige RC1 Release-Gate-Matrix | `.xtend-test-results/xtend-release-gate-report.json` |
|
|
45
|
+
| `conditional-network-evidence` | Audit/SBOM Execution oder Owner Deferral | `.xtend-test-results/xtend-conditional-network-evidence-report.json` |
|
|
46
|
+
| `owner-handoff` | Release-Owner-Schnitt fuer alle Epic-13-Gates | `.xtend-test-results/xtend-epic13-rc1-gate-matrix-ci-handoff-report.json` |
|
|
47
|
+
|
|
48
|
+
## Release Owner Evidence
|
|
49
|
+
|
|
50
|
+
[Release Report und Pack Dry Run Evidence](./release-report-pack-dry-run-evidence.md) ergaenzt den Handoff mit `xtend.epic13.release-report-pack-dry-run-evidence.v1` und schreibt `.xtend-test-results/xtend-epic13-release-report-pack-dry-run-evidence-report.json`.
|
|
51
|
+
|
|
52
|
+
[Conditional Network Evidence CI](./conditional-network-evidence-ci.md) ergaenzt den Handoff mit `xtend.epic13.conditional-network-evidence-ci.v1`, dem CI-Job `conditional-network-evidence` und `.xtend-test-results/xtend-epic13-conditional-network-evidence-ci-report.json`.
|
|
53
|
+
|
|
54
|
+
## Publish Boundary
|
|
55
|
+
|
|
56
|
+
`publishAllowed` bleibt `false`; `packagePrivateRequired` bleibt `true`. Netzwerkbasierte Gates duerfen lokal nur als `executed-or-owner-deferral` referenziert werden. `WP-E13-14` uebernimmt daraus den finalen Epic-13-Abschlussreview und RC1-Handoff.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# RC1 Migration Notes
|
|
2
|
+
|
|
3
|
+
Contract: `xtend.epic13.rc1-migration-notes-semver.v1`
|
|
4
|
+
|
|
5
|
+
WP-E13-12 bereitet die Konsumentenkommunikation fuer den ersten RC1-Kandidaten vor. Der angewendete Stand ist `0.1.0-rc.1`; die Package Boundary ist fuer RC1-Publish-Prep auf `private: false` geoeffnet. Der eigentliche Publish-Befehl bleibt weiterhin ein separater manueller Owner-Schritt.
|
|
6
|
+
|
|
7
|
+
## SemVer
|
|
8
|
+
|
|
9
|
+
| Feld | Wert |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Current Version | `0.1.0-rc.1` |
|
|
12
|
+
| Proposed Version | `0.1.0-rc.1` |
|
|
13
|
+
| Classification | `minor-pre-1.0-release-candidate` |
|
|
14
|
+
| Publish | vorbereitet, `private: false`; `npm publish` nicht ausgefuehrt |
|
|
15
|
+
|
|
16
|
+
## Migration Sections
|
|
17
|
+
|
|
18
|
+
### loader-local-esm-cdn-free
|
|
19
|
+
|
|
20
|
+
XTend-Apps sollen lokale ESM-Loader-Pfade nutzen. Deprecated CDN-Bootstraps, insbesondere alte `xstate`-Referenzen, gehoeren nicht mehr in RC1-nahe Apps.
|
|
21
|
+
|
|
22
|
+
### package-export-surface
|
|
23
|
+
|
|
24
|
+
Der Package Export Lock ist die verbindliche Public Surface. Neue Tooling-Exports, darunter `./catalog/epic13-rc1-migration-notes`, muessen im Export Lock, README, Changelog und den Release-Gates auftauchen.
|
|
25
|
+
|
|
26
|
+
### rmt-first-app-authoring
|
|
27
|
+
|
|
28
|
+
RMT ist der Shell-first App Authoring Pfad. XTend-Komponenten werden ueber Adapter angebunden; der RMT-Kernel importiert keine XTend-Typen.
|
|
29
|
+
|
|
30
|
+
### docs-rmt-parsedown-shell
|
|
31
|
+
|
|
32
|
+
Parsedown ist eine schedulbare Docs-Komponente innerhalb der RMT Shell. Rich HTML oder Multimedia Slots koennen spaeter daneben orchestriert werden.
|
|
33
|
+
|
|
34
|
+
### trusted-dom-boundary
|
|
35
|
+
|
|
36
|
+
`dom_descriptor` bleibt bevorzugt. `html_fragment` und Parsedown HTML muessen vor DOM-Sinks ueber `xtend.security.trusted-dom-sanitizer.v1` laufen.
|
|
37
|
+
|
|
38
|
+
### fabric-lanes-telemetry
|
|
39
|
+
|
|
40
|
+
Fabric, Lanes und RMT Lane Mapping sind die bevorzugte Bruecke fuer Telemetry und Scheduler-Signale in Komponenten.
|
|
41
|
+
|
|
42
|
+
### component-typescript-and-dts
|
|
43
|
+
|
|
44
|
+
Komponenten-Typen und `.d.ts`-Dateien sind Teil des Consumer Contracts. App-Code soll diese Typen statt impliziter DOM-Konventionen konsumieren.
|
|
45
|
+
|
|
46
|
+
### known-residuals-and-watchpoints
|
|
47
|
+
|
|
48
|
+
`xstate` und `x-utils` bleiben Boundary Contracts. Der alte Hydration-Watchpoint ist geschlossen, sollte aber in RC1-Gates sichtbar bleiben.
|
|
49
|
+
|
|
50
|
+
### visual-owner-artifacts
|
|
51
|
+
|
|
52
|
+
Visual Proofs bleiben owner-reviewbar. Lokale Gates duerfen statisch bleiben; CI oder Release Owner koennen Screenshots als Artefakt bereitstellen.
|
|
53
|
+
|
|
54
|
+
### conditional-network-evidence
|
|
55
|
+
|
|
56
|
+
Audit und SBOM werden entweder ausgefuehrt oder explizit owner-deferred. Ohne Evidence oder Deferral gibt es keine Publish-Freigabe.
|
|
57
|
+
|
|
58
|
+
### publish-boundary
|
|
59
|
+
|
|
60
|
+
`private: false` ist fuer RC1-Publish-Prep gesetzt. Automatisches Publish bleibt blockiert; der finale `npm publish` braucht weiterhin den manuellen Owner-Befehl.
|
|
61
|
+
|
|
62
|
+
## Lokaler Gate
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
node scripts/run_xtend_tests.js epic13-rc1-migration-notes --json
|
|
66
|
+
npm run test:epic13-rc1-migration-notes
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Der direkte Handoff aus diesem Paket war `WP-E13-13` mit `rc1-gate-matrix-ci-handoff`; die zugehoerige Gate Matrix ist inzwischen unter [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md) dokumentiert.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# RC1 Readiness
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.epic13.rc1-production-readiness.v1`
|
|
4
|
+
- Report: `xtend.epic13.rc1-readiness-report.v1`
|
|
5
|
+
- Workpackage: `WP-E13-01`
|
|
6
|
+
- Lokaler Gate: `node scripts/run_xtend_tests.js epic13-rc1-readiness --json`
|
|
7
|
+
- Zielzustand: `rc1-production-candidate-ready`
|
|
8
|
+
|
|
9
|
+
RC1 fuehrt den RC0-Handoff in einen PROD-naeheren Release Candidate. Der Status bedeutet nicht Publish. `private-until-release-owner-acceptance` bleibt aktiv.
|
|
10
|
+
|
|
11
|
+
## Was RC1 pruefbar machen muss
|
|
12
|
+
|
|
13
|
+
| Bereich | RC1-Pflicht |
|
|
14
|
+
|---------|-------------|
|
|
15
|
+
| Release Owner Acceptance | formaler Contract mit Accepted, Deferred und Blocked Entscheidungen |
|
|
16
|
+
| Conditional Network Gates | `npm audit --audit-level=moderate` und `npm sbom --sbom-format=cyclonedx --json` ausfuehren oder Owner-Deferral dokumentieren |
|
|
17
|
+
| Package Dry Run | Paketinhalt und Export Surface maschinenlesbar pruefen |
|
|
18
|
+
| Known Residuals | `xstate` und `x-utils` sind geschlossen; `xtend.component.hydrate` ist in `WP-E13-06` owner-frei geschlossen |
|
|
19
|
+
| Browser/CSP | PROD-nahe same-origin, Nonce und Loader-Smokes sind unter [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md) vorbereitet |
|
|
20
|
+
| Visual Evidence | DOM-first Snapshots behalten und optionales Screenshot/Pixels-Artefakt unter [Visual Owner Artifacts](./visual-owner-artifacts.md) normalisieren |
|
|
21
|
+
| RMT Apps | RMT-first App Shell, Routing, Components, Fabric, Lanes und Diagnostics buendeln |
|
|
22
|
+
| Docs-App | Parsedown bleibt orchestrierte Komponente innerhalb einer RMT Shell |
|
|
23
|
+
| Trusted DOM | Parsedown/RMT HTML Boundary browsernah geprueft |
|
|
24
|
+
| Migration Notes | RC1 SemVer- und Changelog-Entscheid vorbereiten |
|
|
25
|
+
|
|
26
|
+
## Baseline Gates
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
node scripts/run_xtend_tests.js epic13-rc1-readiness --json
|
|
30
|
+
node scripts/run_xtend_tests.js epic12-rc0-handoff --json
|
|
31
|
+
node scripts/run_xtend_tests.js rc0-gate-matrix --json
|
|
32
|
+
node scripts/run_xtend_tests.js references --json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Feature Drift
|
|
36
|
+
|
|
37
|
+
Nicht Teil von RC1:
|
|
38
|
+
|
|
39
|
+
- XTend in den RMT Kernel einbetten
|
|
40
|
+
- CDN-Fallbacks in Default-Pfade zurueckbringen
|
|
41
|
+
- neue Produktfeatures ohne PROD-Readiness-Zweck bauen
|
|
42
|
+
- `private: true` automatisch oeffnen
|
|
43
|
+
|
|
44
|
+
## Handoff
|
|
45
|
+
|
|
46
|
+
`WP-E13-02` ist abgeschlossen und dokumentiert den Release Owner Acceptance Contract unter [Release Owner Acceptance](./release-owner-acceptance.md). `WP-E13-03` ist ebenfalls abgeschlossen und dokumentiert die Conditional Network Evidence unter [Conditional Network Evidence](./conditional-network-evidence.md). `WP-E13-04` ist abgeschlossen und dokumentiert den Package Export Lock unter [Package Export Lock](./package-export-lock.md). `WP-E13-05` ist abgeschlossen und dokumentiert die Known Residual Triage unter [Known Residual Triage](./known-residual-triage.md). `WP-E13-06` ist abgeschlossen und dokumentiert die [Hydration Performance Closure](./hydration-performance-closure.md). `WP-E13-07` ist abgeschlossen und dokumentiert die [PROD Browser CSP Smokes](./prod-browser-csp-smokes.md). `WP-E13-08` ist abgeschlossen und dokumentiert `xtend.epic13.visual-owner-artifact.v1` unter [Visual Owner Artifacts](./visual-owner-artifacts.md). `WP-E13-09` ist abgeschlossen und dokumentiert `xtend.epic13.rmt-production-readiness.v1` unter [RMT Production Readiness](./rmt-production-readiness.md). `WP-E13-10` ist abgeschlossen und dokumentiert `xtend.epic13.docs-rmt-production-hardening.v1` unter [Docs RMT Production Hardening](./docs-rmt-production-hardening.md). `WP-E13-11` ist abgeschlossen und dokumentiert `xtend.epic13.trusted-dom-boundary.v1` unter [Trusted DOM Boundary Browser Proof](./trusted-dom-boundary-browser-proof.md). `WP-E13-12` ist abgeschlossen und dokumentiert `xtend.epic13.rc1-migration-notes-semver.v1` unter [RC1 Migration Notes](./rc1-migration-notes.md). `WP-E13-13` ist abgeschlossen und dokumentiert `xtend.epic13.rc1-gate-matrix-ci-handoff.v1` unter [RC1 Gate Matrix und CI-Handoff](./rc1-gate-matrix-ci-handoff.md). `WP-E13-14` ist ready fuer den finalen Epic-13-Abschlussreview.
|