1
0
Fork 0

Add json-schema spec file for composer.json validation

pull/9/head
Jordi Boggiano 2011-08-20 14:55:01 +02:00
parent ad25618bdd
commit 6c2e4ed357
1 changed files with 82 additions and 0 deletions

82
doc/composer-schema.json Normal file
View File

@ -0,0 +1,82 @@
{
"name": "Package",
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Package name, including type prefix if it's a plugin",
"required": true
},
"type": {
"description": "Package type, either 'Library', or the parent project it applies to if it's a plugin for a framework or application (e.g. 'Symfony2', 'Typo3', 'Drupal', ..).",
"type": "string",
"optional": true
},
"description": {
"type": "string",
"description": "Package description",
"required": true
},
"keywords": {
"type": "array",
"items": {
"type": "string"
},
"optional": true
},
"homepage": {
"type": "string",
"description": "Homepage URL for the project",
"format": "uri",
"optional": true
},
"version": {
"type": "string",
"description": "Package version, see http://packagist.org/about for more info on valid schemes",
"required": true
},
"license": {
"type": "string",
"description": "License name",
"optional": true
},
"authors": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Full name of the author",
"required": true
},
"email": {
"type": "string",
"description": "Email address of the author",
"format": "email",
"required": true
},
"homepage": {
"type": "string",
"description": "Homepage URL for the author",
"format": "uri",
"optional": true
}
}
},
"optional": true
},
"require": {
"type": "object",
"additionalProperties": true,
"optional": true
},
"extra": {
"type": ["object", "array"],
"additionalProperties": true,
"optional": true
}
}
}