Skip to content

feat(@sanity/sfcc): initial release of Salesforce Commerce Cloud plugin#794

Merged
thebiggianthead merged 3 commits intomainfrom
feat/add-sfcc-plugin
Apr 2, 2026
Merged

feat(@sanity/sfcc): initial release of Salesforce Commerce Cloud plugin#794
thebiggianthead merged 3 commits intomainfrom
feat/add-sfcc-plugin

Conversation

@thebiggianthead
Copy link
Copy Markdown
Contributor

  • Added SFCC plugin for integrating Salesforce Commerce Cloud with Sanity, including document types for products and categories.
  • Implemented schema building blocks, desk structure, and UI components for managing SFCC-synced data.
  • Created test Studio workspace.

- Added SFCC plugin for integrating Salesforce Commerce Cloud with Sanity, including document types for products and categories.
- Implemented schema building blocks, desk structure, and UI components for managing SFCC-synced data.
- Created example workspace for usage.
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
plugins-studio Ready Ready Preview, Comment Apr 1, 2026 3:22pm

Request Review

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 1, 2026

🦋 Changeset detected

Latest commit: 12f2775

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@sanity/sfcc Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@socket-security
Copy link
Copy Markdown

socket-security bot commented Apr 1, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​sanity-plugin-internationalized-array@​5.1.099100100100100

View full report

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

Preview this PR with pkg.pr.new

pnpm logo Using pnpm
📦 @sanity/sfcc
pnpm install https://pkg.pr.new/sanity-io/plugins/@sanity/sfcc@12f2775ede3c669f85bd96212c20edf554f5e1fc
npm logo Using npm
📦 @sanity/sfcc
npm install https://pkg.pr.new/sanity-io/plugins/@sanity/sfcc@12f2775ede3c669f85bd96212c20edf554f5e1fc

View Commit (12f2775)

@thebiggianthead thebiggianthead marked this pull request as ready for review April 1, 2026 15:30
@thebiggianthead thebiggianthead requested a review from a team as a code owner April 1, 2026 15:30
@thebiggianthead thebiggianthead requested review from RitaDias and Copilot and removed request for a team April 1, 2026 15:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Introduces a new @sanity/sfcc plugin workspace that adds Studio tooling for working with Salesforce Commerce Cloud–synced product and category documents in this monorepo, plus a test-studio workspace to exercise the integration.

Changes:

  • Added @sanity/sfcc plugin package with schema building blocks, desk structure helpers, UI components, and a delete action override.
  • Added Vitest coverage for package exports and preview prepare logic.
  • Wired an SFCC example workspace into dev/test-studio and updated monorepo configs (lockfile, knip, CODEOWNERS, changeset).

Reviewed changes

Copilot reviewed 25 out of 26 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
pnpm-lock.yaml Adds the new workspace and its resolved dependencies to the monorepo lockfile.
plugins/@sanity/sfcc/vitest.config.ts Vitest config for the new plugin workspace.
plugins/@sanity/sfcc/tsconfig.json Typecheck configuration for the plugin workspace.
plugins/@sanity/sfcc/tsconfig.build.json Build TS config for the plugin package output.
plugins/@sanity/sfcc/src/structure/productStructure.ts Desk structure list item for products, including variant grouping.
plugins/@sanity/sfcc/src/structure/index.ts defineStructure helper + structure exports.
plugins/@sanity/sfcc/src/structure/categoryStructure.ts Desk structure list item for categories.
plugins/@sanity/sfcc/src/schemas/product.tsx Product store field definition + preview config.
plugins/@sanity/sfcc/src/schemas/product.test.ts Tests for product preview prepare.
plugins/@sanity/sfcc/src/schemas/category.tsx Category store field definition + preview config.
plugins/@sanity/sfcc/src/schemas/category.test.ts Tests for category preview prepare.
plugins/@sanity/sfcc/src/index.ts Main plugin entry: exports, sfccRenderMembers, and sfccPlugin definition.
plugins/@sanity/sfcc/src/index.test.ts Tests package exports + plugin behavior (actions/options).
plugins/@sanity/sfcc/src/documentActions/sfccDelete.tsx Custom delete action wrapper to enforce SFCC guardrails.
plugins/@sanity/sfcc/src/constants.ts Defines API version used by Sanity client.
plugins/@sanity/sfcc/src/components/SfccOfflineBanner.tsx Render-members decoration that warns when documents are offline.
plugins/@sanity/sfcc/src/components/SfccDocumentStatus.tsx Preview media component with image + status overlay.
plugins/@sanity/sfcc/README.md Usage/setup documentation for the new plugin.
plugins/@sanity/sfcc/package.json New published package metadata and dependency declarations.
plugins/@sanity/sfcc/package.config.ts @sanity/pkg-utils build config for the package.
knip.jsonc Adds knip project entry for the new workspace.
dev/test-studio/src/sfcc/index.tsx Example plugin configuration for test studio usage.
dev/test-studio/sanity.config.ts Registers a new “Salesforce Commerce Cloud” workspace in test studio.
dev/test-studio/package.json Adds @sanity/sfcc to test-studio dependencies.
.github/CODEOWNERS Adds code ownership for the new plugin directory.
.changeset/curvy-dragons-open.md Declares release intent for the new package.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugins/@sanity/sfcc/src/documentActions/sfccDelete.tsx
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
@sanity-io sanity-io deleted a comment from Copilot AI Apr 1, 2026
Copy link
Copy Markdown
Contributor

@pedrobonamin pedrobonamin left a comment

Choose a reason for hiding this comment

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

Looks good to me! Thank you for adding this @thebiggianthead let us know any pain point and how we can make it better.

I've seen you added the trusted publishing and the package exists in npm, so it should be good to go.

I've checked the categories and products and it's empty, would it be possible to populate it so we get a working example in the test studio? It will help us fix any issues when doing maintenance to the plugin

@thebiggianthead
Copy link
Copy Markdown
Contributor Author

Yeah I'll add some test data soon. I tested the plugin preview from pkg.pr.new on a Studio with data in – but need to do some pokery with data for this one (the plugin purposefully stops new documents being created from the Studio) and this was the quicker way! TY!

@thebiggianthead thebiggianthead merged commit 1f8d522 into main Apr 2, 2026
15 checks passed
@thebiggianthead thebiggianthead deleted the feat/add-sfcc-plugin branch April 2, 2026 09:07
@squiggler-app squiggler-app bot mentioned this pull request Apr 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants