Skip to content
Snippets Groups Projects
Unverified Commit 8b3bfe49 authored by HonkingGoose's avatar HonkingGoose Committed by GitHub
Browse files

docs: improve datasource readme (#23653)

parent 37862b6c
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,8 @@ Datasources are used in Renovate primarily to fetch released versions of package ...@@ -7,7 +7,8 @@ Datasources are used in Renovate primarily to fetch released versions of package
New datasources _must_ follow the class-based programming style. New datasources _must_ follow the class-based programming style.
Use the `java-version` datasource as a reference. Use the `java-version` datasource as a reference.
Add the datasource to the API in [`api.ts`](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. Add the datasource to the API in [`api.ts`](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, make sure the datasource is correctly registered.
## getReleases ## getReleases
...@@ -16,24 +17,25 @@ The minimum exported interface for a datasource is a function called `getRelease ...@@ -16,24 +17,25 @@ The minimum exported interface for a datasource is a function called `getRelease
The config has: The config has:
- `packageName`: the package's full name including scope if present (e.g. `@foo/bar`) - `packageName`: the package's full name including scope if present (e.g. `@foo/bar`)
- `registryUrls`: an array of registry Urls to try - `registryUrls`: an array of registry URLs to try
`getReleases` should return an object having: `getReleases` should return an object having:
- `releases`: an array of strings of matched versions. This is the only mandatory field. - `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 - `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) - `sourceUrl`: a HTTP URL pointing to the source code (for example on GitHub)
- `homepage`: a HTTP URL for the package's homepage. Ideally should be empty if the homepage and sourceUrl are the same - `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. - `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. - `tags`: an object mapping tag -> version, for example `tags: { latest: '3.0.0' }`. This is only used by the `followTags` function
## getDigest ## getDigest
Datasources that support the concept of digests (e.g. Docker digests and Git commit hashes) also can export a `getDigest` function. Datasources that support digests (like Docker digests and Git commit hashes) can export a `getDigest` function.
The `getDigest` function has two inputs: The `getDigest` function has two inputs:
- `config`: the Renovate config for the package being updated, has the same fields as `getReleases` - `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 - `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. The `getDigest` function returns a string output representing the digest value.
If no digest is found, the `getDigest` function should return `null`.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment