@scm-js/plugin-api 1.23.0 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.d.ts +14 -0
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -1957,6 +1957,20 @@ export interface PluginManifest {
1957
1957
  icon?: string;
1958
1958
  /** The `PLUGIN_API_VERSION` the plugin was written against. */
1959
1959
  api?: number;
1960
+ /**
1961
+ * Plugins this one needs running, as the specs Manage Plugins takes
1962
+ * (`"github:owner/repo"`, `"github:owner/repo@v1.2.0"`, a URL to a `plugin.json`,
1963
+ * `"builtin:name"`). Adding this plugin installs them first, enabling it enables them,
1964
+ * and the editor starts them before it; a required plugin cannot be turned off or
1965
+ * removed while something enabled needs it.
1966
+ *
1967
+ * Which *version* of the required plugin is enough is not said here. The two plugins
1968
+ * meet through `api.services`: the required one provides a service with a `version`
1969
+ * (`ServiceOptions`), and this one checks `ServiceInfo.version` in its `watch` and says
1970
+ * so in its own words when it is too old. A version range in the manifest would have
1971
+ * the editor arbitrate a contract it never reads.
1972
+ */
1973
+ requires?: string[];
1960
1974
  }
1961
1975
  /** What `activate` may hand back: nothing, a cleanup function, or a Disposable. */
1962
1976
  export type Deactivate = void | (() => void) | Disposable;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scm-js/plugin-api",
3
- "version": "1.23.0",
3
+ "version": "1.24.0",
4
4
  "description": "Type declarations for the scmJS plugin API",
5
5
  "license": "MIT",
6
6
  "types": "index.d.ts",