@sanity/incompatible-plugin
Version:
Display an error dialog in Sanity Studio v2 when a v3 plugin has been installed.
72 lines (51 loc) • 1.63 kB
Markdown
Small helper library that will display a warning in Sanity Studio v2 when a plugin built for Studio v3 is installed.
```bash
npm i @sanity/incompatible-plugin
```
or
```bash
yarn add @sanity/incompatible-plugin
```
In your plugin root directory, create two files:
`v2-incompatible.js`
```js
const {showIncompatiblePluginDialog} = require('@sanity/incompatible-plugin')
const {name, version} = require('./package.json')
export default showIncompatiblePluginDialog({
name: name,
versions: {
v3: version,
// Optional: If there is not v2 version of your plugin, v2 can be omitted
v2: '^1.2.5',
},
// Optional: Feel free to put this as field in package.json and import it alongside name and version above
sanityExchangeUrl: 'https://www.sanity.io/plugins/<plugin-on-sanity-exchanged>',
})
```
`sanity.json`
```json
{
"parts": [
{
"implements": "part:@sanity/base/sanity-root",
"path": "./v2-incompatible.js"
}
]
}
```
Add these to `files` in the plugin `package.json` alongside anything else already there, for instance:
```json
{
"files": ["src", "lib", "v2-incompatible.js", "sanity.json"]
}
```
Done!
If your v3 plugin gets installed in a v2 studio by mistake, a dialog will display how to fix it.
Run ["CI & Release" workflow](https://github.com/sanity-io/incompatible-plugin/actions/workflows/main.yml).
Make sure to select the main branch and check "Release new version".
Semantic release will only release on configured branches, so it is safe to run release on any branch.