@sanity/incompatible-plugin

v1.0.4
Display an error dialog in Sanity Studio v2 when a v3 plugin has been installed.
sanity sanity-plugin

@sanity/incompatible-plugin

Small helper library that will display a warning in Sanity Studio v2 when a plugin built for Studio v3 is installed.

Installation

npm i @sanity/incompatible-plugin

or

yarn add @sanity/incompatible-plugin

Usage

In your plugin root directory, create two files:

v2-incompatible.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

{
  "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:

{
  "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.

Develop

Release new version

Run "CI & Release" workflow. 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.

npm i @sanity/incompatible-plugin

Metadata

  • MIT
  • Whatever
  • Sanity.io
  • released 10/7/2022

Downloads