silverstripe / supported-modules

Home Page:http://silverstripe.github.io/supported-modules/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Silverstripe CMS Supported Modules Metadata

Metadata and some supporting PHP logic for determining which branches of various GitHub repositories relate to which versions of Silverstripe CMS.

Important

Only the main branch of this repository is maintained.

You can fetch the JSON by simply fetching the raw copy of repositories.json file, e.g. https://raw.githubusercontent.com/silverstripe/supported-modules/main/repositories.json.

If you've included this module as a compser dependency then you can use SilverStripe\SupportedModules\MetaData::getAllRepositoryMetaData() which will fetch the latest version of the JSON file from raw.githubusercontent.com.

Format

There are several sections in the repositories.json file, denoting different categories of repositories:

  • supportedModules: Repositories representing supported modules. If cow cares about it, it should probably be in this category.
  • workflow: Repositories which hold GitHub actions and workflows.
  • tooling: Repositories used to help streamline Silverstripe CMS maintenance
  • misc: All repositories we need to track which don't fit in one of the above categories.

Each of the above sections holds an array of JSON objects with the following data:

key type description
github String Github repository name (incl. org)
packagist String Packagist name. Only relevant if the repo isn't registered in packagist - otherwise null.
githubId Number The id in Github. Used as a unique identifier.
isCore Boolean Is this considered a direct dependency of silverstripe/installer, silverstripe/recipe-cms or silverstripe/recipe-core? (Only relevant for supported modules)
lockstepped Boolean Whether this is always given a new minor release in "lock step" with Silverstripe CMS as a whole. (Only relevant for supported modules)
type String One of "module", "recipe", "theme", or "other". (Only relevant for supported modules)
majorVersionMapping Object A map of major versions, with the Silverstripe CMS major release lines as object keys and an array of all matching major release lines for the repository as values.
• The repository versions are branch names, but in most cases these will map to a major release line (e.g. "5" branch which represents the "5.x" release line)
• If a "*" key is present it will be used for all CMS major release lines, and no other keys can be used
• If a CMS major release line is missing, and the "*" key is not used, the repository should be ignored for that CMS major release line.
• If the value is an empty array, the default branch should be used.

Adding a repo

You can easily retrieve the githubId via the following API call:

https://api.github.com/repos/my-org/my-repo

About

http://silverstripe.github.io/supported-modules/

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:PHP 100.0%