* feat(datasource): add elm-package datasource
* refactor(elm): inline test fixtures
* fix(elm): correct import ordering in test file
* fix(elm): use zod/v3 import to match codebase conventions
* refactor(elm): rename types.ts to schema.ts
Follow project convention of using schema.ts for zod schema files.
* test(elm): add test for invalid JSON response
Use v8 ignore if directive and add test covering the null result
path when the API returns invalid JSON.
* refactor(elm): remove unreachable null check
* test(elm): add test for default registry URL fallback
* refactor(elm): guard against missing registryUrl instead of fallback
* fix(elm): handle ZodError gracefully instead of throwing
* feat(elm): add package cache for elm-package datasource
The github-releases datasource has been copied into a new datasource called github-release-attachments.
The github-releases general datasource is updated to use the underlying Git tag of a GitHub release entry for digest computation.
Fixes#20160, Fixes#19552
BREAKING CHANGE: Regex Manager configurations relying on the github-release data-source with digests will have different digest semantics. The digest
will now always correspond to the underlying Git SHA of the release/version. The old behavior can be preserved by switching to the
github-release-attachments datasource.
* feat(datasource): add cpan datasource
* Update perl versioning's readme
* Extract copystr function to lib/util/string.ts
* Remove unnecessary optional chaining
* Use registryUrl and logger.trace
* Use `perl` versioning's `isStable`
* Remove possibly unnecessary try/catch
* Use MetaCPAN API
* Use reduce
* Use maturity field for `isStable` handling
https://metacpan.org/pod/CPAN::DistnameInfo#maturity
* Revert "Extract copystr function to lib/util/string.ts"
This reverts commit 51ebf55c90.
# Conflicts:
# lib/modules/datasource/cpan/index.ts
* Remove downloadUrl
* Extract types
* Use toMatchObject
* Improve tests
* Rename to MetaCpanSearchResult
* Rename to searchUrl
* Rename to MetaCpanFileSearchResult and add tsdoc
* Use for...of over reduce
* More safely handle the response JSON
* Use joinUrlParts
* Don't embed distribution info
* Split tsdoc comments
* feat: add datasource for Hermit package manager
* fix: make hermit datasource use http.stream instead of http.get
* chore: inline small function and return null on error in hermit datasource
* fix: use regExp to extract owner and repo from registryUrl
* fix: use http from super & use error instead of debug on datasource error
* fix: fix type check failure for github-release test
* Update lib/modules/datasource/hermit/index.spec.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* Update lib/modules/datasource/hermit/index.spec.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* Update lib/modules/datasource/hermit/index.spec.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* Update lib/modules/datasource/hermit/index.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* fix: wrap JSON.parse to avoid breaking process, plus more comment onto the search manifest streaming process
* fix: add test to cover the invalid json case
* fix: change some logger.errors to logger.warn in hermit datasource, error will exit the whole process
* Update lib/modules/datasource/hermit/index.spec.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* Update lib/modules/datasource/hermit/index.spec.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* Update lib/modules/datasource/hermit/index.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* Update lib/modules/datasource/hermit/index.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* Update lib/modules/datasource/hermit/index.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* fix: use parseUrl and use hermit as GithubHttp id
* fix: added test to include HermitDatasource type in GITHUB_API_USING_HOST_TYPES
* fix: handle invalid url & achieve code coverage
* fix: move url parsing to parent function
* Update lib/modules/datasource/hermit/index.ts
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* chore: clean up HermitDataSource class doc
* fix: getHermitSearchManifest cache key function should expect undefined
* fix: pass GetReleasesConfig into getHermitSearchManifest to get proper caching working
* Update lib/modules/datasource/hermit/readme.md
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* Update lib/modules/datasource/hermit/readme.md
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* Update lib/modules/datasource/hermit/readme.md
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* Update lib/modules/datasource/hermit/readme.md
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* Update lib/modules/datasource/hermit/readme.md
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* chore: fix json block in datasource readme.md
* Put packageRules example in step 4
* fix: fix lint error
* fix: pass parsedUrl into getHermitSearchManifest, add warning and simplifies type
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* feat: add flutter datasource
* refactor: rename flutter datasource to flutter-version
* feat: update to handle duplicate flutter releases
* refactor: tidy up flutter version datasource class names and imports
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
* Apply suggestions from code review
* style: add newline to test file
* refactor: move regex to util module
* refactor: tidy up stable version regex
* Apply suggestions from code review
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: Rhys Arkins <rhys@arkins.net>
Moves datasource, manager, platform and versioning code from lib/ into new lib/modules/
BREAKING CHANGE: External tools must update paths to datasource, manager, platform and versioning