renovate/lib/datasource
2019-12-20 09:27:58 +01:00
..
cargo fix: Registry failure on HTTP status =500 (#4546) 2019-09-26 12:13:32 +02:00
dart fix: Registry failure on HTTP status =500 (#4546) 2019-09-26 12:13:32 +02:00
docker fix(docker): include hostType in lookup (#4964) 2019-12-11 10:08:22 +02:00
git-submodules feat: Initial support for git submodules (#4605) 2019-11-28 20:04:54 +01:00
git-tags fix: gitref -> gitRef 2019-11-27 11:11:58 +01:00
github fix(eslint): '@typescript-eslint/explicit-function-return-… (#4872) 2019-11-26 16:13:07 +01:00
gitlab fix(eslint): '@typescript-eslint/explicit-function-return-… (#4872) 2019-11-26 16:13:07 +01:00
go refactor: use re2 for regex (#4687) 2019-10-22 08:48:40 +02:00
gradle-version feat(gradle-version): source releases from registryUrls (#4684) 2019-10-18 15:53:54 +02:00
helm fix(helm): gracefully handle connection rejections 2019-12-16 11:14:00 +01:00
hex feat: Elixir support (#4496) 2019-10-04 09:13:14 +02:00
maven fix(maven): properly log pkgUrl in case of error (#4972) 2019-12-13 11:26:29 +02:00
npm feat(datasource): centralise git url massaging (#5032) 2019-12-20 09:27:58 +01:00
nuget feat(datasource): centralise git url massaging (#5032) 2019-12-20 09:27:58 +01:00
orb chore(datasource): add more type annotations (#4312) 2019-08-19 16:44:11 +02:00
packagist feat(datasource): centralise git url massaging (#5032) 2019-12-20 09:27:58 +01:00
pypi fix(pypi): pep0427 wheel packages (#4974) 2019-12-13 14:52:31 +02:00
ruby-version fix: typescript types (#4390) 2019-08-28 06:46:48 +02:00
rubygems fix(rubygems): Restrict the usage of large response strings (#4994) 2019-12-16 06:48:19 +02:00
sbt fix(eslint): '@typescript-eslint/explicit-function-return-… (#4872) 2019-11-26 16:13:07 +01:00
terraform feat(datasource): centralise git url massaging (#5032) 2019-12-20 09:27:58 +01:00
terraform-provider feat(datasource): centralise git url massaging (#5032) 2019-12-20 09:27:58 +01:00
common.ts fix: gitref -> gitRef 2019-11-27 11:11:58 +01:00
index.ts feat(terraform): Support terraform providers (#4926) 2019-12-15 08:51:00 +02:00
metadata.ts feat(datasource): centralise git url massaging (#5032) 2019-12-20 09:27:58 +01: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.