Skip to content

fix: Base CMS schema (V4)#3291

Merged
eduardoformiga merged 1 commit intocanary-v2from
fix/base-schema-v4
May 4, 2026
Merged

fix: Base CMS schema (V4)#3291
eduardoformiga merged 1 commit intocanary-v2from
fix/base-schema-v4

Conversation

@lucasfp13
Copy link
Copy Markdown
Contributor

@lucasfp13 lucasfp13 commented May 4, 2026

What's the purpose of this pull request?

Fix the base CMS schema for FS V4 (vtex.faststore4) to ensure that components will be created without the $componentKey and $componentTitle keys as properties.

How to test it?

The latest FS schema on Schema Registry (vtex.faststore4@1.2.0) should not have $componentKey and $componentTitle keys as components' properties.

Summary by CodeRabbit

  • Chores
    • Relaxed component schema requirements to support more flexible configurations. Components no longer require specific identifier fields, enabling broader customization options.

@lucasfp13 lucasfp13 requested review from hellofanny and victorhmp May 4, 2026 14:39
@lucasfp13 lucasfp13 self-assigned this May 4, 2026
@lucasfp13 lucasfp13 requested a review from a team as a code owner May 4, 2026 14:39
@lucasfp13 lucasfp13 requested review from lariciamota and removed request for a team May 4, 2026 14:39
@lucasfp13 lucasfp13 added the bug Something isn't working label May 4, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 4, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: adb09ecc-fdc6-48ed-a35e-abdfbc021344

📥 Commits

Reviewing files that changed from the base of the PR and between eebd7f6 and aef709e.

📒 Files selected for processing (2)
  • packages/core/cms/faststore/base.jsonc
  • packages/core/cms/faststore/schema.json

Walkthrough

The $defs.base-component schema definition in both the JSONC source and compiled JSON schema is loosened: required fields $componentKey and $componentTitle are removed, and the properties object is cleared, eliminating schema enforcement on component shape.

Changes

Base Component Schema Loosening

Layer / File(s) Summary
Schema Definition
packages/core/cms/faststore/base.jsonc
$defs.base-component removes $componentKey and $componentTitle from required array; properties is replaced with empty object {}.
Generated Schema Output
packages/core/cms/faststore/schema.json
$defs/base-component reflects the same constraints removal—required becomes [] and properties becomes {}.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • #3248: Directly inverted change—added and required $componentKey/$componentTitle to the same base-component schema definition.
  • #3212: Addresses the $componentKey/$componentTitle metadata by filtering those properties before rendering components.

Suggested reviewers

  • hellofanny
  • lemagnetic

Poem

Schema chains unbound, components breathe free,
No mandatory fields to decree,
Flexibility blooms where constraints once lived,
Shaped by intention, not what the schema gives. ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: loosening the base CMS schema by removing required fields from base-component definitions in both configuration and schema files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/base-schema-v4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@codesandbox-ci
Copy link
Copy Markdown

codesandbox-ci Bot commented May 4, 2026

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

@victorhmp
Copy link
Copy Markdown
Member

Just a reminder to the FastStore team: don't forget to follow the instructions from this thread when you deploy FastStore v4, so we can kill the vtex.faststore4 schema in the registry and only use vtex.faststore

@eduardoformiga eduardoformiga merged commit eaa95ee into canary-v2 May 4, 2026
5 of 6 checks passed
@eduardoformiga eduardoformiga deleted the fix/base-schema-v4 branch May 4, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants