New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@openshift-console/dynamic-plugin-sdk

Package Overview
Dependencies
Maintainers
1
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openshift-console/dynamic-plugin-sdk - npm Package Compare versions

Comparing version 0.0.0-alpha0 to 0.0.0-alpha1

dist/schema/console-extensions.js

1044

dist/schema/plugin-manifest.js
export default {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"extensions": {
"type": "array",
"items": {
"$ref": "#/definitions/SupportedExtension"
},
"description": "List of extensions contributed by the plugin."
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"extensions": {
"type": "array",
"items": {
"$ref": "#/definitions/SupportedExtension"
},
"description": "List of extensions contributed by the plugin."
},
"name": {
"type": "string",
"description": "Plugin name. Should be the same as `metadata.name` of the corresponding `ConsolePlugin` resource used to represent the plugin on the cluster."
},
"version": {
"type": "string",
"description": "Plugin version. Must be semver compliant."
},
"displayName": {
"type": "string",
"description": "User-friendly plugin name."
},
"description": {
"type": "string",
"description": "User-friendly plugin description."
},
"dependencies": {
"type": "object",
"properties": {
"@console/pluginAPI": {
"type": "string"
}
},
"required": [
"@console/pluginAPI"
],
"additionalProperties": {
"type": "string"
},
"description": "Plugin API and other plugins required for this plugin to work."
}
},
"required": [
"dependencies",
"extensions",
"name",
"version"
],
"description": "Schema of Console plugin's `plugin-manifest.json` file.",
"definitions": {
"SupportedExtension": {
"anyOf": [
{
"$ref": "#/definitions/FeatureFlag"
},
"name": {
"type": "string",
"description": "Plugin name. Should be the same as `metadata.name` of the corresponding `ConsolePlugin` resource used to represent the plugin on the cluster."
{
"$ref": "#/definitions/ModelFeatureFlag"
},
"version": {
"type": "string",
"description": "Plugin version. Must be semver compliant."
{
"$ref": "#/definitions/ReduxReducer"
},
"displayName": {
"type": "string",
"description": "User-friendly plugin name."
{
"$ref": "#/definitions/ContextProvider"
},
"description": {
"type": "string",
"description": "User-friendly plugin description."
{
"$ref": "#/definitions/StandaloneRoutePage"
},
"dependencies": {
"type": "object",
"properties": {
"@console/pluginAPI": {
"type": "string"
}
{
"$ref": "#/definitions/PVCCreateProp"
},
{
"$ref": "#/definitions/PVCStatus"
},
{
"$ref": "#/definitions/PVCAlert"
},
{
"$ref": "#/definitions/PVCDelete"
},
{
"$ref": "#/definitions/YAMLTemplate"
}
]
},
"FeatureFlag": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.flag"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.FeatureFlag"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.FeatureFlag": {
"type": "object",
"properties": {
"handler": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "Used to set/unset arbitrary feature flags."
}
},
"required": [
"handler"
],
"additionalProperties": false,
"description": "Gives full control over Console feature flags."
},
"EncodedCodeRef": {
"type": "object",
"properties": {
"$codeRef": {
"type": "string"
}
},
"required": [
"$codeRef"
],
"additionalProperties": false,
"description": "Code reference, encoded as an object literal.\n\nThe value of the `$codeRef` property should be formatted as `moduleName.exportName` (referring to a named export) or `moduleName` (referring to the `default` export)."
},
"ExtensionFlags": {
"type": "object",
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
},
"disallowed": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false,
"description": "Console feature flags used to gate extension instances."
},
"ModelFeatureFlag": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.flag/model"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.ModelFeatureFlag"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.ModelFeatureFlag": {
"type": "object",
"properties": {
"flag": {
"type": "string",
"description": "The name of the flag to set once the CRD is detected."
},
"model": {
"type": "object",
"properties": {
"group": {
"type": "string"
},
"required": [
"@console/pluginAPI"
],
"additionalProperties": {
"type": "string"
"version": {
"type": "string"
},
"description": "Plugin API and other plugins required for this plugin to work."
"kind": {
"type": "string"
}
},
"required": [
"group",
"version",
"kind"
],
"additionalProperties": false,
"description": "The model which refers to a `CustomResourceDefinition`."
}
},
"required": [
"flag",
"model"
],
"additionalProperties": false,
"description": "Adds new Console feature flag driven by the presence of a CRD on the cluster."
},
"required": [
"dependencies",
"extensions",
"name",
"version"
],
"description": "Schema of Console plugin's `plugin-manifest.json` file.",
"definitions": {
"SupportedExtension": {
"anyOf": [
{
"$ref": "#/definitions/FeatureFlag"
},
{
"$ref": "#/definitions/ModelFeatureFlag"
},
{
"$ref": "#/definitions/ReduxReducer"
},
{
"$ref": "#/definitions/ContextProvider"
},
{
"$ref": "#/definitions/StandaloneRoutePage"
},
{
"$ref": "#/definitions/PVCCreateProp"
},
{
"$ref": "#/definitions/PVCStatus"
},
{
"$ref": "#/definitions/PVCAlert"
},
{
"$ref": "#/definitions/PVCDelete"
},
{
"$ref": "#/definitions/YAMLTemplate"
}
]
"ReduxReducer": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.redux-reducer"
},
"FeatureFlag": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.flag"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.FeatureFlag"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
"properties": {
"$ref": "#/definitions/ExtensionProperties.ReduxReducer"
},
"ExtensionProperties.FeatureFlag": {
"type": "object",
"properties": {
"handler": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "Used to set/unset arbitrary feature flags."
}
},
"required": [
"handler"
],
"additionalProperties": false,
"description": "Gives full control over Console feature flags."
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.ReduxReducer": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"description": "The key to represent the reducer-managed substate within the Redux state object."
},
"EncodedCodeRef": {
"type": "object",
"properties": {
"$codeRef": {
"type": "string"
}
},
"required": [
"$codeRef"
],
"additionalProperties": false,
"description": "Code reference, encoded as an object literal.\n\nThe value of the `$codeRef` property should be formatted as `moduleName.exportName` (referring to a named export) or `moduleName` (referring to the `default` export)."
"reducer": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "The reducer function, operating on the reducer-managed substate."
}
},
"required": [
"scope",
"reducer"
],
"additionalProperties": false,
"description": "Adds new reducer to Console Redux store which operates on `plugins.<scope>` substate."
},
"ContextProvider": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.context-provider"
},
"ExtensionFlags": {
"type": "object",
"properties": {
"required": {
"type": "array",
"items": {
"type": "string"
}
},
"disallowed": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false,
"description": "Console feature flags used to gate extension instances."
"properties": {
"$ref": "#/definitions/ExtensionProperties.ContextProvider"
},
"ModelFeatureFlag": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.flag/model"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.ModelFeatureFlag"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.ContextProvider": {
"type": "object",
"properties": {
"provider": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "Context Provider Exotic Component."
},
"ExtensionProperties.ModelFeatureFlag": {
"type": "object",
"properties": {
"flag": {
"type": "string",
"description": "The name of the flag to set once the CRD is detected."
},
"model": {
"type": "object",
"properties": {
"group": {
"type": "string"
},
"version": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"required": [
"group",
"version",
"kind"
],
"additionalProperties": false,
"description": "The model which refers to a `CustomResourceDefinition`."
}
},
"required": [
"flag",
"model"
],
"additionalProperties": false,
"description": "Adds new Console feature flag driven by the presence of a CRD on the cluster."
"useValueHook": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "Hook for the Context value."
}
},
"required": [
"provider",
"useValueHook"
],
"additionalProperties": false,
"description": "Adds new React context provider to Console application root."
},
"StandaloneRoutePage": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.page/route/standalone"
},
"ReduxReducer": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.redux-reducer"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.ReduxReducer"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
"properties": {
"$ref": "#/definitions/ExtensionProperties.StandaloneRoutePage"
},
"ExtensionProperties.ReduxReducer": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"description": "The key to represent the reducer-managed substate within the Redux state object."
},
"reducer": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "The reducer function, operating on the reducer-managed substate."
}
},
"required": [
"scope",
"reducer"
],
"additionalProperties": false,
"description": "Adds new reducer to Console Redux store which operates on `plugins.<scope>` substate."
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.StandaloneRoutePage": {
"type": "object",
"properties": {
"component": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "The component to be rendered when the route matches."
},
"ContextProvider": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.context-provider"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.ContextProvider"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
"path": {
"anyOf": [
{
"type": "string"
},
"required": [
"properties",
"type"
]
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Valid URL path or array of paths that `path-to-regexp@^1.7.0` understands."
},
"ExtensionProperties.ContextProvider": {
"type": "object",
"properties": {
"provider": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "Context Provider Exotic Component."
},
"useValueHook": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "Hook for the Context value."
}
},
"required": [
"provider",
"useValueHook"
],
"additionalProperties": false,
"description": "Adds new React context provider to Console application root."
"exact": {
"type": "boolean",
"description": "When true, will only match if the path matches the `location.pathname` exactly."
}
},
"required": [
"component",
"path"
],
"additionalProperties": false,
"description": "Adds new standalone page (rendered outside the common page layout) to Console router."
},
"PVCCreateProp": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.pvc/create-prop"
},
"StandaloneRoutePage": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.page/route/standalone"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.StandaloneRoutePage"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
"properties": {
"$ref": "#/definitions/ExtensionProperties.PVCCreateProp"
},
"ExtensionProperties.StandaloneRoutePage": {
"type": "object",
"properties": {
"component": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "The component to be rendered when the route matches."
},
"path": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Valid URL path or array of paths that `path-to-regexp@^1.7.0` understands."
},
"exact": {
"type": "boolean",
"description": "When true, will only match if the path matches the `location.pathname` exactly."
}
},
"required": [
"component",
"path"
],
"additionalProperties": false,
"description": "Adds new standalone page (rendered outside the common page layout) to Console router."
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.PVCCreateProp": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "label for the create prop"
},
"PVCCreateProp": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.pvc/create-prop"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.PVCCreateProp"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
"path": {
"type": "string",
"description": "path for the create prop"
}
},
"required": [
"label",
"path"
],
"additionalProperties": false
},
"PVCStatus": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.pvc/status"
},
"ExtensionProperties.PVCCreateProp": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "label for the create prop"
},
"path": {
"type": "string",
"description": "path for the create prop"
}
},
"required": [
"label",
"path"
],
"additionalProperties": false
"properties": {
"$ref": "#/definitions/ExtensionProperties.PVCStatus"
},
"PVCStatus": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.pvc/status"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.PVCStatus"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.PVCStatus": {
"type": "object",
"properties": {
"priority": {
"type": "number",
"description": "priority for the corresponding Status component. bigger is prioritized"
},
"ExtensionProperties.PVCStatus": {
"type": "object",
"properties": {
"priority": {
"type": "number",
"description": "priority for the corresponding Status component. bigger is prioritized"
},
"status": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "CodeRef for the corresponding Status component."
},
"predicate": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "predicate that tells if to render the status or not"
}
},
"required": [
"priority",
"status",
"predicate"
],
"additionalProperties": false
"status": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "CodeRef for the corresponding Status component."
},
"PVCAlert": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.pvc/alert"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.PVCAlert"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
"predicate": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "predicate that tells if to render the status or not"
}
},
"required": [
"priority",
"status",
"predicate"
],
"additionalProperties": false
},
"PVCAlert": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.pvc/alert"
},
"ExtensionProperties.PVCAlert": {
"type": "object",
"properties": {
"alert": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "CodeRef for the corresponding Alert component."
}
},
"required": [
"alert"
],
"additionalProperties": false
"properties": {
"$ref": "#/definitions/ExtensionProperties.PVCAlert"
},
"PVCDelete": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.pvc/delete"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.PVCDelete"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.PVCAlert": {
"type": "object",
"properties": {
"alert": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "CodeRef for the corresponding Alert component."
}
},
"required": [
"alert"
],
"additionalProperties": false
},
"PVCDelete": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.pvc/delete"
},
"ExtensionProperties.PVCDelete": {
"type": "object",
"properties": {
"predicate": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "predicate that tells if to use the extension or not"
},
"onPVCKill": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "method for the pvc delete operation"
},
"alert": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "alert for additional info"
}
},
"required": [
"predicate",
"onPVCKill",
"alert"
],
"additionalProperties": false
"properties": {
"$ref": "#/definitions/ExtensionProperties.PVCDelete"
},
"YAMLTemplate": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.yaml-template"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.YAMLTemplate"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.PVCDelete": {
"type": "object",
"properties": {
"predicate": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "predicate that tells if to use the extension or not"
},
"onPVCKill": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "method for the pvc delete operation"
},
"alert": {
"$ref": "#/definitions/EncodedCodeRef",
"description": "alert for additional info"
}
},
"required": [
"predicate",
"onPVCKill",
"alert"
],
"additionalProperties": false
},
"YAMLTemplate": {
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "console.yaml-template"
},
"properties": {
"$ref": "#/definitions/ExtensionProperties.YAMLTemplate"
},
"flags": {
"$ref": "#/definitions/ExtensionFlags"
}
},
"required": [
"properties",
"type"
]
},
"ExtensionProperties.YAMLTemplate": {
"type": "object",
"properties": {
"model": {
"type": "object",
"properties": {
"group": {
"type": "string"
},
"required": [
"properties",
"type"
]
"version": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"required": [
"group",
"version",
"kind"
],
"additionalProperties": false,
"description": "Model associated with the template."
},
"ExtensionProperties.YAMLTemplate": {
"type": "object",
"properties": {
"model": {
"type": "object",
"properties": {
"group": {
"type": "string"
},
"version": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"required": [
"group",
"version",
"kind"
],
"additionalProperties": false,
"description": "Model associated with the template."
},
"template": {
"type": "string",
"description": "The YAML template."
},
"name": {
"type": "string",
"description": "The name of the template. Use the name `default` to mark this as the default template."
}
},
"required": [
"model",
"template",
"name"
],
"additionalProperties": false
"template": {
"type": "string",
"description": "The YAML template."
},
"name": {
"type": "string",
"description": "The name of the template. Use the name `default` to mark this as the default template."
}
},
"required": [
"model",
"template",
"name"
],
"additionalProperties": false
}
};
}
};
{
"name": "@openshift-console/dynamic-plugin-sdk",
"version": "0.0.0-alpha0",
"version": "0.0.0-alpha1",
"description": "Tools and APIs for building OpenShift Console dynamic plugins",

@@ -10,3 +10,3 @@ "license": "Apache-2.0",

"clean": "rm -rf ./dist",
"build": "yarn schema && tsc && cp ./schema/*.json ./dist/schema",
"build": "yarn schema && tsc && cp -r ./schema ./dist",
"prepublish": "yarn build && cp ../../../LICENSE ./",

@@ -13,0 +13,0 @@ "schema": "yarn clean && yarn ts-node ./scripts/generate-schema.ts",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc