Files
renovate/tools/static-data/generate-java-lts-versions.ts
T
Gregor Zeitlinger 2e951d2254 feat(mise): support selector lockfile updates (#44615)
* mise: support selector lockfile updates

* fix(mise): handle empty lockfile AST

* test(mise): use valid empty TOML AST fixture

* fix(mise): support current regex utility

* fix: clarify lockfile-only lookup handling

* fix(mise): handle selector lockfile updates correctly

* test(mise): cover selector lockfile review fixes

* fix(mise): scope selector artifact refresh

* chore: retrigger CI

* fix(mise): remove unreachable lockfile guard

* refactor(lookup): clarify lockfile-only value handling

* refactor(mise): use shared TOML utilities

* fix(mise): handle selector lockfile edge cases

* fix(mise): satisfy selector CI coverage

* fix(mise): require dependency names

* fix(mise): preserve configured dependency names

* fix(mise): address selector lockfile review feedback

* test(mise): cover major selector lockfile updates

* chore(static-data): auto-update Java LTS versions

So we don't have a hardcoded set of data in the mise manager.

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

* fix(mise): address selector lockfile feedback

* test(manager/mise): cover nonnumeric current version prefix

formatLockedVersion()'s currentPrefix fallback to '' only runs when
the current version has no leading numeric match, which no existing
test reached.

Co-Authored-By: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

---------

Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-09-14 15:57:22 +00:00

27 lines
835 B
TypeScript

import { adoptiumRegistryUrl } from '../../lib/modules/datasource/java-version/adoptium.ts';
import { AdoptiumAvailableReleases } from '../../lib/modules/datasource/java-version/schema.ts';
import { Json } from '../../lib/util/schema-utils/index.ts';
import { updateJsonFile } from './utils.mjs';
const availableReleasesUrl = `${adoptiumRegistryUrl}v3/info/available_releases`;
console.log('Generating Java LTS versions');
const res = await fetch(availableReleasesUrl);
if (!res.ok) {
console.error(`Failed to fetch ${availableReleasesUrl}`, res);
process.exit(1);
}
const { available_lts_releases: ltsVersions } = Json.pipe(
AdoptiumAvailableReleases,
).parse(await res.text());
await updateJsonFile(
'lib/data/java-version-lts.json',
JSON.stringify(
[...ltsVersions].sort((a, b) => a - b),
null,
2,
),
);