Compatibility
npm run smoke (in this package) packs the plugin, installs it with npm into a brand-new Studio and checks that:
- it installs with no peer-dependency conflicts,
- there’s exactly one copy of
@sanity/sdk-react,@sanity/sdk,@portabletext/editor,reactandstyled-components, and of every@portabletext/*package, - a
sanity.config.tsusing the plugin and its theme type-checks against the published types, sanity buildbundles the Studio with exactly one copy of the App SDK,- with
--embedded, the same Studio embedded in a Next.js App Router app (next-sanity’sNextStudio) builds too, again with one App SDK in the browser bundle.
pnpm smoke # latest sanity
pnpm smoke latest --embedded # …and embedded in Next.js
pnpm smoke 6.12.0 --loose # an older one, ignoring the declared range
CI runs it on every pull request against the declared minimum (6.22.0) and the latest release, embedded too.
It can’t open the room itself, because that needs a logged-in Studio. The browser tests under Develop do that.
Embedding the Studio in Next.js: put 'use client' at the top of sanity.config.ts, as Sanity’s guide for the App Router says; without it, Next tries to bundle the whole Studio for the server.
sanity |
Smoke test | Notes |
|---|---|---|
| 6.22.0 | ✅ passes | Declared minimum. Used day to day. |
| 6.12.0 – 6.21.x | ✅ passes with --loose |
Not yet used for real writing, so not in the declared range. |
| ≤ 6.11.x | ❌ fails | Ships App SDK v2 and @portabletext/editor 7, so the room gets a second copy of each. |
Results from November 2026.