Skip to content

feat: adding sitemap to cms LP content-type#3386

Merged
ommeirelles merged 9 commits into
devfrom
feat/SFS-3217
Jun 15, 2026
Merged

feat: adding sitemap to cms LP content-type#3386
ommeirelles merged 9 commits into
devfrom
feat/SFS-3217

Conversation

@ommeirelles

@ommeirelles ommeirelles commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

After merging a vtex content upload-schema should be executed to account vtex to make it available to all accounts

image

Summary by CodeRabbit

  • New Features

    • Added a “Public” toggle for Landing Pages to control whether the landing page URL is included in sitemap.xml. It’s optional and defaults to enabled (true).
  • Chores

    • Improved CMS schema formatting/readability, with no other functional changes.

lemagnetic and others added 5 commits June 1, 2026 20:03
## 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.
@ommeirelles ommeirelles requested a review from a team as a code owner June 9, 2026 20:00
@ommeirelles ommeirelles requested review from emersonlaurentino and lemagnetic and removed request for a team June 9, 2026 20:00
@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

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: 19fdb7ec-9826-4b47-84eb-9f8d879c6534

📥 Commits

Reviewing files that changed from the base of the PR and between 43c7d98 and 8531350.

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

Walkthrough

Adds an optional siteMap boolean property (default: true) to Landing Page schema with title "Public" and description explaining sitemap.xml inclusion. Schema JSON structure is reformatted with multi-line definitions and adjusted closing braces for consistency.

Changes

Landing Page Sitemap Control

Layer / File(s) Summary
Landing Page siteMap field definition
packages/core/cms/faststore/pages/cms_content_type__landingpage.jsonc, packages/core/cms/faststore/schema.json
Adds landingPage.siteMap: boolean (default: true, title: "Public", description about inclusion in sitemap.xml) to both the content-type definition and schema.
Schema JSON structure formatting
packages/core/cms/faststore/schema.json
Reformats top-level $defs block into expanded multi-line JSON structure and adjusts closing braces/commas around component definitions.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

A sitemap flag, so small yet grand,
Let pages choose their searchlight stand,
Schema breathes in formatted grace,
JSON finds its proper place,
SEO wins across the land.

🚥 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 'feat: adding sitemap to cms LP content-type' accurately summarizes the main change—adding sitemap support to the CMS landing page content-type.
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 feat/SFS-3217

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

@codesandbox-ci

codesandbox-ci Bot commented Jun 9, 2026

Copy link
Copy Markdown

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
packages/core/cms/faststore/schema.json (1)

614-619: ⚡ Quick win

Field name and UI title mismatch.

The field is named siteMap but displays as "Public" in the UI. This inconsistency can confuse developers and users. Consider aligning them: either rename the field to includeInSitemap or 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 win

Same naming mismatch as in schema.json.

The field siteMap displays 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

📥 Commits

Reviewing files that changed from the base of the PR and between ed0edfd and 1da665f.

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

@renatomaurovtex renatomaurovtex left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: false is 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.

@pkg-pr-new

pkg-pr-new Bot commented Jun 10, 2026

Copy link
Copy Markdown

Open in StackBlitz

@faststore/api

npm i https://pkg.pr.new/vtex/faststore/@faststore/api@8531350

@faststore/cli

npm i https://pkg.pr.new/vtex/faststore/@faststore/cli@8531350

@faststore/components

npm i https://pkg.pr.new/vtex/faststore/@faststore/components@8531350

@faststore/core

npm i https://pkg.pr.new/vtex/faststore/@faststore/core@8531350

@faststore/diagnostics

npm i https://pkg.pr.new/vtex/faststore/@faststore/diagnostics@8531350

@faststore/lighthouse

npm i https://pkg.pr.new/vtex/faststore/@faststore/lighthouse@8531350

@faststore/sdk

npm i https://pkg.pr.new/vtex/faststore/@faststore/sdk@8531350

@faststore/ui

npm i https://pkg.pr.new/vtex/faststore/@faststore/ui@8531350

commit: 8531350

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 win

Critical: 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.json

Alternative approach:
If you need to keep the functional change (siteMap field) separate from formatting:

  1. Revert all formatting changes
  2. Keep only the siteMap field addition (lines 648-653)
  3. 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

📥 Commits

Reviewing files that changed from the base of the PR and between 1da665f and 13ed1c5.

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

Comment thread packages/core/cms/faststore/pages/cms_content_type__landingpage.jsonc Outdated

@eduardoformiga eduardoformiga left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes looks good, but there are a lot of format issues and CI is also failing about it. I'll let it pre approved 😉

Question: should we add some logic in the code beyond only in CMS?

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 win

Fix Biome formatting before merge (current CI is failing).

pnpm lint is failing because schema.json is 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

📥 Commits

Reviewing files that changed from the base of the PR and between 13ed1c5 and 43c7d98.

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

@sonar-workflows

Copy link
Copy Markdown

@ommeirelles ommeirelles merged commit 7e81ae2 into dev Jun 15, 2026
12 of 13 checks passed
@ommeirelles ommeirelles deleted the feat/SFS-3217 branch June 15, 2026 13:07
@eduardoformiga eduardoformiga mentioned this pull request Jun 17, 2026
2 tasks
eduardoformiga added a commit that referenced this pull request Jun 17, 2026
## 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants