Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 5845,
"has_wiki": false,
"homepage": "https://zelark.github.io/nano-id-cc/",
"languages": {
"HTML": 922,
"JavaScript": 33026,
"TypeScript": 374
},
"pushed_at": "2026-07-16T09:03:15Z",
"created_at": "2017-08-05T05:24:35Z",
"owner_type": "User",
"updated_at": "2026-07-22T12:40:13Z",
"description": "A tiny (118 bytes), secure, URL-friendly, unique string ID generator for JavaScript",
"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://sitnik.es",
"name": "Andrey Sitnik",
"type": "User",
"login": "ai",
"company": "@evilmartians",
"location": "Barcelona, Spain",
"followers": 10080,
"avatar_url": "https://avatars.githubusercontent.com/u/19343?v=4",
"created_at": "2008-08-02T16:34:20Z",
"is_verified": null,
"public_repos": 102,
"account_age_days": 6562
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "6.0.0",
"kind": "major",
"published_at": "2026-07-12T15:10:46Z"
},
{
"tag": "3.3.16",
"kind": "patch",
"published_at": "2026-07-12T08:23:04Z"
},
{
"tag": "5.1.16",
"kind": "patch",
"published_at": "2026-06-24T13:33:32Z"
},
{
"tag": "3.3.15",
"kind": "patch",
"published_at": "2026-06-21T21:22:08Z"
},
{
"tag": "5.1.15",
"kind": "patch",
"published_at": "2026-06-20T13:40:09Z"
},
{
"tag": "3.3.14",
"kind": "patch",
"published_at": "2026-06-20T13:38:13Z"
},
{
"tag": "5.1.14",
"kind": "patch",
"published_at": "2026-06-18T19:17:10Z"
},
{
"tag": "5.1.13",
"kind": "patch",
"published_at": "2026-06-18T19:03:05Z"
},
{
"tag": "5.1.12",
"kind": "patch",
"published_at": "2026-06-18T18:35:44Z"
},
{
"tag": "3.3.13",
"kind": "patch",
"published_at": "2026-06-18T17:31:22Z"
},
{
"tag": "5.1.11",
"kind": "patch",
"published_at": "2026-04-30T22:06:30Z"
},
{
"tag": "3.3.12",
"kind": "patch",
"published_at": "2026-04-30T21:59:43Z"
},
{
"tag": "5.1.10",
"kind": "patch",
"published_at": "2026-04-30T20:47:47Z"
},
{
"tag": "5.1.9",
"kind": "patch",
"published_at": "2026-04-15T14:10:19Z"
},
{
"tag": "5.1.8",
"kind": "patch",
"published_at": "2026-04-15T14:07:43Z"
},
{
"tag": "5.1.7",
"kind": "patch",
"published_at": "2026-03-15T20:12:42Z"
},
{
"tag": "5.1.6",
"kind": "patch",
"published_at": "2025-09-22T09:45:43Z"
},
{
"tag": "5.1.5",
"kind": "patch",
"published_at": "2025-03-18T23:09:18Z"
},
{
"tag": "3.3.11",
"kind": "patch",
"published_at": "2025-03-18T23:05:03Z"
},
{
"tag": "5.1.4",
"kind": "patch",
"published_at": "2025-03-15T21:36:17Z"
},
{
"tag": "3.3.10",
"kind": "patch",
"published_at": "2025-03-15T21:37:54Z"
},
{
"tag": "5.1.3",
"kind": "patch",
"published_at": "2025-03-07T11:32:01Z"
},
{
"tag": "3.3.9",
"kind": "patch",
"published_at": "2025-03-07T11:24:19Z"
},
{
"tag": "5.1.2",
"kind": "patch",
"published_at": "2025-02-22T19:48:03Z"
},
{
"tag": "5.1.1",
"kind": "patch",
"published_at": "2025-02-22T19:39:41Z"
},
{
"tag": "5.1.0",
"kind": "minor",
"published_at": "2025-02-14T21:03:15Z"
},
{
"tag": "5.0.9",
"kind": "patch",
"published_at": "2024-11-26T11:59:45Z"
},
{
"tag": "5.0.8",
"kind": "patch",
"published_at": "2024-10-28T11:29:09Z"
},
{
"tag": "5.0.7",
"kind": "patch",
"published_at": "2024-04-07T16:44:02Z"
},
{
"tag": "5.0.6",
"kind": "patch",
"published_at": "2024-02-20T13:56:49Z"
},
{
"tag": "3.0.0",
"kind": "major",
"published_at": "2020-03-26T22:32:53Z"
}
],
"recent_commits": [
{
"oid": "c6246e036ca5e7a1d362c1a80726bab63b767754",
"body": null,
"is_bot": false,
"headline": "Move back to latest pnpm 11",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-16T09:03:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b7d22e514ac0987b574aeb5e8cf9a0577bd8e94",
"body": null,
"is_bot": false,
"headline": "Update CI actions",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-15T08:44:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3d2eda2e7ca65e6b36917298e01aa904bc0ec59",
"body": null,
"is_bot": false,
"headline": "Fix step name",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-15T08:44:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e570eea9ed458b99cb48ec39069b2150c980756",
"body": null,
"is_bot": false,
"headline": "Make CI actions a little safer",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-14T18:22:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0779bd5ed81519621af145c58d5aa61ed6310b9",
"body": null,
"is_bot": false,
"headline": "Update docs",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-14T17:01:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dbdf1f92ad1c8002bdb298ad72523ea45854a1df",
"body": null,
"is_bot": false,
"headline": "Fix pnpm on CI",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-14T16:55:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34032ab450b02439a975ed64b8d0bfd32bbebf50",
"body": null,
"is_bot": false,
"headline": "Remove benchmark env note since we are now using CI",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-14T16:46:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4dacb107b54ffd0e1abfe91b7ef452e0fd5a8e12",
"body": null,
"is_bot": false,
"headline": "Release 6.0.0 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T15:10:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09545ea0f88d13508cea6b6965d76a6848cb2194",
"body": null,
"is_bot": false,
"headline": "Simplify CLI for modern Node.js",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T14:26:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0966ccbcffa2e9e009d4000422aa16964177fc18",
"body": null,
"is_bot": false,
"headline": "Remove obvious comment",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T14:20:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5a0590ad6a28e5dbe700ce6189aa23abddf2a5b",
"body": null,
"is_bot": false,
"headline": "Update docs",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T14:18:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0501d9cc86047b77b5b352eb6d43b67b10f18475",
"body": null,
"is_bot": false,
"headline": "Fix alphabet duplication",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T14:18:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87f282154ddd6845d6f674e87fb5ea8e1d5c702e",
"body": null,
"is_bot": false,
"headline": "Remove unnecessary import for modern Node.js",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:45:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a73bf8523e804aff400df77b743892fb1a99a9b",
"body": null,
"is_bot": false,
"headline": "Simplfy strings",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:43:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57a250cd7ed9c7df4748443a800df9e903d6c6f9",
"body": null,
"is_bot": false,
"headline": "Simplify code",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:42:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a9765924719a559151b33cbff37bfb601175ba7",
"body": null,
"is_bot": false,
"headline": "Fix formatting",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:37:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1fda9370deb39a9f4af584c9dcbf3ad72bd40a49",
"body": null,
"is_bot": false,
"headline": "Remove build files",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:37:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "abe87963a7344fdaf6b90443e243904449707cfe",
"body": null,
"is_bot": false,
"headline": "Backport 3.x changes",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:32:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee764afbb9440a412b0a57ba68fe291b5d9a4751",
"body": null,
"is_bot": false,
"headline": "Update supported versions",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:25:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86a13b60d70ac8ab3c6340467758642232a116a1",
"body": null,
"is_bot": false,
"headline": "Remove Node.js 18 and 20 support",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:11:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1bb75fc112ca14004fd71e9b5884a2434fb7122",
"body": "* Port amazing nope-id optimizations\n\n* Update benchmark",
"is_bot": false,
"headline": "Port amazing nope-id optimizations (#602)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-12T08:08:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a83bf659fc3cb2e153cd8a6dc599ade07e1b8220",
"body": null,
"is_bot": false,
"headline": "Update dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-07-11T19:30:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44d5b46b3b5f9c06d335e0a693b887eedeea0ff7",
"body": null,
"is_bot": false,
"headline": "Update pnpm install command",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-27T08:09:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec6c2dc5f30b0ea081e589d6840d9455b81948f6",
"body": null,
"is_bot": false,
"headline": "Remove default arg",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-24T23:36:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "117f6d5e9143c4a95d012884b3621de6f26b3994",
"body": null,
"is_bot": false,
"headline": "Move to public Dev Container",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-24T23:23:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ccc67bbaba71d3d77a21d9b636f4171a268ce49",
"body": null,
"is_bot": false,
"headline": "Release 5.1.16 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-24T13:33:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6de05d794f62eeac3f527c74c34c6af0c1d32e49",
"body": null,
"is_bot": false,
"headline": "fix(non-secure): clamp negative size with a smaller guard (#600)",
"author_name": "spokodev",
"author_login": "spokodev",
"committed_at": "2026-06-24T13:32:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "39259034f7c095cb36a97d6937e77905a659808a",
"body": null,
"is_bot": false,
"headline": "Update dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-21T21:32:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b695546fd83beaa943fbcaa90af92895dd0ae55",
"body": null,
"is_bot": false,
"headline": "Release 5.1.15 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-20T13:40:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "333c5a030e2ee68ba08c43c5021d8dbf1724cef5",
"body": null,
"is_bot": false,
"headline": "Backport changelog changes for 3.x",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-20T13:38:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "266eb637236f654a6ec6ef58fd12213e1bafe35b",
"body": null,
"is_bot": false,
"headline": "Remove debug code",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-20T12:56:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6a94d3f8dc71513864f2e9ae9c5a4130511b34c",
"body": null,
"is_bot": false,
"headline": "Do not allow to pollute pool",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-20T12:56:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93fe197416c337bb732e2665be2c60968379dc73",
"body": null,
"is_bot": false,
"headline": "Reduce ID size",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-20T09:11:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4b7a9a7323006474ec939112aec68944b0da097",
"body": null,
"is_bot": false,
"headline": "Release 5.1.14 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T19:16:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6bf3469b5b33137e385e07dc1c84779cf3e38956",
"body": null,
"is_bot": false,
"headline": "Update release action",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T19:16:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2f1cb65d6031b2a7014c680a8a94729b69a5802",
"body": null,
"is_bot": false,
"headline": "Release 5.1.13 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T19:02:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c04e2544309e730a3b37e12cdd3b4cb8c5005b1f",
"body": null,
"is_bot": false,
"headline": "Update release action",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T19:01:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "625a539cae07a708b269011399d7063d2f70c1fb",
"body": null,
"is_bot": false,
"headline": "Typo",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T18:35:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5583b7f6158c3bef162e12e2a16ca46d3b5a6e7",
"body": null,
"is_bot": false,
"headline": "Release 5.1.12 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T18:31:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77f133b8b8aaa14ee2555ef3385af3e5314b3e33",
"body": null,
"is_bot": false,
"headline": "Fix release workflows",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T18:31:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a55f2d089f8bfd3f55c969087e1211311407cb60",
"body": null,
"is_bot": false,
"headline": "Copy changes from v3 branch",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T17:34:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4eab4631f5ac97e4b789197f6e9749f04f271c8e",
"body": null,
"is_bot": false,
"headline": "Typo",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T17:20:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "261ac052ee893d1d5b0b66cacb08fe1cc64b2d5d",
"body": null,
"is_bot": false,
"headline": "Clean up dev dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T17:19:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eabcadebf7478e4938b183ecafb51049ea86f217",
"body": null,
"is_bot": false,
"headline": "Move to new publish process",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-18T17:14:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a626ca4c81c98ff3a482add3dd5574231727482e",
"body": null,
"is_bot": false,
"headline": "Update dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-16T21:15:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59823d975aa3eddb9d3cd8093d75c7dad190d2a3",
"body": null,
"is_bot": false,
"headline": "Typo",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-16T21:13:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e71d1e3f171323341f29aaaf603d6ff6bb4912be",
"body": null,
"is_bot": false,
"headline": "Use one action to install both Node.js and pnpm",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-06-16T21:12:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78f4a02cbef77d54a64ac0c7adea72aa41e0408b",
"body": "* Update nope-id for benchmark\n\n* Update benchmark results",
"is_bot": false,
"headline": "Update nope-id for benchmark (#593)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-05-25T20:10:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ceeb59a934ce1773565941eae17a986843ea397",
"body": null,
"is_bot": false,
"headline": "Remove old husky dir",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-05-23T20:48:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7d205b7c36d1c2c162a45d1e33a7f6f98b03ec9",
"body": "* Add nope-id to benchmark\n\n* Run benchmarks on PRs\n\n* Update nope-id\n\n* Typo",
"is_bot": false,
"headline": "Add nope-id to benchmark (#591)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-05-23T16:18:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ecd9b6a655680c19182c9799d6d8e5081ee4bd58",
"body": null,
"is_bot": false,
"headline": "Update benchmark in docs",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-05-23T16:18:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e0ec5529ed2de76b99f1fba52488aa270310b58",
"body": null,
"is_bot": false,
"headline": "Update dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-05-22T21:15:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "964d1e0cde31db377a278bbedb50886d8b8f94b8",
"body": "Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.\n- [Release notes](https://github.com/fastify/fast-uri/releases)\n- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: fast-uri\n dependency-version: 3.1.2\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": "Bump fast-uri from 3.1.0 to 3.1.2 (#588)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-09T09:34:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5423cf56499c1ea33ea4bd9fbaab1723083cb659",
"body": null,
"is_bot": false,
"headline": "Release 5.1.11 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T22:06:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21838943da8726c8ee3842c0dd2ed1c332c1b3b5",
"body": null,
"is_bot": false,
"headline": "Backport 3.3.12 changelog",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T22:06:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7087969281cab8ba8ae3babf1894e819068b3bb4",
"body": null,
"is_bot": false,
"headline": "Limit ID even more",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T21:21:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "013517bbe7daeffc3a0f6b288187984f64ac21b8",
"body": null,
"is_bot": false,
"headline": "Temporary add pnpm-workspace.yaml to npm ignore",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T21:20:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5db09ee173cb187e616337148da5bd892d396aa7",
"body": null,
"is_bot": false,
"headline": "Release 5.1.10 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T20:47:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be7901a66cc7f96af71b9854ba794207bb37f676",
"body": null,
"is_bot": false,
"headline": "Fix random pool break",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T20:45:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "974f73b0647439f4484c00712fb5db44214aea45",
"body": null,
"is_bot": false,
"headline": "Structure tests with describe() instead of prefix",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T20:30:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe3e7ec62b9d5b65b6d73fc5a3f3e3d8da5fa623",
"body": null,
"is_bot": false,
"headline": "Update dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T20:23:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "043a7c16dd815d5e1b4133b22d66cd742728b2cc",
"body": null,
"is_bot": false,
"headline": "Move to pnpm 11",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-30T20:22:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e52d94613f0c5542c998a2f7d778295549432389",
"body": null,
"is_bot": false,
"headline": "Release 5.1.9 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-15T14:09:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c0eec606dbaad46ac1ff9e76746f4976908fa16",
"body": null,
"is_bot": false,
"headline": "Remove docs from npm package",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-15T14:09:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11c05dc36170b1e10b3e7bcfb916a9641d854bb7",
"body": null,
"is_bot": false,
"headline": "Release 5.1.8 version (#586)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-15T14:06:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94953dfd3214e7185a02e41d24320af159189598",
"body": null,
"is_bot": false,
"headline": "Fix comment 80 columsn limit (#585)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-15T13:59:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e646618d75fdbbb73aaf41923871f921c12b6f65",
"body": null,
"is_bot": false,
"headline": "Update benchmark (#584)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-15T13:54:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3030b7178552069f6d4eb7519549afc61679294",
"body": null,
"is_bot": false,
"headline": "Improve comments (#583)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-15T13:49:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1acf3711e9c188c36f137a2a840b2f650db1d4d",
"body": "… (#582)\n\n* Use full byte range in customAlphabet\n\n* Add comment to clarify bitmask usage for power-of-two alphabets in customRandom\n\n* Optimise customRandom function to avoid unneccesary if check at runtime\n\n* Update customAlphabet limit in package.json to 193 B\n\n* Document safeByteCutoff and mask usage in customRandom",
"is_bot": false,
"headline": "Use full byte range in customAlphabet (+ ~75% ops / sec optimisation)…",
"author_name": "Denis Saripov",
"author_login": "saripovdenis",
"committed_at": "2026-04-15T13:37:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4e7fbe7d454088423af1178f9b8ff420840d3b8",
"body": null,
"is_bot": false,
"headline": "Re-use var in the price of extra 4 bytes of JS bundle size (#581)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-12T11:39:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "234a6c3217d8dc84460e287af3a2495a176bf8a8",
"body": null,
"is_bot": false,
"headline": "Remove redundant browser step cast (#578)",
"author_name": "Denis Saripov",
"author_login": "saripovdenis",
"committed_at": "2026-04-12T11:36:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7720742677a024a97dfdd6117d225509e3b10bb4",
"body": "…ant (#580)",
"is_bot": false,
"headline": "Do not calculate expression twice in Node.js where size is not import…",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-12T11:32:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3cb59427b1c6df2eb229e3bdda60f2bbc849d58",
"body": null,
"is_bot": false,
"headline": "Temporary fix oxlint in Zed (#579)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-12T11:30:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c12513fb48c1f1dbef3e409ea8ec9660416d320",
"body": null,
"is_bot": false,
"headline": "Optimize customAlphabet rejected-byte handling (#577)",
"author_name": "Denis Saripov",
"author_login": "saripovdenis",
"committed_at": "2026-04-12T11:28:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8c8215227570c0ac66ed71eeeea1e19223b458c",
"body": null,
"is_bot": false,
"headline": "Fix oxlint config (#576)",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-11T22:42:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6004712cee01c038e0ed8b3d7e3a134ef39910de",
"body": null,
"is_bot": false,
"headline": "Fix 0-size browser customAlphabet (#575)",
"author_name": "Denis Saripov",
"author_login": "saripovdenis",
"committed_at": "2026-04-11T17:38:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f434914dfed7854153117162b788b633943420f",
"body": null,
"is_bot": false,
"headline": "Update email",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-07T22:00:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "35741151d169f136d4b8cd1179ed939db2cc801d",
"body": null,
"is_bot": false,
"headline": "Remove shortid from HTML demo to reduce dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-07T21:59:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4bf7b85814ad9425da5df7a461bb363ce2cd1201",
"body": null,
"is_bot": false,
"headline": "Move from Prettier and ESLint to oxfmt and oxlint",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-07T21:55:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "742714645b19f287e06984791c75eeaa630aa27c",
"body": null,
"is_bot": false,
"headline": "Move to Node.js coverage",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-07T21:49:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e822d7f53bfd8e356170148ba34bd0345b7a5b2",
"body": null,
"is_bot": false,
"headline": "Update dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-07T21:48:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "780e841962673e2552efa12732f20b53f89c40ab",
"body": null,
"is_bot": false,
"headline": "Add SECURITY.txt",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-04-07T16:56:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0f90b483aa1130c2512f07aaf026a812ae96060",
"body": null,
"is_bot": false,
"headline": "Update dependencies",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-22T23:49:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9262a1a29a3bb54ff39a19a16f037bf1af63e11a",
"body": null,
"is_bot": false,
"headline": "Run benchmark only on releases",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-22T23:49:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0232baeed59e41f03030fd834c7ec4fdb9c59d1e",
"body": "- Update size comparison from 130 to 118 bytes in all 6 translations\n to match the main README\n- Update React useId link from reactjs.org to react.dev in 5\n translations (id-ID doesn't have this section)",
"is_bot": false,
"headline": "Fix outdated size and links in README translations (#570)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T20:41:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90f047e75a0fed0f7c2be1a7d195a805e4d605d4",
"body": null,
"is_bot": false,
"headline": "Release 5.1.7 version",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-15T20:12:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7071a42b0101e39d21111da72e13c46dc8ae596d",
"body": null,
"is_bot": false,
"headline": "Fix Node.js 18 support in CLI in another way",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-15T18:42:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8239c4bcab57f589615e79319b0f80aff7eca2c5",
"body": null,
"is_bot": false,
"headline": "Fix CLI support for Node.js 18",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-15T18:40:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2db7c6b6c445e5b3cea323367f66c8d6098ae01c",
"body": null,
"is_bot": false,
"headline": "Fix ESLint warnings",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-15T18:34:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1231ca777f5c77e90804b57e30828b63bb5f5090",
"body": null,
"is_bot": false,
"headline": "Update clean-publish and ESLint config",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-15T18:24:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7ca9e9ba122edd34da3f45e270486efe2661e79",
"body": "- Update size comparison from 130 to 118 bytes (matches actual size-limit)\n- Remove duplicate collision calculator link with outdated URL\n- Use ESM import instead of require() in customRandom example\n- Update React useId link to react.dev (reactjs.org is legacy)",
"is_bot": false,
"headline": "Fix outdated info and links in README (#566)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T18:06:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0a30808016ad4f7d2af30a2dc53fada57cfe27f",
"body": null,
"is_bot": false,
"headline": "Clean up code",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-15T18:05:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9be4aa09fbbbbb8fbfd4e12c80428d17c478ecc",
"body": "Support -v/--version to print the current package version.",
"is_bot": false,
"headline": "Add --version flag to CLI (#563)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T18:05:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d6f2ffb1a42cba8da12684d0b033910ba570420",
"body": null,
"is_bot": false,
"headline": "Improve prebuild control",
"author_name": "Andrey Sitnik",
"author_login": "ai",
"committed_at": "2026-03-15T18:03:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8fba79dbfd8547b10d7192d4d75f38e91141c81",
"body": "Replace alex7kom.github.io/nano-nanoid-cc with\nzelark.github.io/nano-id-cc across all 6 translations\nto match the main README.",
"is_bot": false,
"headline": "Update collision calculator URL in all README translations (#568)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T17:57:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a1873f73f7b6ee678843e7a977978231f886dc00",
"body": "- Change require('nanoid') to ESM import in customAlphabet example\n- Fix nanoid/format to nanoid in customRandom example (nanoid/format\n does not exist)",
"is_bot": false,
"headline": "Fix incorrect import paths in JSDoc examples (#567)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T17:56:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2cb5255fe653fd3cb1729a378097a2287a50d9d5",
"body": "- Remove unused **/errors.ts from ESLint ignores (no such file in project)\n- Use import.meta.dirname in check-versions.js (consistent with update-prebuild.js)\n- Use node: protocol for built-in imports in check-versions.js",
"is_bot": false,
"headline": "Clean up config files (#564)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T17:05:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d9f2262932c560caf68be303e0ceabfa88f78ae",
"body": "task.result.hz was removed in tinybench v6. Use\ntask.result.throughput.mean instead.",
"is_bot": false,
"headline": "Fix benchmark for tinybench v6 (#565)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T17:03:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e0ab5d1bbd4250159b79d29367f1b0edd7e207b",
"body": "- Test nanoid(1000) generates correct length with valid characters\n- Test non-secure nanoid(0) returns empty string\n- Test non-secure customAlphabet with 0 size returns empty string\n- Test urlAlphabet has exactly 64 symbols",
"is_bot": false,
"headline": "Add edge case tests for large IDs and zero-size generation (#562)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T16:33:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96869c703f2b3d7fd084a75324a0b5ef06183fa6",
"body": "The update-prebuild.js script used replaceAll('urlAlphabet', 'a')\nto inline the alphabet, but index.browser.js now uses\nscopedUrlAlphabet (imported as alias). Since replaceAll is\ncase-sensitive, 'urlAlphabet' did not match the uppercase 'Url'\nin 'scopedUrlAlphabet', producing broken output referencing an\nundefined variable.\n\nThis also regenerates nanoid.js which was stale and missing the\n|= 0 pool pollution fix from v5.0.9.\n\nCo-authored-by: Andrey Sitnik <andrey@sitnik.ru>",
"is_bot": false,
"headline": "fix: update prebuild script and regenerate nanoid.js (#558)",
"author_name": "Mahmoud Hamdy",
"author_login": "mahmoodhamdi",
"committed_at": "2026-03-15T16:28:39Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 31,
"commits_last_year": 122,
"latest_release_at": "2026-07-12T15:10:46Z",
"latest_release_tag": "6.0.0",
"releases_from_tags": false,
"days_since_last_push": 6,
"active_weeks_last_year": 19,
"days_since_latest_release": 10,
"mean_days_between_releases": 2.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 57,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "nanoid",
"exists": true,
"license": "MIT",
"keywords": [
"id",
"random",
"url",
"uuid"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/nanoid",
"is_deprecated": false,
"latest_version": "6.0.0",
"repository_url": "https://github.com/ai/nanoid",
"versions_count": 129,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 931275534,
"first_published_at": "2017-08-06T05:04:00.915000Z",
"latest_published_at": "2026-07-12T15:11:38.825000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 10
}
]
},
"popularity": {
"forks": 863,
"stars": 26896,
"watchers": 156,
"fork_history": {
"days": [
{
"date": "2017-08-06",
"count": 6
},
{
"date": "2017-08-07",
"count": 5
},
{
"date": "2017-08-08",
"count": 8
},
{
"date": "2017-08-09",
"count": 5
},
{
"date": "2017-08-10",
"count": 1
},
{
"date": "2017-08-11",
"count": 3
},
{
"date": "2017-08-13",
"count": 3
},
{
"date": "2017-08-14",
"count": 1
},
{
"date": "2017-08-15",
"count": 2
},
{
"date": "2017-08-17",
"count": 4
},
{
"date": "2017-08-18",
"count": 1
},
{
"date": "2017-08-19",
"count": 2
},
{
"date": "2017-08-21",
"count": 1
},
{
"date": "2017-08-23",
"count": 1
},
{
"date": "2017-08-31",
"count": 1
},
{
"date": "2017-09-01",
"count": 4
},
{
"date": "2017-09-02",
"count": 1
},
{
"date": "2017-09-03",
"count": 1
},
{
"date": "2017-09-04",
"count": 2
},
{
"date": "2017-09-07",
"count": 1
},
{
"date": "2017-09-12",
"count": 6
},
{
"date": "2017-09-13",
"count": 4
},
{
"date": "2017-09-14",
"count": 2
},
{
"date": "2017-09-15",
"count": 1
},
{
"date": "2017-09-16",
"count": 2
},
{
"date": "2017-09-17",
"count": 1
},
{
"date": "2017-09-18",
"count": 1
},
{
"date": "2017-09-20",
"count": 1
},
{
"date": "2017-09-23",
"count": 1
},
{
"date": "2017-09-24",
"count": 1
},
{
"date": "2017-09-30",
"count": 1
},
{
"date": "2017-10-10",
"count": 2
},
{
"date": "2017-11-14",
"count": 1
},
{
"date": "2017-12-24",
"count": 2
},
{
"date": "2018-01-02",
"count": 1
},
{
"date": "2018-01-07",
"count": 1
},
{
"date": "2018-01-21",
"count": 1
},
{
"date": "2018-02-03",
"count": 1
},
{
"date": "2018-02-04",
"count": 1
},
{
"date": "2018-02-05",
"count": 1
},
{
"date": "2018-02-13",
"count": 1
},
{
"date": "2018-02-23",
"count": 1
},
{
"date": "2018-03-10",
"count": 1
},
{
"date": "2018-04-17",
"count": 1
},
{
"date": "2018-04-23",
"count": 1
},
{
"date": "2018-05-01",
"count": 1
},
{
"date": "2018-05-31",
"count": 1
},
{
"date": "2018-06-22",
"count": 1
},
{
"date": "2018-07-05",
"count": 2
},
{
"date": "2018-07-14",
"count": 1
},
{
"date": "2018-07-16",
"count": 2
},
{
"date": "2018-07-24",
"count": 1
},
{
"date": "2018-08-08",
"count": 1
},
{
"date": "2018-08-09",
"count": 1
},
{
"date": "2018-08-12",
"count": 1
},
{
"date": "2018-08-15",
"count": 1
},
{
"date": "2018-08-16",
"count": 1
},
{
"date": "2018-08-18",
"count": 1
},
{
"date": "2018-08-20",
"count": 9
},
{
"date": "2018-08-21",
"count": 6
},
{
"date": "2018-08-22",
"count": 4
},
{
"date": "2018-08-23",
"count": 1
},
{
"date": "2018-08-24",
"count": 1
},
{
"date": "2018-08-30",
"count": 1
},
{
"date": "2018-09-02",
"count": 1
},
{
"date": "2018-09-04",
"count": 1
},
{
"date": "2018-09-06",
"count": 2
},
{
"date": "2018-09-10",
"count": 1
},
{
"date": "2018-09-11",
"count": 1
},
{
"date": "2018-09-12",
"count": 1
},
{
"date": "2018-09-19",
"count": 3
},
{
"date": "2018-09-21",
"count": 1
},
{
"date": "2018-09-26",
"count": 2
},
{
"date": "2018-09-27",
"count": 1
},
{
"date": "2018-09-28",
"count": 1
},
{
"date": "2018-10-02",
"count": 2
},
{
"date": "2018-10-08",
"count": 2
},
{
"date": "2018-10-09",
"count": 1
},
{
"date": "2018-10-10",
"count": 1
},
{
"date": "2018-10-12",
"count": 1
},
{
"date": "2018-10-14",
"count": 1
},
{
"date": "2018-10-18",
"count": 1
},
{
"date": "2018-10-22",
"count": 1
},
{
"date": "2018-10-27",
"count": 1
},
{
"date": "2018-11-01",
"count": 1
},
{
"date": "2018-11-02",
"count": 1
},
{
"date": "2018-11-06",
"count": 1
},
{
"date": "2018-11-09",
"count": 1
},
{
"date": "2018-11-16",
"count": 1
},
{
"date": "2018-11-19",
"count": 1
},
{
"date": "2018-11-22",
"count": 1
},
{
"date": "2018-11-23",
"count": 1
},
{
"date": "2018-11-28",
"count": 1
},
{
"date": "2018-12-08",
"count": 1
},
{
"date": "2018-12-17",
"count": 1
},
{
"date": "2018-12-27",
"count": 1
},
{
"date": "2018-12-31",
"count": 1
},
{
"date": "2019-01-03",
"count": 1
},
{
"date": "2019-01-17",
"count": 1
},
{
"date": "2019-02-19",
"count": 1
},
{
"date": "2019-03-08",
"count": 1
},
{
"date": "2019-03-23",
"count": 1
},
{
"date": "2019-03-25",
"count": 2
},
{
"date": "2019-03-26",
"count": 1
},
{
"date": "2019-03-27",
"count": 1
},
{
"date": "2019-04-05",
"count": 1
},
{
"date": "2019-04-12",
"count": 1
},
{
"date": "2019-04-18",
"count": 1
},
{
"date": "2019-04-30",
"count": 1
},
{
"date": "2019-05-05",
"count": 1
},
{
"date": "2019-05-08",
"count": 1
},
{
"date": "2019-05-15",
"count": 1
},
{
"date": "2019-05-25",
"count": 1
},
{
"date": "2019-05-30",
"count": 1
},
{
"date": "2019-06-01",
"count": 1
},
{
"date": "2019-06-11",
"count": 1
},
{
"date": "2019-07-11",
"count": 1
},
{
"date": "2019-07-29",
"count": 1
},
{
"date": "2019-08-01",
"count": 1
},
{
"date": "2019-08-22",
"count": 1
},
{
"date": "2019-08-26",
"count": 1
},
{
"date": "2019-08-28",
"count": 1
},
{
"date": "2019-08-31",
"count": 1
},
{
"date": "2019-09-11",
"count": 1
},
{
"date": "2019-09-12",
"count": 1
},
{
"date": "2019-09-17",
"count": 1
},
{
"date": "2019-10-10",
"count": 1
},
{
"date": "2019-10-13",
"count": 1
},
{
"date": "2019-10-15",
"count": 2
},
{
"date": "2019-10-23",
"count": 1
},
{
"date": "2019-10-31",
"count": 1
},
{
"date": "2019-11-01",
"count": 1
},
{
"date": "2019-11-07",
"count": 1
},
{
"date": "2019-11-08",
"count": 1
},
{
"date": "2019-11-09",
"count": 1
},
{
"date": "2019-11-10",
"count": 2
},
{
"date": "2019-11-11",
"count": 1
},
{
"date": "2019-11-12",
"count": 1
},
{
"date": "2019-11-14",
"count": 2
},
{
"date": "2019-11-19",
"count": 2
},
{
"date": "2019-11-23",
"count": 1
},
{
"date": "2019-12-04",
"count": 1
},
{
"date": "2019-12-06",
"count": 1
},
{
"date": "2019-12-09",
"count": 1
},
{
"date": "2019-12-11",
"count": 1
},
{
"date": "2019-12-14",
"count": 1
},
{
"date": "2019-12-17",
"count": 1
},
{
"date": "2019-12-21",
"count": 2
},
{
"date": "2019-12-23",
"count": 1
},
{
"date": "2019-12-26",
"count": 1
},
{
"date": "2020-01-07",
"count": 1
},
{
"date": "2020-01-15",
"count": 1
},
{
"date": "2020-01-22",
"count": 1
},
{
"date": "2020-01-28",
"count": 2
},
{
"date": "2020-02-07",
"count": 1
},
{
"date": "2020-02-19",
"count": 2
},
{
"date": "2020-02-20",
"count": 1
},
{
"date": "2020-02-22",
"count": 1
},
{
"date": "2020-02-23",
"count": 1
},
{
"date": "2020-03-03",
"count": 1
},
{
"date": "2020-03-04",
"count": 1
},
{
"date": "2020-03-08",
"count": 1
},
{
"date": "2020-03-16",
"count": 1
},
{
"date": "2020-03-25",
"count": 2
},
{
"date": "2020-03-28",
"count": 1
},
{
"date": "2020-03-29",
"count": 2
},
{
"date": "2020-03-30",
"count": 1
},
{
"date": "2020-03-31",
"count": 1
},
{
"date": "2020-04-08",
"count": 1
},
{
"date": "2020-04-10",
"count": 1
},
{
"date": "2020-04-12",
"count": 1
},
{
"date": "2020-04-13",
"count": 1
},
{
"date": "2020-04-22",
"count": 1
},
{
"date": "2020-05-03",
"count": 2
},
{
"date": "2020-05-04",
"count": 1
},
{
"date": "2020-05-05",
"count": 1
},
{
"date": "2020-05-08",
"count": 2
},
{
"date": "2020-05-09",
"count": 1
},
{
"date": "2020-05-10",
"count": 1
},
{
"date": "2020-05-13",
"count": 1
},
{
"date": "2020-05-19",
"count": 1
},
{
"date": "2020-05-20",
"count": 1
},
{
"date": "2020-05-30",
"count": 1
},
{
"date": "2020-05-31",
"count": 3
},
{
"date": "2020-06-01",
"count": 1
},
{
"date": "2020-06-02",
"count": 1
},
{
"date": "2020-06-03",
"count": 1
},
{
"date": "2020-06-05",
"count": 3
},
{
"date": "2020-06-14",
"count": 1
},
{
"date": "2020-06-20",
"count": 1
},
{
"date": "2020-06-21",
"count": 1
},
{
"date": "2020-07-07",
"count": 1
},
{
"date": "2020-07-16",
"count": 1
},
{
"date": "2020-07-18",
"count": 1
},
{
"date": "2020-07-22",
"count": 1
},
{
"date": "2020-07-27",
"count": 1
},
{
"date": "2020-08-03",
"count": 1
},
{
"date": "2020-08-06",
"count": 1
},
{
"date": "2020-08-07",
"count": 1
},
{
"date": "2020-08-08",
"count": 1
},
{
"date": "2020-08-09",
"count": 1
},
{
"date": "2020-08-10",
"count": 1
},
{
"date": "2020-08-14",
"count": 1
},
{
"date": "2020-08-16",
"count": 1
},
{
"date": "2020-08-17",
"count": 1
},
{
"date": "2020-08-22",
"count": 1
},
{
"date": "2020-09-08",
"count": 1
},
{
"date": "2020-09-10",
"count": 1
},
{
"date": "2020-09-12",
"count": 1
},
{
"date": "2020-09-30",
"count": 1
},
{
"date": "2020-10-01",
"count": 1
},
{
"date": "2020-10-07",
"count": 1
},
{
"date": "2020-10-09",
"count": 1
},
{
"date": "2020-10-11",
"count": 1
},
{
"date": "2020-10-15",
"count": 1
},
{
"date": "2020-10-17",
"count": 1
},
{
"date": "2020-10-22",
"count": 1
},
{
"date": "2020-10-23",
"count": 2
},
{
"date": "2020-10-25",
"count": 2
},
{
"date": "2020-11-02",
"count": 1
},
{
"date": "2020-11-04",
"count": 3
},
{
"date": "2020-11-09",
"count": 1
},
{
"date": "2020-11-12",
"count": 1
},
{
"date": "2020-11-13",
"count": 1
},
{
"date": "2020-11-16",
"count": 1
},
{
"date": "2020-11-17",
"count": 1
},
{
"date": "2020-11-30",
"count": 2
},
{
"date": "2020-12-09",
"count": 1
},
{
"date": "2020-12-11",
"count": 1
},
{
"date": "2020-12-14",
"count": 1
},
{
"date": "2020-12-17",
"count": 1
},
{
"date": "2020-12-23",
"count": 1
},
{
"date": "2020-12-24",
"count": 2
},
{
"date": "2020-12-25",
"count": 1
},
{
"date": "2020-12-26",
"count": 1
},
{
"date": "2020-12-31",
"count": 1
},
{
"date": "2021-01-10",
"count": 1
},
{
"date": "2021-01-12",
"count": 2
},
{
"date": "2021-01-18",
"count": 1
},
{
"date": "2021-01-23",
"count": 2
},
{
"date": "2021-01-26",
"count": 3
},
{
"date": "2021-01-27",
"count": 1
},
{
"date": "2021-01-29",
"count": 1
},
{
"date": "2021-02-01",
"count": 1
},
{
"date": "2021-02-10",
"count": 1
},
{
"date": "2021-02-11",
"count": 1
},
{
"date": "2021-02-17",
"count": 2
},
{
"date": "2021-02-20",
"count": 1
},
{
"date": "2021-02-22",
"count": 1
},
{
"date": "2021-02-28",
"count": 1
},
{
"date": "2021-03-15",
"count": 1
},
{
"date": "2021-03-19",
"count": 1
},
{
"date": "2021-03-22",
"count": 2
},
{
"date": "2021-03-23",
"count": 1
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-09",
"count": 1
},
{
"date": "2021-04-16",
"count": 2
},
{
"date": "2021-04-17",
"count": 1
},
{
"date": "2021-05-05",
"count": 1
},
{
"date": "2021-05-07",
"count": 1
},
{
"date": "2021-05-23",
"count": 1
},
{
"date": "2021-05-25",
"count": 1
},
{
"date": "2021-05-27",
"count": 1
},
{
"date": "2021-06-02",
"count": 1
},
{
"date": "2021-06-09",
"count": 1
},
{
"date": "2021-06-11",
"count": 2
},
{
"date": "2021-06-12",
"count": 1
},
{
"date": "2021-06-13",
"count": 1
},
{
"date": "2021-06-16",
"count": 1
},
{
"date": "2021-06-18",
"count": 1
},
{
"date": "2021-06-29",
"count": 1
},
{
"date": "2021-06-30",
"count": 1
},
{
"date": "2021-07-02",
"count": 1
},
{
"date": "2021-07-05",
"count": 1
},
{
"date": "2021-07-06",
"count": 1
},
{
"date": "2021-07-07",
"count": 2
},
{
"date": "2021-07-12",
"count": 1
},
{
"date": "2021-07-14",
"count": 1
},
{
"date": "2021-07-15",
"count": 2
},
{
"date": "2021-07-21",
"count": 1
},
{
"date": "2021-07-28",
"count": 1
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2021-08-01",
"count": 1
},
{
"date": "2021-08-02",
"count": 1
},
{
"date": "2021-08-06",
"count": 1
},
{
"date": "2021-08-07",
"count": 1
},
{
"date": "2021-08-09",
"count": 1
},
{
"date": "2021-08-12",
"count": 1
},
{
"date": "2021-08-13",
"count": 1
},
{
"date": "2021-08-15",
"count": 1
},
{
"date": "2021-08-19",
"count": 2
},
{
"date": "2021-08-26",
"count": 1
},
{
"date": "2021-09-01",
"count": 1
},
{
"date": "2021-09-07",
"count": 1
},
{
"date": "2021-09-08",
"count": 1
},
{
"date": "2021-09-09",
"count": 1
},
{
"date": "2021-09-14",
"count": 2
},
{
"date": "2021-09-17",
"count": 1
},
{
"date": "2021-09-20",
"count": 1
},
{
"date": "2021-09-23",
"count": 1
},
{
"date": "2021-09-24",
"count": 1
},
{
"date": "2021-09-25",
"count": 1
},
{
"date": "2021-09-28",
"count": 1
},
{
"date": "2021-09-30",
"count": 1
},
{
"date": "2021-10-12",
"count": 1
},
{
"date": "2021-10-14",
"count": 1
},
{
"date": "2021-10-18",
"count": 1
},
{
"date": "2021-10-19",
"count": 1
},
{
"date": "2021-10-20",
"count": 1
},
{
"date": "2021-10-26",
"count": 2
},
{
"date": "2021-10-30",
"count": 1
},
{
"date": "2021-10-31",
"count": 1
},
{
"date": "2021-11-03",
"count": 3
},
{
"date": "2021-11-04",
"count": 1
},
{
"date": "2021-11-06",
"count": 1
},
{
"date": "2021-11-07",
"count": 2
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-11-16",
"count": 1
},
{
"date": "2021-11-17",
"count": 1
},
{
"date": "2021-11-20",
"count": 1
},
{
"date": "2021-11-24",
"count": 1
},
{
"date": "2021-12-02",
"count": 1
},
{
"date": "2021-12-03",
"count": 1
},
{
"date": "2021-12-05",
"count": 1
},
{
"date": "2021-12-07",
"count": 1
},
{
"date": "2021-12-09",
"count": 1
},
{
"date": "2021-12-10",
"count": 2
},
{
"date": "2021-12-13",
"count": 1
},
{
"date": "2021-12-14",
"count": 2
},
{
"date": "2021-12-17",
"count": 1
},
{
"date": "2021-12-20",
"count": 1
},
{
"date": "2021-12-22",
"count": 1
},
{
"date": "2021-12-30",
"count": 1
},
{
"date": "2022-01-03",
"count": 1
},
{
"date": "2022-01-05",
"count": 1
},
{
"date": "2022-01-11",
"count": 2
},
{
"date": "2022-01-12",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-15",
"count": 1
},
{
"date": "2022-01-16",
"count": 1
},
{
"date": "2022-01-20",
"count": 2
},
{
"date": "2022-01-22",
"count": 2
},
{
"date": "2022-01-23",
"count": 1
},
{
"date": "2022-01-24",
"count": 1
},
{
"date": "2022-01-27",
"count": 1
},
{
"date": "2022-02-07",
"count": 1
},
{
"date": "2022-02-10",
"count": 2
},
{
"date": "2022-02-12",
"count": 1
},
{
"date": "2022-02-25",
"count": 1
},
{
"date": "2022-02-28",
"count": 1
},
{
"date": "2022-03-02",
"count": 1
},
{
"date": "2022-03-10",
"count": 1
},
{
"date": "2022-03-11",
"count": 1
},
{
"date": "2022-03-14",
"count": 1
},
{
"date": "2022-03-18",
"count": 1
},
{
"date": "2022-03-23",
"count": 1
},
{
"date": "2022-03-24",
"count": 1
},
{
"date": "2022-03-26",
"count": 1
},
{
"date": "2022-03-27",
"count": 2
},
{
"date": "2022-03-28",
"count": 1
},
{
"date": "2022-03-29",
"count": 3
},
{
"date": "2022-03-30",
"count": 1
},
{
"date": "2022-03-31",
"count": 3
},
{
"date": "2022-04-06",
"count": 3
},
{
"date": "2022-04-08",
"count": 1
},
{
"date": "2022-04-09",
"count": 1
},
{
"date": "2022-04-14",
"count": 1
},
{
"date": "2022-04-18",
"count": 1
},
{
"date": "2022-04-19",
"count": 2
},
{
"date": "2022-04-20",
"count": 2
},
{
"date": "2022-04-21",
"count": 1
},
{
"date": "2022-04-26",
"count": 1
},
{
"date": "2022-04-28",
"count": 2
},
{
"date": "2022-04-29",
"count": 1
},
{
"date": "2022-04-30",
"count": 1
},
{
"date": "2022-05-05",
"count": 2
},
{
"date": "2022-05-06",
"count": 1
},
{
"date": "2022-05-09",
"count": 1
},
{
"date": "2022-05-11",
"count": 1
},
{
"date": "2022-05-16",
"count": 1
},
{
"date": "2022-05-17",
"count": 1
},
{
"date": "2022-05-25",
"count": 2
},
{
"date": "2022-05-29",
"count": 1
},
{
"date": "2022-05-31",
"count": 1
},
{
"date": "2022-06-02",
"count": 1
},
{
"date": "2022-06-06",
"count": 4
},
{
"date": "2022-06-07",
"count": 1
},
{
"date": "2022-06-08",
"count": 1
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-11",
"count": 1
},
{
"date": "2022-06-13",
"count": 1
},
{
"date": "2022-06-14",
"count": 1
},
{
"date": "2022-06-16",
"count": 1
},
{
"date": "2022-06-17",
"count": 2
},
{
"date": "2022-06-20",
"count": 1
},
{
"date": "2022-06-24",
"count": 1
},
{
"date": "2022-06-30",
"count": 3
},
{
"date": "2022-07-02",
"count": 2
},
{
"date": "2022-07-03",
"count": 1
},
{
"date": "2022-07-04",
"count": 1
},
{
"date": "2022-07-05",
"count": 1
},
{
"date": "2022-07-13",
"count": 1
},
{
"date": "2022-07-18",
"count": 1
},
{
"date": "2022-08-01",
"count": 1
},
{
"date": "2022-08-04",
"count": 2
},
{
"date": "2022-08-05",
"count": 1
},
{
"date": "2022-08-06",
"count": 1
},
{
"date": "2022-08-11",
"count": 1
},
{
"date": "2022-08-14",
"count": 1
},
{
"date": "2022-08-17",
"count": 1
},
{
"date": "2022-08-18",
"count": 1
},
{
"date": "2022-08-24",
"count": 2
},
{
"date": "2022-08-25",
"count": 1
},
{
"date": "2022-08-31",
"count": 1
},
{
"date": "2022-09-11",
"count": 2
},
{
"date": "2022-09-12",
"count": 1
},
{
"date": "2022-09-13",
"count": 2
},
{
"date": "2022-09-15",
"count": 1
},
{
"date": "2022-09-22",
"count": 3
},
{
"date": "2022-09-23",
"count": 1
},
{
"date": "2022-09-24",
"count": 1
},
{
"date": "2022-09-27",
"count": 1
},
{
"date": "2022-09-30",
"count": 1
},
{
"date": "2022-10-02",
"count": 1
},
{
"date": "2022-10-05",
"count": 1
},
{
"date": "2022-10-10",
"count": 1
},
{
"date": "2022-10-12",
"count": 1
},
{
"date": "2022-10-13",
"count": 1
},
{
"date": "2022-10-19",
"count": 1
},
{
"date": "2022-10-21",
"count": 1
},
{
"date": "2022-10-23",
"count": 2
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-10-29",
"count": 2
},
{
"date": "2022-11-01",
"count": 2
},
{
"date": "2022-11-03",
"count": 1
},
{
"date": "2022-11-08",
"count": 1
},
{
"date": "2022-11-10",
"count": 1
},
{
"date": "2022-11-16",
"count": 2
},
{
"date": "2022-11-25",
"count": 1
},
{
"date": "2022-11-29",
"count": 1
},
{
"date": "2022-12-03",
"count": 1
},
{
"date": "2022-12-06",
"count": 2
},
{
"date": "2022-12-08",
"count": 1
},
{
"date": "2022-12-13",
"count": 1
},
{
"date": "2022-12-14",
"count": 1
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-19",
"count": 1
},
{
"date": "2022-12-20",
"count": 2
},
{
"date": "2022-12-27",
"count": 3
},
{
"date": "2022-12-29",
"count": 2
},
{
"date": "2022-12-30",
"count": 1
},
{
"date": "2023-01-08",
"count": 1
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-01-13",
"count": 2
},
{
"date": "2023-01-14",
"count": 2
},
{
"date": "2023-01-17",
"count": 1
},
{
"date": "2023-01-18",
"count": 1
},
{
"date": "2023-02-06",
"count": 1
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-09",
"count": 1
},
{
"date": "2023-02-12",
"count": 1
},
{
"date": "2023-02-14",
"count": 1
},
{
"date": "2023-02-18",
"count": 1
},
{
"date": "2023-02-21",
"count": 2
},
{
"date": "2023-02-23",
"count": 1
},
{
"date": "2023-02-28",
"count": 1
},
{
"date": "2023-03-01",
"count": 1
},
{
"date": "2023-03-06",
"count": 2
},
{
"date": "2023-03-15",
"count": 1
},
{
"date": "2023-03-24",
"count": 2
},
{
"date": "2023-03-28",
"count": 1
},
{
"date": "2023-04-06",
"count": 1
},
{
"date": "2023-04-08",
"count": 1
},
{
"date": "2023-04-10",
"count": 1
},
{
"date": "2023-04-11",
"count": 1
},
{
"date": "2023-04-18",
"count": 1
},
{
"date": "2023-04-20",
"count": 1
},
{
"date": "2023-04-28",
"count": 2
},
{
"date": "2023-05-24",
"count": 1
},
{
"date": "2023-05-25",
"count": 1
},
{
"date": "2023-05-29",
"count": 1
},
{
"date": "2023-06-01",
"count": 1
},
{
"date": "2023-06-12",
"count": 1
},
{
"date": "2023-06-14",
"count": 1
},
{
"date": "2023-06-15",
"count": 2
},
{
"date": "2023-06-21",
"count": 1
},
{
"date": "2023-06-24",
"count": 1
},
{
"date": "2023-06-28",
"count": 1
},
{
"date": "2023-07-21",
"count": 1
},
{
"date": "2023-07-27",
"count": 1
},
{
"date": "2023-07-30",
"count": 1
},
{
"date": "2023-08-01",
"count": 3
},
{
"date": "2023-08-02",
"count": 1
},
{
"date": "2023-08-03",
"count": 1
},
{
"date": "2023-08-16",
"count": 1
},
{
"date": "2023-08-21",
"count": 1
},
{
"date": "2023-08-23",
"count": 1
},
{
"date": "2023-08-29",
"count": 1
},
{
"date": "2023-08-31",
"count": 1
},
{
"date": "2023-09-07",
"count": 1
},
{
"date": "2023-09-13",
"count": 1
},
{
"date": "2023-09-18",
"count": 1
},
{
"date": "2023-09-27",
"count": 1
},
{
"date": "2023-09-29",
"count": 1
},
{
"date": "2023-10-03",
"count": 1
},
{
"date": "2023-10-04",
"count": 1
},
{
"date": "2023-10-07",
"count": 1
},
{
"date": "2023-10-15",
"count": 1
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-10-20",
"count": 1
},
{
"date": "2023-11-03",
"count": 1
},
{
"date": "2023-11-04",
"count": 1
},
{
"date": "2023-11-28",
"count": 2
},
{
"date": "2023-11-30",
"count": 1
},
{
"date": "2023-12-01",
"count": 1
},
{
"date": "2023-12-03",
"count": 1
},
{
"date": "2023-12-20",
"count": 2
},
{
"date": "2023-12-23",
"count": 1
},
{
"date": "2023-12-25",
"count": 1
},
{
"date": "2023-12-26",
"count": 1
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-01-03",
"count": 1
},
{
"date": "2024-01-04",
"count": 2
},
{
"date": "2024-01-11",
"count": 1
},
{
"date": "2024-01-16",
"count": 1
},
{
"date": "2024-01-19",
"count": 1
},
{
"date": "2024-01-21",
"count": 2
},
{
"date": "2024-01-27",
"count": 1
},
{
"date": "2024-01-31",
"count": 1
},
{
"date": "2024-02-06",
"count": 1
},
{
"date": "2024-02-07",
"count": 1
},
{
"date": "2024-02-08",
"count": 1
},
{
"date": "2024-02-13",
"count": 1
},
{
"date": "2024-02-14",
"count": 1
},
{
"date": "2024-02-15",
"count": 1
},
{
"date": "2024-02-27",
"count": 1
},
{
"date": "2024-02-28",
"count": 1
},
{
"date": "2024-03-18",
"count": 1
},
{
"date": "2024-03-19",
"count": 1
},
{
"date": "2024-03-22",
"count": 1
},
{
"date": "2024-04-07",
"count": 1
},
{
"date": "2024-04-08",
"count": 1
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-04-12",
"count": 1
},
{
"date": "2024-04-13",
"count": 1
},
{
"date": "2024-04-22",
"count": 1
},
{
"date": "2024-04-30",
"count": 2
},
{
"date": "2024-05-03",
"count": 1
},
{
"date": "2024-05-05",
"count": 1
},
{
"date": "2024-05-08",
"count": 1
},
{
"date": "2024-05-21",
"count": 1
},
{
"date": "2024-06-02",
"count": 1
},
{
"date": "2024-06-04",
"count": 1
},
{
"date": "2024-06-10",
"count": 1
},
{
"date": "2024-06-11",
"count": 1
},
{
"date": "2024-06-14",
"count": 1
},
{
"date": "2024-06-24",
"count": 8
},
{
"date": "2024-06-25",
"count": 1
},
{
"date": "2024-07-02",
"count": 1
},
{
"date": "2024-07-08",
"count": 1
},
{
"date": "2024-07-12",
"count": 1
},
{
"date": "2024-07-17",
"count": 1
},
{
"date": "2024-07-19",
"count": 1
},
{
"date": "2024-07-25",
"count": 1
},
{
"date": "2024-07-30",
"count": 1
},
{
"date": "2024-08-05",
"count": 1
},
{
"date": "2024-08-06",
"count": 1
},
{
"date": "2024-08-14",
"count": 1
},
{
"date": "2024-08-18",
"count": 1
},
{
"date": "2024-09-02",
"count": 1
},
{
"date": "2024-09-03",
"count": 1
},
{
"date": "2024-09-15",
"count": 1
},
{
"date": "2024-09-18",
"count": 1
},
{
"date": "2024-09-24",
"count": 1
},
{
"date": "2024-10-02",
"count": 1
},
{
"date": "2024-10-03",
"count": 1
},
{
"date": "2024-10-22",
"count": 1
},
{
"date": "2024-10-27",
"count": 1
},
{
"date": "2024-10-29",
"count": 1
},
{
"date": "2024-10-30",
"count": 1
},
{
"date": "2024-10-31",
"count": 1
},
{
"date": "2024-11-08",
"count": 1
},
{
"date": "2024-11-10",
"count": 1
},
{
"date": "2024-11-11",
"count": 1
},
{
"date": "2024-11-23",
"count": 1
},
{
"date": "2024-11-25",
"count": 1
},
{
"date": "2024-12-14",
"count": 1
},
{
"date": "2024-12-16",
"count": 1
},
{
"date": "2024-12-22",
"count": 1
},
{
"date": "2024-12-26",
"count": 1
},
{
"date": "2025-01-02",
"count": 1
},
{
"date": "2025-01-03",
"count": 1
},
{
"date": "2025-01-05",
"count": 1
},
{
"date": "2025-01-06",
"count": 1
},
{
"date": "2025-01-08",
"count": 1
},
{
"date": "2025-01-09",
"count": 1
},
{
"date": "2025-01-14",
"count": 1
},
{
"date": "2025-01-21",
"count": 1
},
{
"date": "2025-01-23",
"count": 1
},
{
"date": "2025-01-26",
"count": 1
},
{
"date": "2025-01-31",
"count": 1
},
{
"date": "2025-02-11",
"count": 1
},
{
"date": "2025-02-14",
"count": 1
},
{
"date": "2025-02-19",
"count": 1
},
{
"date": "2025-03-01",
"count": 1
},
{
"date": "2025-03-04",
"count": 1
},
{
"date": "2025-03-07",
"count": 1
},
{
"date": "2025-03-09",
"count": 1
},
{
"date": "2025-03-11",
"count": 1
},
{
"date": "2025-03-14",
"count": 1
},
{
"date": "2025-03-16",
"count": 2
},
{
"date": "2025-03-28",
"count": 1
},
{
"date": "2025-04-08",
"count": 1
},
{
"date": "2025-04-13",
"count": 1
},
{
"date": "2025-04-16",
"count": 1
},
{
"date": "2025-04-18",
"count": 1
},
{
"date": "2025-04-22",
"count": 1
},
{
"date": "2025-04-23",
"count": 1
},
{
"date": "2025-05-02",
"count": 1
},
{
"date": "2025-05-06",
"count": 1
},
{
"date": "2025-05-20",
"count": 1
},
{
"date": "2025-05-24",
"count": 1
},
{
"date": "2025-06-10",
"count": 1
},
{
"date": "2025-06-19",
"count": 1
},
{
"date": "2025-06-22",
"count": 1
},
{
"date": "2025-06-23",
"count": 1
},
{
"date": "2025-06-28",
"count": 1
},
{
"date": "2025-07-07",
"count": 1
},
{
"date": "2025-07-14",
"count": 1
},
{
"date": "2025-09-18",
"count": 1
},
{
"date": "2025-09-27",
"count": 1
},
{
"date": "2025-10-14",
"count": 1
},
{
"date": "2025-10-21",
"count": 2
},
{
"date": "2025-10-27",
"count": 1
},
{
"date": "2025-11-02",
"count": 1
},
{
"date": "2025-11-03",
"count": 2
},
{
"date": "2025-11-12",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2025-12-07",
"count": 1
},
{
"date": "2026-01-03",
"count": 1
},
{
"date": "2026-01-15",
"count": 1
},
{
"date": "2026-01-27",
"count": 1
},
{
"date": "2026-01-28",
"count": 1
},
{
"date": "2026-02-07",
"count": 1
},
{
"date": "2026-02-10",
"count": 1
},
{
"date": "2026-02-24",
"count": 2
},
{
"date": "2026-02-28",
"count": 1
},
{
"date": "2026-03-01",
"count": 1
},
{
"date": "2026-03-04",
"count": 1
},
{
"date": "2026-03-13",
"count": 2
},
{
"date": "2026-03-15",
"count": 1
},
{
"date": "2026-03-18",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-03-30",
"count": 1
},
{
"date": "2026-04-02",
"count": 1
},
{
"date": "2026-04-07",
"count": 1
},
{
"date": "2026-04-11",
"count": 2
},
{
"date": "2026-04-29",
"count": 1
},
{
"date": "2026-05-10",
"count": 1
},
{
"date": "2026-05-17",
"count": 1
},
{
"date": "2026-05-18",
"count": 1
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-05-25",
"count": 1
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-05-29",
"count": 2
},
{
"date": "2026-06-01",
"count": 1
},
{
"date": "2026-06-04",
"count": 1
},
{
"date": "2026-06-07",
"count": 1
},
{
"date": "2026-06-11",
"count": 1
},
{
"date": "2026-06-18",
"count": 1
},
{
"date": "2026-06-19",
"count": 2
},
{
"date": "2026-06-22",
"count": 1
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-06-30",
"count": 1
},
{
"date": "2026-07-07",
"count": 1
},
{
"date": "2026-07-09",
"count": 1
},
{
"date": "2026-07-10",
"count": 1
},
{
"date": "2026-07-13",
"count": 1
},
{
"date": "2026-07-16",
"count": 1
},
{
"date": "2026-07-21",
"count": 1
}
],
"complete": true,
"collected": 856,
"total_forks": 863
},
"star_history": null,
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 9559,
"source_files_sampled": 21,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "fast-uri",
"direct": false,
"version": "3.1.3",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-v2hh-gcrm-f6hx"
],
"fixed_version": "4.1.1",
"advisory_count": 1,
"oldest_advisory_days": 0
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 206,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@emnapi/core",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/source-map",
"direct": false,
"version": "0.3.11",
"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": "@logux/oxc-configs",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "@lukeed/csprng",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@lukeed/uuid",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-android-arm-eabi",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-android-arm64",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-darwin-arm64",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-darwin-x64",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-freebsd-x64",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-linux-arm-gnueabihf",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-linux-arm64-gnu",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-linux-arm64-musl",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-linux-x64-gnu",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-linux-x64-musl",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-win32-arm64-msvc",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-win32-ia32-msvc",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/uuid-win32-x64-msvc",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.139.0",
"ecosystem": "npm"
},
{
"name": "@oxlint-tsgolint/darwin-arm64",
"direct": false,
"version": "0.24.0",
"ecosystem": "npm"
},
{
"name": "@oxlint-tsgolint/darwin-x64",
"direct": false,
"version": "0.24.0",
"ecosystem": "npm"
},
{
"name": "@oxlint-tsgolint/linux-arm64",
"direct": false,
"version": "0.24.0",
"ecosystem": "npm"
},
{
"name": "@oxlint-tsgolint/linux-x64",
"direct": false,
"version": "0.24.0",
"ecosystem": "npm"
},
{
"name": "@oxlint-tsgolint/win32-arm64",
"direct": false,
"version": "0.24.0",
"ecosystem": "npm"
},
{
"name": "@oxlint-tsgolint/win32-x64",
"direct": false,
"version": "0.24.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-android-arm-eabi",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-android-arm64",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-darwin-arm64",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-darwin-x64",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-freebsd-x64",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-arm-musleabihf",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-arm64-gnu",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-arm64-musl",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-ppc64-gnu",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-riscv64-gnu",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-riscv64-musl",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-s390x-gnu",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-x64-gnu",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-linux-x64-musl",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-openharmony-arm64",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-win32-arm64-msvc",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-win32-ia32-msvc",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@oxlint/binding-win32-x64-msvc",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-ppc64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-s390x-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@size-limit/file",
"direct": false,
"version": "12.1.0",
"ecosystem": "npm"
},
{
"name": "@size-limit/webpack",
"direct": false,
"version": "12.1.0",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.3",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "26.1.1",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-aix-ppc64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-darwin-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-darwin-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-freebsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-freebsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-arm",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-loong64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-mips64el",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-ppc64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-riscv64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-s390x",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-netbsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-netbsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-openbsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-openbsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-sunos-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-win32-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-win32-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/ast",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/floating-point-hex-parser",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-api-error",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-buffer",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-numbers",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-wasm-bytecode",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-wasm-section",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/ieee754",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/leb128",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/utf8",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-edit",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-gen",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-opt",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-parser",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wast-printer",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@xtuc/ieee754",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@xtuc/long",
"direct": false,
"version": "4.2.2",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-import-phases",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "actions-up",
"direct": false,
"version": "1.16.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "ajv-keywords",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "ansi-colors",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.42",
"ecosystem": "npm"
},
{
"name": "better-node-test",
"direct": false,
"version": "0.8.4",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.5",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "bytes-iec",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001803",
"ecosystem": "npm"
},
{
"name": "chrome-trace-event",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "2.20.3",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.389",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.24.2",
"ecosystem": "npm"
},
{
"name": "enquirer",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-prefer-let",
"direct": false,
"version": "4.2.2",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "events",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "jest-worker",
"direct": false,
"version": "27.5.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "lightningcss",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-android-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-freebsd-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm-gnueabihf",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-arm64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-x64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lilconfig",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "loader-runner",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.54.0",
"ecosystem": "npm"
},
{
"name": "minimizer-webpack-plugin",
"direct": false,
"version": "5.6.1",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.15",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "5.1.16",
"ecosystem": "npm"
},
{
"name": "nanospinner",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "neo-async",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.51",
"ecosystem": "npm"
},
{
"name": "nope-id",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "oxlint",
"direct": false,
"version": "1.73.0",
"ecosystem": "npm"
},
{
"name": "oxlint-tsgolint",
"direct": false,
"version": "0.24.0",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.16",
"ecosystem": "npm"
},
{
"name": "random-bytes",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "requireindex",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "rndm",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "rolldown",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "schema-utils",
"direct": false,
"version": "4.3.3",
"ecosystem": "npm"
},
{
"name": "secure-random-string",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"ecosystem": "npm"
},
{
"name": "simple-git-hooks",
"direct": false,
"version": "2.13.1",
"ecosystem": "npm"
},
{
"name": "size-limit",
"direct": false,
"version": "12.1.0",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.21",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "terser",
"direct": false,
"version": "5.49.0",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "uid",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "uid-safe",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "14.0.1",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "8.1.4",
"ecosystem": "npm"
},
{
"name": "watchpack",
"direct": false,
"version": "2.5.2",
"ecosystem": "npm"
},
{
"name": "webpack",
"direct": false,
"version": "5.108.4",
"ecosystem": "npm"
},
{
"name": "webpack-sources",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 206,
"direct_count": 0,
"indirect_count": 206
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 244,
"open_issues": 0,
"closed_ratio": 1,
"closed_issues": 263,
"closed_unmerged_prs": 56
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "ai",
"commits": 1020,
"avatar_url": "https://avatars.githubusercontent.com/u/19343?v=4"
},
{
"type": "User",
"login": "telesvar",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/36963426?v=4"
},
{
"type": "User",
"login": "mahmoodhamdi",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/148990144?v=4"
},
{
"type": "User",
"login": "subzey",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/810582?v=4"
},
{
"type": "User",
"login": "CyberAP",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/1462706?v=4"
},
{
"type": "User",
"login": "saripovdenis",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/74184888?v=4"
},
{
"type": "User",
"login": "MaxGraey",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/1301959?v=4"
},
{
"type": "User",
"login": "myndzi",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/1588419?v=4"
},
{
"type": "User",
"login": "polemius",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/48512663?v=4"
},
{
"type": "User",
"login": "gwer",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/6529684?v=4"
}
],
"contributors_sampled": 99,
"top_contributor_share": 0.861
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"benchmark.yml",
"jsr.yml",
"release.yml",
"test.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": true,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"pnpm-lock.yaml"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "2 out of 2 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": 0,
"reason": "Found 1/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 15 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": 0,
"reason": "project is not 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 6 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": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 10,
"reason": "all dependencies are pinned",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 5,
"reason": "SAST tool is not run on all commits -- score normalized to 5",
"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": 9,
"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": 9,
"reason": "1 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "c6246e036ca5e7a1d362c1a80726bab63b767754",
"ran_at": "2026-07-22T16:05:54Z",
"aggregate_score": 7.1,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-21T14:47:46Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-12T08:21:54Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/ai/nanoid",
"host": "github.com",
"name": "nanoid",
"owner": "ai"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": "High-Risk Jurisdiction Policy applies a 50% multiplier to weighted overall health and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "jurisdiction_overall_adjustment",
"params": {
"cap": 49,
"pct": 50
}
}
],
"value": 36,
"inputs": {
"security": 49,
"vitality": 86,
"community": 81,
"governance": 69,
"engineering": 66,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 50,
"weighted_overall_before_jurisdiction": 71,
"overall_after_jurisdiction_multiplier": 36
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 86,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"commits_last_year": 122,
"human_commit_share": 0.99,
"days_since_last_push": 6,
"active_weeks_last_year": 19
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "19/52 weeks with commits",
"points": 13.2,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 19
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "122 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 122
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 6 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": 31,
"latest_release_tag": "6.0.0",
"releases_from_tags": false,
"days_since_latest_release": 10,
"mean_days_between_releases": 2.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "31 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 31
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 10 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 10
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~2.7 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 2.7
}
}
],
"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": 6,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 6 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 6
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 81,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 97,
"inputs": {
"forks": 863,
"stars": 26896,
"watchers": 156,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "26,896 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 26896
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "863 forks",
"points": 24.5,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 863
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "156 watchers",
"points": 12.2,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 156
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"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": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"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": 0,
"status": "missed",
"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": [
"nanoid"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 931275534
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "931,275,534 downloads/month across npm",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 931275534,
"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": "moderate",
"name": "Sustainability & Governance",
"value": 69,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 36,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 99,
"top_contributor_share": 0.861
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 86% of commits",
"points": 3.1,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 86
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "99 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 99
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 15 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"merged_prs": 244,
"open_issues": 0,
"closed_issues": 263,
"issue_closed_ratio": 1,
"closed_unmerged_prs": 56
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "100% of issues closed",
"points": 46.8,
"status": "met",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 100
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "244/300 decided PRs merged",
"points": 31.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 244,
"decided": 300
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 1/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 75,
"inputs": {
"followers": 10080,
"owner_type": "User",
"is_verified": null,
"owner_login": "ai",
"public_repos": 102,
"account_age_days": 6562
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "10,080 followers of ai",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 10080,
"login": "ai"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "102 public repos, account ~17 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 102
}
},
{
"code": "account_age_years",
"params": {
"years": 17
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"nanoid"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 10
},
"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 10 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 10
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "129 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 129
}
}
],
"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": "moderate",
"name": "Engineering Quality",
"value": 66,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "4 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 4
}
}
],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": "2 out of 2 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://zelark.github.io/nano-id-cc/",
"has_readme": true,
"has_docs_dir": false,
"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": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://zelark.github.io/nano-id-cc/",
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 49,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 50% multiplier to Security posture and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "jurisdiction_posture_adjustment",
"params": {
"cap": 49,
"pct": 50
}
}
],
"value": 36,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 7.1,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 50,
"security_posture_after_multiplier": 36,
"security_posture_before_jurisdiction": 71
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "2 out of 2 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": "Found 1/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 15 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 not fuzzed",
"points": 0,
"status": "missed",
"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 6 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 not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "all dependencies are pinned",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 5",
"points": 2.5,
"status": "partial",
"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": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "1 existing vulnerabilities detected",
"points": 6.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 206 resolved dependencies against OSV. 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": 206
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 206,
"unassessed_packages": 0,
"affected_by_severity": "high 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": 206,
"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": "moderate",
"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": 50,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": true,
"exposures": [
{
"role": "contributor_organization",
"count": 1,
"country": "Russia"
},
{
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 10
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "Russia: contributor_organization (1); Russia: top_contributor (1)",
"points": 50,
"status": "partial",
"details": [
{
"code": "jurisdiction_exposure",
"params": {
"role": "contributor_organization",
"count": 1,
"country": "Russia"
}
},
{
"code": "jurisdiction_exposure_next",
"params": {
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
}
],
"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": "at_risk",
"name": "AI Readiness",
"value": 38,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 13,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.242,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"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": "24 of 99 human commits state their intent (structured subject or explanatory body)",
"points": 12.9,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 24,
"sampled": 99
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"pnpm-lock.yaml"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.01
},
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "1 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "all dependencies are pinned",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "JavaScript",
"largest_source_bytes": 9559,
"source_files_sampled": 21,
"oversized_source_files": 0
},
"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": "0/21 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 21,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"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:nanoid@6.0.0; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-22T16:06:15.544811Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/ai/nanoid.svg",
"full_name": "ai/nanoid",
"license_state": "standard",
"license_spdx": "MIT"
}