github-docs-arabic-enhanced / src /data-directory /lib /data-schemas /tables /supported-code-languages.ts
| // 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 | |
| }, | |
| }, | |
| }, | |
| }, | |
| }, | |
| }, | |
| } | |