You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(VCST-4933): add Page Builder Shared Components (#159)
* VCST-4933: Add Page Builder shared components
* VCST-4933: Open usage pages in designer
* VCST-4933: Harden shared component workflows
* fix(VCST-4933): resolve PageBuilder quality gate findings
* fix(VCST-4933): clear remaining PageBuilder analyzer findings
* refactor(VCST-4933): rename linked components to shared components
* fix(VCST-4933): mark migrations as generated
* refactor(VCST-4933): remove shared component asset index backfill
* refactor(VCST-4933): simplify shared component architecture
* fix(VCST-4933): satisfy Sonar reliability analysis
* fix(VCST-4933): clear remaining Sonar findings
* fix(VCST-4933): harden Shared Component expansion on the indexing path
Fall back to the page's own change date when the effective-date lookup has no
entry for it. The lookup skips pages without an id, so indexing the dictionary
directly aborted the whole indexation cycle on the first such row.
Skip a page whose content cannot be expanded instead of failing the batch it
belongs to. A malformed componentRef marker from an import or a manual edit
previously denied indexation to every other page in the same batch, in both the
content provider and the page-changed handler.
Load the Shared Components referenced by a batch in one round trip through
LoadReferencedComponentsAsync plus the pure Expand step. Resolving page by page
opened a repository and queried the component contents per page, so a component
reused across the batch was read once per page that used it.
* fix(VCST-4933): address shared component QA feedback
* fix: address Sonar findings in PageBuilder content provider
* refactor(VCST-4933): expose the Page Builder content provider name as a constant
The provider name is a public contract: consumers select the Page Builder
content provider by it (the standalone preview in XCMS does). Keeping it as a
literal inside the provider means a rename compiles cleanly and silently turns
such lookups into a fallback, so publish it from ModuleConstants instead.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Basil Kotov <basilkot@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Aleksandra-Mitricheva <54628043+Aleksandra-Mitricheva@users.noreply.github.com>