|
@@ -0,0 +1,190 @@
|
|
|
+{
|
|
|
+ "name": "Package",
|
|
|
+ "type": "object",
|
|
|
+ "additionalProperties": true,
|
|
|
+ "properties": {
|
|
|
+ "name": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "Package name, including 'vendor-name/' prefix."
|
|
|
+ },
|
|
|
+ "type": {
|
|
|
+ "description": "Package type, either 'library' for common packages, 'composer-installer' for custom installers, or a custom type defined by whatever project this package applies to.",
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "target-dir": {
|
|
|
+ "description": "Forces the package to be installed into the given subdirectory path. This is used for autoloading PSR-0 packages that do not contain their full path. Use forward slashes for cross-platform compatibility.",
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "description": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "Short package description."
|
|
|
+ },
|
|
|
+ "keywords": {
|
|
|
+ "type": "array",
|
|
|
+ "items": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "A tag/keyword that this package relates to."
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "homepage": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "Homepage URL for the project.",
|
|
|
+ "format": "uri"
|
|
|
+ },
|
|
|
+ "version": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "Package version, see http://packagist.org/about for more info on valid schemes."
|
|
|
+ },
|
|
|
+ "time": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "Package release date, in 'YYYY-MM-DD' or 'YYYY-MM-DD HH:MM:SS' format."
|
|
|
+ },
|
|
|
+ "license": {
|
|
|
+ "type": ["string", "array"],
|
|
|
+ "description": "License name. Or an array of license names."
|
|
|
+ },
|
|
|
+ "authors": {
|
|
|
+ "type": "array",
|
|
|
+ "description": "List of authors that contributed to the package. This is typically the main maintainers, not the full list.",
|
|
|
+ "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"
|
|
|
+ },
|
|
|
+ "homepage": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "Homepage URL for the author.",
|
|
|
+ "format": "uri"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "require": {
|
|
|
+ "type": "object",
|
|
|
+ "description": "This is a hash of package name (keys) and version constraints (values) that are required to run this package.",
|
|
|
+ "additionalProperties": true
|
|
|
+ },
|
|
|
+ "replace": {
|
|
|
+ "type": "object",
|
|
|
+ "description": "This is a hash of package name (keys) and version constraints (values) that can be replaced by this package.",
|
|
|
+ "additionalProperties": true
|
|
|
+ },
|
|
|
+ "conflict": {
|
|
|
+ "type": "object",
|
|
|
+ "description": "This is a hash of package name (keys) and version constraints (values) that conflict with this package.",
|
|
|
+ "additionalProperties": true
|
|
|
+ },
|
|
|
+ "provide": {
|
|
|
+ "type": "object",
|
|
|
+ "description": "This is a hash of package name (keys) and version constraints (values) that this package provides in addition to this package's name.",
|
|
|
+ "additionalProperties": true
|
|
|
+ },
|
|
|
+ "recommend": {
|
|
|
+ "type": "object",
|
|
|
+ "description": "This is a hash of package name (keys) and version constraints (values) that this package recommends to be installed (typically this will be installed as well).",
|
|
|
+ "additionalProperties": true
|
|
|
+ },
|
|
|
+ "suggest": {
|
|
|
+ "type": "object",
|
|
|
+ "description": "This is a hash of package name (keys) and version constraints (values) that this package suggests work well with it (typically this will only be suggested to the user).",
|
|
|
+ "additionalProperties": true
|
|
|
+ },
|
|
|
+ "config": {
|
|
|
+ "type": ["object"],
|
|
|
+ "description": "Composer options.",
|
|
|
+ "properties": {
|
|
|
+ "vendor-dir": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "The location where all packages are installed, defaults to \"vendor\"."
|
|
|
+ },
|
|
|
+ "bin-dir": {
|
|
|
+ "type": "string",
|
|
|
+ "description": "The location where all binaries are linked, defaults to \"vendor/bin\"."
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "extra": {
|
|
|
+ "type": ["object", "array"],
|
|
|
+ "description": "Arbitrary extra data that can be used by custom installers, for example, package of type composer-installer must have a 'class' key defining the installer class name.",
|
|
|
+ "additionalProperties": true
|
|
|
+ },
|
|
|
+ "autoload": {
|
|
|
+ "type": "object",
|
|
|
+ "description": "Description of how the package can be autoloaded.",
|
|
|
+ "properties": {
|
|
|
+ "psr-0": {
|
|
|
+ "type": "object",
|
|
|
+ "description": "This is a hash of namespaces (keys) and the directories they can be found into (values) by the autoloader.",
|
|
|
+ "additionalProperties": true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "repositories": {
|
|
|
+ "type": ["object", "array"],
|
|
|
+ "description": "A set of additional repositories where packages can be found.",
|
|
|
+ "additionalProperties": true
|
|
|
+ },
|
|
|
+ "bin": {
|
|
|
+ "type": ["array"],
|
|
|
+ "description": "A set of files that should be treated as binaries and symlinked into bin-dir (from config).",
|
|
|
+ "items": {
|
|
|
+ "type": "string"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "scripts": {
|
|
|
+ "type": ["object"],
|
|
|
+ "description": "Scripts listeners that will be executed before/after some events.",
|
|
|
+ "properties": {
|
|
|
+ "pre-install-cmd": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs before the install command is executed, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "post-install-cmd": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs after the install command is executed, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "pre-update-cmd": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs before the update command is executed, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "post-update-cmd": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs after the update command is executed, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "pre-package-install": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs before a package is installed, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "post-package-install": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs after a package is installed, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "pre-package-update": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs before a package is updated, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "post-package-update": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs after a package is updated, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "pre-package-uninstall": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs before a package has been uninstalled, contains one or more Class::method callables."
|
|
|
+ },
|
|
|
+ "post-package-uninstall": {
|
|
|
+ "type": ["array", "string"],
|
|
|
+ "description": "Occurs after a package has been uninstalled, contains one or more Class::method callables."
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|