{ "$schema": "http://json-schema.org/draft-04/schema#", "name": "Repository Configuration", "type": "object", "additionalProperties": false, "required": ["name", "homepage"], "properties": { "name": { "type": "string", "description": "Repository name." }, "description": { "type": "string", "description": "Short Repository description." }, "homepage": { "type": "string", "description": "Homepage URL for the Repository.", "format": "uri-reference" }, "require": { "type": "object", "description": "This is a hash of package name (keys) and version constraints (values) that are required to run this package.", "minProperties": 1, "additionalProperties": { "type": "string", "description": "A valid version constraint" } }, "archive": { "type": "object", "description": "Options for creating package archives for distribution.", "additionalProperties": false, "required": ["directory"], "properties": { "directory": { "type": "string", "description": "The location of the dist files." }, "format": { "type": "string", "enum": ["zip", "tar"], "description": "Archive format.", "default": "zip" }, "absolute-directory": { "type": "string", "description": "The absolute path of the dist files." }, "skip-dev": { "type": "boolean", "description": "If true, will not create downloads for branches.", "default": false }, "whitelist": { "type": "array", "description": "List of whitelisted packages.", "items": { "type": "string" } }, "blacklist": { "type": "array", "description": "List of blacklisted packages.", "items": { "type": "string" } }, "prefix-url": { "type": "string", "description": "Location of the downloads.", "format": "uri-reference" }, "checksum": { "type": "boolean", "description": "If false, will not provide the sha1 checksum for the dist files.", "default": true }, "ignore-filters": { "type": "boolean", "description": "Ignore filters when looking for files in the package.", "default": false }, "override-dist-type": { "type": "boolean", "description": "If true, archive format will be used to substitute dist type when generating archive file name.", "default": false }, "rearchive": { "type": "boolean", "description": "Create new archives for packages with a tar or zip dist, defaults to true", "default": true } } }, "repositories": { "type": ["object", "array"], "description": "A set of additional repositories where packages can be found.", "additionalProperties": true }, "repositories-dep": { "type": ["object", "array"], "description": "A set of additional repositories where packages for dependencies can be found.", "additionalProperties": true }, "minimum-stability": { "type": "string", "description": "The minimum stability the packages must have to be install-able. Possible values are: dev, alpha, beta, RC, stable.", "default": "dev", "enum": ["dev", "alpha", "beta", "rc", "RC", "stable"] }, "minimum-stability-per-package": { "type": "object", "description": "This is a hash of package name (keys) and minimum stability (values).", "minProperties": 1, "additionalProperties": { "type": "string", "description": "The minimum stability the package must have to be install-able. Possible values are: dev, alpha, beta, RC, stable. This overrides the \"minimum-stability\" global option for the specified package.", "enum": ["dev", "alpha", "beta", "rc", "RC", "stable"] } }, "abandoned": { "type": "object", "description": "List of packages marked as abandoned for this repository, the mark can be boolean or a package name/URL pointing to a recommended alternative.", "additionalProperties": { "type": ["boolean", "string"], "description": "A valid Package name" } }, "blacklist": { "type": "object", "description": "This is a hash of package name (keys) and version constraints (values) to exclude after selecting packages.", "minProperties": 1, "additionalProperties": { "type": "string", "description": "A valid version constraint" } }, "include-types": { "type": ["array", "null"], "description": "An array of composer types. When an array is provided only packages with this type will be selected by Satis.", "default": null, "items": { "type": "string" } }, "exclude-types": { "type": ["array"], "description": "An array of composer types. Any packages with a type in this array will not be selected by Satis.", "default": [], "items": { "type": "string" } }, "require-all": { "type": "boolean", "description": "If true, selects all versions of all packages in the repositories defined.", "default": false }, "require-dependencies": { "type": "boolean", "description": "If true, resolve and add all dependencies of each required package.", "default": false }, "require-dev-dependencies": { "type": "boolean", "description": "If true, resolve and add all Dev dependencies of each required package.", "default": false }, "only-dependencies": { "type": "boolean", "description": "If true, will not require the root dependencies only their dependencies.", "default": false }, "only-best-candidates": { "type": "boolean", "description": "If true, will attempt to resolve a minimum number of candidates for each dependency.", "default": false }, "require-dependency-filter": { "type": "boolean", "description": "If false, will include all versions matching a dependency.", "default": true }, "strip-hosts": { "type": ["array", "boolean"], "description": "List of domains, IPs, CIDR notations, '/local' (=localnet and other reserved) or '/private' (=private IPs) to be stripped from the output. If set and non-false, local file paths are removed too.", "default": false, "items": { "type": "string" } }, "include-filename": { "type": "string", "description": "Specify filename instead of default include/all$%hash%.json", "default": "include/all$%hash%.json" }, "includes": { "type": "boolean", "description": "If true, output package includes. This is `true` by default - setting it to `false` allows you to work with Composer v2 metadata URLs only.", "default": true }, "available-package-patterns": { "type": "array", "description": "Composer v2 feature. List of patterns like 'vendor/*' for packages available, recommended with many packages. If not set, 'available-packages' will be set with ALL package names.", "items": { "type": "string" } }, "output-dir": { "type": "string", "description": "The directory where the static Repository is built." }, "output-html": { "type": "boolean", "description": "If true, build a static web page.", "default": true }, "providers": { "type": "boolean", "description": "If true, dump package providers.", "default": false }, "providers-history-size": { "type": "integer", "description": "Optional integer to be used for keeping a number of files that would otherwise be pruned.", "default": 0 }, "twig-template": { "type": "string", "description": "Path to a template for the static web page." }, "allow-seo-indexing": { "type": "boolean", "description": "Allow the generated web view to be indexed by search engines", "default": false }, "config": { "type": "object", "description": "Composer options.", "properties": { "process-timeout": { "type": "integer", "description": "The timeout in seconds for process executions, defaults to 300 (5mins).", "default": 300 }, "use-include-path": { "type": "boolean", "description": "If true, the Composer autoloader will also look for classes in the PHP include path." }, "preferred-install": { "type": "string", "description": "The install method Composer will prefer to use, defaults to auto and can be any of source, dist or auto.", "default": "auto" }, "notify-on-install": { "type": "boolean", "description": "Composer allows repositories to define a notification URL, so that they get notified whenever a package from that repository is installed. This option allows you to disable that behaviour, defaults to true.", "default": true }, "github-protocols": { "type": "array", "description": "A list of protocols to use for github.com clones, in priority order, defaults to [\"git\", \"https\", \"http\"].", "default": ["git", "https", "http"], "items": { "type": "string" } }, "github-oauth": { "type": "object", "description": "A hash of domain name => github API oauth tokens, typically {\"github.com\":\"\"}.", "additionalProperties": true }, "gitlab-token": { "type": "object", "description": "A hash of domain name => gitlab API tokens, typically {\"gitlab.com\":\"\"}.", "additionalProperties": true }, "http-basic": { "type": "object", "description": "A hash of domain name => {\"username\": \"...\", \"password\": \"...\"}.", "additionalProperties": true }, "store-auths": { "type": ["string", "boolean"], "description": "What to do after prompting for authentication, one of: true (store), false (do not store) or \"prompt\" (ask every time), defaults to prompt.", "default": "prompt" }, "platform": { "type": "object", "description": "This is a hash of package name (keys) and version (values) that will be used to mock the platform packages on this machine.", "additionalProperties": true }, "vendor-dir": { "type": "string", "description": "The location where all packages are installed, defaults to \"vendor\".", "default": "vendor" }, "bin-dir": { "type": "string", "description": "The location where all binaries are linked, defaults to \"vendor/bin\".", "default": "vendor/bin" }, "cache-dir": { "type": "string", "description": "The location where all caches are located, defaults to \"~/.composer/cache\" on *nix and \"%LOCALAPPDATA%\\Composer\" on windows." }, "cache-files-dir": { "type": "string", "description": "The location where files (zip downloads) are cached, defaults to \"{$cache-dir}/files\".", "default": "{$cache-dir}/files" }, "cache-repo-dir": { "type": "string", "description": "The location where repo (git/hg repo clones) are cached, defaults to \"{$cache-dir}/repo\".", "default": "{$cache-dir}/repo" }, "cache-vcs-dir": { "type": "string", "description": "The location where vcs info (git clones, github api calls, etc. when reading vcs repos) are cached, defaults to \"{$cache-dir}/vcs\".", "default": "{$cache-dir}/vcs" }, "cache-ttl": { "type": "integer", "description": "The default cache time-to-live, defaults to 15552000 (6 months).", "default": "15552000" }, "cache-files-ttl": { "type": "integer", "description": "The cache time-to-live for files, defaults to the value of cache-ttl." }, "cache-files-maxsize": { "type": ["string", "integer"], "description": "The cache max size for the files cache, defaults to \"300MiB\".", "default": "300MiB" }, "bin-compat": { "type": "string", "enum": ["auto", "full"], "description": "The compatibility of the binaries, defaults to \"auto\" (automatically guessed) and can be \"full\" (compatible with both Windows and Unix-based systems).", "default": "auto" }, "discard-changes": { "type": ["string", "boolean"], "description": "The default style of handling dirty updates, defaults to false and can be any of true, false or \"stash\".", "default": false }, "autoloader-suffix": { "type": "string", "description": "Optional string to be used as a suffix for the generated Composer autoloader. When null a random one will be generated." }, "optimize-autoloader": { "type": "boolean", "description": "Always optimize when dumping the autoloader." }, "prepend-autoloader": { "type": "boolean", "description": "If false, the composer autoloader will not be prepended to existing autoloaders, defaults to true.", "default": true }, "classmap-authoritative": { "type": "boolean", "description": "If true, the composer autoloader will not scan the filesystem for classes that are not found in the class map, defaults to false.", "default": false }, "github-domains": { "type": "array", "description": "A list of domains to use in github mode. This is used for GitHub Enterprise setups, defaults to [\"github.com\"].", "default": ["github.com"], "items": { "type": "string" } }, "github-expose-hostname": { "type": "boolean", "description": "Defaults to true. If set to false, the OAuth tokens created to access the github API will have a date instead of the machine hostname.", "default": true } } }, "notify-batch": { "type": "string", "description": "a URL that will be called every time a user installs a package." }, "_comment": { "type": ["array", "string"], "description": "A key to store comments in" }, "pretty-print": { "type": "boolean", "description": "Defaults to true. When false, the JSON_PRETTY_PRINT option will not be used on encoding.", "default": true } } }