Commit Graph

17 Commits

Author SHA1 Message Date
Gregor Zeitlinger 0d9888a4f2 feat(datasource): add GraalVM version datasource (#40497)
* feat(datasource): add GraalVM version datasource with support for JDK and JRE releases

* feat(datasource): add GraalVM version datasource with support for JDK and JRE releases

* feat(datasource): add GraalVM version datasource with support for JDK and JRE releases

* feat(datasource): add GraalVM version datasource with support for JDK and JRE releases

* feat(datasource): add GraalVM version datasource with support for JDK and JRE releases

* add coverage

* fix

* fix

* fix

* code cov

* code cov

* code cov

* refactor(datasource): integrate GraalVM into java-version datasource

Merges graalvm-version datasource into java-version as a unified multi-vendor
Java distribution datasource. Implements vendor-based modular architecture with
routing layer for Adoptium (Eclipse Temurin) and Oracle GraalVM.

Architecture:
- Vendor-specific handlers (adoptium.ts, graalvm.ts) with routing in index.ts
- Vendor-aware system detection with different arch/os mappings per vendor
- Custom registry support for GraalVM's mise-java API
- Adoptium remains the default registry for backwards compatibility

Package names:
- New explicit: adoptium-jdk, adoptium-jre, oracle-graalvm-jdk, oracle-graalvm-jre
- Legacy (map to Adoptium): java, java-jdk, java-jre

Changes:
- Created adoptium.ts and graalvm.ts vendor handlers
- Enhanced common.ts with vendor detection and vendor-specific system mappings
- Updated index.ts with routing layer and custom registry support
- Merged test suites with comprehensive coverage for both vendors
- Updated mise manager integration to use JavaVersionDatasource
- Removed graalvm-version datasource directory

All 65 datasource tests and 93 mise manager tests passing.

* fix

* test(datasource): add coverage for non-HttpError paths in java-version

* fix(datasource): remove dead code and add coverage for java-version

Remove unreachable HttpError handling from _getReleases catch block
since both getAdoptiumReleases and getGraalvmReleases handle HttpError
internally. Add test for the graalvmRegistryUrl fallback when
registryUrl is undefined.

* fix(datasource): address review comments for GraalVM datasource

- Remove unused 'datasource-graalvm-version' cache namespace
- Convert MiseJavaRelease interface to Zod schema and derive type from it
- Use http.getJson() with the Zod schema in getGraalvmReleases instead
  of getJsonUnchecked, letting the schema handle invalid/empty responses
- Update getGraalvmReleases test mock to use getJson

* docs: remove unused datasource-graalvm-version from cacheTtlOverride docs

* fix(datasource): preserve Adoptium config typing

* fix(datasource): harden GraalVM release parsing

* fix(datasource): address GraalVM review feedback

* test: cover GraalVM mise package mapping

* test(datasource): cover default GraalVM registry fallback

* test(datasource): cover legacy registry resolution

* test(datasource): type legacy datasource mocks

* fix(datasource): harden GraalVM defaults and responses

* refactor(datasource): use function-only registry accessors

* test(datasource): cover registry accessor functions

* test: restore coverage exclusions

* chore: retrigger CI checks
2026-09-23 08:40:24 +00:00
Sebastian Poxhofer ad0b59f8b7 refactor(oxlint): enable vitest/require-to-throw-message (#44421) 2026-07-07 17:47:04 +00:00
Sergei Zharinov 9d857c1f68 refactor(lint): Organize imports with biome (#40966) 2026-02-06 13:40:01 +00:00
Sergei Zharinov c07814ca4d refactor: Remove decorators for ESM compatibility (#40736)
* refactor: Migrate to decorator alternatives

* refactor: Remove decorators

* Fixes

* build: Remove decorator support from build pipeline

* fix: Remove extra brace in cdnjs getDigest cache key
2026-01-28 13:22:53 +00:00
Sergei Zharinov 930cf6633c refactor: Rewrite imports with .ts extensions (#40700)
fix: Additional vi.mock path corrections and prettier formatting
2026-01-26 22:48:17 +00:00
Michael Kriese 19c115c813 test: cleanup (#34785) 2025-03-13 17:52:09 +00:00
Sergei Zharinov 9b4e515024 refactor(http): Separate getJson and getJsonUnchecked (#33651) 2025-01-17 14:18:00 +00:00
Sergei Zharinov 2e48977d3c refactor(hermit): Use single cache namespace (#31052) 2024-08-27 19:27:32 +00:00
renovate[bot] eb8c08079e chore(deps): update typescript-eslint monorepo to v8 (major) (#30750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2024-08-14 10:33:02 +00:00
RahulGautamSingh d0b77e584a feat(datasource): sourceUrl & releaseTimestamp support (#29122) 2024-05-21 07:04:12 +00:00
Sergei Zharinov b69416ce17 refactor(prettier): Force trailing commas (#25631) 2023-11-07 15:50:29 +00:00
Michael Kriese a9dc0625cf fix: better branch code coverage (#24270) 2023-09-06 11:26:22 +00:00
Rhys Arkins b6ed33ec01 fix(regex): don’t escape forward slash in fileMatch (#19314)
This cleanup of default `fileMatch` values should be backwards compatible.
2023-03-10 09:34:39 +01:00
RahulGautamSingh d869c946d1 refactor: reduce debug metadata (#18737) 2022-11-07 11:29:02 +00:00
Sergei Zharinov ea69f81247 refactor(github): Uniform names for github datasource types (#17701) 2022-09-08 11:26:27 +02:00
Sergei Zharinov 81ee883e30 refactor(github): Extract utils/github from datasources (#17697) 2022-09-08 10:00:42 +02:00
Yun Lai 9280430f4c feat: add datasource for Hermit package manager (#16257)
* 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>
2022-07-15 09:57:05 +00:00