feat: adding sitemap to cms LP content-type#3386
Conversation
## What's the purpose of this pull request? Reverts an accidental `4.2.1` release This PR restores `main` to the last legitimate release state (`4.2.0`). > No npm publish happened: the local script had the `pnpm -r publish` step removed, so `4.2.1` only exists as git history (now being reverted). The `v4.2.1` tag was already deleted. ## How it works? Reverts the three commits that landed on `main`, newest → oldest: - `516e784` — `[no ci] Release: 4.2.1` (version bump + CHANGELOGs) - `e9b2105` — `fix: fix vtex message` (test-only log string change in `generate-i18n.ts`) - `6a13c8c` — `chore: lern force-publish release` After the revert, `package.json`/`lerna.json`/`CHANGELOG.md` are back at `4.2.0`, the `release` script has its `pnpm publish` step restored, and `generate-i18n.ts` keeps the original message.
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughAdds an optional ChangesLanding Page Sitemap Control
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
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. |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
packages/core/cms/faststore/schema.json (1)
614-619: ⚡ Quick winField name and UI title mismatch.
The field is named
siteMapbut displays as "Public" in the UI. This inconsistency can confuse developers and users. Consider aligning them: either rename the field toincludeInSitemapor change the title to "Include in Sitemap" to match the field name's intent.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/core/cms/faststore/schema.json` around lines 614 - 619, The schema field "siteMap" has a mismatched UI title "Public"; rename or relabel for clarity—either change the field key from siteMap to includeInSitemap everywhere it’s used (schema, serializers, consumers) or update the title value to "Include in Sitemap" so the UI title matches the intent of the siteMap boolean; ensure any references to the old name (siteMap) in consuming code or migrations are updated accordingly (look for usages of siteMap, includeInSitemap, and the schema entry with title "Public").packages/core/cms/faststore/pages/cms_content_type__landingpage.jsonc (1)
15-20: ⚡ Quick winSame naming mismatch as in schema.json.
The field
siteMapdisplays as "Public" in the CMS UI. For consistency and clarity, align the field name with its UI label.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/core/cms/faststore/pages/cms_content_type__landingpage.jsonc` around lines 15 - 20, The JSON field "siteMap" is misnamed compared to its UI label "Public"; rename the property "siteMap" to "public" in this CMS content type definition (the JSON object where "siteMap": { ... }) so the key matches the UI label, and mirror the same rename in the corresponding schema reference (e.g., schema.json) to keep names consistent across validations and consumers; ensure any code that referenced "siteMap" is updated to use "public".
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@packages/core/cms/faststore/pages/cms_content_type__landingpage.jsonc`:
- Around line 15-20: The JSON field "siteMap" is misnamed compared to its UI
label "Public"; rename the property "siteMap" to "public" in this CMS content
type definition (the JSON object where "siteMap": { ... }) so the key matches
the UI label, and mirror the same rename in the corresponding schema reference
(e.g., schema.json) to keep names consistent across validations and consumers;
ensure any code that referenced "siteMap" is updated to use "public".
In `@packages/core/cms/faststore/schema.json`:
- Around line 614-619: The schema field "siteMap" has a mismatched UI title
"Public"; rename or relabel for clarity—either change the field key from siteMap
to includeInSitemap everywhere it’s used (schema, serializers, consumers) or
update the title value to "Include in Sitemap" so the UI title matches the
intent of the siteMap boolean; ensure any references to the old name (siteMap)
in consuming code or migrations are updated accordingly (look for usages of
siteMap, includeInSitemap, and the schema entry with title "Public").
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d58563a4-dc55-49c4-8672-b288f9c99d3e
📒 Files selected for processing (2)
packages/core/cms/faststore/pages/cms_content_type__landingpage.jsoncpackages/core/cms/faststore/schema.json
renatomaurovtex
left a comment
There was a problem hiding this comment.
Small, contained schema change — adds a siteMap boolean to the landing-page CMS content type, mirrored consistently in both the .jsonc source and the aggregated schema.json artifact. No secrets or stray build output in the diff, and the vtex content upload-schema step is noted in the description. Two questions, neither blocking.
packages/core/cms/faststore/pages/cms_content_type__landingpage.jsonc
💬 [behavior] "default": false — for stores already live, landing pages currently discoverable in sitemap.xml will drop out of the sitemap once this schema lands and content is re-saved (existing content has no siteMap, so it resolves to false). Is exclude-by-default the intended product decision, or should it default to true to preserve current indexation? Worth a line in the PR/release notes either way so store owners aren't surprised by an indexation change.
💬 [nit] The field key is siteMap but the user-facing title is "Public". The description bridges them, but "Public" reads a bit detached from "added to sitemap.xml". Intentional product wording, or would "Include in sitemap" be clearer in the CMS?
Verdict: Approved with comments
Blocking: none.
Non-blocking (💬):
- Confirm
default: falseis the intended indexation behavior for already-published landing pages (and call it out in release notes). - Optional: align the
"Public"title with the field's sitemap meaning.
Checks to confirm before merge: vtex content upload-schema against the vtex account post-merge (as noted) · pnpm lint.
@faststore/api
@faststore/cli
@faststore/components
@faststore/core
@faststore/diagnostics
@faststore/lighthouse
@faststore/sdk
@faststore/ui
commit: |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/core/cms/faststore/schema.json (1)
1-4860:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winCritical: Revert all formatting changes before merge.
The entire file contains hundreds of lines of formatting changes (multiline arrays for
$extends,required,enum,enumNames,restrictMediaTypes,identifierKeys) that conflict with the project's Biome formatter. The CI pipeline is failing because Biome would revert all of these changes.Impact:
- CI pipeline fails (blocks merge)
- Makes code review difficult (functional change hidden in formatting noise)
- Will cause merge conflicts with other PRs touching
schema.json- Wastes CI/CD resources on every commit
Resolution:
Run Biome formatter on the entire file to align with project standards:npm run format # or biome format --write packages/core/cms/faststore/schema.jsonAlternative approach:
If you need to keep the functional change (siteMap field) separate from formatting:
- Revert all formatting changes
- Keep only the
siteMapfield addition (lines 648-653)- Consider submitting formatting changes as a separate PR if multiline format is genuinely preferred (after discussing with team and updating Biome config)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/core/cms/faststore/schema.json` around lines 1 - 4860, The PR contains only formatting churn across many schema arrays ($extends, required, enum, enumNames, restrictMediaTypes, identifierKeys) which breaks the project's Biome formatting; revert those unrelated formatting edits and keep only the intended functional change: the new "siteMap" field added inside the landingPage schema (the siteMap property under the landingPage component). To fix: reset the file to the previous formatting (discard all multiline/structural formatting changes), re-apply only the minimal siteMap property addition, then run the project formatter (npm run format or biome format --write) to ensure the file matches CI expectations before committing.Source: Pipeline failures
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/core/cms/faststore/pages/cms_content_type__landingpage.jsonc`:
- Around line 3-5: The file uses multiline array formatting for "$extends",
"required", and "identifierKeys" which conflicts with the project's Biome
formatter; run the project formatter (npm run format) to normalize those arrays
to the project's expected style, review the resulting changes to ensure only
formatting was altered, and commit the formatted file (along with any other
files Biome updates) so the CI/formatter conflict is resolved.
---
Outside diff comments:
In `@packages/core/cms/faststore/schema.json`:
- Around line 1-4860: The PR contains only formatting churn across many schema
arrays ($extends, required, enum, enumNames, restrictMediaTypes, identifierKeys)
which breaks the project's Biome formatting; revert those unrelated formatting
edits and keep only the intended functional change: the new "siteMap" field
added inside the landingPage schema (the siteMap property under the landingPage
component). To fix: reset the file to the previous formatting (discard all
multiline/structural formatting changes), re-apply only the minimal siteMap
property addition, then run the project formatter (npm run format or biome
format --write) to ensure the file matches CI expectations before committing.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d3c1d62b-ed08-4dac-8a74-5b14c3f0edc7
📒 Files selected for processing (2)
packages/core/cms/faststore/pages/cms_content_type__landingpage.jsoncpackages/core/cms/faststore/schema.json
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/core/cms/faststore/schema.json (1)
121-126:⚠️ Potential issue | 🟠 Major | ⚡ Quick winFix Biome formatting before merge (current CI is failing).
pnpm lintis failing becauseschema.jsonis not in the formatter’s expected shape in multiple array blocks. Please run Biome formatting on this file and commit the normalized output to unblock CI.Also applies to: 265-271, 291-297, 744-754
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/core/cms/faststore/schema.json` around lines 121 - 126, The schema.json has Biome/formatting mismatches in several array blocks (e.g., the "content-types" -> "404" object containing "$extends" and "$singleton") causing pnpm lint to fail; run the Biome formatter on packages/core/cms/faststore/schema.json (or run pnpm lint --fix/biome --write) to normalize array and object formatting in the affected blocks (also check and reformat the other ranges mentioned around lines ~265-271, ~291-297, and ~744-754), then commit the formatted file so CI passes.Source: Pipeline failures
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@packages/core/cms/faststore/schema.json`:
- Around line 121-126: The schema.json has Biome/formatting mismatches in
several array blocks (e.g., the "content-types" -> "404" object containing
"$extends" and "$singleton") causing pnpm lint to fail; run the Biome formatter
on packages/core/cms/faststore/schema.json (or run pnpm lint --fix/biome
--write) to normalize array and object formatting in the affected blocks (also
check and reformat the other ranges mentioned around lines ~265-271, ~291-297,
and ~744-754), then commit the formatted file so CI passes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 197ff434-8b7f-4fb9-b6cd-2b444b3faa72
📒 Files selected for processing (1)
packages/core/cms/faststore/schema.json
|
## Summary Graduate the `4.3.0-dev.8` prerelease cycle to the stable `4.3.0` release on `latest`. Merging this PR triggers CD on `main`, which runs `lerna version --conventional-graduate` and publishes all `@faststore/*` packages to the `latest` dist-tag. ### Features - Password Protection (v4) (#3276) - File upload via Order Entry Service (OES) (#3334) - Add sitemap to CMS Landing Page content-type (#3386) ### Bug Fixes - **core:** use authenticator route for setpassword (#3380) - migrate partytown `@builder.io` → `@qwik.dev@0.14.0` (#3394) - **api:** use account-scoped cookie in orderEntry headers (#3395) - forward auth token only via account-scoped cookie (#3381) - **core:** propagate upstream error status instead of always 500 (#3379) ## Pre-flight (faststore-release skill) - Working tree clean; `release.yml` has `fetch-depth: 0` - All 8 packages have `repository.url` - No breaking changes since `v4.2.0` - `dev → main` merges cleanly (no CHANGELOG/codegen conflicts) - No unmerged hotfixes on `main` (accidental `4.2.1` was fully reverted in #3375) ## Test plan - [ ] CI green on this PR - [ ] After merge, confirm CD publishes all 8 packages at `4.3.0` under `latest` Made with [Cursor](https://cursor.com) --------- Co-authored-by: Matheus P. Silva <cout.matheusps@gmail.com> Co-authored-by: vtexgithubbot <vtexgithubbot@github.com> Co-authored-by: Lucas Feijó <lucas.portela@vtex.com> Co-authored-by: Luiz Falcão <39093175+llfalcao@users.noreply.github.com> Co-authored-by: Artur Santiago <artur.santiago@cubos.io> Co-authored-by: Larícia Mota <laricia.mota@vtex.com.br> Co-authored-by: Sahan Jayawardana <sahan@clouda.io> Co-authored-by: Mateus Pontes <mateuspo10@gmail.com> Co-authored-by: Matheus Martins <mathews_2010@outlook.com> Co-authored-by: renatomaurovtex <167437775+renatomaurovtex@users.noreply.github.com> Co-authored-by: Leandro Rodrigues <leandro.rodrigues@vtex.com> Co-authored-by: Fanny Chien <fanny.chien@vtex.com> Co-authored-by: Arthur Andrade <arthurfelandrade@gmail.com> Co-authored-by: Leandro Rodrigues <leandro.swf@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Thiago Pereira <thiago.pereira@vtex.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Giuliana Rigaud <62848434+giurigaud@users.noreply.github.com> Co-authored-by: renato <renato.neto@cubos.io> Co-authored-by: Bruna Santos <brunassdev@gmail.com> Co-authored-by: BrunaCubos <104789782+BrunaCubos@users.noreply.github.com> Co-authored-by: Ícaro Oliveira <icarovinici@gmail.com> Co-authored-by: Bruna Santos <bruna.santos@cubos.io> Co-authored-by: Everton Ataide <everton.ataide@vtex.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Otavio Moreira Meirelles <otavio.meirelles@vtex.com> Co-authored-by: Marco Cardoso <marcopaulo@outlook.com> Co-authored-by: Gabriel Paladino <gabpaladino@users.noreply.github.com> Co-authored-by: CodeRabbit <noreply@coderabbit.ai> Co-authored-by: dk-portal[bot] <134092483+dk-portal[bot]@users.noreply.github.com> Co-authored-by: Rodrigo Tavares <rodrigo.tavares@vtex.com> Co-authored-by: vitorflg <vitor.gomes@vtex.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Válber Laux <valber.laux@vtex.com>

0 New Issues
0 Fixed Issues
0 Accepted Issues
No data about coverage (15.60% Estimated after merge)
After merging a
vtex content upload-schemashould be executed to account vtex to make it available to all accountsSummary by CodeRabbit
New Features
sitemap.xml. It’s optional and defaults to enabled (true).Chores