Files

396 lines
18 KiB
JSON

{
"$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\":\"<token>\"}.",
"additionalProperties": true
},
"gitlab-token": {
"type": "object",
"description": "A hash of domain name => gitlab API tokens, typically {\"gitlab.com\":\"<token>\"}.",
"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
}
}
}