mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-12 23:16:26 +00:00
a9332a8db0
This deprecates the (internal) use of package URLs and instead replaces with `datasource`/`lookupName`. Closes #3005
1.8 KiB
1.8 KiB
Datasources
Datasources are used in Renovate primarily to fetch released versions of packages.
getPkgReleases
The minimum exported interface for a datasource is a function called getPkgReleases
that takes a lookup config as input.
The config contains:
lookupName
: the package's full name including scope if present (e.g.@foo/bar
)lookupType
: used only when there is a need to specify different types of lookups within the same datasourceregistryUrls
: an array of registry Urls to try
getPkgReleases
should return an object containing:
releases
: an array of strings of matched versions. This is the only mandatory field.deprecationMessage
: a string description of the package's deprecation notice, if applicablesourceUrl
: a HTTP URL pointing to the source code (e.g. on GitHub)homepage
: a HTTP URL for the package's homepage. Ideally should be empty if the homepage and sourceUrl are the samechangelogUrl
: a URL pointing to the package's Changelog (could be a markdown file, for example). If not present then Renovate will search thesourceUrl
for a changelog file.tags
: an object mapping tag -> version, e.g.tags: { latest: '3.0.0' }
. This is only used by thefollowTags
function.
getDigest
Datasources that support the concept of digests (e.g. docker digests and git commit hashes) also can export a getDigest
function.
The getDigest
function has two inputs:
config
: the Renovate config for the package being updated, contains same fields asgetPkgReleases
newValue
: the version or value to retrieve the digest for
The getDigest
function returns a string output representing the digest value. If none is found then a return value of null
should be returned.
getPreset
This function is supported by npm, github and gitlab for retrieving a Renovate preset.