1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- {
- "title": "JSON schema for API history blocks in Electron documentation",
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$comment": "If you change this schema, remember to edit the TypeScript interfaces in the linting script.",
- "definitions": {
- "baseChangeSchema": {
- "type": "object",
- "properties": {
- "pr-url": {
- "description": "URL to the 'main' GitHub Pull Request for the change (i.e. not a backport PR)",
- "type": "string", "pattern": "^https://github.com/electron/electron/pull/\\d+$",
- "examples": [ "https://github.com/electron/electron/pull/26789" ]
- },
- "breaking-changes-header": {
- "description": "Heading ID for the change in `electron/docs/breaking-changes.md`",
- "type": "string", "minLength": 3,
- "examples": [ "deprecated-browserwindowsettrafficlightpositionposition" ]
- },
- "description": {
- "description": "Short description of the change",
- "type": "string", "minLength": 3, "maxLength": 120,
- "examples": [ "Made `trafficLightPosition` option work for `customButtonOnHover`." ]
- }
- },
- "required": [ "pr-url" ],
- "additionalProperties": false
- },
- "addedChangeSchema": {
- "allOf": [ { "$ref": "#/definitions/baseChangeSchema" } ]
- },
- "deprecatedChangeSchema": {
- "$comment": "TODO: Make 'breaking-changes-header' required in the future.",
- "allOf": [ { "$ref": "#/definitions/baseChangeSchema" } ]
- },
- "changesChangeSchema": {
- "$comment": "Unlike RFC, added `'type': 'object'` to appease AJV strict mode",
- "allOf": [ { "$ref": "#/definitions/baseChangeSchema" }, { "type": "object", "required": [ "description" ] } ]
- }
- },
- "type": "object",
- "properties": {
- "added": { "type": "array", "minItems": 1, "maxItems": 1, "items": { "$ref": "#/definitions/addedChangeSchema" } },
- "deprecated": { "type": "array", "minItems": 1, "maxItems": 1, "items": { "$ref": "#/definitions/deprecatedChangeSchema" } },
- "changes": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/changesChangeSchema" } }
- },
- "additionalProperties": false
- }
|