renovate/lib/modules/datasource
2022-03-16 14:50:20 +01:00
..
__snapshots__ refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
adoptium-java refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
artifactory refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
aws-machine-image refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
bitbucket-tags fix(datasource/bitbucket-tags): use paging to fetch tags (#14675) 2022-03-15 21:01:50 +01:00
cdnjs refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
clojure refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
conan refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
conda refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
crate refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
dart refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
docker feat(datasource/docker): Support OCI image manifests (#14480) 2022-03-14 23:47:08 +00:00
galaxy refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
galaxy-collection refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
git-refs refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
git-tags refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
github-releases refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
github-tags refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
gitlab-packages refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
gitlab-releases refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
gitlab-tags refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
go fix(datasource/bitbucket-tags): use paging to fetch tags (#14675) 2022-03-15 21:01:50 +01:00
golang-version refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
gradle-version refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
helm refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
hex refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
jenkins-plugins refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
maven fix(datasource/maven): Fix head request caching (#14521) 2022-03-09 14:34:23 +01:00
node refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
npm feat(npm): support custom registryUrls (#14622) 2022-03-14 09:13:21 +01:00
nuget refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
orb refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
packagist refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
pod refactor(datasource/pod): Enable strict null checks (#14542) 2022-03-07 06:12:48 +01:00
pypi refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
repology docs: replace contain(s) with has or have (#14692) 2022-03-16 14:50:20 +01:00
ruby-version refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
rubygems refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
sbt-package refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
sbt-plugin refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
terraform-module refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
terraform-provider refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
api.ts refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
common.ts refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
datasource.spec.ts refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
datasource.ts refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
index.spec.ts refactor: lib/modules (#14488) 2022-03-04 09:04:02 +01:00
index.ts feat(npm): support custom registryUrls (#14622) 2022-03-14 09:13:21 +01:00
metadata-manual.ts fix: add dotnet docker source urls (#14613) 2022-03-11 20:29:45 +00:00
metadata.spec.ts refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
metadata.ts refactor: rename lookupName -> packageName (#14494) 2022-03-04 09:04:02 +01:00
readme.md docs: replace contain(s) with has or have (#14692) 2022-03-16 14:50:20 +01:00
types.ts feat(npm): support custom registryUrls (#14622) 2022-03-14 09:13:21 +01:00

Datasources

Datasources are used in Renovate primarily to fetch released versions of packages.

Follow the class-based programming style

New datasources must follow the class-based programming style. Use the adoptium-java datasource as a reference.

Add the datasource to the API in api.ts so that the new datasource is usable. If you encounter Pending mocks! errors in the jest tests and your mocked URLs are correct, ensure the datasource is correctly registered.

getReleases

The minimum exported interface for a datasource is a function called getReleases that takes a lookup config as input.

The config has:

  • packageName: the package's full name including scope if present (e.g. @foo/bar)
  • registryUrls: an array of registry Urls to try

getReleases should return an object having:

  • 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, has the same fields as getReleases
  • 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.