renovate/lib/modules/datasource
2023-05-27 03:43:46 +00:00
..
__snapshots__ test: use jest v29 (#17151) 2022-08-16 14:22:29 +02:00
artifactory refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
aws-machine-image chore: migrate to structuredClone (#20885) 2023-04-27 05:06:22 +00:00
aws-rds chore: migrate to structuredClone (#20885) 2023-04-27 05:06:22 +00:00
azure-bicep-resource refactor(azure-bicep-resource): Refactor schema usage (#21402) 2023-04-11 14:41:41 +00:00
azure-pipelines-tasks feat(datasource/azure-pipelines-tasks): load tasks from github (#21869) 2023-04-28 10:19:06 +00:00
bazel feat: add bazel datasource (#21733) 2023-04-25 20:08:26 +00:00
bitbucket-tags refactor(bitbucket): use paginated api for tags (#22336) 2023-05-22 05:54:25 +00:00
cdnjs refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
clojure refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
conan refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
conda refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
cpan fix(datasource/cpan): add module.authorized condition for querying releases (#22445) 2023-05-27 03:43:46 +00:00
crate feat(datasource/crate): add sparse registry support (#21187) 2023-04-05 12:30:35 +00:00
dart refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
dart-version refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
deno refactor(schema): Enhanced "loose" collections (#21541) 2023-04-21 08:25:48 +00:00
docker refactor(datasource/docker): Using URL module for improved readability (#21809) 2023-04-29 17:51:03 +00:00
dotnet-version refactor(schema): Enhanced "loose" collections (#21541) 2023-04-21 08:25:48 +00:00
flutter-version refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
galaxy refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
galaxy-collection refactor: exactOptionalPropertyTypes (#20761) 2023-03-19 16:09:46 +00:00
git-refs refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
git-tags refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
github-release-attachments feat(datasource/github-releases)!: digest computation use git tag, not file digest (#20178) 2023-03-10 09:34:40 +01:00
github-releases feat(datasource/github-releases)!: digest computation use git tag, not file digest (#20178) 2023-03-10 09:34:40 +01:00
github-tags refactor: replace as with partial/satisfies (#21982) 2023-05-08 06:36:40 +00:00
gitlab-packages refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
gitlab-releases feat(versioning)!: default to semver-coerced instead of semver (#20573) 2023-03-10 09:34:41 +01:00
gitlab-tags feat(versioning)!: default to semver-coerced instead of semver (#20573) 2023-03-10 09:34:41 +01:00
go refactor: replace test.each with it.each (#21859) 2023-04-28 04:33:15 +00:00
golang-version refactor: exactOptionalPropertyTypes (#20761) 2023-03-19 16:09:46 +00:00
gradle-version refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
helm refactor: replace test.each with it.each (#21859) 2023-04-28 04:33:15 +00:00
hermit fix(regex): don’t escape forward slash in fileMatch (#19314) 2023-03-10 09:34:39 +01:00
hex refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
hexpm-bob feat(datasource/hexpm-bob): Switch to builds.hex.pm from repo.hex.pm (#21915) 2023-05-02 11:32:57 +00:00
java-version refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
jenkins-plugins chore: migrate to structuredClone (#20885) 2023-04-27 05:06:22 +00:00
kubernetes-api chore: migrate to structuredClone (#20885) 2023-04-27 05:06:22 +00:00
maven chore: use node: protocol imports (#21181) 2023-03-28 21:05:36 +00:00
node-version feat(datasource): rename node -> node-version (#21149) 2023-04-12 13:43:59 +00:00
npm refactor(npm): Use schema for PackageSource parsing (#22314) 2023-05-19 17:22:03 +00:00
nuget refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
orb refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
packagist refactor(schema): Enhanced "loose" collections (#21541) 2023-04-21 08:25:48 +00:00
pod chore: use node: protocol imports (#21181) 2023-03-28 21:05:36 +00:00
puppet-forge refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
pypi feat(manager/pep621): implement manager (#22082) 2023-05-15 07:51:05 +00:00
repology feat(versioning)!: default to semver-coerced instead of semver (#20573) 2023-03-10 09:34:41 +01:00
ruby-version refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
rubygems refactor(rubygems): Extract copystring function to the utils (#22322) 2023-05-20 12:11:45 +00:00
sbt-package refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
sbt-plugin refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
terraform-module feat: fetch changelogs for private Terraform Cloud modules (#21356) 2023-04-05 18:52:37 +00:00
terraform-provider refactor(datasource): use packageName and not depName for datasource lookups (#20474) 2023-03-10 09:34:40 +01:00
api.ts feat: add bazel datasource (#21733) 2023-04-25 20:08:26 +00:00
common.ts refactor(datasource): prefer packageName over depName in datasource (#20221) 2023-03-10 09:34:41 +01:00
datasource.spec.ts test: add new wrapper for partial (#20618) 2023-02-25 06:46:32 +00:00
datasource.ts refactor: exactOptionalPropertyTypes (#20761) 2023-03-19 16:09:46 +00:00
index.spec.ts feat(datasource): support range constraints filtering (#20842) 2023-03-15 06:12:08 +00:00
index.ts feat(datasource): support range constraints filtering (#20842) 2023-03-15 06:12:08 +00:00
metadata-manual.ts fix: Add changelogUrl for gradle-semver-plugin (#20441) 2023-05-16 05:01:16 +00:00
metadata.spec.ts refactor: replace test.each with it.each (#21859) 2023-04-28 04:33:15 +00:00
metadata.ts feat(helm): improve subdirectory support (#19181) 2022-12-09 12:48:20 +01:00
readme.md fix(datasource): rename adoptium-java to java-version (#20245) 2023-02-13 07:54:20 +00:00
types.ts feat(manager/bitbucket-pipelines): support docker image object (#21102) 2023-03-29 10:41:05 +00: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 java-version datasource as a reference.

Add the datasource to the API in api.ts so that the new datasource is usable. If you find 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.