Whistle · Schema
Whistle Plugin
A Whistle proxy plugin definition.
Debugging ProxyProxyNetwork DebuggingHTTPHTTPSWebSocketDeveloper Tools
Properties
| Name | Type | Description |
|---|---|---|
| name | string | The plugin name (must start with 'whistle.'). |
| version | string | Plugin version following semantic versioning. |
| description | string | A brief description of what the plugin does. |
| homepage | string | URL to plugin documentation or homepage. |
| scripts | object | Plugin lifecycle scripts. |
| engines | object |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/whistle/main/json-schema/whistle-plugin-schema.json",
"title": "Whistle Plugin",
"description": "A Whistle proxy plugin definition.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The plugin name (must start with 'whistle.').",
"pattern": "^whistle\\..+"
},
"version": {
"type": "string",
"description": "Plugin version following semantic versioning."
},
"description": {
"type": "string",
"description": "A brief description of what the plugin does."
},
"homepage": {
"type": "string",
"format": "uri",
"description": "URL to plugin documentation or homepage."
},
"scripts": {
"type": "object",
"description": "Plugin lifecycle scripts.",
"properties": {
"server": {
"type": "string",
"description": "Path to the server-side plugin script."
},
"uiServer": {
"type": "string",
"description": "Path to the UI server plugin script."
},
"rules": {
"type": "string",
"description": "Path to custom rules module."
}
}
},
"engines": {
"type": "object",
"properties": {
"whistle": {
"type": "string",
"description": "Required Whistle version range."
},
"node": {
"type": "string",
"description": "Required Node.js version range."
}
}
}
},
"required": ["name", "version", "description"],
"additionalProperties": true
}