Files
Tobias Bieniek b84a54cda7 fix(datasource/crate): tolerate null metadata fields (#44227)
* fix(datasource/crate): tolerate null metadata fields

crates.io returns `null` for unset crate metadata fields. `z.string().optional()`
rejects `null`, so a single null field (e.g. `documentation` on the `sentry` crate)
failed the whole metadata parse and discarded the valid `repository`, leaving
`sourceUrl` unset and breaking monorepo grouping. Use `.nullish()` so null fields
are tolerated.

* datasource/crate: Use `Nullish()` for metadata

* datasource/crate: Use `sentry` for null metadata test

* datasource/crate: Use `DeepNullish()` for metadata
2026-06-25 15:21:39 +00:00

38 lines
1.1 KiB
JSON

{
"categories": null,
"crate": {
"badges": [],
"categories": null,
"created_at": "2016-05-20T17:24:17.084103Z",
"default_version": "0.48.3",
"description": "Sentry (sentry.io) client for Rust.\n",
"documentation": null,
"downloads": 41620428,
"exact_match": false,
"homepage": "https://sentry.io/welcome/",
"id": "sentry",
"keywords": null,
"links": {
"owner_team": "/api/v1/crates/sentry/owner_team",
"owner_user": "/api/v1/crates/sentry/owner_user",
"owners": "/api/v1/crates/sentry/owners",
"reverse_dependencies": "/api/v1/crates/sentry/reverse_dependencies",
"version_downloads": "/api/v1/crates/sentry/downloads",
"versions": "/api/v1/crates/sentry/versions"
},
"max_stable_version": null,
"max_version": "0.0.0",
"name": "sentry",
"newest_version": "0.0.0",
"num_versions": 101,
"recent_downloads": null,
"repository": "https://github.com/getsentry/sentry-rust",
"trustpub_only": false,
"updated_at": "2026-06-25T07:38:14.534561Z",
"versions": null,
"yanked": false
},
"keywords": null,
"versions": null
}