mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-25 23:11:31 +00:00
9d74625d93
* build(deps): update dependency prettier to v3.9.6 | datasource | package | from | to | | ---------- | -------- | ----- | ----- | | npm | prettier | 3.8.1 | 3.9.6 | * chore: prettier fixes --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Kriese <michael.kriese@mend.io>
64 lines
1.5 KiB
TypeScript
64 lines
1.5 KiB
TypeScript
import { z } from 'zod/v4';
|
|
import { LooseArray } from '../../../util/schema-utils/index.ts';
|
|
import type { ReleaseResult } from '../types.ts';
|
|
import { conanDatasourceRegex } from './common.ts';
|
|
|
|
export const ConanCenterReleases = z
|
|
.object({
|
|
versions: z.record(z.string(), z.unknown()),
|
|
})
|
|
.transform(({ versions }): ReleaseResult => ({
|
|
releases: Object.keys(versions).map((version) => ({ version })),
|
|
}))
|
|
.nullable()
|
|
.catch(null);
|
|
|
|
export const ConanJSON = z
|
|
.object({
|
|
results: z
|
|
.string()
|
|
.array()
|
|
.transform((array) =>
|
|
array.map((val) => val.match(conanDatasourceRegex)?.groups),
|
|
)
|
|
.pipe(
|
|
LooseArray(
|
|
z.object({
|
|
name: z.string(),
|
|
version: z.string(),
|
|
userChannel: z.string(),
|
|
}),
|
|
),
|
|
),
|
|
})
|
|
.transform(({ results }) => results)
|
|
.nullable()
|
|
.catch(null);
|
|
|
|
export const ConanRevisionJSON = z.object({
|
|
revision: z.string(),
|
|
time: z.string(),
|
|
});
|
|
|
|
export const ConanLatestRevision = z
|
|
.object({ revisions: z.unknown().array() })
|
|
.transform(({ revisions }) => revisions[0])
|
|
.pipe(ConanRevisionJSON)
|
|
.transform(({ revision }) => revision)
|
|
.nullable()
|
|
.catch(null);
|
|
|
|
export const ConanProperties = z
|
|
.object({
|
|
properties: z.object({
|
|
'conan.package.url': z.union([
|
|
z.string().transform((url) => [url]),
|
|
z.string().array(),
|
|
]),
|
|
}),
|
|
})
|
|
.transform(({ properties }) => {
|
|
const sourceUrl = properties['conan.package.url'][0];
|
|
return { sourceUrl };
|
|
});
|