AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
// This schema enforces the structure in data/tables/supported-code-languages.yml
export default {
type: 'object',
additionalProperties: false,
required: ['features', 'languages'],
properties: {
features: {
type: 'object',
additionalProperties: false,
required: [
'copilot',
'codeNavigation',
'codeScanning',
'depGraph',
'depUpdates',
'actions',
'packages',
],
properties: {
copilot: {
type: 'object',
additionalProperties: false,
required: ['name', 'link', 'fptAndGhec', 'ghes'],
properties: {
name: {
type: 'string',
lintable: true,
},
link: {
type: 'string',
},
fptAndGhec: {
type: 'boolean',
},
ghes: {
type: 'boolean',
},
},
},
codeNavigation: {
type: 'object',
additionalProperties: false,
required: ['name', 'link', 'fptAndGhec', 'ghes'],
properties: {
name: {
type: 'string',
lintable: true,
},
link: {
type: 'string',
},
fptAndGhec: {
type: 'boolean',
},
ghes: {
type: 'boolean',
},
},
},
codeScanning: {
type: 'object',
additionalProperties: false,
required: ['name', 'link', 'fptAndGhec', 'ghes'],
properties: {
name: {
type: 'string',
lintable: true,
},
link: {
type: 'string',
},
fptAndGhec: {
type: 'boolean',
},
ghes: {
type: 'boolean',
},
},
},
depGraph: {
type: 'object',
additionalProperties: false,
required: ['name', 'link', 'fptAndGhec', 'ghes'],
properties: {
name: {
type: 'string',
lintable: true,
},
link: {
type: 'string',
},
fptAndGhec: {
type: 'boolean',
},
ghes: {
type: 'boolean',
},
},
},
depUpdates: {
type: 'object',
additionalProperties: false,
required: ['name', 'link', 'fptAndGhec', 'ghes'],
properties: {
name: {
type: 'string',
lintable: true,
},
link: {
type: 'string',
},
fptAndGhec: {
type: 'boolean',
},
ghes: {
type: 'boolean',
},
},
},
actions: {
type: 'object',
additionalProperties: false,
required: ['name', 'link', 'fptAndGhec', 'ghes'],
properties: {
name: {
type: 'string',
lintable: true,
},
link: {
type: 'string',
},
fptAndGhec: {
type: 'boolean',
},
ghes: {
type: 'boolean',
},
},
},
packages: {
type: 'object',
additionalProperties: false,
required: ['name', 'link', 'fptAndGhec', 'ghes'],
properties: {
name: {
type: 'string',
lintable: true,
},
link: {
type: 'string',
},
fptAndGhec: {
type: 'boolean',
},
ghes: {
type: 'boolean',
},
},
},
},
},
languages: {
type: 'object',
additionalProperties: false,
patternProperties: {
// Language names like C, C++, C#, Go, Java, JavaScript, etc.
'^[a-zA-Z+#]+$': {
type: 'object',
additionalProperties: false,
required: [
'copilot',
'codeNavigation',
'codeScanning',
'depGraph',
'depUpdates',
'actions',
'packages',
],
properties: {
copilot: {
type: 'string',
enum: ['supported', 'not-supported'],
},
codeNavigation: {
type: 'string',
enum: ['supported', 'not-supported'],
},
codeScanning: {
type: 'string',
// Allow "supported", "not-supported", or custom text like "third-party [^1]"
},
depGraph: {
type: 'string',
// Allow "supported", "not-supported", or specific package managers like "npm, Yarn"
},
depUpdates: {
type: 'string',
// Allow "supported", "not-supported", or specific package managers
},
actions: {
type: 'string',
enum: ['supported', 'not-supported'],
},
packages: {
type: 'string',
// Allow "supported", "not-supported", or specific package managers
},
},
},
},
},
},
}