Skip to content

chore(workbench): rebase onto main#1137

Merged
gu-stav merged 0 commit into
feat/workbenchfrom
chore/workbench-rebase-2026-05-27
May 27, 2026
Merged

chore(workbench): rebase onto main#1137
gu-stav merged 0 commit into
feat/workbenchfrom
chore/workbench-rebase-2026-05-27

Conversation

@gu-stav
Copy link
Copy Markdown
Member

@gu-stav gu-stav commented May 27, 2026

Description

Rebase feat/workbench onto latest main (currently 2 commits ahead: #1128 CI cache scoping by RUNNER_OS, #1084 page-builder template).

Used git rebase --rebase-merges origin/main to preserve the prior merge structure; rerere auto-resolved the previous conflict resolutions on extractManifest.ts and commands/manifest/extract.ts (both now import SchemaExtractionError from @sanity/cli-build/_internal per #1120).

Once merged, feat/workbench should have no outstanding conflicts with main.


Note

High Risk
Large, cross-cutting changes to sanity dev/build, filesystem locks, and Windows process detection; misbehavior could break local development or leave stale locks, though coverage is extensive.

Overview
This branch lands experimental federation + workbench support across the Sanity CLI, rebased onto current main (CI cache + page-builder template changesets included).

CLI config & paths: @sanity/cli-core adds optional federation.enabled, getCliConfigUncached for dev-time reloads of sanity.cli, and shared getSanityConfigDir / getSanityDataDir (staging-aware) for user config vs runtime state.

Build: When federation is on, builds use @sanity/federation via Vite createBuilder, merge user vite config without finalizeViteConfig, skip the usual .sanity/runtime client bundle, and skip auto-update import maps. Vite gains federation/typegen plugin wiring, strictPort: false, and optional reactRefreshHost.

Dev: devAction orchestrates a singleton workbench Vite server (lock + ~/.sanity/dev-servers registry with PID-reuse checks, including Windows PowerShell), bumps the studio/app to the next port, registers local apps with inlined manifests, and drops the old dashboard URL fetch (getDashboardAppURL removed). Init/e2e tests use --no-federation where needed.

Supporting: @sanity/federation dependency, federated-studio fixture, manifest extraction split (extractCoreAppManifest), many unit tests, snapshot workflow temporarily targeting feat/workbench / workbench dist-tag, and a large set of changeset entries documenting prior workbench PRs.

Reviewed by Cursor Bugbot for commit 78420aa. Bugbot is set up for automated code reviews on this repo. Configure here.

@gu-stav gu-stav requested a review from a team as a code owner May 27, 2026 14:57
@gu-stav gu-stav merged commit 78420aa into feat/workbench May 27, 2026
9 checks passed
@gu-stav gu-stav deleted the chore/workbench-rebase-2026-05-27 branch May 27, 2026 15:12
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.

1 participant