* feat(datasource): add APK datasource support
* remove missing manager link for now
* lint docs
* update tests
* replace binary fixtures
* fix coverage
* Update lib/modules/datasource/apk/readme.md
Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
* Apply suggestion from @viceice
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
* use tar instead of tar-stream
* use codeBlock
* add ignore back
* make method private
* use an async extract instead of list
* add usage example
* stream apkindex download and parse line-by-line
* refactor(datasource): address review comments on APK datasource
Co-authored-by: Cursor <cursoragent@cursor.com>
* chore: sync pnpm-lock.yaml after merge
Co-authored-by: Cursor <cursoragent@cursor.com>
* test: remove ignored lines
As they seem to be covered, anyway.
* fixup! Merge remote-tracking branch 'origin/HEAD' into apk-datasource
* fixup! fixup! Merge remote-tracking branch 'origin/HEAD' into apk-datasource
* lint: use `node:` prefix
* Update lib/modules/datasource/apk/index.ts
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
* refactor(datasource/apk): use asTimestamp millis instead of new Date
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor(datasource/apk): rename uncached method to _getPackages
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor(datasource/apk): encode registry URL parts as query parameters
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(datasource/apk): reject invalid registry URLs, skip caching empty indexes
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(datasource/apk): throw on unparseable registry URL and drop unset sourceUrl support
Co-authored-by: Cursor <cursoragent@cursor.com>
* docs(datasource/apk): show how registry URL parameters build the index URLs
Co-authored-by: Cursor <cursoragent@cursor.com>
* Apply suggestions from code review
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
* fix(datasource/apk): keep credentials and port in component URLs
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(datasource/apk): extract APKINDEX by basename and key packages by name
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(datasource/apk): report a version served by two components only once
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
* 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>