renovate/lib/datasource
Adrien Lemaire 91df5928da fix: add release notes babel-preset-react-app (#3055)
the preset package notes are written in the create-react-app github releases
https://github.com/facebook/create-react-app/releases
2019-01-10 06:35:31 +01:00
..
cargo feat: cargo datasource (#2993) 2018-12-26 06:39:38 +02:00
docker refactor: docker datasource registry 2019-01-05 19:27:25 +01:00
github fix: don’t use got cache 2019-01-08 19:30:40 +01:00
gitlab tests: fix gitlab datasource test coverage 2019-01-04 09:36:48 +01:00
go refactor: move version normalization into datasource index 2018-12-27 07:51:26 +02:00
gradle-version feat: gradle-wrapper (#3038) 2019-01-09 12:50:53 +01:00
npm fix: don’t use got cache 2019-01-08 19:30:40 +01:00
nuget feat: datasource versions filter (#3001) 2018-12-26 09:36:24 +02:00
orb feat: datasource versions filter (#3001) 2018-12-26 09:36:24 +02:00
packagist refactor: packagist registryUrls 2019-01-05 10:47:28 +01:00
pypi feat: datasource versions filter (#3001) 2018-12-26 09:36:24 +02:00
rubygems feat: rubygems datasource (#3039) 2019-01-09 22:03:57 +01:00
terraform feat: datasource versions filter (#3001) 2018-12-26 09:36:24 +02:00
index.js feat: rubygems datasource (#3039) 2019-01-09 22:03:57 +01:00
maven.js feat: maven datasource (WIP) (#2995) 2019-01-07 10:44:47 +01:00
metadata.js fix: add release notes babel-preset-react-app (#3055) 2019-01-10 06:35:31 +01:00
readme.md feat: Add gitlab preset (#2984) 2018-12-21 20:28:26 +02:00

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 purl object as first input, and optionally config as the second argument.

The purl object contains:

  • fullname: the package's full name including scope if present (e.g. @foo/bar)
  • qualifiers: optional addition arguments, may contain fields like registry

In the simplest case, the datasource only needs to pay attention to purl.fullname.

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 applicable
  • sourceUrl: 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 same
  • changelogUrl: a URL pointing to the package's Changelog (could be a markdown file, for example). If not present then Renovate will search the sourceUrl for a changelog file.
  • tags: an object mapping tag -> version, e.g. tags: { latest: '3.0.0' }. This is only used by the followTags 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
  • 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.