renovate/lib/datasource
2019-06-19 16:21:12 +02:00
..
cargo feat: rename hostRules.platform to hostRules.hostType (#3768) 2019-05-21 13:20:09 +02:00
dart feat(dart): Add dart datasource (#3360) 2019-03-31 01:48:37 -04:00
docker fix(docker): Fixes issue with private docker registry on amazon s3 (#3878) 2019-06-03 22:05:16 +02:00
git-tags test: fix coverage 2019-06-11 12:33:12 +02:00
github logs: don’t log entire err for preset failure 2019-06-19 16:21:12 +02:00
gitlab fix(presets): log err when not found 2019-06-13 11:08:30 +02:00
go feat: rename hostRules.platform to hostRules.hostType (#3768) 2019-05-21 13:20:09 +02:00
gradle-version fix(gradle-version): always throw if error 2019-03-17 08:34:46 +01:00
hex feat: rename hostRules.platform to hostRules.hostType (#3768) 2019-05-21 13:20:09 +02:00
maven fix(maven): ECONNRESET 2019-06-01 06:49:47 +02:00
npm chore(deps): update dependency prettier to v1.18.0 (#3905) 2019-06-07 06:34:57 +02:00
nuget feat: rename hostRules.platform to hostRules.hostType (#3768) 2019-05-21 13:20:09 +02:00
orb fix(orb): reduce caching to 15 minutes 2019-05-10 21:47:10 +02:00
packagist refactor: Authorization -> authorization 2019-05-25 10:09:30 +02:00
pypi fix(pypi): missing await (#3863) 2019-06-01 19:30:07 +02:00
ruby-version fix(ruby): ruby-version URL (#3573) 2019-04-22 07:43:38 +02:00
rubygems feat: rename hostRules.platform to hostRules.hostType (#3768) 2019-05-21 13:20:09 +02:00
sbt fix(sbt): Fix sbt plugin fetching from maven repos (#3909) 2019-06-10 17:48:26 +02:00
terraform feat: rename hostRules.platform to hostRules.hostType (#3768) 2019-05-21 13:20:09 +02:00
index.js feat(git): Create datasource that fetches tag versions directly from git (#3890) 2019-06-10 07:43:44 +02:00
metadata.js fix(datasource): massage github sourceUrl if present 2019-04-20 10:32:12 +02:00
readme.md feat: replace purl with datasource (#3154) 2019-02-04 09:41:22 +01: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 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 datasource
  • registryUrls: 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 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, contains same fields as getPkgReleases
  • 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.