Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"nodejs",
"http",
"client"
],
"is_fork": false,
"size_kb": 16441,
"has_wiki": true,
"homepage": "https://undici.nodejs.org/",
"languages": {
"Shell": 1194,
"JavaScript": 3667194,
"TypeScript": 115346
},
"pushed_at": "2026-07-22T14:06:53Z",
"created_at": "2018-05-11T22:07:48Z",
"owner_type": "Organization",
"updated_at": "2026-07-22T06:28:47Z",
"description": "An HTTP/1.1 client, written from scratch for Node.js",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "JavaScript",
"significant_languages": [
"JavaScript"
]
},
"owner": {
"blog": "https://nodejs.org",
"name": "Node.js",
"type": "Organization",
"login": "nodejs",
"company": null,
"location": null,
"followers": 16208,
"avatar_url": "https://avatars.githubusercontent.com/u/9950313?v=4",
"created_at": "2014-11-25T17:10:50Z",
"is_verified": null,
"public_repos": 231,
"account_age_days": 4256
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v8.8.0",
"kind": "minor",
"published_at": "2026-07-20T15:15:17Z"
},
{
"tag": "v8.7.0",
"kind": "minor",
"published_at": "2026-07-04T12:00:28Z"
},
{
"tag": "v8.6.0",
"kind": "minor",
"published_at": "2026-07-02T13:45:45Z"
},
{
"tag": "v6.27.0",
"kind": "minor",
"published_at": "2026-06-15T15:51:32Z"
},
{
"tag": "v7.28.0",
"kind": "minor",
"published_at": "2026-06-15T15:51:19Z"
},
{
"tag": "v8.5.0",
"kind": "minor",
"published_at": "2026-06-15T15:50:48Z"
},
{
"tag": "v8.4.1",
"kind": "patch",
"published_at": "2026-06-08T10:52:40Z"
},
{
"tag": "v8.4.0",
"kind": "minor",
"published_at": "2026-06-06T16:02:53Z"
},
{
"tag": "v7.27.2",
"kind": "patch",
"published_at": "2026-06-06T08:21:57Z"
},
{
"tag": "v7.27.1",
"kind": "patch",
"published_at": "2026-06-04T07:11:20Z"
},
{
"tag": "v7.27.0",
"kind": "minor",
"published_at": "2026-06-01T12:16:12Z"
},
{
"tag": "v6.26.0",
"kind": "minor",
"published_at": "2026-05-25T16:02:12Z"
},
{
"tag": "v7.26.0",
"kind": "minor",
"published_at": "2026-05-25T16:02:11Z"
},
{
"tag": "v8.3.0",
"kind": "minor",
"published_at": "2026-05-14T17:06:17Z"
},
{
"tag": "v8.2.0",
"kind": "minor",
"published_at": "2026-05-01T20:54:01Z"
},
{
"tag": "v6.25.0",
"kind": "minor",
"published_at": "2026-04-14T09:30:25Z"
},
{
"tag": "v7.25.0",
"kind": "minor",
"published_at": "2026-04-13T13:27:47Z"
},
{
"tag": "v8.1.0",
"kind": "minor",
"published_at": "2026-04-13T12:40:28Z"
},
{
"tag": "v8.0.3",
"kind": "patch",
"published_at": "2026-04-12T18:58:48Z"
},
{
"tag": "v7.24.8",
"kind": "patch",
"published_at": "2026-04-12T18:39:48Z"
},
{
"tag": "v8.0.2",
"kind": "patch",
"published_at": "2026-04-04T09:28:00Z"
},
{
"tag": "v8.0.1",
"kind": "patch",
"published_at": "2026-04-03T08:17:53Z"
},
{
"tag": "v8.0.0",
"kind": "major",
"published_at": "2026-04-02T09:11:33Z"
},
{
"tag": "v7.24.7",
"kind": "patch",
"published_at": "2026-04-01T11:37:11Z"
},
{
"tag": "v7.24.6",
"kind": "patch",
"published_at": "2026-03-25T16:01:39Z"
},
{
"tag": "v7.24.5",
"kind": "patch",
"published_at": "2026-03-19T22:16:52Z"
},
{
"tag": "v7.24.4",
"kind": "patch",
"published_at": "2026-03-16T07:58:14Z"
},
{
"tag": "v7.24.3",
"kind": "patch",
"published_at": "2026-03-14T20:16:30Z"
},
{
"tag": "v6.24.1",
"kind": "patch",
"published_at": "2026-03-14T08:34:44Z"
},
{
"tag": "v7.24.2",
"kind": "patch",
"published_at": "2026-03-14T07:56:52Z"
},
{
"tag": "v7.24.1",
"kind": "patch",
"published_at": "2026-03-13T14:27:05Z"
},
{
"tag": "v6.24.0",
"kind": "minor",
"published_at": "2026-03-12T18:09:16Z"
},
{
"tag": "v7.24.0",
"kind": "minor",
"published_at": "2026-03-12T18:07:57Z"
},
{
"tag": "v7.23.0",
"kind": "minor",
"published_at": "2026-03-12T11:15:41Z"
},
{
"tag": "v7.22.0",
"kind": "minor",
"published_at": "2026-02-13T21:56:43Z"
},
{
"tag": "v7.21.0",
"kind": "minor",
"published_at": "2026-02-06T12:36:07Z"
},
{
"tag": "v7.20.0",
"kind": "minor",
"published_at": "2026-02-01T20:52:48Z"
},
{
"tag": "v7.19.2",
"kind": "patch",
"published_at": "2026-01-27T20:25:17Z"
},
{
"tag": "v7.19.1",
"kind": "patch",
"published_at": "2026-01-24T14:32:07Z"
},
{
"tag": "v7.19.0",
"kind": "minor",
"published_at": "2026-01-21T13:51:46Z"
},
{
"tag": "v7.18.2",
"kind": "patch",
"published_at": "2026-01-06T15:57:42Z"
},
{
"tag": "v7.18.1",
"kind": "patch",
"published_at": "2026-01-06T12:26:43Z"
},
{
"tag": "v6.23.0",
"kind": "minor",
"published_at": "2026-01-05T16:09:57Z"
},
{
"tag": "v7.18.0",
"kind": "minor",
"published_at": "2026-01-05T15:54:23Z"
},
{
"tag": "v7.17.0",
"kind": "minor",
"published_at": "2026-01-05T12:01:49Z"
},
{
"tag": "v6.22.0",
"kind": "minor",
"published_at": "2025-10-03T14:26:54Z"
},
{
"tag": "v7.16.0",
"kind": "minor",
"published_at": "2025-09-09T17:07:30Z"
},
{
"tag": "v7.15.0",
"kind": "minor",
"published_at": "2025-08-22T15:54:14Z"
},
{
"tag": "v7.14.0",
"kind": "minor",
"published_at": "2025-08-17T12:53:59Z"
},
{
"tag": "v7.13.0",
"kind": "minor",
"published_at": "2025-07-31T09:09:50Z"
},
{
"tag": "v7.12.0",
"kind": "minor",
"published_at": "2025-07-18T14:01:02Z"
},
{
"tag": "v7.11.0",
"kind": "minor",
"published_at": "2025-06-26T21:44:11Z"
},
{
"tag": "v7.10.0",
"kind": "minor",
"published_at": "2025-05-20T07:19:28Z"
},
{
"tag": "v6.21.3",
"kind": "patch",
"published_at": "2025-05-13T08:07:16Z"
},
{
"tag": "v7.9.0",
"kind": "minor",
"published_at": "2025-05-10T18:37:21Z"
},
{
"tag": "v7.8.0",
"kind": "minor",
"published_at": "2025-04-10T10:01:30Z"
},
{
"tag": "v7.7.0",
"kind": "minor",
"published_at": "2025-04-02T09:03:31Z"
},
{
"tag": "v7.6.0",
"kind": "minor",
"published_at": "2025-03-27T14:17:01Z"
},
{
"tag": "v5.29.0",
"kind": "minor",
"published_at": "2025-03-19T18:02:02Z"
},
{
"tag": "v6.21.2",
"kind": "patch",
"published_at": "2025-03-13T12:08:49Z"
},
{
"tag": "v7.5.0",
"kind": "minor",
"published_at": "2025-03-12T17:56:22Z"
},
{
"tag": "v7.4.0",
"kind": "minor",
"published_at": "2025-02-28T10:48:08Z"
},
{
"tag": "v7.3.0",
"kind": "minor",
"published_at": "2025-01-22T09:54:05Z"
},
{
"tag": "v5.28.5",
"kind": "patch",
"published_at": "2025-01-16T09:27:12Z"
},
{
"tag": "v6.21.1",
"kind": "patch",
"published_at": "2025-01-16T09:26:28Z"
},
{
"tag": "v7.2.3",
"kind": "patch",
"published_at": "2025-01-16T09:15:19Z"
},
{
"tag": "v7.2.2",
"kind": "patch",
"published_at": "2025-01-15T17:29:20Z"
},
{
"tag": "v7.2.1",
"kind": "patch",
"published_at": "2025-01-09T15:06:07Z"
},
{
"tag": "v7.2.0",
"kind": "minor",
"published_at": "2024-12-18T18:11:00Z"
},
{
"tag": "v7.1.1",
"kind": "patch",
"published_at": "2024-12-16T17:10:15Z"
},
{
"tag": "v7.1.0",
"kind": "minor",
"published_at": "2024-12-03T15:23:42Z"
},
{
"tag": "v7.0.0",
"kind": "major",
"published_at": "2024-11-27T14:31:09Z"
},
{
"tag": "v7.0.0-alpha.9",
"kind": "prerelease",
"published_at": "2024-11-27T13:39:20Z"
},
{
"tag": "v7.0.0-alpha.8",
"kind": "prerelease",
"published_at": "2024-11-27T09:03:28Z"
},
{
"tag": "v7.0.0-alpha.7",
"kind": "prerelease",
"published_at": "2024-11-25T15:35:02Z"
},
{
"tag": "v7.0.0-alpha.6",
"kind": "prerelease",
"published_at": "2024-11-20T09:31:59Z"
},
{
"tag": "v7.0.0-alpha.5",
"kind": "prerelease",
"published_at": "2024-11-19T09:18:07Z"
},
{
"tag": "v7.0.0-alpha.4",
"kind": "prerelease",
"published_at": "2024-11-19T09:17:33Z"
},
{
"tag": "v6.21.0",
"kind": "minor",
"published_at": "2024-11-13T13:37:38Z"
},
{
"tag": "v7.0.0-alpha.3",
"kind": "prerelease",
"published_at": "2024-10-24T11:20:48Z"
},
{
"tag": "v6.20.1",
"kind": "patch",
"published_at": "2024-10-23T16:33:53Z"
},
{
"tag": "v7.0.0-alpha.2",
"kind": "prerelease",
"published_at": "2024-10-09T07:57:50Z"
},
{
"tag": "v6.20.0",
"kind": "minor",
"published_at": "2024-10-09T07:51:22Z"
},
{
"tag": "v6.19.8",
"kind": "patch",
"published_at": "2024-08-19T17:20:24Z"
},
{
"tag": "v6.19.7",
"kind": "patch",
"published_at": "2024-08-09T15:49:16Z"
},
{
"tag": "v6.19.6",
"kind": "patch",
"published_at": "2024-08-09T08:39:21Z"
},
{
"tag": "v6.19.5",
"kind": "patch",
"published_at": "2024-07-31T10:34:02Z"
},
{
"tag": "v6.19.4",
"kind": "patch",
"published_at": "2024-07-25T10:12:59Z"
},
{
"tag": "v6.19.3",
"kind": "patch",
"published_at": "2024-07-22T08:15:47Z"
},
{
"tag": "v6.19.2",
"kind": "patch",
"published_at": "2024-06-18T07:24:37Z"
},
{
"tag": "v6.19.1",
"kind": "patch",
"published_at": "2024-06-17T19:03:52Z"
},
{
"tag": "v6.19.0",
"kind": "minor",
"published_at": "2024-06-14T09:33:24Z"
},
{
"tag": "v6.18.2",
"kind": "patch",
"published_at": "2024-05-29T13:33:26Z"
},
{
"tag": "v6.18.1",
"kind": "patch",
"published_at": "2024-05-22T10:39:25Z"
},
{
"tag": "v6.18.0",
"kind": "minor",
"published_at": "2024-05-20T13:00:08Z"
},
{
"tag": "v6.17.0",
"kind": "minor",
"published_at": "2024-05-17T06:07:31Z"
},
{
"tag": "v6.16.1",
"kind": "patch",
"published_at": "2024-05-10T09:45:31Z"
},
{
"tag": "v6.16.0",
"kind": "minor",
"published_at": "2024-05-07T16:01:51Z"
},
{
"tag": "v6.15.0",
"kind": "minor",
"published_at": "2024-04-29T12:07:59Z"
},
{
"tag": "v6.14.1",
"kind": "patch",
"published_at": "2024-04-23T10:37:09Z"
}
],
"recent_commits": [
{
"oid": "a0922b0b6b5db878881017abb6fca3bbcdea555a",
"body": "* fix: handle frozen globalThis in setGlobalDispatcher\n\nWhen Object.freeze(globalThis) is called before undici globals are accessed,\nsetGlobalDispatcher would throw TypeError because it cannot extend globalThis.\n\nThis fix wraps the Object.defineProperty calls in try/catch. When globalThis\nis not ext\n[…]\ntcher does not throw when globalThis is frozen\n2. getGlobalDispatcher returns a valid dispatcher\n3. Fallback dispatcher persists across multiple calls\n\nThis addresses review feedback requesting tests.",
"is_bot": false,
"headline": "fix: handle frozen globalThis in setGlobalDispatcher (#5574)",
"author_name": "Mhayk Whandson",
"author_login": "mhayk",
"committed_at": "2026-07-22T06:26:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "354a151f615f03d72f6aff02f3ad18a7e99a72b5",
"body": "Functions bypassed the object guard in processHeader() and were\ncoerced via template literals without isValidHeaderValue(), allowing\nCRLF injection when toString/Symbol.toPrimitive returned embedded\nnewlines. Validate after coercion on both scalar and array paths.\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix: validate coerced header values for CRLF (#5579)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-22T06:26:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d228fab8495360f8d9bafe7140cf9c44f7894d3d",
"body": "Bumps [ws](https://github.com/websockets/ws) from 8.21.0 to 8.21.1.\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/8.21.0...8.21.1)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n dependency-version: 8.21.1\n dependency-type: direct:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump ws from 8.21.0 to 8.21.1 (#5576)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-21T00:04:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f36ea9cab02ae7e2b785646b1dbc8745059a018a",
"body": "Signed-off-by: Ram-blip <ramcruze2000@gmail.com>",
"is_bot": false,
"headline": "fix(decompress): preserve response trailers (#5572)",
"author_name": "Ram",
"author_login": "Ram-blip",
"committed_at": "2026-07-20T16:06:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1760faa557f5f29c6dbd33fcbe6b0422cee16856",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bumped v8.8.0 (#5575)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-20T15:14:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f87273eb073db316e1f025064459818b6710a2bf",
"body": "* fix(h2): release completed requests from queue\n\nThe HTTP/2 in-order completion fast path advanced the running index but retained the completed Request in its queue slot until batched compaction. Under sustained abort churn, each retained Request pinned its stream and fetch graph, including native \n[…]\neo Collina <hello@matteocollina.com>\nCo-authored-by: Matteo Collina <matteo.collina@gmail.com>\nCo-authored-by: Carlos Fuentes <me@metcoder.dev>\nCo-authored-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix(h2): release completed requests from queue (#5569)",
"author_name": "Scott Taylor",
"author_login": "staylor",
"committed_at": "2026-07-20T14:21:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1383989019ab9e98ca6aa0c743922b6edb6f11f0",
"body": "… (#5518)",
"is_bot": false,
"headline": "refactor: replace tspl with node:test t.plan in connect-timeout tests…",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-19T08:51:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6d37d2ccd4f6822c00993c2f2441050cfb84be0",
"body": null,
"is_bot": false,
"headline": "test: deflake invalid websocket close status test (#5550)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-17T21:32:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ca091237806cc347cd405fe7217ef1618623398",
"body": "…(#5514)",
"is_bot": false,
"headline": "fix: invalidate Location and Content-Location URIs on unsafe methods …",
"author_name": "Jesse Wright",
"author_login": "jeswr",
"committed_at": "2026-07-17T21:22:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87270e46a22660a1975e199335862cdaeb11e22c",
"body": "…se' (#5560)",
"is_bot": false,
"headline": "fix(h2): complete request stream on 'end' instead of waiting for 'clo…",
"author_name": "Scott Taylor",
"author_login": "staylor",
"committed_at": "2026-07-16T19:47:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85b35e7791209b610020c4924a7777cffe6e43da",
"body": "…undefined kClient (#5546)",
"is_bot": false,
"headline": "fix(h2): prevent uncaughtException from onHttp2SocketError accessing …",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-16T19:46:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de01babccb69bf3dc2b2ebd064bc302d7c31f9f1",
"body": "…e (#5515)\n\n* fix: store revalidation-only responses so etag revalidation can engage\n\nResponses with a validator (ETag or Last-Modified) but zero freshness\nlifetime - `cache-control: no-cache` or `max-age=0` without any other\nfreshness source - were never stored: determineStaleAt() returned\nundefine\n[…]\nterseness.\nNo logic change.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Jesse Wright <jw896977@gmail.com>\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: store revalidation-only responses so etag revalidation can engag…",
"author_name": "Jesse Wright",
"author_login": "jeswr",
"committed_at": "2026-07-16T15:38:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e1cc0d436cc43ee737a083f9e6348ec45614e796",
"body": "…5513)\n\n* fix: honor stale-if-error on connection errors during revalidation\n\nstale-if-error was only honored when the origin responded with a\n500-504 status code; if the origin was unreachable (e.g. ECONNREFUSED),\nCacheRevalidationHandler.onResponseError failed the request outright\neven when a stal\n[…]\nment-only, no logic change.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Jesse Wright <jw896977@gmail.com>\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: honor stale-if-error on connection errors during revalidation (#…",
"author_name": "Jesse Wright",
"author_login": "jeswr",
"committed_at": "2026-07-16T15:32:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "dc7c044fcd05e5b636ee213f6e67dfd224163291",
"body": "Signed-off-by: Ram-blip <ramcruze2000@gmail.com>",
"is_bot": false,
"headline": "fix(retry): handle Retry-After zero delay (#5519)",
"author_name": "Ram",
"author_login": "Ram-blip",
"committed_at": "2026-07-16T15:25:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b7bf3d93902804c193bccae2427fa5a51a8f3ab",
"body": "…stale-if-error (#5511)",
"is_bot": false,
"headline": "fix: enforce must-revalidate and proxy-revalidate over max-stale and …",
"author_name": "Jesse Wright",
"author_login": "jeswr",
"committed_at": "2026-07-16T09:22:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "afd719415e5f2a5a3a6ff9ea3f07ebfc3217dffe",
"body": "Signed-off-by: Emmanuel Yusufu Kimaswa <kimaswaemma36@gmail.com>",
"is_bot": false,
"headline": "fix: track origins by client map key in Agent teardown (#5537)",
"author_name": "Kimaswa Emmanuel Yusufu",
"author_login": "emmayusufu",
"committed_at": "2026-07-16T08:54:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08aae09455fa6c6aaa3f12ff15365fd2b016e0b9",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "test: add unexpected disconnect guards to http2 tests (#5533)",
"author_name": "monkey",
"author_login": "Develop-KIM",
"committed_at": "2026-07-16T08:52:13Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7c84c90d829716915f0b9c72c51a358c24b85806",
"body": null,
"is_bot": false,
"headline": "docs: clarify top-level request option url fields (#5545)",
"author_name": "Vibhor Aggarwal",
"author_login": "vibhor-aggr",
"committed_at": "2026-07-16T08:46:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9bcd5e63505da0e8596e212a49ba9495acfcaa7",
"body": "Signed-off-by: Shivam Sharma <meshivam81@gmail.com>",
"is_bot": false,
"headline": "ci: build undici with node.js v26 (#5237)",
"author_name": "Shivam Sharma",
"author_login": "shivarm",
"committed_at": "2026-07-16T08:37:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "491041028ad4ccbe4e7ddbb04cd092b55da53019",
"body": null,
"is_bot": false,
"headline": "fix(decompress): skip HEAD responses (#5564)",
"author_name": "Ram",
"author_login": "Ram-blip",
"committed_at": "2026-07-16T06:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "601066840f49d3fc9028373651d3f0c34c4a9da1",
"body": "…iate (#5559)",
"is_bot": false,
"headline": "fix(h2): destroy aborted stream synchronously instead of via setImmed…",
"author_name": "Scott Taylor",
"author_login": "staylor",
"committed_at": "2026-07-14T06:48:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3607810040467f3d6863e24ba4b13c1765ef0b6",
"body": "…(#5538)",
"is_bot": false,
"headline": "fix(h2): allow stream-bodied requests to multiplex on a busy session …",
"author_name": "Dustin",
"author_login": "GiHoon1123",
"committed_at": "2026-07-13T23:17:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "580cbddd5ed79b6a9d44d135303777f4ab1a11b8",
"body": "Bumps [fast-check](https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check) from 4.8.0 to 4.9.0.\n- [Release notes](https://github.com/dubzzz/fast-check/releases)\n- [Changelog](https://github.com/dubzzz/fast-check/blob/main/packages/fast-check/CHANGELOG.md)\n- [Commits](https://github.com/d\n[…]\nrect:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump fast-check from 4.8.0 to 4.9.0 (#5556)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-13T22:37:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9780a5aab4cccdc9bf76b22c5793a71e9b6eb2d0",
"body": null,
"is_bot": false,
"headline": "fix(redirect): remove body headers after POST-to-GET (#5551)",
"author_name": "Ram",
"author_login": "Ram-blip",
"committed_at": "2026-07-13T19:17:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c50edaf1a80baaacf9f5b51e1d14b1bb8eeff2c8",
"body": "Signed-off-by: Ram-blip <ramcruze2000@gmail.com>",
"is_bot": false,
"headline": "fix(fetch): handle null init in Response.json (#5540)",
"author_name": "Ram",
"author_login": "Ram-blip",
"committed_at": "2026-07-13T16:35:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "197a83db6c3b022d1fe0d02ccea12e05f7154704",
"body": null,
"is_bot": false,
"headline": "fix(h1): ignore type of service errors (#5547)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-12T13:13:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4708df14fec5ae0d44419b28ab5c8cf229f434e3",
"body": null,
"is_bot": false,
"headline": "docs: add custom interceptor example (#5548)",
"author_name": "Vibhor Aggarwal",
"author_login": "vibhor-aggr",
"committed_at": "2026-07-11T22:53:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ecf714f8c7d9b446952928907f679b16efe30eb5",
"body": "…t (#5499)",
"is_bot": false,
"headline": "fix: run idle socket validation off setImmediate instead of setTimeou…",
"author_name": "carlotestor",
"author_login": "carlotestor",
"committed_at": "2026-07-11T17:44:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a625eb1e29e5c831e38c98b702d890f40481cbc",
"body": null,
"is_bot": false,
"headline": "chore(benchmarks): require(esm) on ESM-only packages (#5527)",
"author_name": "Szymon Łągiewka",
"author_login": "slagiewka",
"committed_at": "2026-07-11T15:39:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d65a9f9b3e697dc33db5ea3efcbce0f8d7ec6e47",
"body": "…(#5536)",
"is_bot": false,
"headline": "fix: handle flat alternating header arrays in cache normalizeHeaders …",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-11T15:38:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df25cc573b8c7f32a25b793cab927bda7cc0c86f",
"body": null,
"is_bot": false,
"headline": "docs: clarify parser timeout precision (#5543)",
"author_name": "Vibhor Aggarwal",
"author_login": "vibhor-aggr",
"committed_at": "2026-07-11T07:55:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8738b7356eaeed81d39c0dc40fde209a21e521bc",
"body": null,
"is_bot": false,
"headline": "docs: clarify MockAgent pool usage (#5542)",
"author_name": "Vibhor Aggarwal",
"author_login": "vibhor-aggr",
"committed_at": "2026-07-11T07:55:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7c7e7fd969fe221e2fede9f7d235cdb1fb88d5b",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "docs: clarify proxy threat model (#5530)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-09T16:54:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6de5935f8add8d1fe3734281a8db1eb28f7fe729",
"body": "Fixes #1348\n\nreply(callback) assumed the callback returns a plain object, so an\nasync callback's promise passed the object check, spread into nothing,\nand dispatch threw InvalidArgumentError('statusCode must be defined').\n\nExtend the isPromise pattern introduced for async data callbacks\n(#1758) to t\n[…]\ncallback resolution so a pending async\ncallback cannot be re-matched beyond its allowed times, matching how\nasync data callbacks already behave.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(mock): support asynchronous reply options callbacks (#5534)",
"author_name": "monkey",
"author_login": "Develop-KIM",
"committed_at": "2026-07-09T09:51:20Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3c662a598cae8ea6dc5b605a2a0de0de11647437",
"body": "There are no benchmark results for got since\nad29e7b92ab33881bce15314ed301f51d96c13e6.\n\nRelease notes: https://github.com/sindresorhus/got/releases/tag/v15.0.0\n\nThis addresses specifically the removed `url` and `isStream` parameters\nremoved from the options object.",
"is_bot": false,
"headline": "fix(benchmarks): adjust got after v15 upgrade (#5526)",
"author_name": "Szymon Łągiewka",
"author_login": "slagiewka",
"committed_at": "2026-07-08T16:40:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0dee09d4872f597373b2edaf474ac8eaa0c98cde",
"body": null,
"is_bot": false,
"headline": "fetch: use ReadableStreamTee for cloning streams (#5517)",
"author_name": "Khafra",
"author_login": "KhafraDev",
"committed_at": "2026-07-06T20:53:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb4c2f1f7231d82bd699aa3a09efb5a235faaa3b",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bumped v8.7.0 (#5501)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-04T11:57:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a8d1a95bae4d2502831b5cde35310ad45e42e88e",
"body": "* fix: auto-detect HTTP proxy tunneling\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>\n\n* test: enable proxy tunneling in bundle test\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>\n\n* fix: forward over HTTPS proxy per RFC 9112 §3.2.2\n\nTunnel decision now depends on the request pr\n[…]\nMatteo Collina <hello@matteocollina.com>\n\n* fix: force HTTP/1.1 for proxy forwarding\n\n* test: force tunneling for CONNECT regression\n\n---------\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix: auto-detect HTTP proxy tunneling (#5116)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-04T09:59:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cb30e58b45d7c92b03fa9ee0b4a54b5fde1e0573",
"body": "…on (#5442)\n\n* fix: add static buildDispatch method to RedirectHandler type definition\n\n* Fix lint\n\n* add handlers test",
"is_bot": false,
"headline": "fix: add static buildDispatch method to RedirectHandler type definiti…",
"author_name": "Matthieu Sieben",
"author_login": "matthieusieben",
"committed_at": "2026-07-04T09:58:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c08579ebdf3712290803b03cb5b5986e284874b",
"body": "When a request is dispatched onto an HTTP/2 session that has already received\na GOAWAY frame, ClientHttp2Session.request() throws ERR_HTTP2_GOAWAY_SESSION.\nrequestStream caught it and fell through to session.destroy(err) +\nutil.destroy(socket, err) + abort(err); the destroy-with-error on a socket\nwh\n[…]\nion.request to throw\nERR_HTTP2_GOAWAY_SESSION); it fails on main and passes with the fix.\n\n\nAssisted-By: devx/86ca8ae7-2b51-4dd3-8382-dc6116301425\n\nSigned-off-by: Scott Taylor <scott.c.taylor@mac.com>",
"is_bot": false,
"headline": "fix(h2): requeue request on GOAWAY'd session instead of crashing (#5453)",
"author_name": "Scott Taylor",
"author_login": "staylor",
"committed_at": "2026-07-04T09:57:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e5b3364ddc620c0d1c61424d1278fc0965207477",
"body": "…completion (#5440)\n\n* fix(h2): guard onResponse against a 'response' event delivered after completion\n\nThe HTTP/2 'response' handler (onResponse) only guarded request.aborted\nbefore calling request.onResponseStart, while its sibling handlers onEnd\nand onTrailers also guard request.completed. A 'res\n[…]\n with the fix.\n\nRefs: #5440\nSigned-off-by: Scott Taylor <scott.c.taylor@mac.com>\nAssisted-By: devx/26cd7e09-2a13-4e79-9cd0-8191fff4dc7a\n\n---------\n\nSigned-off-by: Scott Taylor <scott.c.taylor@mac.com>",
"is_bot": false,
"headline": "fix(h2): guard onResponse against a 'response' event delivered after …",
"author_name": "Scott Taylor",
"author_login": "staylor",
"committed_at": "2026-07-04T09:57:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c0007f4b7998c5547ead5eda39e0dfd18a545639",
"body": "* docs: add reproduction guide to CONTRIBUTING.md and update bug report template\n\nThis adds a comprehensive Reproduction section to CONTRIBUTING.md with:\n- Guidelines for creating good bug reproductions\n- Standalone server pattern using createServer + Client\n- Fetch-based reproduction examples\n- Poo\n[…]\ntructured Environment fields.\n\n* docs: address reproduction review comments\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>\n\n---------\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "docs: add reproduction guide and update bug report template (#5451)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-04T09:56:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e529cabb88e3cf315cf3007af15db195fb649a45",
"body": "parseSetCookie assigned an Invalid Date to cookieAttributeList.expires when\nthe Expires attribute failed to parse, instead of ignoring the attribute.\nRFC 6265bis 5.4.1 step 2 says to ignore the cookie-av when the date does not\nparse, which the adjacent code comment already stated. Only set expires when\nthe parsed date is valid.",
"is_bot": false,
"headline": "fix: ignore an unparseable Set-Cookie Expires attribute (#5488)",
"author_name": "spokodev",
"author_login": "spokodev",
"committed_at": "2026-07-04T09:56:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "754742ce63e7373f6c61a3b5052150e365bf9d54",
"body": "…5462)\n\nWhen an in-flight HTTP/2 request is aborted, the client sends RST_STREAM via\n`stream.close()` and otherwise leaves teardown to the stream's async 'close'\nevent (which runs `onRequestStreamClose` to drop references and release the\nnative handle). On a busy, long-lived multiplexed session that\n[…]\ned deterministically.\n\nAdds a regression test asserting the stream is destroyed synchronously on abort\n(fails on the current close()-only path).\n\nAssisted-By: devx/dc4e1318-0193-4805-81ac-82466879ab08",
"is_bot": false,
"headline": "fix(h2): destroy the stream on abort instead of relying on close() (#…",
"author_name": "Scott Taylor",
"author_login": "staylor",
"committed_at": "2026-07-04T09:56:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "db34f5ffa4b40f71c43dfbde1046040a350767e8",
"body": "Drop chunks that arrive after a body consume helper has already finished and cleared its buffer. This preserves the existing AbortError rejection path without an extra synchronous TypeError.\n\nSigned-off-by: marko1olo <barsukdana@gmail.com>\nCo-authored-by: OpenAI Codex <codex@openai.com>",
"is_bot": false,
"headline": "fix(readable): ignore late consume chunks (#5375)",
"author_name": "Петушков А.",
"author_login": "marko1olo",
"committed_at": "2026-07-04T09:55:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ea05a899203cab2f4e87fe3e5dc76b64048e101",
"body": "RFC 6265 section 4.1.1 defines path-value as <any CHAR except CTLs or\n\";\">, where CHAR is a US-ASCII character (0x00-0x7F). validateCookiePath\nrejected control characters and \";\" but accepted octets above 0x7E,\nunlike its sibling validators validateCookieName and validateCookieValue,\nwhich both reject code > 0x7E. Add the upper bound so non-ascii and C1\ncontrol octets are rejected too.",
"is_bot": false,
"headline": "fix: reject non-ascii octets in validateCookiePath (#5452)",
"author_name": "spokodev",
"author_login": "spokodev",
"committed_at": "2026-07-03T12:28:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d78e1af8b916ee49d782104b646aad560ca130c",
"body": null,
"is_bot": false,
"headline": "docs: correct npm script name and JSON syntax in examples (#5496)",
"author_name": "lenoxfernando",
"author_login": "lenoxfernando",
"committed_at": "2026-07-03T10:31:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ef4e84dd7e02c98b3a497a304a8f5282e39ca60",
"body": "Co-authored-by: Carlos Fuentes <me@metcoder.dev>",
"is_bot": false,
"headline": "test: deflake connect-timeout watchdog (#5197)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-03T08:40:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dc7e189dc6bc32097f7c926b2818d6e69b3f2a8",
"body": "Signed-off-by: Ram-blip <ramcruze2000@gmail.com>",
"is_bot": false,
"headline": "fix(eventsource): set use-URL-credentials flag (#5489)",
"author_name": "Ramsundar Konety Govindarajan",
"author_login": "Ram-blip",
"committed_at": "2026-07-02T19:31:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "838b6cdce4cbe1850999b54c0c569af4ba13dee5",
"body": "…(#5490)",
"is_bot": false,
"headline": "fix: do not reject open-ended Range values in simpleRangeHeaderValue …",
"author_name": "spokodev",
"author_login": "spokodev",
"committed_at": "2026-07-02T14:48:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b39c77d7162060c4257ee18aa9069ac1a4bb3740",
"body": null,
"is_bot": false,
"headline": "perf: optimize http/2 request hot path (#5483)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-02T14:31:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d1e53b3c5c3ae7cfbb315ad508b9f54d0a33e75",
"body": null,
"is_bot": false,
"headline": "test: guard balanced-pool error port lookup (#5463)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-02T14:30:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f86196a0d4bbc8034c4e150a0aec4f6b2bf8742",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bumped v8.6.0 (#5491)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-02T13:44:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61ddd8e1180cb0274207a35f15045da3691433be",
"body": "Detach all GOAWAY-affected HTTP/2 request streams before closing any of them so synchronous frameError fallout from the old session cannot abort requests that should be retried.\n\nIgnore stale session, socket, and connection-level frame errors once a GOAWAY has started detaching and requeueing requests.\n\nFixes: https://github.com/nodejs/undici/issues/5468\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix: requeue h2 requests after goaway (#5473)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-02T11:36:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5085ef04534cd25e6e2601d0efc3c74ac62e82c",
"body": "* Support HTTP QUERY method (RFC 10008)\n\nAdd QUERY to normalized method records, safe HTTP methods, idempotent\ndefault, retryable methods, and fetch safe methods.\n\nCloses #5454\n\n* test: add QUERY method tests\n\nAdd comprehensive tests for HTTP QUERY (RFC 10008):\n- QUERY with string, Buffer, stream bo\n[…]\nors from\naccepting QUERY, avoiding serving wrong responses.\n\nThe fetch API's separate safeMethods list in web/fetch/constants.js\nstill includes QUERY, which is correct for cache invalidation purposes.",
"is_bot": false,
"headline": "feat: support HTTP QUERY method (RFC 10008) (#5459)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-07-02T11:36:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c144fd60584b700dcbdd9e312bba4e40d4bab3a2",
"body": "…(#5477)\n\nBumps [github/codeql-action/analyze](https://github.com/github/codeql-action) from 4.36.1 to 4.36.2.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeq\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github/codeql-action/analyze from 4.36.1 to 4.36.2 …",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-02T09:13:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "782ad387c8e82d66b52599b08dae49dff9b3b037",
"body": "Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": false,
"headline": "build(deps): bump github/codeql-action from 4.36.1 to 4.36.2 (#5484)",
"author_name": "Trivikram Kamat",
"author_login": "trivikr",
"committed_at": "2026-07-02T08:52:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c4e045a3dc5acfabd619d93d8af658fc600aef1e",
"body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#5482)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-02T06:09:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de960dbbdd5ec8e84184419f0eb8402c52113ee8",
"body": "Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.1 to 7.0.0.\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-action/c\n[…]\nirect:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 (#5478)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-01T22:35:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1132de86409e2f7d44c9faf4d82d7714fcc55204",
"body": "Bumps [fastify/github-action-merge-dependabot](https://github.com/fastify/github-action-merge-dependabot) from 3.12.0 to 3.15.0.\n- [Release notes](https://github.com/fastify/github-action-merge-dependabot/releases)\n- [Commits](https://github.com/fastify/github-action-merge-dependabot/compare/30c3f8f\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump fastify/github-action-merge-dependabot (#5480)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-01T22:34:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3acb7ba08ea89e76f02426c1f9308c4e945032d2",
"body": "Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) from 4.36.1 to 4.36.2.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-act\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github/codeql-action/upload-sarif (#5481)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-01T22:34:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "88c4254079a0b82a579b55230416b1ca213bde19",
"body": "…476)\n\nBumps [github/codeql-action/init](https://github.com/github/codeql-action) from 4.36.1 to 4.36.2.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-acti\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github/codeql-action/init from 4.36.1 to 4.36.2 (#5…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-01T22:34:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7d78f7dd9253db64634644e27e9a30564aea2859",
"body": "…474)",
"is_bot": false,
"headline": "fix(h1): complete paused parser on socket end instead of crashing (#5…",
"author_name": "Robert Nagy",
"author_login": "ronag",
"committed_at": "2026-07-01T19:45:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce7bf4f3ccf89bbfbe11a4728f8407ccc774a9b1",
"body": "Signed-off-by: Ram-blip <ramcruze2000@gmail.com>",
"is_bot": false,
"headline": "fix(types): correct deleteCookie attributes (#5461)",
"author_name": "Ramsundar Konety Govindarajan",
"author_login": "Ram-blip",
"committed_at": "2026-07-01T10:12:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47ea3d23d29655f0f267d5518c3319a7fb34ae57",
"body": "…equest (#5470)\n\nOver HTTP/2, when a server answered a request carrying Expect: 100-continue\nwith a final response instead of 100 (Continue), the body write stayed bound\nto the never-fired 'continue' event: the client never sent END_STREAM, the\nstream stayed half-open, its 'close' never fired, and t\n[…]\nompletes and the response is delivered,\nwithout sending the body (RFC 9110 Section 10.1.1 allows the early response).\n\nRefs: nodejs/undici#5465\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(h2): deliver an early final response to an Expect: 100-continue r…",
"author_name": "Jesse Wright",
"author_login": "jeswr",
"committed_at": "2026-07-01T10:11:42Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "907bc33cd5921c75e4f3f516d9bd1e1d96e0d156",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "Document H1 keep-alive trust tradeoff (#5457)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-30T09:53:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "667d8a3a7496302ce6ede3e29f7fb1f3cc017082",
"body": "* docs: add Interceptors API reference page\n\nAdds docs/docs/api/Interceptors.md documenting all eight built-in\ninterceptors (dump, retry, redirect, decompress, responseError, dns,\ncache, deduplicate) with their options, defaults, and usage examples.\nUpdates docs/docs/site.json to surface the new pag\n[…]\natcher.compose() section,\nand drop link-reference entries that are no longer needed.\n\nAddresses feedback from metcoder95 on #5446.\n\n---------\n\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: add Interceptors API reference page (#5446)",
"author_name": "Enjoy Kumawat",
"author_login": "enjoykumawat",
"committed_at": "2026-06-29T07:10:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b13152e83d9cf00664559541ae4823ed71cdef38",
"body": "* fetch: fix issue 4058\n\nCo-authored-by: cesarvspr <vinicius_spr@hotmail.com>\n\n* fixup\n\nthe fetch spec is written so beautifully\n\n* fixup\n\n---------\n\nCo-authored-by: cesarvspr <vinicius_spr@hotmail.com>",
"is_bot": false,
"headline": "fetch: fix issue 4058 (#5456)",
"author_name": "Khafra",
"author_login": "KhafraDev",
"committed_at": "2026-06-29T07:09:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01444a164dd97d2719131fdf69accaaed5a5a906",
"body": "Bumps [undici](https://github.com/nodejs/undici) from 6.25.0 to 6.27.0.\n- [Release notes](https://github.com/nodejs/undici/releases)\n- [Commits](https://github.com/nodejs/undici/compare/v6.25.0...v6.27.0)\n\n---\nupdated-dependencies:\n- dependency-name: undici\n dependency-version: 6.27.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump undici from 6.25.0 to 6.27.0 (#5445)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-21T09:11:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f1f8903189d2353fd42be35e7bbc0aa9fb4b26f",
"body": "* feat(docs): migrate to doc-kit\n\n* fixup!",
"is_bot": false,
"headline": "feat(docs): migrate to doc-kit (#5438)",
"author_name": "Aviv Keller",
"author_login": "avivkeller",
"committed_at": "2026-06-21T08:49:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "445522ba1bc22bcef2971bfdc30c883531e84e84",
"body": "… looping (#5441)\n\nWhen a proxy tore down the socket while the CONNECT tunnel was still being\nestablished, the inner client rejected with UND_ERR_SOCKET. The proxy-agent\ncatch only special-cased ERR_TLS_CERT_ALTNAME_INVALID and passed every other\nerror through raw. client.js#onError treats UND_ERR_S\n[…]\nket failure in a new ProxyConnectionError\n(UND_ERR_PRX_CONN) so onError fails the request instead of retrying, mirroring\nthe existing SecureProxyConnectionError handling for the TLS case.\n\nFixes #3897",
"is_bot": false,
"headline": "fix(proxy): fail the request when the CONNECT tunnel drops instead of…",
"author_name": "Cesar V. Sampaio",
"author_login": "cesarvspr",
"committed_at": "2026-06-19T15:23:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ae3efd442e9b5b76957c528ba6649e95775a3e1f",
"body": "Bumps [esbuild](https://github.com/evanw/esbuild) from 0.28.0 to 0.28.1.\n- [Release notes](https://github.com/evanw/esbuild/releases)\n- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/evanw/esbuild/compare/v0.28.0...v0.28.1)\n\n---\nupdated-dependenci\n[…]\ndency-version: 0.28.1\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump esbuild from 0.28.0 to 0.28.1 (#5419)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-18T09:16:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "56bb5a07febc9752044f6bcf48c2b186da59d267",
"body": null,
"is_bot": false,
"headline": "test: fail on unexpected reconnect disconnect (#5412)",
"author_name": "Vibhor Aggarwal",
"author_login": "vibhor-aggr",
"committed_at": "2026-06-18T08:52:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c2528924bcf85a317b591de77b3429a541b41aa",
"body": null,
"is_bot": false,
"headline": "test: cover connect lookup option (#5411)",
"author_name": "Vibhor Aggarwal",
"author_login": "vibhor-aggr",
"committed_at": "2026-06-18T08:52:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "744f429335d64faf803bf8ee8fdf01b05962666e",
"body": "…esumes (#5405)\n\nSigned-off-by: Dmitry Bogomya <dmitry.bogomya@gmail.com>",
"is_bot": false,
"headline": "fix(retry): keep flow-control wired to the active connection across r…",
"author_name": "Dmitry Bogomya",
"author_login": "bogomya",
"committed_at": "2026-06-18T08:30:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74a2299eb448d918509636f56191f28bedf69936",
"body": "…coding() (#5003)",
"is_bot": false,
"headline": "fix: properly decode multi-byte UTF-8 sequences in BodyReadable.setEn…",
"author_name": "Joe Wu",
"author_login": "joecwu",
"committed_at": "2026-06-18T03:56:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e71624ebdd3064dbe5edbf1db47cff8f9c54929e",
"body": "…56) (#5357)",
"is_bot": false,
"headline": "fix: drop response chunks after the response stream is destroyed (#53…",
"author_name": "Cesar V. Sampaio",
"author_login": "cesarvspr",
"committed_at": "2026-06-18T03:46:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9c855df00706594a76253a3588dfe01ada9eb3d",
"body": null,
"is_bot": false,
"headline": "update accept-encoding header in fetch (#5439)",
"author_name": "Khafra",
"author_login": "KhafraDev",
"committed_at": "2026-06-18T03:17:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ad38769d4f074df0227519ec398f30036c75291",
"body": "Bumps [proxy](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/proxy) from 4.0.0 to 4.1.0.\n- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)\n- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/proxy/CHANGELOG.md)\n- [Commits](https://github\n[…]\nrect:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump proxy from 4.0.0 to 4.1.0 (#5433)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-15T22:36:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a0806e1f66a83db0a792b8407c2e97fcf8ed58af",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bumped v8.5.0 (#5429)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-06-15T15:49:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a0392cf0d0148c86ece7dc50c1bf6819f7110eb",
"body": null,
"is_bot": false,
"headline": "test: detect available python command in wpt runner (#5427)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-15T15:48:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4045b9d440e4ebfde4bbcc9f530ab042a1c5100",
"body": null,
"is_bot": false,
"headline": "ci: increase Node.js workflow timeout (#5426)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-15T09:51:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "363e44fe4add1528fb3529cde5d71ddc978c8338",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "chore: removed repro-h2-pipelining-default.mjs and lint (#5420)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-14T14:19:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5ed78756914b17501223dcc345b3a966351604a",
"body": "Treat zero-byte frames as real fragments so fragmented messages can start\nwith an empty frame and empty continuations still count toward\nmaxFragments.\n\nPass dispatcher WebSocket limits through to WebSocketStream's parser, add\nregression coverage for WebSocket and WebSocketStream fragment limits, make\nthe fragment close tests wait for both endpoints, and fix the Client docs\ntypo for maxFragments.\n\nCo-authored-by: Ulises Gascon <ulisesgascongonzalez@gmail.com>",
"is_bot": false,
"headline": "websocket: handle empty fragments and stream limits",
"author_name": "Luigi Pinca",
"author_login": "lpinca",
"committed_at": "2026-06-13T18:53:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e114e778de1476172a1a9a0d4668af8cf2c25cac",
"body": null,
"is_bot": false,
"headline": "align EventSource with spec (#5418)",
"author_name": "Khafra",
"author_login": "KhafraDev",
"committed_at": "2026-06-13T14:04:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6df53c50daf252c2e7a3d8cb631c94b7fb0e3817",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix: preserve h2 queue on out-of-order completion (#5410)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-13T10:04:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32dbf0b3dd93daf6d87badf506d52e89f2e20e78",
"body": "Introduce the `maxFragments` option to limit the number of fragments in\na message. Without this limit, a remote peer could exploit structural\nwrapper overhead by sending many tiny fragments, consuming far more\nmemory than the payload itself and crashing the process due to OOM. When\nthe limit is hit, the connection is closed with close code 1008.\n\nSigned-off-by: Luigi Pinca <luigipinca@gmail.com>",
"is_bot": false,
"headline": "websocket: limit the number of fragments in a message",
"author_name": "Luigi Pinca",
"author_login": "lpinca",
"committed_at": "2026-06-12T13:56:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d6ecc571095a6bff1c2ad4ee43dd6ae4e97411c",
"body": "* add bodymixin.textStream()\n\n* types\n\n* Update types/fetch.d.ts\n\nCo-authored-by: tsctx <91457664+tsctx@users.noreply.github.com>\n\n* Update test/types/fetch.test-d.ts\n\nCo-authored-by: tsctx <91457664+tsctx@users.noreply.github.com>\n\n---------\n\nCo-authored-by: tsctx <91457664+tsctx@users.noreply.github.com>",
"is_bot": false,
"headline": "add bodymixin.textStream() (#5416)",
"author_name": "Khafra",
"author_login": "KhafraDev",
"committed_at": "2026-06-12T13:21:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "42d4955987a136ab29beff6c4ed424c9209b2600",
"body": "ProxyAgent silently dropped opts.requestTls when the configured proxy\nURI was socks5:// (or socks://). Socks5ProxyAgent also lacked any\nequivalent of requestTls, so even constructed directly it had no way to\nconfigure target HTTPS TLS settings (ca, cert, key, rejectUnauthorized,\nservername).\n\nThe in\n[…]\nsemantics.\n- Documents the new option in Socks5ProxyAgent.md.\n- Adds two regression tests covering both the direct Socks5ProxyAgent\n path and the ProxyAgent forwarding path.\n\nRefs GHSA-vmh5-mc38-953g",
"is_bot": false,
"headline": "fix: honor requestTls when proxy is SOCKS5",
"author_name": "tonghuaroot",
"author_login": "tonghuaroot",
"committed_at": "2026-06-12T09:25:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c972895c533d455460b528d95ab89e404b56c9ee",
"body": null,
"is_bot": false,
"headline": "fix: reap idle HTTP/2 sessions (#5406)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-12T09:07:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9aa3b0ead5319a199ce7bcb9724562071b6e9cc",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix: allow h2 post request multiplexing (#5391)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-12T09:04:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "669f0f8be4840ed9055b519f9cbeac007b1a8021",
"body": null,
"is_bot": false,
"headline": "docs: explain request header validation (#5413)",
"author_name": "Vibhor Aggarwal",
"author_login": "vibhor-aggr",
"committed_at": "2026-06-12T09:01:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb105d7c79069150982fa11acada0dd94a60dbbc",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix(cache): trim qualified field names",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-11T14:42:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5655ea43af4add559ee5f94b6cd72e08a55aa621",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix(cookies): preserve values and parse SameSite strictly",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-11T09:26:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "27586ee92f7b2f78e813c97d9e7b493713eb9cdf",
"body": "When two requests are multiplexed on one HTTP/2 session and one stream\nis closed by the server before response headers, finalizeRequest(true)\nunconditionally reset kPendingIdx back to kRunningIdx while the other\nrequest was still in flight. Once the surviving request finalized,\nkRunningIdx advanced \n[…]\n actually fallen behind kRunningIdx,\nwhich is the invariant the reset was added to restore in #5090.\n\nFixes: https://github.com/nodejs/undici/issues/5404\n\nSigned-off-by: Minh Le <ducminhldm@gmail.com>",
"is_bot": false,
"headline": "fix(h2): do not rewind kPendingIdx past in-flight requests (#5408)",
"author_name": "Minh Lê",
"author_login": "DucMinhNe",
"committed_at": "2026-06-11T07:45:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ac5394b86205b21144b6b87946b454a67be29f2b",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix: keep idle validation on global timers",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-10T10:58:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4c287b3821a723d8c0912986fd2d8945399728d",
"body": "Account for previously received fragment bytes when checking WebSocket payload size limits, so fragmented messages cannot exceed maxPayloadSize by splitting the payload across frames.\n\nAdd coverage for cumulative fragmented payload size enforcement.\n\nCo-authored-by: Matthew Aitken <maitken033380023@gmail.com>",
"is_bot": false,
"headline": "fix(websocket): enforce max payload size across fragments",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-08T17:36:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9fbe9d2ab56a033b0f5a0df4aadc6e0e909b84a",
"body": "* fix: keep idle validation on native timers\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>\n\n* test: wait for poisoned idle socket disconnect\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>\n\n---------\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix: keep idle validation on native timers (#5397)",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-08T16:57:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89323ff9261d024f7363ea87e4db6680cff2e96f",
"body": "Signed-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix: preserve pipelined response errors",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-08T12:49:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e27be2acecda4574f9a86dd99fcbd076a6569eca",
"body": "Signed-off-by: marko1olo <barsukdana@gmail.com>",
"is_bot": false,
"headline": "test: absorb h2 stream timeout resets (#5383)",
"author_name": "marko1olo",
"author_login": "marko1olo",
"committed_at": "2026-06-08T12:43:07Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 675,
"latest_release_at": "2026-07-20T15:15:17Z",
"latest_release_tag": "v8.8.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 50,
"days_since_latest_release": 2,
"mean_days_between_releases": 5.1
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "undici",
"exists": true,
"license": "MIT",
"keywords": [
"fetch",
"http",
"https",
"promise",
"request",
"curl",
"wget",
"xhr",
"whatwg"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/undici",
"is_deprecated": false,
"latest_version": "8.8.0",
"repository_url": "https://github.com/nodejs/undici",
"versions_count": 296,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 3,
"monthly_downloads": 531732999,
"first_published_at": "2018-07-26T17:26:12.234000Z",
"latest_published_at": "2026-07-20T15:15:11.257000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 2
}
]
},
"popularity": {
"forks": 807,
"stars": 7650,
"watchers": 52,
"fork_history": {
"days": [
{
"date": "2019-04-03",
"count": 1
},
{
"date": "2019-06-14",
"count": 1
},
{
"date": "2019-10-08",
"count": 1
},
{
"date": "2020-01-22",
"count": 1
},
{
"date": "2020-05-02",
"count": 1
},
{
"date": "2020-05-03",
"count": 1
},
{
"date": "2020-05-15",
"count": 1
},
{
"date": "2020-05-28",
"count": 1
},
{
"date": "2020-06-04",
"count": 1
},
{
"date": "2020-06-22",
"count": 1
},
{
"date": "2020-06-24",
"count": 1
},
{
"date": "2020-07-31",
"count": 1
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-09-01",
"count": 1
},
{
"date": "2020-09-11",
"count": 1
},
{
"date": "2020-09-12",
"count": 1
},
{
"date": "2020-09-14",
"count": 1
},
{
"date": "2020-10-09",
"count": 1
},
{
"date": "2020-10-27",
"count": 1
},
{
"date": "2020-11-02",
"count": 1
},
{
"date": "2020-11-05",
"count": 1
},
{
"date": "2020-11-13",
"count": 1
},
{
"date": "2020-12-01",
"count": 1
},
{
"date": "2020-12-21",
"count": 1
},
{
"date": "2021-01-02",
"count": 1
},
{
"date": "2021-01-04",
"count": 1
},
{
"date": "2021-01-22",
"count": 1
},
{
"date": "2021-02-10",
"count": 1
},
{
"date": "2021-02-11",
"count": 1
},
{
"date": "2021-02-16",
"count": 1
},
{
"date": "2021-02-18",
"count": 3
},
{
"date": "2021-02-20",
"count": 1
},
{
"date": "2021-02-21",
"count": 1
},
{
"date": "2021-02-24",
"count": 1
},
{
"date": "2021-02-27",
"count": 1
},
{
"date": "2021-03-03",
"count": 1
},
{
"date": "2021-03-04",
"count": 4
},
{
"date": "2021-03-20",
"count": 1
},
{
"date": "2021-03-23",
"count": 2
},
{
"date": "2021-03-25",
"count": 1
},
{
"date": "2021-03-27",
"count": 2
},
{
"date": "2021-03-30",
"count": 1
},
{
"date": "2021-04-03",
"count": 2
},
{
"date": "2021-04-05",
"count": 1
},
{
"date": "2021-04-12",
"count": 1
},
{
"date": "2021-04-18",
"count": 1
},
{
"date": "2021-04-20",
"count": 1
},
{
"date": "2021-04-21",
"count": 2
},
{
"date": "2021-04-24",
"count": 1
},
{
"date": "2021-05-04",
"count": 1
},
{
"date": "2021-05-15",
"count": 1
},
{
"date": "2021-05-23",
"count": 1
},
{
"date": "2021-06-09",
"count": 1
},
{
"date": "2021-06-10",
"count": 1
},
{
"date": "2021-06-13",
"count": 1
},
{
"date": "2021-06-16",
"count": 1
},
{
"date": "2021-06-17",
"count": 1
},
{
"date": "2021-06-20",
"count": 1
},
{
"date": "2021-06-22",
"count": 1
},
{
"date": "2021-06-29",
"count": 1
},
{
"date": "2021-07-01",
"count": 1
},
{
"date": "2021-07-11",
"count": 1
},
{
"date": "2021-07-12",
"count": 1
},
{
"date": "2021-07-20",
"count": 1
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2021-08-05",
"count": 1
},
{
"date": "2021-08-07",
"count": 1
},
{
"date": "2021-08-09",
"count": 1
},
{
"date": "2021-08-13",
"count": 2
},
{
"date": "2021-08-16",
"count": 1
},
{
"date": "2021-08-17",
"count": 1
},
{
"date": "2021-08-19",
"count": 1
},
{
"date": "2021-08-20",
"count": 1
},
{
"date": "2021-08-26",
"count": 1
},
{
"date": "2021-08-28",
"count": 1
},
{
"date": "2021-09-03",
"count": 1
},
{
"date": "2021-09-07",
"count": 2
},
{
"date": "2021-09-10",
"count": 1
},
{
"date": "2021-09-11",
"count": 1
},
{
"date": "2021-09-14",
"count": 1
},
{
"date": "2021-09-15",
"count": 1
},
{
"date": "2021-09-16",
"count": 1
},
{
"date": "2021-09-21",
"count": 1
},
{
"date": "2021-09-23",
"count": 2
},
{
"date": "2021-10-02",
"count": 2
},
{
"date": "2021-10-03",
"count": 2
},
{
"date": "2021-10-04",
"count": 1
},
{
"date": "2021-10-05",
"count": 2
},
{
"date": "2021-10-18",
"count": 1
},
{
"date": "2021-10-24",
"count": 1
},
{
"date": "2021-10-25",
"count": 1
},
{
"date": "2021-10-28",
"count": 2
},
{
"date": "2021-10-29",
"count": 1
},
{
"date": "2021-10-31",
"count": 1
},
{
"date": "2021-11-03",
"count": 2
},
{
"date": "2021-11-04",
"count": 1
},
{
"date": "2021-11-05",
"count": 1
},
{
"date": "2021-11-10",
"count": 1
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-11-16",
"count": 1
},
{
"date": "2021-11-17",
"count": 1
},
{
"date": "2021-11-26",
"count": 1
},
{
"date": "2021-12-01",
"count": 1
},
{
"date": "2021-12-04",
"count": 1
},
{
"date": "2021-12-07",
"count": 1
},
{
"date": "2021-12-11",
"count": 1
},
{
"date": "2021-12-13",
"count": 1
},
{
"date": "2021-12-14",
"count": 1
},
{
"date": "2021-12-15",
"count": 1
},
{
"date": "2021-12-16",
"count": 2
},
{
"date": "2021-12-17",
"count": 1
},
{
"date": "2021-12-23",
"count": 1
},
{
"date": "2021-12-30",
"count": 2
},
{
"date": "2021-12-31",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-17",
"count": 1
},
{
"date": "2022-01-25",
"count": 3
},
{
"date": "2022-01-29",
"count": 1
},
{
"date": "2022-01-30",
"count": 1
},
{
"date": "2022-02-02",
"count": 3
},
{
"date": "2022-02-03",
"count": 1
},
{
"date": "2022-02-04",
"count": 2
},
{
"date": "2022-02-06",
"count": 1
},
{
"date": "2022-02-07",
"count": 2
},
{
"date": "2022-02-14",
"count": 3
},
{
"date": "2022-02-17",
"count": 2
},
{
"date": "2022-02-18",
"count": 1
},
{
"date": "2022-02-19",
"count": 2
},
{
"date": "2022-02-23",
"count": 1
},
{
"date": "2022-02-25",
"count": 2
},
{
"date": "2022-03-01",
"count": 3
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2022-03-14",
"count": 1
},
{
"date": "2022-03-20",
"count": 1
},
{
"date": "2022-03-21",
"count": 1
},
{
"date": "2022-03-24",
"count": 1
},
{
"date": "2022-03-29",
"count": 2
},
{
"date": "2022-03-31",
"count": 1
},
{
"date": "2022-04-03",
"count": 1
},
{
"date": "2022-04-04",
"count": 1
},
{
"date": "2022-04-08",
"count": 1
},
{
"date": "2022-04-11",
"count": 1
},
{
"date": "2022-04-16",
"count": 1
},
{
"date": "2022-04-21",
"count": 2
},
{
"date": "2022-04-22",
"count": 1
},
{
"date": "2022-05-01",
"count": 1
},
{
"date": "2022-05-04",
"count": 2
},
{
"date": "2022-05-06",
"count": 1
},
{
"date": "2022-05-09",
"count": 3
},
{
"date": "2022-05-16",
"count": 1
},
{
"date": "2022-05-18",
"count": 2
},
{
"date": "2022-05-20",
"count": 3
},
{
"date": "2022-05-24",
"count": 1
},
{
"date": "2022-05-26",
"count": 1
},
{
"date": "2022-05-31",
"count": 2
},
{
"date": "2022-06-06",
"count": 2
},
{
"date": "2022-06-10",
"count": 1
},
{
"date": "2022-06-13",
"count": 1
},
{
"date": "2022-06-23",
"count": 2
},
{
"date": "2022-06-24",
"count": 2
},
{
"date": "2022-06-25",
"count": 1
},
{
"date": "2022-06-26",
"count": 1
},
{
"date": "2022-07-01",
"count": 2
},
{
"date": "2022-07-04",
"count": 1
},
{
"date": "2022-07-10",
"count": 1
},
{
"date": "2022-07-14",
"count": 1
},
{
"date": "2022-07-18",
"count": 1
},
{
"date": "2022-07-19",
"count": 1
},
{
"date": "2022-07-22",
"count": 1
},
{
"date": "2022-07-25",
"count": 1
},
{
"date": "2022-07-27",
"count": 2
},
{
"date": "2022-08-01",
"count": 1
},
{
"date": "2022-08-03",
"count": 1
},
{
"date": "2022-08-10",
"count": 1
},
{
"date": "2022-08-11",
"count": 2
},
{
"date": "2022-08-13",
"count": 1
},
{
"date": "2022-08-17",
"count": 1
},
{
"date": "2022-08-26",
"count": 2
},
{
"date": "2022-08-29",
"count": 2
},
{
"date": "2022-08-30",
"count": 1
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-03",
"count": 1
},
{
"date": "2022-09-13",
"count": 1
},
{
"date": "2022-09-14",
"count": 2
},
{
"date": "2022-09-18",
"count": 1
},
{
"date": "2022-09-19",
"count": 1
},
{
"date": "2022-09-28",
"count": 1
},
{
"date": "2022-09-29",
"count": 1
},
{
"date": "2022-09-30",
"count": 1
},
{
"date": "2022-10-06",
"count": 1
},
{
"date": "2022-10-10",
"count": 1
},
{
"date": "2022-10-15",
"count": 2
},
{
"date": "2022-10-17",
"count": 2
},
{
"date": "2022-10-19",
"count": 2
},
{
"date": "2022-10-22",
"count": 1
},
{
"date": "2022-10-28",
"count": 1
},
{
"date": "2022-11-06",
"count": 1
},
{
"date": "2022-11-09",
"count": 1
},
{
"date": "2022-11-10",
"count": 1
},
{
"date": "2022-11-16",
"count": 1
},
{
"date": "2022-11-17",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-11-23",
"count": 1
},
{
"date": "2022-11-29",
"count": 1
},
{
"date": "2022-12-05",
"count": 1
},
{
"date": "2022-12-08",
"count": 1
},
{
"date": "2022-12-11",
"count": 1
},
{
"date": "2022-12-14",
"count": 1
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-16",
"count": 1
},
{
"date": "2022-12-18",
"count": 1
},
{
"date": "2022-12-26",
"count": 1
},
{
"date": "2023-01-09",
"count": 1
},
{
"date": "2023-01-19",
"count": 1
},
{
"date": "2023-01-23",
"count": 1
},
{
"date": "2023-01-26",
"count": 1
},
{
"date": "2023-01-28",
"count": 1
},
{
"date": "2023-01-30",
"count": 1
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-10",
"count": 1
},
{
"date": "2023-02-11",
"count": 1
},
{
"date": "2023-02-18",
"count": 1
},
{
"date": "2023-02-19",
"count": 1
},
{
"date": "2023-02-20",
"count": 1
},
{
"date": "2023-02-21",
"count": 1
},
{
"date": "2023-03-01",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-03-06",
"count": 1
},
{
"date": "2023-03-09",
"count": 1
},
{
"date": "2023-03-11",
"count": 2
},
{
"date": "2023-03-13",
"count": 2
},
{
"date": "2023-03-27",
"count": 3
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-03-30",
"count": 1
},
{
"date": "2023-04-04",
"count": 1
},
{
"date": "2023-04-07",
"count": 1
},
{
"date": "2023-04-11",
"count": 2
},
{
"date": "2023-04-14",
"count": 1
},
{
"date": "2023-04-20",
"count": 1
},
{
"date": "2023-04-24",
"count": 1
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-04-28",
"count": 1
},
{
"date": "2023-05-02",
"count": 1
},
{
"date": "2023-05-07",
"count": 1
},
{
"date": "2023-05-12",
"count": 1
},
{
"date": "2023-05-15",
"count": 1
},
{
"date": "2023-05-21",
"count": 1
},
{
"date": "2023-05-24",
"count": 1
},
{
"date": "2023-05-31",
"count": 1
},
{
"date": "2023-06-01",
"count": 1
},
{
"date": "2023-06-13",
"count": 1
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-07-04",
"count": 1
},
{
"date": "2023-07-09",
"count": 1
},
{
"date": "2023-07-12",
"count": 1
},
{
"date": "2023-07-14",
"count": 1
},
{
"date": "2023-08-12",
"count": 1
},
{
"date": "2023-08-21",
"count": 1
},
{
"date": "2023-08-31",
"count": 1
},
{
"date": "2023-09-05",
"count": 1
},
{
"date": "2023-09-07",
"count": 1
},
{
"date": "2023-09-15",
"count": 1
},
{
"date": "2023-09-18",
"count": 1
},
{
"date": "2023-09-21",
"count": 2
},
{
"date": "2023-09-26",
"count": 1
},
{
"date": "2023-09-29",
"count": 3
},
{
"date": "2023-10-03",
"count": 2
},
{
"date": "2023-10-04",
"count": 2
},
{
"date": "2023-10-05",
"count": 1
},
{
"date": "2023-10-07",
"count": 1
},
{
"date": "2023-10-10",
"count": 1
},
{
"date": "2023-10-13",
"count": 1
},
{
"date": "2023-10-14",
"count": 1
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-10-23",
"count": 1
},
{
"date": "2023-10-24",
"count": 1
},
{
"date": "2023-10-26",
"count": 2
},
{
"date": "2023-11-02",
"count": 1
},
{
"date": "2023-11-03",
"count": 1
},
{
"date": "2023-11-06",
"count": 1
},
{
"date": "2023-11-07",
"count": 1
},
{
"date": "2023-11-09",
"count": 1
},
{
"date": "2023-11-17",
"count": 1
},
{
"date": "2023-11-27",
"count": 1
},
{
"date": "2023-11-28",
"count": 2
},
{
"date": "2023-11-30",
"count": 1
},
{
"date": "2023-12-04",
"count": 1
},
{
"date": "2023-12-05",
"count": 1
},
{
"date": "2023-12-06",
"count": 1
},
{
"date": "2023-12-07",
"count": 1
},
{
"date": "2023-12-20",
"count": 1
},
{
"date": "2023-12-24",
"count": 1
},
{
"date": "2023-12-26",
"count": 1
},
{
"date": "2023-12-27",
"count": 8
},
{
"date": "2023-12-28",
"count": 5
},
{
"date": "2023-12-29",
"count": 7
},
{
"date": "2023-12-30",
"count": 5
},
{
"date": "2023-12-31",
"count": 1
},
{
"date": "2024-01-03",
"count": 1
},
{
"date": "2024-01-04",
"count": 1
},
{
"date": "2024-01-05",
"count": 1
},
{
"date": "2024-01-12",
"count": 1
},
{
"date": "2024-01-16",
"count": 1
},
{
"date": "2024-01-18",
"count": 1
},
{
"date": "2024-01-19",
"count": 1
},
{
"date": "2024-01-20",
"count": 11
},
{
"date": "2024-01-26",
"count": 2
},
{
"date": "2024-01-29",
"count": 1
},
{
"date": "2024-02-02",
"count": 1
},
{
"date": "2024-02-06",
"count": 1
},
{
"date": "2024-02-10",
"count": 1
},
{
"date": "2024-02-16",
"count": 1
},
{
"date": "2024-02-17",
"count": 1
},
{
"date": "2024-02-22",
"count": 1
},
{
"date": "2024-02-23",
"count": 1
},
{
"date": "2024-02-26",
"count": 1
},
{
"date": "2024-02-29",
"count": 1
},
{
"date": "2024-03-01",
"count": 1
},
{
"date": "2024-03-04",
"count": 1
},
{
"date": "2024-03-05",
"count": 1
},
{
"date": "2024-03-06",
"count": 1
},
{
"date": "2024-03-08",
"count": 1
},
{
"date": "2024-03-13",
"count": 1
},
{
"date": "2024-03-14",
"count": 3
},
{
"date": "2024-03-15",
"count": 2
},
{
"date": "2024-03-18",
"count": 1
},
{
"date": "2024-03-19",
"count": 2
},
{
"date": "2024-03-21",
"count": 1
},
{
"date": "2024-03-22",
"count": 2
},
{
"date": "2024-03-23",
"count": 1
},
{
"date": "2024-03-24",
"count": 1
},
{
"date": "2024-03-25",
"count": 1
},
{
"date": "2024-03-27",
"count": 2
},
{
"date": "2024-03-28",
"count": 1
},
{
"date": "2024-04-01",
"count": 1
},
{
"date": "2024-04-02",
"count": 2
},
{
"date": "2024-04-06",
"count": 1
},
{
"date": "2024-04-08",
"count": 1
},
{
"date": "2024-04-11",
"count": 1
},
{
"date": "2024-04-12",
"count": 1
},
{
"date": "2024-04-16",
"count": 1
},
{
"date": "2024-04-18",
"count": 1
},
{
"date": "2024-04-19",
"count": 1
},
{
"date": "2024-04-22",
"count": 1
},
{
"date": "2024-04-25",
"count": 1
},
{
"date": "2024-04-27",
"count": 1
},
{
"date": "2024-05-02",
"count": 1
},
{
"date": "2024-05-06",
"count": 2
},
{
"date": "2024-05-07",
"count": 1
},
{
"date": "2024-05-09",
"count": 2
},
{
"date": "2024-05-10",
"count": 1
},
{
"date": "2024-05-12",
"count": 1
},
{
"date": "2024-05-14",
"count": 1
},
{
"date": "2024-05-18",
"count": 1
},
{
"date": "2024-05-20",
"count": 1
},
{
"date": "2024-05-29",
"count": 1
},
{
"date": "2024-05-30",
"count": 1
},
{
"date": "2024-06-05",
"count": 1
},
{
"date": "2024-06-07",
"count": 1
},
{
"date": "2024-06-12",
"count": 1
},
{
"date": "2024-06-18",
"count": 1
},
{
"date": "2024-06-19",
"count": 2
},
{
"date": "2024-06-21",
"count": 1
},
{
"date": "2024-06-24",
"count": 2
},
{
"date": "2024-06-25",
"count": 1
},
{
"date": "2024-06-27",
"count": 1
},
{
"date": "2024-06-28",
"count": 1
},
{
"date": "2024-07-01",
"count": 1
},
{
"date": "2024-07-04",
"count": 1
},
{
"date": "2024-07-22",
"count": 1
},
{
"date": "2024-07-23",
"count": 1
},
{
"date": "2024-07-26",
"count": 2
},
{
"date": "2024-08-03",
"count": 1
},
{
"date": "2024-08-06",
"count": 1
},
{
"date": "2024-08-09",
"count": 2
},
{
"date": "2024-08-10",
"count": 1
},
{
"date": "2024-09-01",
"count": 1
},
{
"date": "2024-09-03",
"count": 2
},
{
"date": "2024-09-05",
"count": 1
},
{
"date": "2024-09-09",
"count": 1
},
{
"date": "2024-09-12",
"count": 2
},
{
"date": "2024-09-18",
"count": 1
},
{
"date": "2024-09-23",
"count": 1
},
{
"date": "2024-09-30",
"count": 1
},
{
"date": "2024-10-01",
"count": 1
},
{
"date": "2024-10-15",
"count": 2
},
{
"date": "2024-10-16",
"count": 2
},
{
"date": "2024-10-17",
"count": 1
},
{
"date": "2024-10-18",
"count": 1
},
{
"date": "2024-10-20",
"count": 1
},
{
"date": "2024-10-21",
"count": 2
},
{
"date": "2024-10-23",
"count": 1
},
{
"date": "2024-10-27",
"count": 1
},
{
"date": "2024-10-29",
"count": 1
},
{
"date": "2024-11-12",
"count": 2
},
{
"date": "2024-11-15",
"count": 1
},
{
"date": "2024-11-17",
"count": 1
},
{
"date": "2024-11-20",
"count": 2
},
{
"date": "2024-11-24",
"count": 1
},
{
"date": "2024-11-25",
"count": 2
},
{
"date": "2024-11-26",
"count": 1
},
{
"date": "2024-11-27",
"count": 1
},
{
"date": "2024-12-02",
"count": 2
},
{
"date": "2024-12-03",
"count": 2
},
{
"date": "2024-12-05",
"count": 1
},
{
"date": "2024-12-06",
"count": 2
},
{
"date": "2024-12-13",
"count": 1
},
{
"date": "2024-12-15",
"count": 1
},
{
"date": "2024-12-17",
"count": 1
},
{
"date": "2024-12-18",
"count": 1
},
{
"date": "2024-12-24",
"count": 2
},
{
"date": "2024-12-26",
"count": 1
},
{
"date": "2024-12-30",
"count": 1
},
{
"date": "2025-01-02",
"count": 1
},
{
"date": "2025-01-03",
"count": 1
},
{
"date": "2025-01-05",
"count": 1
},
{
"date": "2025-01-13",
"count": 2
},
{
"date": "2025-01-19",
"count": 1
},
{
"date": "2025-01-22",
"count": 3
},
{
"date": "2025-01-25",
"count": 1
},
{
"date": "2025-01-26",
"count": 2
},
{
"date": "2025-01-27",
"count": 1
},
{
"date": "2025-01-31",
"count": 2
},
{
"date": "2025-02-01",
"count": 3
},
{
"date": "2025-02-07",
"count": 2
},
{
"date": "2025-02-09",
"count": 2
},
{
"date": "2025-02-10",
"count": 4
},
{
"date": "2025-02-18",
"count": 1
},
{
"date": "2025-02-21",
"count": 2
},
{
"date": "2025-02-28",
"count": 1
},
{
"date": "2025-03-01",
"count": 1
},
{
"date": "2025-03-03",
"count": 1
},
{
"date": "2025-03-05",
"count": 1
},
{
"date": "2025-03-06",
"count": 1
},
{
"date": "2025-03-10",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-03-18",
"count": 1
},
{
"date": "2025-03-22",
"count": 2
},
{
"date": "2025-03-29",
"count": 1
},
{
"date": "2025-03-31",
"count": 1
},
{
"date": "2025-04-04",
"count": 1
},
{
"date": "2025-04-08",
"count": 1
},
{
"date": "2025-04-12",
"count": 1
},
{
"date": "2025-04-14",
"count": 1
},
{
"date": "2025-04-17",
"count": 1
},
{
"date": "2025-04-18",
"count": 1
},
{
"date": "2025-04-22",
"count": 1
},
{
"date": "2025-04-25",
"count": 1
},
{
"date": "2025-04-29",
"count": 1
},
{
"date": "2025-05-06",
"count": 2
},
{
"date": "2025-05-07",
"count": 1
},
{
"date": "2025-05-10",
"count": 1
},
{
"date": "2025-05-13",
"count": 1
},
{
"date": "2025-05-14",
"count": 1
},
{
"date": "2025-05-15",
"count": 1
},
{
"date": "2025-05-16",
"count": 1
},
{
"date": "2025-05-19",
"count": 1
},
{
"date": "2025-05-20",
"count": 1
},
{
"date": "2025-05-27",
"count": 3
},
{
"date": "2025-05-31",
"count": 2
},
{
"date": "2025-06-09",
"count": 1
},
{
"date": "2025-06-11",
"count": 1
},
{
"date": "2025-06-14",
"count": 1
},
{
"date": "2025-06-15",
"count": 2
},
{
"date": "2025-06-16",
"count": 2
},
{
"date": "2025-06-19",
"count": 1
},
{
"date": "2025-06-20",
"count": 1
},
{
"date": "2025-06-23",
"count": 1
},
{
"date": "2025-06-26",
"count": 1
},
{
"date": "2025-06-30",
"count": 1
},
{
"date": "2025-07-02",
"count": 1
},
{
"date": "2025-07-07",
"count": 1
},
{
"date": "2025-07-08",
"count": 1
},
{
"date": "2025-07-16",
"count": 1
},
{
"date": "2025-07-21",
"count": 1
},
{
"date": "2025-07-29",
"count": 1
},
{
"date": "2025-07-31",
"count": 1
},
{
"date": "2025-08-03",
"count": 1
},
{
"date": "2025-08-06",
"count": 1
},
{
"date": "2025-08-07",
"count": 1
},
{
"date": "2025-08-09",
"count": 1
},
{
"date": "2025-08-18",
"count": 1
},
{
"date": "2025-08-19",
"count": 1
},
{
"date": "2025-08-26",
"count": 1
},
{
"date": "2025-08-29",
"count": 1
},
{
"date": "2025-09-01",
"count": 1
},
{
"date": "2025-09-04",
"count": 1
},
{
"date": "2025-09-19",
"count": 1
},
{
"date": "2025-09-21",
"count": 2
},
{
"date": "2025-09-22",
"count": 1
},
{
"date": "2025-09-27",
"count": 1
},
{
"date": "2025-10-02",
"count": 1
},
{
"date": "2025-10-04",
"count": 1
},
{
"date": "2025-10-08",
"count": 1
},
{
"date": "2025-10-15",
"count": 2
},
{
"date": "2025-10-18",
"count": 1
},
{
"date": "2025-10-21",
"count": 1
},
{
"date": "2025-10-22",
"count": 1
},
{
"date": "2025-10-26",
"count": 1
},
{
"date": "2025-10-29",
"count": 2
},
{
"date": "2025-11-03",
"count": 1
},
{
"date": "2025-11-12",
"count": 1
},
{
"date": "2025-11-20",
"count": 1
},
{
"date": "2025-11-27",
"count": 1
},
{
"date": "2025-12-03",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2025-12-11",
"count": 1
},
{
"date": "2025-12-13",
"count": 1
},
{
"date": "2025-12-14",
"count": 1
},
{
"date": "2025-12-16",
"count": 1
},
{
"date": "2025-12-17",
"count": 1
},
{
"date": "2025-12-18",
"count": 1
},
{
"date": "2025-12-22",
"count": 1
},
{
"date": "2025-12-27",
"count": 1
},
{
"date": "2025-12-30",
"count": 1
},
{
"date": "2026-01-06",
"count": 2
},
{
"date": "2026-01-07",
"count": 1
},
{
"date": "2026-01-08",
"count": 1
},
{
"date": "2026-01-13",
"count": 1
},
{
"date": "2026-01-16",
"count": 1
},
{
"date": "2026-01-22",
"count": 2
},
{
"date": "2026-01-27",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-02-02",
"count": 1
},
{
"date": "2026-02-03",
"count": 1
},
{
"date": "2026-02-06",
"count": 3
},
{
"date": "2026-02-07",
"count": 1
},
{
"date": "2026-02-09",
"count": 1
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-02-15",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-02-23",
"count": 1
},
{
"date": "2026-02-25",
"count": 1
},
{
"date": "2026-03-01",
"count": 2
},
{
"date": "2026-03-03",
"count": 2
},
{
"date": "2026-03-04",
"count": 2
},
{
"date": "2026-03-09",
"count": 1
},
{
"date": "2026-03-10",
"count": 1
},
{
"date": "2026-03-13",
"count": 1
},
{
"date": "2026-03-15",
"count": 1
},
{
"date": "2026-03-16",
"count": 7
},
{
"date": "2026-03-17",
"count": 1
},
{
"date": "2026-03-19",
"count": 2
},
{
"date": "2026-03-23",
"count": 2
},
{
"date": "2026-03-24",
"count": 1
},
{
"date": "2026-03-27",
"count": 1
},
{
"date": "2026-03-28",
"count": 1
},
{
"date": "2026-03-29",
"count": 1
},
{
"date": "2026-03-30",
"count": 2
},
{
"date": "2026-03-31",
"count": 2
},
{
"date": "2026-04-01",
"count": 1
},
{
"date": "2026-04-02",
"count": 2
},
{
"date": "2026-04-03",
"count": 3
},
{
"date": "2026-04-04",
"count": 2
},
{
"date": "2026-04-07",
"count": 1
},
{
"date": "2026-04-08",
"count": 1
},
{
"date": "2026-04-09",
"count": 4
},
{
"date": "2026-04-13",
"count": 1
},
{
"date": "2026-04-15",
"count": 2
},
{
"date": "2026-04-16",
"count": 3
},
{
"date": "2026-04-19",
"count": 2
},
{
"date": "2026-04-20",
"count": 1
},
{
"date": "2026-04-22",
"count": 1
},
{
"date": "2026-04-29",
"count": 1
},
{
"date": "2026-05-08",
"count": 1
},
{
"date": "2026-05-10",
"count": 1
},
{
"date": "2026-05-11",
"count": 1
},
{
"date": "2026-05-15",
"count": 1
},
{
"date": "2026-05-19",
"count": 1
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-05-25",
"count": 1
},
{
"date": "2026-05-27",
"count": 2
},
{
"date": "2026-05-29",
"count": 1
},
{
"date": "2026-05-30",
"count": 1
},
{
"date": "2026-05-31",
"count": 1
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-05",
"count": 1
},
{
"date": "2026-06-06",
"count": 1
},
{
"date": "2026-06-07",
"count": 2
},
{
"date": "2026-06-08",
"count": 2
},
{
"date": "2026-06-09",
"count": 1
},
{
"date": "2026-06-10",
"count": 4
},
{
"date": "2026-06-11",
"count": 1
},
{
"date": "2026-06-17",
"count": 2
},
{
"date": "2026-06-19",
"count": 1
},
{
"date": "2026-06-20",
"count": 1
},
{
"date": "2026-06-21",
"count": 2
},
{
"date": "2026-06-22",
"count": 1
},
{
"date": "2026-06-23",
"count": 2
},
{
"date": "2026-06-25",
"count": 1
},
{
"date": "2026-06-29",
"count": 3
},
{
"date": "2026-06-30",
"count": 1
},
{
"date": "2026-07-01",
"count": 1
},
{
"date": "2026-07-03",
"count": 3
},
{
"date": "2026-07-07",
"count": 1
},
{
"date": "2026-07-09",
"count": 3
},
{
"date": "2026-07-10",
"count": 1
},
{
"date": "2026-07-15",
"count": 1
},
{
"date": "2026-07-16",
"count": 2
},
{
"date": "2026-07-18",
"count": 1
},
{
"date": "2026-07-19",
"count": 1
},
{
"date": "2026-07-20",
"count": 1
},
{
"date": "2026-07-21",
"count": 1
}
],
"complete": true,
"collected": 793,
"total_forks": 807
},
"star_history": null,
"open_issues_and_prs": 318
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 315859,
"source_files_sampled": 679,
"oversized_source_files": 6,
"agent_instruction_files": [
"docs/docs/api/Agent.md"
],
"agent_instruction_max_bytes": 8578
},
"dependencies": {
"manifests": [
"benchmarks/package.json",
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.14",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-jxxr-4gwj-5jf2"
],
"fixed_version": "5.0.7",
"advisory_count": 2,
"oldest_advisory_days": 64
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68"
],
"fixed_version": "4.3.0",
"advisory_count": 2,
"oldest_advisory_days": 36
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68"
],
"fixed_version": "4.3.0",
"advisory_count": 2,
"oldest_advisory_days": 36
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.0",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 3.2,
"advisory_ids": [
"GHSA-4x5r-pxfx-6jf8"
],
"fixed_version": "8.0.0-rc.6",
"advisory_count": 1,
"oldest_advisory_days": 36
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"high": 5
},
"advisory_count": 9,
"affected_count": 6,
"assessed_count": 690,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 10,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@actions/core",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@actions/exec",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@actions/http-client",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@actions/io",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.29.3",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.2",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-async-generators",
"direct": false,
"version": "7.8.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-bigint",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-class-properties",
"direct": false,
"version": "7.12.13",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-class-static-block",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-attributes",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-meta",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-json-strings",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-jsx",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-logical-assignment-operators",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-nullish-coalescing-operator",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-numeric-separator",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-object-rest-spread",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-optional-catch-binding",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-optional-chaining",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-private-property-in-object",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-top-level-await",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-typescript",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "0.2.3",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@dmsnell/diff-match-patch",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@epic-web/invariant",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.21.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@fastify/busboy",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.1",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.7",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/gitignore-to-minimatch",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/load-nyc-config",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.6",
"ecosystem": "npm"
},
{
"name": "@jest/console",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/core",
"direct": false,
"version": "30.4.2",
"ecosystem": "npm"
},
{
"name": "@jest/diff-sequences",
"direct": false,
"version": "30.4.0",
"ecosystem": "npm"
},
{
"name": "@jest/environment",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/expect",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/expect-utils",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/fake-timers",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/get-type",
"direct": false,
"version": "30.1.0",
"ecosystem": "npm"
},
{
"name": "@jest/globals",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/pattern",
"direct": false,
"version": "30.4.0",
"ecosystem": "npm"
},
{
"name": "@jest/reporters",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/schemas",
"direct": false,
"version": "29.6.3",
"ecosystem": "npm"
},
{
"name": "@jest/schemas",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/snapshot-utils",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/source-map",
"direct": false,
"version": "30.0.1",
"ecosystem": "npm"
},
{
"name": "@jest/test-result",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/test-sequencer",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/transform",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jest/types",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@leichtgewicht/ip-codec",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@matteo.collina/tspl",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "@metcoder95/https-pem",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "0.2.12",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@pkgr/core",
"direct": false,
"version": "0.2.9",
"ecosystem": "npm"
},
{
"name": "@reporters/github",
"direct": false,
"version": "1.12.0",
"ecosystem": "npm"
},
{
"name": "@sec-ant/readable-stream",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@sinclair/typebox",
"direct": false,
"version": "0.27.10",
"ecosystem": "npm"
},
{
"name": "@sinclair/typebox",
"direct": false,
"version": "0.34.49",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/merge-streams",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/commons",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@sinonjs/fake-timers",
"direct": false,
"version": "12.0.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/fake-timers",
"direct": false,
"version": "15.4.0",
"ecosystem": "npm"
},
{
"name": "@stylistic/eslint-plugin",
"direct": false,
"version": "2.11.0",
"ecosystem": "npm"
},
{
"name": "@tsd/typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.2",
"ecosystem": "npm"
},
{
"name": "@types/babel__core",
"direct": false,
"version": "7.20.5",
"ecosystem": "npm"
},
{
"name": "@types/babel__generator",
"direct": false,
"version": "7.27.0",
"ecosystem": "npm"
},
{
"name": "@types/babel__template",
"direct": false,
"version": "7.4.4",
"ecosystem": "npm"
},
{
"name": "@types/babel__traverse",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@types/eslint",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-coverage",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-report",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-reports",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/minimist",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "22.19.17",
"ecosystem": "npm"
},
{
"name": "@types/normalize-package-data",
"direct": false,
"version": "2.4.4",
"ecosystem": "npm"
},
{
"name": "@types/stack-utils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@types/yargs",
"direct": false,
"version": "17.0.35",
"ecosystem": "npm"
},
{
"name": "@types/yargs-parser",
"direct": false,
"version": "21.0.3",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm-eabi",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-arm64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-x64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-freebsd-x64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-musleabihf",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-ppc64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-s390x-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-wasm32-wasi",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-arm64-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-ia32-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-x64-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "abort-controller",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.16.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "args",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "array-buffer-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "array-includes",
"direct": false,
"version": "3.1.9",
"ecosystem": "npm"
},
{
"name": "array-union",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "array.prototype.findlast",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "array.prototype.flat",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.flatmap",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.tosorted",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "arraybuffer.prototype.slice",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "arrify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "async-function",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "axios",
"direct": false,
"version": "^1.6.7",
"ecosystem": "npm"
},
{
"name": "babel-jest",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "babel-plugin-istanbul",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "babel-plugin-jest-hoist",
"direct": false,
"version": "30.4.0",
"ecosystem": "npm"
},
{
"name": "babel-preset-current-node-syntax",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "babel-preset-jest",
"direct": false,
"version": "30.4.0",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.29",
"ecosystem": "npm"
},
{
"name": "borp",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.14",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.2",
"ecosystem": "npm"
},
{
"name": "bser",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "c8",
"direct": false,
"version": "10.1.3",
"ecosystem": "npm"
},
{
"name": "c8",
"direct": false,
"version": "12.0.0",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "camelcase-keys",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001792",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "char-regex",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "ci-info",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "cjs-module-lexer",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "co",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "collect-v8-coverage",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "1.9.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "concurrently",
"direct": false,
"version": "^10.0.3",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cronometro",
"direct": false,
"version": "^6.0.3",
"ecosystem": "npm"
},
{
"name": "cross-env",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "data-view-buffer",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-offset",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "decamelize-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "dedent",
"direct": false,
"version": "1.7.2",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "deepmerge",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "define-properties",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "detect-newline",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "diff-sequences",
"direct": false,
"version": "29.6.3",
"ecosystem": "npm"
},
{
"name": "dir-glob",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "dns-packet",
"direct": false,
"version": "5.6.1",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.354",
"ecosystem": "npm"
},
{
"name": "emittery",
"direct": false,
"version": "0.13.1",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.20.1",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "es-abstract",
"direct": false,
"version": "1.24.2",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-iterator-helpers",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es-shim-unscopables",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "es-to-primitive",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "eslint-compat-utils",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "eslint-formatter-pretty",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-es-x",
"direct": false,
"version": "7.8.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-n",
"direct": false,
"version": "17.24.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-promise",
"direct": false,
"version": "7.2.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react",
"direct": false,
"version": "7.37.5",
"ecosystem": "npm"
},
{
"name": "eslint-rule-docs",
"direct": false,
"version": "1.1.235",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "event-target-shim",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "exit-x",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "expect",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "fast-check",
"direct": false,
"version": "4.9.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.20.1",
"ecosystem": "npm"
},
{
"name": "fb-watchman",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "function.prototype.name",
"direct": false,
"version": "1.1.8",
"ecosystem": "npm"
},
{
"name": "functions-have-names",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "generator-function",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-east-asian-width",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-package-type",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "get-symbol-description",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "4.13.7",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "15.15.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "17.6.0",
"ecosystem": "npm"
},
{
"name": "globalthis",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "globrex",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "got",
"direct": false,
"version": "^15.0.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "hard-rejection",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "has-bigints",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-proto",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "husky",
"direct": false,
"version": "9.1.7",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "import-local",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "internal-slot",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "irregular-plurals",
"direct": false,
"version": "3.5.0",
"ecosystem": "npm"
},
{
"name": "is-array-buffer",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-async-function",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-bigint",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-boolean-object",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "is-callable",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"ecosystem": "npm"
},
{
"name": "is-data-view",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "is-date-object",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-finalizationregistry",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-generator-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-generator-function",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-map",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-negative-zero",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-number-object",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "is-regex",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-set",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-shared-array-buffer",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "is-string",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-symbol",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-typed-array",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-weakmap",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "is-weakref",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-weakset",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-source-maps",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "iterator.prototype",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jest",
"direct": false,
"version": "30.4.2",
"ecosystem": "npm"
},
{
"name": "jest-changed-files",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-circus",
"direct": false,
"version": "30.4.2",
"ecosystem": "npm"
},
{
"name": "jest-cli",
"direct": false,
"version": "30.4.2",
"ecosystem": "npm"
},
{
"name": "jest-config",
"direct": false,
"version": "30.4.2",
"ecosystem": "npm"
},
{
"name": "jest-diff",
"direct": false,
"version": "29.7.0",
"ecosystem": "npm"
},
{
"name": "jest-diff",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-docblock",
"direct": false,
"version": "30.4.0",
"ecosystem": "npm"
},
{
"name": "jest-each",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-environment-node",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-get-type",
"direct": false,
"version": "29.6.3",
"ecosystem": "npm"
},
{
"name": "jest-haste-map",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-leak-detector",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-matcher-utils",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-message-util",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-mock",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-pnp-resolver",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "jest-regex-util",
"direct": false,
"version": "30.4.0",
"ecosystem": "npm"
},
{
"name": "jest-resolve",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-resolve-dependencies",
"direct": false,
"version": "30.4.2",
"ecosystem": "npm"
},
{
"name": "jest-runner",
"direct": false,
"version": "30.4.2",
"ecosystem": "npm"
},
{
"name": "jest-runtime",
"direct": false,
"version": "30.4.2",
"ecosystem": "npm"
},
{
"name": "jest-snapshot",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-util",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-validate",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-watcher",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "jest-worker",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsondiffpatch",
"direct": false,
"version": "0.7.6",
"ecosystem": "npm"
},
{
"name": "jsx-ast-utils",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "leven",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "leven",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "log-symbols",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.3.5",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "makeerror",
"direct": false,
"version": "1.0.12",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "min-indent",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist-options",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mitata",
"direct": false,
"version": "^1.0.4",
"ecosystem": "npm"
},
{
"name": "mri",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "napi-postinstall",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "neostandard",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "node-exports-info",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "^3.3.2",
"ecosystem": "npm"
},
{
"name": "node-forge",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "node-int64",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.44",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "object-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "object.assign",
"direct": false,
"version": "4.1.7",
"ecosystem": "npm"
},
{
"name": "object.entries",
"direct": false,
"version": "1.1.9",
"ecosystem": "npm"
},
{
"name": "object.fromentries",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "object.values",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "own-keys",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse-ms",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "peowly",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "plur",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "pretty-format",
"direct": false,
"version": "29.7.0",
"ecosystem": "npm"
},
{
"name": "pretty-format",
"direct": false,
"version": "30.4.1",
"ecosystem": "npm"
},
{
"name": "pretty-ms",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": false,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "proxy",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "pure-rand",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "pure-rand",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "19.2.6",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "read-pkg-up",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "redent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "reflect.getprototypeof",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "regexp.prototype.flags",
"direct": false,
"version": "1.5.4",
"ecosystem": "npm"
},
{
"name": "request",
"direct": false,
"version": "^2.88.2",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "2.0.0-next.6",
"ecosystem": "npm"
},
{
"name": "resolve-cwd",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "safe-array-concat",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "safe-push-apply",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "safe-regex-test",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "selfsigned",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.4",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.0",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "set-function-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "set-proto",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.13",
"ecosystem": "npm"
},
{
"name": "spdx-correct",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.23",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "stack-utils",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "stop-iteration-iterator",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "string-length",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "string.prototype.matchall",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "string.prototype.repeat",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "string.prototype.trim",
"direct": false,
"version": "1.2.10",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimend",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimstart",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-indent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "superagent",
"direct": false,
"version": "^10.0.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "supports-hyperlinks",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "synckit",
"direct": false,
"version": "0.11.12",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "^6.0.1",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.16",
"ecosystem": "npm"
},
{
"name": "tmpl",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "trim-newlines",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-declaration-location",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "tsd",
"direct": false,
"version": "0.33.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tunnel",
"direct": false,
"version": "0.0.6",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.18.1",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.21.3",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "typed-array-buffer",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-length",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-offset",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "typed-array-length",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.58.2",
"ecosystem": "npm"
},
{
"name": "unbox-primitive",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "6.27.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "unrs-resolver",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "uWebSockets.js",
"direct": false,
"version": "uNetworking/uWebSockets.js#v20.68.0",
"ecosystem": "npm"
},
{
"name": "v8-to-istanbul",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-license",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "wait-on",
"direct": false,
"version": "^9.0.1",
"ecosystem": "npm"
},
{
"name": "walker",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which-boxed-primitive",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "which-builtin-type",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "which-collection",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.20",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.21.1",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.8.3",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "18.0.0",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.9",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "22.0.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "yoctocolors",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 700,
"direct_count": 0,
"indirect_count": 700
}
},
"maintainership": {
"issues": {
"open_prs": 129,
"merged_prs": 2890,
"open_issues": 189,
"closed_ratio": 0.886,
"closed_issues": 1467,
"closed_unmerged_prs": 613
},
"bus_factor": 2,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "ronag",
"commits": 1500,
"avatar_url": "https://avatars.githubusercontent.com/u/3065230?v=4"
},
{
"type": "User",
"login": "mcollina",
"commits": 414,
"avatar_url": "https://avatars.githubusercontent.com/u/52195?v=4"
},
{
"type": "User",
"login": "KhafraDev",
"commits": 382,
"avatar_url": "https://avatars.githubusercontent.com/u/42794878?v=4"
},
{
"type": "User",
"login": "Uzlopak",
"commits": 311,
"avatar_url": "https://avatars.githubusercontent.com/u/5059100?v=4"
},
{
"type": "User",
"login": "tsctx",
"commits": 107,
"avatar_url": "https://avatars.githubusercontent.com/u/91457664?v=4"
},
{
"type": "User",
"login": "trivikr",
"commits": 92,
"avatar_url": "https://avatars.githubusercontent.com/u/16024985?v=4"
},
{
"type": "User",
"login": "metcoder95",
"commits": 67,
"avatar_url": "https://avatars.githubusercontent.com/u/10200776?v=4"
},
{
"type": "User",
"login": "Ethan-Arrowood",
"commits": 32,
"avatar_url": "https://avatars.githubusercontent.com/u/16144158?v=4"
},
{
"type": "User",
"login": "dnlup",
"commits": 23,
"avatar_url": "https://avatars.githubusercontent.com/u/15520377?v=4"
},
{
"type": "User",
"login": "RafaelGSS",
"commits": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/26234614?v=4"
}
],
"contributors_sampled": 98,
"top_contributor_share": 0.444
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"autobahn.yml",
"backport.yml",
"bench.yml",
"ci.yml",
"codeql.yml",
"nodejs-nightly.yml",
"nodejs-shared.yml",
"nodejs.yml",
"release-create-pr.yml",
"release.yml",
"scorecard.yml",
"triggered-autobahn.yml",
"update-submodules.yml"
],
"has_docs_dir": true,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 8,
"reason": "binaries present in source code",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 10,
"reason": "all changesets reviewed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 71 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 10,
"reason": "project is fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 6,
"reason": "dependency not pinned by hash detected -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 5,
"reason": "5 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "a0922b0b6b5db878881017abb6fca3bbcdea555a",
"ran_at": "2026-07-22T15:59:18Z",
"aggregate_score": 8.1,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": true,
"has_security_policy": true,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-22T12:43:05Z",
"oldest_open_prs": [
{
"number": 1649,
"created_at": "2022-09-14T17:51:02Z",
"last_comment_at": "2022-11-29T19:12:13Z",
"last_comment_author": "KhafraDev"
},
{
"number": 2546,
"created_at": "2023-12-27T17:19:59Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 2682,
"created_at": "2024-01-31T23:11:34Z",
"last_comment_at": "2024-02-08T09:23:17Z",
"last_comment_author": "mcollina"
},
{
"number": 2701,
"created_at": "2024-02-05T20:34:48Z",
"last_comment_at": "2024-11-12T02:31:40Z",
"last_comment_author": "Qard"
},
{
"number": 2779,
"created_at": "2024-02-19T00:37:32Z",
"last_comment_at": "2024-02-24T20:29:50Z",
"last_comment_author": "Uzlopak"
},
{
"number": 2852,
"created_at": "2024-02-26T15:29:15Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 2887,
"created_at": "2024-02-29T11:38:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 2888,
"created_at": "2024-02-29T13:15:18Z",
"last_comment_at": "2024-03-10T14:22:24Z",
"last_comment_author": "Uzlopak"
},
{
"number": 3029,
"created_at": "2024-03-31T12:44:37Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3054,
"created_at": "2024-04-04T14:59:02Z",
"last_comment_at": "2024-04-11T07:53:39Z",
"last_comment_author": "namka279"
},
{
"number": 3110,
"created_at": "2024-04-13T14:25:37Z",
"last_comment_at": "2024-04-22T16:33:01Z",
"last_comment_author": "mweberxyz"
},
{
"number": 3166,
"created_at": "2024-04-25T17:09:48Z",
"last_comment_at": "2024-04-25T20:52:59Z",
"last_comment_author": "metcoder95"
},
{
"number": 3173,
"created_at": "2024-04-27T00:04:05Z",
"last_comment_at": "2024-05-01T21:59:56Z",
"last_comment_author": "Uzlopak"
},
{
"number": 3379,
"created_at": "2024-06-28T15:11:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3408,
"created_at": "2024-07-17T08:39:13Z",
"last_comment_at": "2024-07-19T08:49:24Z",
"last_comment_author": "metcoder95"
},
{
"number": 3636,
"created_at": "2024-09-21T13:44:40Z",
"last_comment_at": "2024-09-22T17:12:44Z",
"last_comment_author": "ronag"
},
{
"number": 3637,
"created_at": "2024-09-22T17:29:10Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3719,
"created_at": "2024-10-11T09:34:34Z",
"last_comment_at": "2024-10-13T08:31:19Z",
"last_comment_author": "mcollina"
},
{
"number": 3726,
"created_at": "2024-10-12T12:21:19Z",
"last_comment_at": "2024-10-12T15:17:09Z",
"last_comment_author": "SukkaW"
},
{
"number": 3729,
"created_at": "2024-10-14T12:15:23Z",
"last_comment_at": "2024-10-16T18:18:40Z",
"last_comment_author": "metcoder95"
}
],
"last_merged_pr_at": "2026-07-22T06:26:57Z",
"ci_last_conclusion": "CANCELLED",
"oldest_open_issues": [
{
"number": 73,
"created_at": "2020-05-06T00:19:02Z",
"last_comment_at": "2020-05-09T12:35:58Z",
"last_comment_author": "szmarczak"
},
{
"number": 112,
"created_at": "2020-05-13T12:43:50Z",
"last_comment_at": "2021-07-27T18:16:16Z",
"last_comment_author": "szmarczak"
},
{
"number": 197,
"created_at": "2020-05-26T09:51:31Z",
"last_comment_at": "2024-11-22T04:55:00Z",
"last_comment_author": "zbjornson"
},
{
"number": 236,
"created_at": "2020-06-28T16:58:57Z",
"last_comment_at": "2020-08-26T14:11:46Z",
"last_comment_author": "delvedor"
},
{
"number": 251,
"created_at": "2020-07-11T12:16:05Z",
"last_comment_at": "2026-07-09T03:10:09Z",
"last_comment_author": "Develop-KIM"
},
{
"number": 310,
"created_at": "2020-08-09T21:39:37Z",
"last_comment_at": "2020-08-23T13:25:39Z",
"last_comment_author": "delvedor"
},
{
"number": 386,
"created_at": "2020-08-30T17:33:19Z",
"last_comment_at": "2025-05-07T07:58:45Z",
"last_comment_author": "metcoder95"
},
{
"number": 387,
"created_at": "2020-08-30T17:39:53Z",
"last_comment_at": "2021-07-31T16:39:53Z",
"last_comment_author": "szmarczak"
},
{
"number": 426,
"created_at": "2020-09-20T07:24:04Z",
"last_comment_at": "2023-11-03T04:06:08Z",
"last_comment_author": "lnfel"
},
{
"number": 491,
"created_at": "2020-12-05T15:41:27Z",
"last_comment_at": "2022-04-03T19:29:34Z",
"last_comment_author": "arontsang"
},
{
"number": 633,
"created_at": "2021-03-27T22:56:36Z",
"last_comment_at": "2021-03-28T08:43:42Z",
"last_comment_author": "mcollina"
},
{
"number": 693,
"created_at": "2021-04-07T10:00:55Z",
"last_comment_at": "2021-08-09T16:32:40Z",
"last_comment_author": "artur-ma"
},
{
"number": 780,
"created_at": "2021-04-27T10:45:12Z",
"last_comment_at": "2021-04-27T12:32:19Z",
"last_comment_author": "mcollina"
},
{
"number": 837,
"created_at": "2021-06-17T07:36:09Z",
"last_comment_at": "2022-04-12T10:42:13Z",
"last_comment_author": "delvedor"
},
{
"number": 923,
"created_at": "2021-08-04T06:39:06Z",
"last_comment_at": "2021-08-04T11:09:12Z",
"last_comment_author": "ronag"
},
{
"number": 944,
"created_at": "2021-08-12T08:59:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 948,
"created_at": "2021-08-13T05:37:58Z",
"last_comment_at": "2021-08-13T10:49:57Z",
"last_comment_author": "szmarczak"
},
{
"number": 971,
"created_at": "2021-08-17T07:25:40Z",
"last_comment_at": "2021-08-17T08:22:00Z",
"last_comment_author": "ronag"
},
{
"number": 1011,
"created_at": "2021-08-31T09:41:49Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1066,
"created_at": "2021-10-18T10:13:52Z",
"last_comment_at": "2023-12-27T20:43:10Z",
"last_comment_author": "metcoder95"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/nodejs/undici",
"host": "github.com",
"name": "undici",
"owner": "nodejs"
},
"metrics": {
"overall": {
"key": "overall",
"band": "excellent",
"name": "Overall health",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"security": 85,
"vitality": 99,
"community": 95,
"governance": 80,
"engineering": 94
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 99,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"commits_last_year": 675,
"human_commit_share": 0.85,
"days_since_last_push": 0,
"active_weeks_last_year": 50
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "50/52 weeks with commits",
"points": 34.6,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 50
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "675 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 675
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 100,
"latest_release_tag": "v8.8.0",
"releases_from_tags": false,
"days_since_latest_release": 2,
"mean_days_between_releases": 5.1
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~5.1 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 5.1
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 95,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 94,
"inputs": {
"forks": 807,
"stars": 7650,
"watchers": 52,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "7,650 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 7650
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "807 forks",
"points": 24.2,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 807
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "52 watchers",
"points": 9.5,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 52
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"packages": [
"undici"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 531732999
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "531,732,999 downloads/month across npm",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 531732999,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 80,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 98,
"top_contributor_share": 0.444
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 44% of commits",
"points": 12.5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 44
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "98 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 98
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 71 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 88,
"inputs": {
"merged_prs": 2890,
"open_issues": 189,
"closed_issues": 1467,
"issue_closed_ratio": 0.886,
"closed_unmerged_prs": 613
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "89% of issues closed",
"points": 41.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 89
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "2890/3503 decided PRs merged",
"points": 31.6,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 2890,
"decided": 3503
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "all changesets reviewed",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 16208,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "nodejs",
"public_repos": 231,
"account_age_days": 4256
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "16,208 followers of nodejs",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 16208,
"login": "nodejs"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "231 public repos, account ~11 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 231
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"undici"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 2
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 2 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 2
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "296 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 296
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 94,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "13 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 13
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"nodejs",
"http",
"client"
],
"has_wiki": true,
"homepage": "https://undici.nodejs.org/",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://undici.nodejs.org/",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "3 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 3
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "excellent",
"name": "Security",
"value": 85,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "good",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 81,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 8.1
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "binaries present in source code",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "all changesets reviewed",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 71 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is fuzzed",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 6",
"points": 3,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "5 existing vulnerabilities detected",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 690 resolved dependencies against OSV; 10 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 690
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 10
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 9,
"affected_packages": 6,
"assessed_packages": 690,
"unassessed_packages": 10,
"affected_by_severity": "high 5, low 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 690,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 24
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 66,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [
"docs/docs/api/Agent.md"
],
"agent_instruction_max_bytes": 8578
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "docs/docs/api/Agent.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "docs/docs/api/Agent.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "85 of 85 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 85,
"sampled": 85
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 67,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.06,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.11
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": "eslint.config.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "6 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 6,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "11 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 11,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"primary_language": "JavaScript",
"largest_source_bytes": 315859,
"source_files_sampled": 679,
"oversized_source_files": 6
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "JavaScript without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "JavaScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "6/679 source files over 60KB",
"points": 54.5,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 679,
"oversized": 6
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"deps.dev does not index npm:undici@8.8.0; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-22T15:59:49.431876Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/n/nodejs/undici.svg",
"full_name": "nodejs/undici",
"license_state": "standard",
"license_spdx": "MIT"
}