1
0
mirror of synced 2025-12-23 11:54:18 -05:00
Files
docs/tests/helpers/schemas/release-notes-schema.js
2023-03-07 18:51:49 +00:00

65 lines
1.2 KiB
JavaScript

const section = {
anyOf: [
{
type: 'array',
items: { type: 'string' },
minItems: 1,
},
{
type: 'array',
minItems: 1,
items: {
type: 'object',
required: ['heading', 'notes'],
additionalProperties: false,
properties: {
heading: {
type: 'string',
},
notes: {
type: 'array',
items: { type: 'string' },
minItems: 1,
},
},
},
},
],
}
export default {
type: 'object',
required: ['date', 'sections'],
properties: {
intro: {
type: 'string',
},
date: {
type: 'string',
format: 'date',
},
release_candidate: {
type: 'boolean',
default: false,
},
deprecated: {
type: 'boolean',
default: false,
},
sections: {
type: 'object',
minProperties: 1,
additionalProperties: false,
properties: [
'bugs',
'known_issues',
'features',
'changes',
'deprecations',
'security_fixes',
'backups',
].reduce((prev, curr) => ({ ...prev, [curr]: section }), {}),
},
},
}