Gallery 2 schema resolver#57
Conversation
Enables correct rendering of material icons inside the sandboxed preview iframe running the ng-basic-catalog app.
* Use `QueryParser.` instead of `this.` when calling static functions * Ensure returned config.json doesn't have "JSON hijacking" prefixes
Remove the showComponentsGallery signal to expose the components gallery link in the primary navigation sidebar. Adds test coverage checking link visibility using shell harnesses.
There was a problem hiding this comment.
Code Review
This pull request introduces the CatalogSchemaResolver class to parse and resolve component properties from catalog schemas, along with comprehensive unit tests. It also makes the Components Gallery navigation link visible by default, updates related tests and harnesses, refactors QueryParser to use static calls, and enhances StartupResolution to strip JSON safety prefixes from fetched configurations. The code review feedback identifies several critical issues in the new CatalogSchemaResolver, including a potential prototype pollution vulnerability during JSON pointer resolution, incorrect merging of null and array types, potential prototype lookup bugs, and the need to strip $ref and allOf properties from resolved schemas.
⚡ A2UI Composer PR PreviewYour automated preview is successfully live:
|
bcb0d7d to
c21b061
Compare
Adds CatalogSchemaResolver to recursively resolve allOf arrays and internal $defs schema references within catalog component definitions. Maps properties into clean type objects for tabular representation.
c21b061 to
85edd26
Compare
Description
Adds CatalogSchemaResolver to recursively resolve allOf arrays and internal $defs schema references within catalog component definitions. Maps properties into clean type objects for tabular representation.
This is the 2nd in a series of PRs which culminates in a dynamically generated page to show the components of the current catalog:

Pre-launch Checklist