@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,265 @@
|
|
|
1
|
+
# XTend Loader
|
|
2
|
+
|
|
3
|
+
## Uebersicht
|
|
4
|
+
|
|
5
|
+
Der kanonische XTend Loader ist `xtend-loader.js`.
|
|
6
|
+
|
|
7
|
+
Er ist ein lokaler ES-Modul-Entry fuer XTend UI und uebernimmt das dynamische Laden von Manifest, Core-Modulen, explizit vorgeladenen Komponenten, DOM-verwendeten Komponenten und `api.js`.
|
|
8
|
+
|
|
9
|
+
`xtend-dev.js` ist nur noch ein Legacy-Stub. Neue Demos, Browser-Smokes, Scaffold-Ausgaben und offizielle Beispiele verwenden `xtend-loader.js`.
|
|
10
|
+
|
|
11
|
+
Seit `ER-WP-05` sind die Default-Demo- und Fixture-Pfade formal auf den kanonischen Loader beziehungsweise bewusst klassifizierte Spezial-Smokes festgelegt. Seit `ER-WP-18` misst der Loader Manifest Load, Modul-Load und Custom Element Definition ueber lokale Performance Marks. Seit `ER-WP-28` validiert er Manifest- und Modul-URLs gegen `xtend.security.loader-policy.v1`, `xtend.security.manifest-policy.v1` und `xtend.security.import-policy.v1`.
|
|
12
|
+
|
|
13
|
+
## Einbindung
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<script type="module" src="./xtend-loader.js"></script>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Optional kann ein lokales Manifest gesetzt werden:
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<script
|
|
23
|
+
type="module"
|
|
24
|
+
src="./xtend-loader.js"
|
|
25
|
+
data-manifest="./components/manifest.json">
|
|
26
|
+
</script>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Der Loader nutzt standardmaessig:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
components/manifest.json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Contract
|
|
36
|
+
|
|
37
|
+
Der Loader Contract lautet:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
xtend.loader.contract.v1
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Security Contracts:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
xtend.security.loader-policy.v1
|
|
47
|
+
xtend.security.manifest-policy.v1
|
|
48
|
+
xtend.security.import-policy.v1
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Browsernah stellt der Loader diese Oberflaeche bereit:
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
window.XTendLoader
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Die automatische Boot-Promise liegt unter:
|
|
58
|
+
|
|
59
|
+
```js
|
|
60
|
+
window.__XTendLoaderBootPromise
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Verbose Mode
|
|
64
|
+
|
|
65
|
+
Der PROD-Loader ist standardmaessig konsolenruhig. Die Loader-Datei enthaelt dafuer oben eine direkte Flag:
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
const verbose_mode = 'auto';
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Unterstuetzte Werte:
|
|
72
|
+
|
|
73
|
+
| Wert | Verhalten |
|
|
74
|
+
|------|-----------|
|
|
75
|
+
| `'true'` | Verbose ist dauerhaft aktiv. Loader-Modulvorgaenge und angeschlossene Core-Runtime-Logs werden in der Browserkonsole ausgegeben. |
|
|
76
|
+
| `'false'` | Verbose ist gesperrt. Es kann nur durch eine Aenderung der Loader-Datei wieder aktiviert werden. |
|
|
77
|
+
| `'auto'` | Verbose ist beim ersten Start aus und kann in der Browserkonsole fuer die laufende Tab-Session aktiviert werden. |
|
|
78
|
+
|
|
79
|
+
Browser-Konsole:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
XTendLoader.verbose(true)
|
|
83
|
+
XTendLoader.verbose(false)
|
|
84
|
+
XTendLoader.verbose()
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Alternativ:
|
|
88
|
+
|
|
89
|
+
```js
|
|
90
|
+
XTendLoader.enableVerbose()
|
|
91
|
+
XTendLoader.disableVerbose()
|
|
92
|
+
XTendLoader.getVerboseState()
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
In `auto` speichert der Loader die Konsolenentscheidung in `sessionStorage`. Nach `XTendLoader.verbose(true)` reicht ein Reload, um auch die initialen Modul-Ladevorgaenge derselben Browser-Session zu sehen. `XTendLoader.verbose(false)` schaltet die Session wieder ruhig.
|
|
96
|
+
|
|
97
|
+
Structured Diagnostics (`xtend-loader-diagnostic`) und Performance Events (`xtend-loader-performance`) bleiben vom Verbose Mode unabhaengig verfuegbar.
|
|
98
|
+
|
|
99
|
+
## Funktionsweise
|
|
100
|
+
|
|
101
|
+
1. Der Loader initialisiert `xtend.loader.style-registry.v1` und injiziert Runtime-Critical Styles fuer Tokens, UI-Effects, Skeletons und undefinierte XTend Custom Elements.
|
|
102
|
+
2. Er wartet auf den Window-Load.
|
|
103
|
+
3. Er validiert `data-manifest` oder `components/manifest.json` gegen die Loader Policy.
|
|
104
|
+
4. Er laedt das Manifest und loest Manifest-URLs relativ zur Manifest-URL auf.
|
|
105
|
+
5. Er validiert jeden Manifest Record gegen die Manifest- und Import-Policy.
|
|
106
|
+
6. Er kann Modul-URLs ueber `data-module-cache-bust` versionieren, damit Livesysteme keine stale Component-Module aus dem Browsercache ziehen.
|
|
107
|
+
7. Er laedt `xstate` und danach `x-theme`, sofern beide im Manifest stehen. `xstate` wird bewusst nicht cache-gebustet, damit keine zweite State-Modulinstanz entsteht.
|
|
108
|
+
8. Er laedt Eintraege aus `<meta name="xtend-preload">`.
|
|
109
|
+
9. Er erkennt im DOM verwendete XTend-Tags und laedt sichtbare Komponenten sofort.
|
|
110
|
+
10. Er beobachtet nicht sichtbare Komponenten per `IntersectionObserver`.
|
|
111
|
+
11. Er stellt `xtend.loader.skeleton-loader.v1` fuer Shell-, Route- und dynamische Subtree-Fallbacks bereit.
|
|
112
|
+
12. Er validiert und importiert lokal `api.js`, dann ruft er `api.initXTendAPI(manifest)` auf.
|
|
113
|
+
|
|
114
|
+
## StyleRegistry
|
|
115
|
+
|
|
116
|
+
Der Loader exportiert die native StyleRegistry:
|
|
117
|
+
|
|
118
|
+
```js
|
|
119
|
+
window.XTendStyleRegistry
|
|
120
|
+
window.XTendLoader.styles
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Beim Auswerten von `xtend-loader.js` ruft der Loader `ensureRuntimeStyles()` sofort auf. Dadurch sind die kritischen CSS-Regeln vorhanden, bevor Komponenten importiert oder hydriert werden. `xtend.css` bleibt der kanonische Standard-Dateiname fuer Host-Theming und Docs-/App-Layout, ist aber keine harte Voraussetzung mehr fuer Skeletons, UI-Effects, Basis-Tokens oder den FOUC-Schutz undefinierter XTend Custom Elements.
|
|
124
|
+
|
|
125
|
+
Hosts koennen den Theme-Status auslesen:
|
|
126
|
+
|
|
127
|
+
```js
|
|
128
|
+
XTendLoader.getThemeStylesheetState()
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Komponenten koennen eigene Styles registrieren und auf Shadow Roots anwenden:
|
|
132
|
+
|
|
133
|
+
```js
|
|
134
|
+
const style = XTendLoader.defineComponentStyle('x-example', ':host { display: block; }');
|
|
135
|
+
XTendLoader.adoptStyle(this.shadowRoot, style);
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## SkeletonLoader
|
|
139
|
+
|
|
140
|
+
Der Loader exportiert einen nativen SkeletonLoader fuer Shell-first Apps:
|
|
141
|
+
|
|
142
|
+
```js
|
|
143
|
+
window.XTendLoader.showSkeleton(target, { lines: 8, schedule: 'docs.page.hydrate' });
|
|
144
|
+
window.XTendLoader.hideSkeleton(target);
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Hosts koennen noch nicht definierte XTend Custom Elements ueber `data-xtend-skeleton` als Skeleton anzeigen. Bekannte XTend-Tags ohne Skeleton-Opt-in bleiben bis zur Definition unsichtbar, damit Light-DOM-Text nicht ungestylt aufblitzt. Diese Regeln kommen aus der StyleRegistry und funktionieren auch ohne externes `xtend.css`.
|
|
148
|
+
|
|
149
|
+
## Preload
|
|
150
|
+
|
|
151
|
+
Komponenten koennen weiterhin explizit vorgeladen werden:
|
|
152
|
+
|
|
153
|
+
```html
|
|
154
|
+
<meta name="xtend-preload" content="x-router,x-link,x-dialog,x-modal">
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Die Werte sind Component IDs aus dem Manifest, keine freien URLs.
|
|
158
|
+
|
|
159
|
+
## Live-Deployment Cache Busting
|
|
160
|
+
|
|
161
|
+
Shell-Apps koennen Loader, Manifest und Component-Module versioniert laden:
|
|
162
|
+
|
|
163
|
+
```html
|
|
164
|
+
<script
|
|
165
|
+
type="module"
|
|
166
|
+
src="/xtend-loader.js?v=20260507"
|
|
167
|
+
data-manifest="/components/manifest.json?v=20260507"
|
|
168
|
+
data-module-cache-bust="20260507">
|
|
169
|
+
</script>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Der Loader haengt diesen Wert als `xtend-cache` Query-Parameter an Manifest-Module an. `xstate` bleibt davon ausgenommen, weil Komponenten es selbst ueber `./xstate.js` importieren und XTend genau eine State-Instanz behalten soll.
|
|
173
|
+
|
|
174
|
+
## Manifest-Beispiel
|
|
175
|
+
|
|
176
|
+
```json
|
|
177
|
+
{
|
|
178
|
+
"xstate": "./xstate.js",
|
|
179
|
+
"x-theme": "./xtheme.js",
|
|
180
|
+
"x-router": "./xrouter.js",
|
|
181
|
+
"x-link": "./xlink.js",
|
|
182
|
+
"x-dialog": "./xdialog.js",
|
|
183
|
+
"x-modal": "./xmodal.js"
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Legacy-Strategie
|
|
188
|
+
|
|
189
|
+
`xtend-dev.js` bleibt fuer eine kurze Migrationsphase als Kompatibilitaetsstub erhalten.
|
|
190
|
+
|
|
191
|
+
Der Stub:
|
|
192
|
+
|
|
193
|
+
- warnt in der Konsole
|
|
194
|
+
- importiert `./xtend-loader.js`
|
|
195
|
+
- enthaelt keine eigene Loader-Logik mehr
|
|
196
|
+
|
|
197
|
+
Default-Demos und Tests duerfen den Legacy-Namen nicht mehr als kanonischen Loaderpfad verwenden.
|
|
198
|
+
|
|
199
|
+
## Security- und Runtime-Grenzen
|
|
200
|
+
|
|
201
|
+
Der Loader bleibt lokal und ESM-basiert.
|
|
202
|
+
|
|
203
|
+
CDN ist kein Default- oder Testpfad. Seit `ER-WP-03` nutzen `api.js`, `components/manifest.json`, Core-Komponenten und Browser-Fixtures repo-lokale XTend-Pfade. Seit `ER-WP-05` pruefen Reference- und Browser-Gates zudem, dass Default-Demos nicht auf `xtend-dev.js` oder XTend-CDN-Bruecken zurueckfallen. Seit `ER-WP-28` verweigert der Loader externe Manifest- und Modul-URLs, `javascript:`, `data:`, `blob:`, nicht passende Dateiendungen und Path-Traversal mit strukturierten Security-Diagnostics.
|
|
204
|
+
|
|
205
|
+
Der Loader emittiert strukturierte lokale Diagnostics als `xtend-loader-diagnostic` Event und bereitet damit die spaetere Anbindung an `XTend-Fabric` vor.
|
|
206
|
+
|
|
207
|
+
Security Refusals nutzen diese Codes:
|
|
208
|
+
|
|
209
|
+
- `xtend.security.loader.refused`
|
|
210
|
+
- `xtend.security.manifest.invalid`
|
|
211
|
+
- `xtend.security.import.refused`
|
|
212
|
+
|
|
213
|
+
## Performance Measurements
|
|
214
|
+
|
|
215
|
+
Der Loader erzeugt `performance.mark` und `performance.measure` Eintraege fuer:
|
|
216
|
+
|
|
217
|
+
| Measure | Phase |
|
|
218
|
+
|---------|-------|
|
|
219
|
+
| `xtend.loader.manifest` | `load` |
|
|
220
|
+
| `xtend.loader.module` | `load` |
|
|
221
|
+
| `xtend.component.define` | `define` |
|
|
222
|
+
|
|
223
|
+
`xtend.component.define` wartet nach dem Modul-Load kurz auf `customElements.whenDefined(tag)`, blockiert den Loader aber nicht dauerhaft, falls ein Manifest-Eintrag kein Custom Element registriert.
|
|
224
|
+
|
|
225
|
+
Zusaetzlich emittiert er fuer jede Messung ein lokales Event:
|
|
226
|
+
|
|
227
|
+
```js
|
|
228
|
+
window.addEventListener('xtend-loader-performance', (event) => {
|
|
229
|
+
console.log(event.detail.name, event.detail.durationMs);
|
|
230
|
+
});
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Die Boot-Promise enthaelt die lokalen Loader-Messwerte:
|
|
234
|
+
|
|
235
|
+
```js
|
|
236
|
+
const boot = await window.__XTendLoaderBootPromise;
|
|
237
|
+
console.log(boot.performanceMeasurements);
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Die Fabric-Telemetry-Snapshots normalisieren diese Eintraege als `xtend.performance.measurement.v1`.
|
|
241
|
+
|
|
242
|
+
## Gates
|
|
243
|
+
|
|
244
|
+
Relevante lokale Checks:
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
npm run dev:local
|
|
248
|
+
npm run test:browser:local
|
|
249
|
+
node scripts/run_xtend_tests.js browser --json
|
|
250
|
+
node scripts/run_xtend_tests.js manifest-import-policy --json
|
|
251
|
+
node scripts/run_xtend_tests.js fabric-performance-measurements --json
|
|
252
|
+
node scripts/run_xtend_tests.js references --json
|
|
253
|
+
npm test
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
`npm run dev:local` startet `scripts/serve_xtend_dev.js` auf Port `4173`. Der Browser-Smoke-Harness nutzt dasselbe Servermodul im Testmodus mit Port `0`.
|
|
257
|
+
|
|
258
|
+
## Weiterfuehrende Themen
|
|
259
|
+
|
|
260
|
+
- [Manifest-Format](./manifest.md)
|
|
261
|
+
- [Manifest Import Policy](./manifest-import-policy.md)
|
|
262
|
+
- [Performance Measurements](./performance-measurements.md)
|
|
263
|
+
- [API-Integration](./api.md)
|
|
264
|
+
- [Komponenten-Entwicklung](./components.md)
|
|
265
|
+
- [Best Practices](./best-practices.md)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# XTend Policy Types
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.type-exports.policy-declarations.v1`
|
|
4
|
+
- Workpackage: `WP-TypeExports-05`
|
|
5
|
+
- Gate: `node scripts/run_xtend_tests.js type-exports-policy --json`
|
|
6
|
+
- Report: `.xtend-test-results/xtend-type-exports-policy-report.json`
|
|
7
|
+
- Boundary: `types-only-no-runtime-imports`
|
|
8
|
+
- Boundary: `no-rmt-kernel-import-of-xtend-types`
|
|
9
|
+
- Boundary: `declarations-follow-js-runtime-surface`
|
|
10
|
+
|
|
11
|
+
## Zweck
|
|
12
|
+
|
|
13
|
+
`WP-TypeExports-05` macht die Fabric-, A11y- und Security-Policy-APIs fuer TypeScript-Consumer importierbar. Die JS-Runtime bleibt unveraendert; `package.json#exports` ergaenzt nur package-native `types`-Conditions.
|
|
14
|
+
|
|
15
|
+
## Declaration Pack
|
|
16
|
+
|
|
17
|
+
| Bereich | Package Export | Declaration |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| Fabric Runtime | `./fabric` | `./fabric/xtend-fabric.d.ts` |
|
|
20
|
+
| Fabric/RMT Policy | `./fabric/rmt-lane-mapping`, `./fabric/hydration-policy` | `./fabric/*.d.ts` |
|
|
21
|
+
| A11y Policies | `./a11y/screenreader-signals`, `./a11y/motion-contrast-policy`, `./a11y/runtime-a11y-contract` | `./a11y/*.d.ts` |
|
|
22
|
+
| Security Policies | `./security/manifest-import-policy`, `./security/trusted-dom-policy`, `./security/supply-chain-gate-policy` | `./security/*.d.ts` |
|
|
23
|
+
|
|
24
|
+
Der gemeinsame Typkern liegt in `fabric/xtend-policy-public-types.d.ts` und enthaelt `XtendPolicyDiagnostic`, `XtendPolicyReport`, `XtendFabricFiberInput`, `XtendA11ySignal` und `XtendSecurityClassification`.
|
|
25
|
+
|
|
26
|
+
## Drift Gate
|
|
27
|
+
|
|
28
|
+
Der Gate prueft:
|
|
29
|
+
|
|
30
|
+
- jede Policy Package-Export-Condition zeigt auf die erwartete `.d.ts`
|
|
31
|
+
- jede Declaration-Datei existiert und exportiert die Runtime-Symbole des zugehoerigen JS-Moduls
|
|
32
|
+
- zentrale Diagnostic-, Report-, Fiber-, A11y- und Security-Klassifikationstypen bleiben vorhanden
|
|
33
|
+
- Fabric/A11y/Security Runtime-Dateien importieren keine `.d.ts`
|
|
34
|
+
- keine Policy fuehrt Runtime-Abhaengigkeiten in Komponenten, Loader, API oder RMT-Kernel ein
|
|
35
|
+
|
|
36
|
+
## Handoff
|
|
37
|
+
|
|
38
|
+
`WP-TypeExports-06` kann nun Builder-, Scaffold- und Component-Lab-Programm-APIs typisieren. Das Policy-Pack setzt das Muster fuer Integrationsmodule fort: bestehende JS-Runtime, schmale Declaration-Facades, package-native `types`-Conditions und ein Drift-Gate gegen Export-Abweichungen.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# XTend RMT Types
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.type-exports.rmt-declarations.v1`
|
|
4
|
+
- Workpackage: `WP-TypeExports-04`
|
|
5
|
+
- Gate: `node scripts/run_xtend_tests.js type-exports-rmt --json`
|
|
6
|
+
- Report: `.xtend-test-results/xtend-type-exports-rmt-report.json`
|
|
7
|
+
- Boundary: `types-only-no-runtime-imports`
|
|
8
|
+
- Boundary: `no-rmt-kernel-import-of-xtend-types`
|
|
9
|
+
- Boundary: `declarations-follow-js-runtime-surface`
|
|
10
|
+
|
|
11
|
+
## Zweck
|
|
12
|
+
|
|
13
|
+
`WP-TypeExports-04` macht die XTendRMT Runtime, den Browser-Entry und die RMT-Language-/Tooling-Exports fuer TypeScript-Consumer importierbar. `./rmt` und `./rmt/browser` zeigen per `types`-Condition auf `./xtendrmt/rmt-core.d.ts`, waehrend `./rmt/dom-descriptor-renderer`, `./rmt/state-selector-runtime`, `./rmt/action-effect-runtime`, `./rmt/event-routing-runtime` und `./rmt/surface-resource-graph-runtime` eigene schmale Runtime-Declarations besitzen.
|
|
14
|
+
|
|
15
|
+
## Declaration Pack
|
|
16
|
+
|
|
17
|
+
| Bereich | Package Export | Declaration |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| RMT Runtime | `./rmt`, `./rmt/browser` | `./xtendrmt/rmt-core.d.ts` |
|
|
20
|
+
| RMT App Platform Runtime | `./rmt/dom-descriptor-renderer`, `./rmt/state-selector-runtime`, `./rmt/action-effect-runtime`, `./rmt/event-routing-runtime`, `./rmt/surface-resource-graph-runtime` | `./xtendrmt/rmt-dom-descriptor-renderer.d.ts`, `./xtendrmt/rmt-state-selector-runtime.d.ts`, `./xtendrmt/rmt-action-effect-runtime.d.ts`, `./xtendrmt/rmt-event-routing-runtime.d.ts`, `./xtendrmt/rmt-surface-resource-graph-runtime.d.ts` |
|
|
21
|
+
| Source Model und Parser | `./rmt-language/source-model`, `./rmt-language/parser` | `tools/rmt-language/*.d.ts` |
|
|
22
|
+
| vNext Compiler und Contracts | `./rmt-language/vnext-*` | `tools/rmt-language/vnext-*.d.ts` |
|
|
23
|
+
| Tooling Services | `./rmt-language/diagnostics`, `./rmt-language/app-platform-tooling`, `./rmt-language/completions`, `./rmt-language/hover`, `./rmt-language/symbols`, `./rmt-language/definitions`, `./rmt-language/code-actions` | Service-Facades mit gemeinsamen RMT-Tooling-Typen |
|
|
24
|
+
| LSP, Linter, Editor | `./rmt-language-server`, `./rmt-linter/*`, `./rmt-editor/vscode` | LSP-/CLI-/Editor-Facades |
|
|
25
|
+
|
|
26
|
+
Der gemeinsame Typkern liegt in `tools/rmt-language/rmt-tooling-public-types.d.ts` und enthaelt unter anderem `RmtToolingDiagnostic`, `RmtTextEdit`, `RmtWorkspaceEdit`, `RmtLanguageServiceReport` und `RmtJsonRpcMessage`.
|
|
27
|
+
|
|
28
|
+
## Drift Gate
|
|
29
|
+
|
|
30
|
+
Der Gate prueft:
|
|
31
|
+
|
|
32
|
+
- jede RMT Package-Export-Condition zeigt auf die erwartete `.d.ts`
|
|
33
|
+
- jede Declaration-Datei existiert und exportiert die Runtime-Symbole des zugehoerigen JS-Moduls
|
|
34
|
+
- zentrale Diagnostic-, Range-, Edit-, Completion-, Hover-, Symbol-, Definition-, CodeAction- und JSON-RPC-Typen bleiben vorhanden
|
|
35
|
+
- RMT Runtime-Dateien importieren keine `.d.ts`
|
|
36
|
+
- RMT-Kernel importiert keine XTend-UI-Typen, Loader, API, Fabric, A11y oder Security Runtime-Oberflaechen
|
|
37
|
+
|
|
38
|
+
## Handoff
|
|
39
|
+
|
|
40
|
+
`WP-TypeExports-05` kann nun Fabric-, A11y- und Security-Policy-APIs typisieren. Das RMT-Pack ist dabei die Referenz fuer P1-Integrationsmodule: schmale Declarations, bestehende JS-Runtime, package-native `types`-Conditions und ein Drift-Gate gegen Export-Abweichungen.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# XTend Vendor and Utility Types
|
|
2
|
+
|
|
3
|
+
- Contract: `xtend.type-exports.vendor-facades.v1`
|
|
4
|
+
- Workpackage: `WP-TypeExports-08`
|
|
5
|
+
- Gate: `node scripts/run_xtend_tests.js type-exports-vendor --json`
|
|
6
|
+
- Report: `.xtend-test-results/xtend-type-exports-vendor-report.json`
|
|
7
|
+
|
|
8
|
+
## Zweck
|
|
9
|
+
|
|
10
|
+
`WP-TypeExports-08` schliesst die verbleibenden Type-Facade-Luecken an Randmodulen. Die Facades sind absichtlich schmal: XTend kopiert keine vollstaendige Prism- oder Turndown-Typwelt, sondern beschreibt nur die stabile Nutzungsgrenze im Projekt.
|
|
11
|
+
|
|
12
|
+
## Facades
|
|
13
|
+
|
|
14
|
+
- `./components/prism.d.ts` beschreibt die globale und CommonJS-faehige Prism-Fassade mit `highlight`, `highlightElement`, `highlightAllUnder`, `hooks`, `languages` und `Token`.
|
|
15
|
+
- `./components/turndown.d.ts` beschreibt die Browser-Global-Fassade `window.TurndownService` fuer Side-Effect-Imports und lokale Markdown-Konvertierung.
|
|
16
|
+
- `./design-tokens/xtend-design-tokens.d.ts` beschreibt den produktiven Design-Token-Contract `xtend.design-tokens.product-contract.v1`, Theme Packs, Density Packs und Validatoren.
|
|
17
|
+
- `./design-tokens/xtheme-token-alias-layer.d.ts` beschreibt den XTheme Alias Layer `xtend.theme.token-alias-layer.v1`, Legacy Bridges, Component Aliases und Validatoren.
|
|
18
|
+
|
|
19
|
+
## Theme JSON
|
|
20
|
+
|
|
21
|
+
`./design-tokens/themes/enterprise-light` bleibt eine JSON-Boundary. Das Beispiel-Theme wird als Datenartefakt exportiert und benoetigt keine eigene Runtime-Declaration. Consumer, die JSON importieren, sollen ihre Projektkonfiguration fuer JSON-Module nutzen.
|
|
22
|
+
|
|
23
|
+
## Nicht-Ziele
|
|
24
|
+
|
|
25
|
+
- Keine Volltypisierung der gesamten Prism-Sprachliste.
|
|
26
|
+
- Keine Uebernahme fremder Vendor-Interna in XTend-Namespace-Typen.
|
|
27
|
+
- Keine Runtime-Aenderung an `components/prism.js`, `components/turndown.js`, `design-tokens/xtend-design-tokens.js` oder `design-tokens/xtheme-token-alias-layer.js`.
|
|
28
|
+
|
|
29
|
+
## Drift Gate
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node scripts/run_xtend_tests.js type-exports-vendor --json
|
|
33
|
+
npm run test:type-exports-vendor
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Der Gate prueft, dass `./design-tokens` und `./design-tokens/xtheme-token-alias-layer` eine `types`-Condition besitzen, dass die Komponenten-Vendor-Dateien eigene `.d.ts`-Facades haben, dass keine Component-`.js`-Datei ohne Declaration-Gap bleibt und dass die Facades keine Runtime-Imports oder Vendor-Implementierungsdetails kopieren.
|