Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 7037,
"has_wiki": true,
"homepage": "https://firebase.google.com/docs/functions/",
"languages": {
"Shell": 20783,
"Dockerfile": 377,
"JavaScript": 450195,
"TypeScript": 1372542
},
"pushed_at": "2026-07-20T23:02:06Z",
"created_at": "2016-09-22T23:13:54Z",
"owner_type": "Organization",
"updated_at": "2026-07-19T05:22:56Z",
"description": "Firebase SDK for Cloud Functions",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript",
"JavaScript"
]
},
"owner": {
"blog": "firebase.google.com",
"name": "Firebase",
"type": "Organization",
"login": "firebase",
"company": null,
"location": "San Francisco, CA",
"followers": 7149,
"avatar_url": "https://avatars.githubusercontent.com/u/1335026?v=4",
"created_at": "2012-01-16T21:44:16Z",
"is_verified": null,
"public_repos": 102,
"account_age_days": 5299
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v7.3.0",
"kind": "minor",
"published_at": "2026-07-16T23:56:27Z"
},
{
"tag": "v7.2.5",
"kind": "patch",
"published_at": "2026-04-08T22:17:02Z"
},
{
"tag": "v7.2.4",
"kind": "patch",
"published_at": "2026-04-08T20:32:56Z"
},
{
"tag": "v7.2.3",
"kind": "patch",
"published_at": "2026-04-03T18:34:08Z"
},
{
"tag": "v7.2.2",
"kind": "patch",
"published_at": "2026-03-17T18:40:05Z"
},
{
"tag": "v7.2.1",
"kind": "patch",
"published_at": "2026-03-17T18:01:34Z"
},
{
"tag": "v7.2.0",
"kind": "minor",
"published_at": "2026-03-16T22:21:45Z"
},
{
"tag": "v7.1.1",
"kind": "patch",
"published_at": "2026-03-09T18:05:55Z"
},
{
"tag": "v7.1.0",
"kind": "minor",
"published_at": "2026-03-05T18:25:03Z"
},
{
"tag": "v7.0.6",
"kind": "patch",
"published_at": "2026-02-26T01:16:02Z"
},
{
"tag": "v7.0.5",
"kind": "patch",
"published_at": "2026-01-28T22:23:39Z"
},
{
"tag": "v7.0.3",
"kind": "patch",
"published_at": "2026-01-08T22:39:51Z"
},
{
"tag": "v7.0.2",
"kind": "patch",
"published_at": "2025-12-16T20:59:55Z"
},
{
"tag": "v7.0.1",
"kind": "patch",
"published_at": "2025-12-04T17:12:57Z"
},
{
"tag": "v7.0.0",
"kind": "major",
"published_at": "2025-11-10T19:32:37Z"
},
{
"tag": "v6.6.0",
"kind": "minor",
"published_at": "2025-10-20T21:03:30Z"
},
{
"tag": "v6.5.0",
"kind": "minor",
"published_at": "2025-10-08T21:10:37Z"
},
{
"tag": "v6.4.0",
"kind": "minor",
"published_at": "2025-07-15T19:25:52Z"
},
{
"tag": "v6.3.1",
"kind": "patch",
"published_at": "2025-01-31T20:09:53Z"
},
{
"tag": "v6.3.0",
"kind": "minor",
"published_at": "2025-01-24T22:22:12Z"
},
{
"tag": "v6.2.0",
"kind": "minor",
"published_at": "2024-12-19T23:08:20Z"
},
{
"tag": "v6.1.2",
"kind": "patch",
"published_at": "2024-12-09T19:17:29Z"
},
{
"tag": "v6.1.1",
"kind": "patch",
"published_at": "2024-11-21T22:44:48Z"
},
{
"tag": "v6.1.0",
"kind": "minor",
"published_at": "2024-10-22T19:21:32Z"
},
{
"tag": "v6.0.1",
"kind": "patch",
"published_at": "2024-09-16T17:32:55Z"
},
{
"tag": "v6.0.0",
"kind": "major",
"published_at": "2024-09-10T21:07:06Z"
},
{
"tag": "v5.1.1",
"kind": "patch",
"published_at": "2024-08-30T18:29:30Z"
},
{
"tag": "v5.1.0",
"kind": "minor",
"published_at": "2024-08-19T21:11:20Z"
},
{
"tag": "v5.0.1",
"kind": "patch",
"published_at": "2024-05-03T15:06:55Z"
},
{
"tag": "v5.0.0",
"kind": "major",
"published_at": "2024-05-01T18:39:43Z"
},
{
"tag": "v4.9.0",
"kind": "minor",
"published_at": "2024-04-04T20:06:37Z"
},
{
"tag": "v4.8.2",
"kind": "patch",
"published_at": "2024-03-29T15:03:53Z"
},
{
"tag": "v4.8.1",
"kind": "patch",
"published_at": "2024-03-19T18:05:56Z"
},
{
"tag": "v4.8.0",
"kind": "minor",
"published_at": "2024-03-08T01:18:44Z"
},
{
"tag": "v4.7.0",
"kind": "minor",
"published_at": "2024-02-07T15:39:08Z"
},
{
"tag": "v4.6.0",
"kind": "minor",
"published_at": "2024-01-03T23:31:36Z"
},
{
"tag": "v4.5.0",
"kind": "minor",
"published_at": "2023-11-02T18:23:31Z"
},
{
"tag": "v4.4.1",
"kind": "patch",
"published_at": "2023-06-12T20:49:18Z"
},
{
"tag": "v4.4.0",
"kind": "minor",
"published_at": "2023-05-08T19:19:05Z"
},
{
"tag": "v4.3.1",
"kind": "patch",
"published_at": "2023-04-20T14:11:16Z"
},
{
"tag": "v4.3.0",
"kind": "minor",
"published_at": "2023-04-13T21:15:49Z"
},
{
"tag": "v4.2.1",
"kind": "patch",
"published_at": "2023-02-02T19:33:29Z"
},
{
"tag": "v4.2.0",
"kind": "minor",
"published_at": "2023-01-19T22:56:57Z"
},
{
"tag": "v4.1.1",
"kind": "patch",
"published_at": "2022-12-12T21:01:59Z"
},
{
"tag": "v4.1.0",
"kind": "minor",
"published_at": "2022-11-17T17:05:30Z"
},
{
"tag": "v4.0.2",
"kind": "patch",
"published_at": "2022-11-01T20:20:11Z"
},
{
"tag": "v4.0.1",
"kind": "patch",
"published_at": "2022-10-18T13:24:08Z"
},
{
"tag": "v4.0.0",
"kind": "major",
"published_at": "2022-10-17T14:54:11Z"
},
{
"tag": "v3.24.1",
"kind": "patch",
"published_at": "2022-09-30T18:02:04Z"
},
{
"tag": "v3.24.0",
"kind": "minor",
"published_at": "2022-09-21T18:58:35Z"
},
{
"tag": "v3.23.0",
"kind": "minor",
"published_at": "2022-08-31T20:33:30Z"
},
{
"tag": "v3.22.0",
"kind": "minor",
"published_at": "2022-06-29T18:49:20Z"
},
{
"tag": "v3.21.2",
"kind": "patch",
"published_at": "2022-05-17T18:40:07Z"
},
{
"tag": "v3.21.1",
"kind": "patch",
"published_at": "2022-05-11T21:39:25Z"
},
{
"tag": "v3.21.0",
"kind": "minor",
"published_at": "2022-05-05T20:01:40Z"
},
{
"tag": "v3.20.1",
"kind": "patch",
"published_at": "2022-04-14T17:56:56Z"
},
{
"tag": "v3.20.0",
"kind": "minor",
"published_at": "2022-04-04T20:57:47Z"
},
{
"tag": "v3.19.0",
"kind": "minor",
"published_at": "2022-03-16T18:16:13Z"
},
{
"tag": "v3.18.1",
"kind": "patch",
"published_at": "2022-02-18T18:23:20Z"
},
{
"tag": "v3.18.0",
"kind": "minor",
"published_at": "2022-02-11T00:22:12Z"
},
{
"tag": "v3.17.2",
"kind": "patch",
"published_at": "2022-02-07T18:47:44Z"
},
{
"tag": "v3.17.1",
"kind": "patch",
"published_at": "2022-02-04T15:50:33Z"
},
{
"tag": "v3.17.0",
"kind": "minor",
"published_at": "2022-02-03T22:30:19Z"
},
{
"tag": "v3.16.0",
"kind": "minor",
"published_at": "2021-10-28T20:27:52Z"
},
{
"tag": "v3.15.7",
"kind": "patch",
"published_at": "2021-09-20T18:37:52Z"
},
{
"tag": "v3.15.6",
"kind": "patch",
"published_at": "2021-09-15T19:31:16Z"
},
{
"tag": "v3.15.5",
"kind": "patch",
"published_at": "2021-09-01T20:35:42Z"
},
{
"tag": "v3.15.4",
"kind": "patch",
"published_at": "2021-08-16T21:57:03Z"
},
{
"tag": "v3.15.3",
"kind": "patch",
"published_at": "2021-08-13T19:03:27Z"
},
{
"tag": "v3.15.2",
"kind": "patch",
"published_at": "2021-08-12T19:54:59Z"
},
{
"tag": "v3.15.1",
"kind": "patch",
"published_at": "2021-08-11T23:59:52Z"
},
{
"tag": "v3.15.0",
"kind": "minor",
"published_at": "2021-08-11T22:09:56Z"
},
{
"tag": "v3.14.1",
"kind": "patch",
"published_at": "2021-05-17T21:12:50Z"
},
{
"tag": "v3.13.3",
"kind": "patch",
"published_at": "2021-05-17T20:35:18Z"
},
{
"tag": "v3.14.0",
"kind": "minor",
"published_at": "2021-05-12T20:09:28Z"
},
{
"tag": "v3.13.2",
"kind": "patch",
"published_at": "2021-02-22T18:01:47Z"
},
{
"tag": "v3.13.1",
"kind": "patch",
"published_at": "2021-01-15T18:47:27Z"
},
{
"tag": "v3.13.0",
"kind": "minor",
"published_at": "2020-12-07T23:48:58Z"
},
{
"tag": "v3.12.0",
"kind": "minor",
"published_at": "2020-11-30T21:54:41Z"
},
{
"tag": "v3.11.0",
"kind": "minor",
"published_at": "2020-08-21T16:10:19Z"
},
{
"tag": "v3.10.0",
"kind": "minor",
"published_at": "2020-08-20T16:00:16Z"
},
{
"tag": "v3.9.1",
"kind": "patch",
"published_at": "2020-08-12T19:59:02Z"
},
{
"tag": "v3.9.0",
"kind": "minor",
"published_at": "2020-07-31T23:21:09Z"
},
{
"tag": "v3.8.0",
"kind": "minor",
"published_at": "2020-07-14T00:00:54Z"
},
{
"tag": "v3.7.0",
"kind": "minor",
"published_at": "2020-06-09T23:18:48Z"
},
{
"tag": "v3.6.2",
"kind": "patch",
"published_at": "2020-05-28T17:29:05Z"
},
{
"tag": "v3.6.1",
"kind": "patch",
"published_at": "2020-04-24T17:29:42Z"
},
{
"tag": "v3.6.0",
"kind": "minor",
"published_at": "2020-03-31T23:03:07Z"
},
{
"tag": "v3.5.0",
"kind": "minor",
"published_at": "2020-03-20T18:18:30Z"
},
{
"tag": "v3.4.0",
"kind": "minor",
"published_at": "2020-03-19T18:10:25Z"
},
{
"tag": "v3.3.0",
"kind": "minor",
"published_at": "2019-10-10T21:58:22Z"
},
{
"tag": "v3.2.0",
"kind": "minor",
"published_at": "2019-07-24T20:39:27Z"
},
{
"tag": "v3.1.0",
"kind": "minor",
"published_at": "2019-07-08T22:36:09Z"
},
{
"tag": "v3.0.2",
"kind": "patch",
"published_at": "2019-06-25T23:38:52Z"
},
{
"tag": "v3.0.1",
"kind": "patch",
"published_at": "2019-06-12T23:35:01Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2019-06-12T22:57:38Z"
},
{
"tag": "v2.3.1",
"kind": "patch",
"published_at": "2019-05-09T18:19:29Z"
},
{
"tag": "v2.3.0",
"kind": "minor",
"published_at": "2019-04-18T22:47:02Z"
},
{
"tag": "v2.2.1",
"kind": "patch",
"published_at": "2019-03-20T20:44:21Z"
},
{
"tag": "v2.2.0",
"kind": "minor",
"published_at": "2019-01-31T22:22:39Z"
}
],
"recent_commits": [
{
"oid": "ce42106760149bf1ef656ced487187ce10cdcc52",
"body": "In PR #1926, afterFirstDeploy and afterRedeploy were moved from\ntop-level v2/index.ts exports to deep import paths\n(firebase-functions/v2/lifecycle), causing api-extractor to stop\ndiscovering them during documentation extraction. This PR explicitly\nexports lifecycle in the documentation-only entrypo\n[…]\nfterRedeploy(), and their\naction types (LifecycleAction, TaskAction, CallAction, HttpAction) show\nup cleanly on the DevSite 2nd Gen API reference.\n\nrelnote: Bringing in lifecycle triggers into docgen.",
"is_bot": false,
"headline": "Adding lifecycle events in docgen (#1931)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-07-16T22:09:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "923b3a9542120e20b7ee0bb0cb2913b643ba826d",
"body": "# Description\nFixes a bug in `scripts/changelog.sh` where nested regex matches in\n`process_note` would overwrite the global `BASH_REMATCH` array before\nthe outer loop could extract the captured group. This caused the script\nto lose the original PR numbers on wrapped lines, falling back to\nappending the squash merge's PR suffix to all of them.\n\n# Release Notes\nrelnote: none",
"is_bot": false,
"headline": "fix: resolve BASH_REMATCH overwriting in changelog.sh (#1930)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-07-16T21:58:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "642d9017b943201b90469d08afc4e86d3b192f69",
"body": "…1929)\n\n# Description\nFixes Cloud Build substitution errors when running prerelease/force\ndeploys.\nAlso had to change a GitHub repository setting to make sure the commit\nmessage is the PR description. The previous relnotes were lost and are\nadded back here.\n\n# Release Notes\nrelnote: fix: Remove fals\n[…]\nths for\nlifecycle hooks (#1926)\nrelnote: chore: revamp deploy pipeline to be stateless. Changes must now\ninclude relnotes\nrelnote: chore: move the last encrypted keys into Google Cloud Secrets\nManager",
"is_bot": false,
"headline": "fix: resolve Cloud Build invalid argument errors for substitutions (#…",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-07-16T17:04:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "58aadd225171be60c71735fcd779a1b1211dd426",
"body": "* Revamp deploy pipeline to be stateless\n\n* Add missing trailing newline\n\n* chore: Revert back to Node 18+ support for Functions SDK. (#1919)\n\nWhile Node 18 is decomissioned by GCF, it is possible that someone is\nallowlisted to continue deploying runtimes. We don't need this as a\nbreaking change rig\n[…]\ns, decouple changelog, and clean up Twitter broadcast\n\n* fix: change zero-commit check to validate relnote presence instead\n\n---------\n\nCo-authored-by: Andy Perelson <ajperel@users.noreply.github.com>",
"is_bot": false,
"headline": "Revamp deploy pipeline to be stateless (#1925)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-07-16T03:45:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "66a92357ff2a6d26e5451ae3b7a40ca561b5a79f",
"body": "…en (#1927)",
"is_bot": false,
"headline": "chore: suppress new auth triggers and internal pubsub types from docg…",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-07-16T00:37:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85fdeb0e1ad402efe8787db081709912d6107b30",
"body": "This changes how lifecycle features can be found: \n- \"firebase-functions/v2\" -> Not available\n- \"firebase-functions/v2/lifecycle\"` -> Available\n- \"firebase-functions/lifecycle\" -> Available",
"is_bot": false,
"headline": "Add \"v2/lifecycle\" import path (#1926)",
"author_name": "Wanda Mora",
"author_login": "wandamora",
"committed_at": "2026-07-15T21:28:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "188027c9277ee10742296cdbd2dbf1c66dbac347",
"body": "* fix/v2-auth-event-data-unpacking\n\n* Addressing reviews\n\n* Addressing review comments\n\n* Clearing up documentation",
"is_bot": false,
"headline": "fix/v2-auth-event-data-unpacking (#1923)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-07-15T19:03:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f5c10a0a42cca00df5e66b4ac528da8ff8f0e952",
"body": null,
"is_bot": false,
"headline": "fix/v2-docgen-strip-internal (#1924)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-07-15T16:30:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c768f3ffab572a4b434b0898c165a7224a73dccc",
"body": "While Node 18 is decomissioned by GCF, it is possible that someone is\nallowlisted to continue deploying runtimes. We don't need this as a\nbreaking change right now.",
"is_bot": false,
"headline": "chore: Revert back to Node 18+ support for Functions SDK. (#1919)",
"author_name": "Andy Perelson",
"author_login": "ajperel",
"committed_at": "2026-07-10T17:05:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d9230af39160aaca3d7754e75bd3a83de4989cd",
"body": "* Rename lifecycle hooks to match functions vocab\n\nThis renames afterInstall to afterFirstDeploy and afterUpdate to afterRedeploy\nto better mirror functions vocabulary and move away from Extensions\nterms.\n\n* Apply suggestion from @gemini-code-assist[bot]\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "Rename lifecycle hooks to match functions vocab (#1920)",
"author_name": "Wanda Mora",
"author_login": "wandamora",
"committed_at": "2026-07-07T18:43:08Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6835c6144eed1257d7f0570b7177c1f2953ed56e",
"body": "* Improve lifecycle hook documentation\n\n* Remove unnecessary expression transformation for lifecycle hooks",
"is_bot": false,
"headline": "Improve lifecycle hook documentation and type definitions (#1918)",
"author_name": "Wanda Mora",
"author_login": "wandamora",
"committed_at": "2026-07-07T13:22:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5aa37be39ea898627f032fb2980d4c2b0f8c97fa",
"body": "* fix: Remove false warning when using Expression in cors option\n\n* tests: extract CORS expression test helper to reduce duplication\n\n* chore: update CHANGELOG.md\n\n* chore: fix test formatting\n\n* fix\n\n---------\n\nCo-authored-by: Izaak Gough <izaakgough@gmail.com>\nCo-authored-by: Izaak Gough <izaak.gough@invertase.io>",
"is_bot": false,
"headline": "fix: Remove false warning when using Expression in cors option (#1802)",
"author_name": "Hassan Bahati",
"author_login": "HassanBahati",
"committed_at": "2026-07-07T09:47:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ec6a1d23b09690c7899af65888e8907ff322f69",
"body": "* feat: accept Expression for v2 RTDB instance option\n\n* style: fix lint\n\n* test: replace getOpts magic string with name constants\n\n* fix(database): preserve instance param expressions in v2 RTDB triggers\n\n* refactor: cleanup duplication and type casting\n\n---------\n\nCo-authored-by: IzaakGough <izaakgough@gmail.com>",
"is_bot": false,
"headline": "feat: accept Expression for v2 RTDB instance option (#1869)",
"author_name": "Izaak Gough",
"author_login": "IzaakGough",
"committed_at": "2026-07-02T13:26:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9837ad05d3898831e9667e71c1944438e97f5a6b",
"body": "… (#1903)\n\n* fix(cors): defer parameter resolution in https callables and requests\n\n### Description\nFixes an issue where passing a parameterized CORS origin (`Expression`) to HTTPS functions attempts to evaluate the parameter at global module definition time rather than request runtime.\nThis updates\n[…]\n zero regressions.\n\n### Sample Commands\n`npm test`\n\n* merge: resolve merge conflicts in spec/v2/providers/https.spec.ts\n\n* style: run npm run format to fix linting errors\n\n* chore: add changelog entry",
"is_bot": false,
"headline": "fix(cors): defer parameter resolution in https callables and requests…",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-07-01T19:04:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0da4621050435fc91df7311d7028f70df588dd89",
"body": null,
"is_bot": false,
"headline": "fix zizmor findings (#1917)",
"author_name": "Morgan Chen",
"author_login": "morganchen12",
"committed_at": "2026-07-01T00:21:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98a05e2b4f93dadf99ea60fcc09887ff0876d001",
"body": null,
"is_bot": false,
"headline": "wire format for a nonEmpty field in string/[]string param inputs (#1916)",
"author_name": "Victor Fan",
"author_login": "Berlioz",
"committed_at": "2026-06-30T23:04:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7835abcd5871b6b16f504c860b64020b73297434",
"body": null,
"is_bot": false,
"headline": "docs: align docs with actual auth/authType behaviour (#1913)",
"author_name": "Izaak Gough",
"author_login": "IzaakGough",
"committed_at": "2026-06-29T12:25:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e1d42378b2010ff28118635bd0436ef6eb447db",
"body": "* feature: functions can now declare lifecycle hooks\n\n* refactor(lifecycle): improve type safety with union types and preserve falsy body/params in loader\n\n* Add headers to HttpAction\n\n* Address comments\n\n* Clean up use of Expression<String>\n* Directly load from the manifest for hooks\n* Clean up HttpAction def\n* Add lifecycle to index.ts\n* Add empty index.js file for eslint\n\n* Add CHANGELOG",
"is_bot": false,
"headline": "feature: functions can now declare lifecycle hooks (#1915)",
"author_name": "Wanda Mora",
"author_login": "wandamora",
"committed_at": "2026-06-26T17:49:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2afb43fee857c9e137290745eae0bb9bff201bc6",
"body": "* Security audit and dependency remediation for firebase-functions\n\n* Update spec/common/params.spec.ts\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n* Fix upstream CI build issues: add dom to tsconfig.release.json lib and set clean: false in \n[…]\nscovery test\n\n* style: format TS files\n\n* Change IP addr back to localhost for security\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "Security audit and dependency remediation for firebase-functions (#1914)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-06-23T22:47:50Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d5150b69dba2566f96bce319e3d9292cd8eb543c",
"body": "…#1908)\n\n* feat(v2): implement declarative security requiresRole developer API\n\n### Description\nThis change introduces the `requiresRole(role: Role)` developer API to the 2nd generation Cloud Functions for Firebase SDK.\nFunctions can declare necessary GCP/Firebase IAM roles required for correct runt\n[…]\novery tests now pass successfully)\n- `npm run lint` (0 errors)\n\n### Sample Commands\nN/A\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(v2): implement declarative security requiresRole developer API (…",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-06-23T20:55:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "61bb5a25cb1da08ffa849705827f1a556a3601ae",
"body": "* First draft\n\n* adding changelog\n\n* adding changelog\n\n* addressing review feedback\n\n* Apply performance and robustness optimizations from review\n\n* optimizing changes\n\n* gemini review comments\n\n* linting fixes\n\n* Addressing comments\n\n* lint\n\n* addressing comments\n\n* review comments",
"is_bot": false,
"headline": "feature/CF3-Auth-Event-Triggers (#1897)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-06-23T16:07:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6750b6e2616874d404a0e1a63d1ba4bab3e548b8",
"body": "* fix(v2): validate timeoutSeconds per trigger type\n\nThe v2 SDK accepts any timeoutSeconds value at function-definition\ntime and leaves the rejection to the Cloud Functions control plane\nat deploy time. v1 has had assertRuntimeOptionsValid for a long time\nbut v2 was missing the equivalent.\n\nAdd per-\n[…]\n to documentation for maximum timeouts\n\n* docs: add timeout range for identity functions\n\n---------\n\nCo-authored-by: kyungseopk1m <kks0919@kakao.com>\nCo-authored-by: Izaak Gough <izaakgough@gmail.com>",
"is_bot": false,
"headline": "fix(v2): validate timeoutSeconds per trigger type (addition) (#1877)",
"author_name": "Izaak Gough",
"author_login": "IzaakGough",
"committed_at": "2026-06-15T19:10:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3b325ff37376a50452ab7cb48c446af3737931bf",
"body": "…tain Node 20 engine support (#1901)\n\n* Chore: update CI to run on Node 24, drop Node 18 and 20 from CI, maintain Node 20 engine support\n\n* Also update run_tests.sh",
"is_bot": false,
"headline": "Chore: update CI to run on Node 24, drop Node 18 and 20 from CI, main…",
"author_name": "Andy Perelson",
"author_login": "ajperel",
"committed_at": "2026-06-15T18:04:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2321f71f00272f1e9f8f673252bb9e71dd9e415",
"body": "* feat: Add requiresAPI support\n\n### Description\nAdds a new user-facing `requiresAPI` function to declare Google Cloud API dependencies in code. These are appended to the wire protocol manifest.\n\n### Scenarios Tested\n- Unit tests verify that `requiresAPI` correctly populates the `requiredAPIs` field\n[…]\nxture modules from re-executing and re-populating global parameter and API states when loaded a second time via absolute paths.\n\n* style: Auto-format api.ts and add explanatory comment to loader tests",
"is_bot": false,
"headline": "Functions can now declare dependencies on additional APIs (#1900)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-06-12T20:27:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8cb4a5ac9cbe1064481775273757aa02d5cc8177",
"body": "* fix: Call onInit for schedule.onRun functions\n\n* chore: update CHANGELOG.md\n\n* refactor(v1): clarify scheduled context handler wrapping\n\n* fix(v1): correct context handler invocation for scheduled functions\n\n---------\n\nCo-authored-by: Thomas Bouldin <inlined@users.noreply.github.com>\nCo-authored-by: Jacob Cable <32874567+cabljac@users.noreply.github.com>\nCo-authored-by: Corie Watson <watson.corie@gmail.com>",
"is_bot": false,
"headline": "fix(v1): Call onInit for schedule.onRun functions (#1801)",
"author_name": "Hassan Bahati",
"author_login": "HassanBahati",
"committed_at": "2026-05-14T15:55:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb9578cd3653cc50ab9e5365d8b1d1d1e5bc25e3",
"body": "…#1804)\n\n* fix(v2/pubsub): support StringParam for topic in onMessagePublished\n\n* chore: Conditionally set __trigger.resource based on topic type\n\n* tests: fix tests and add additional test\n\n* fix(v2/pubsub): support StringParam as direct topic\n\n* chore: fix linting\n\n---------\n\nCo-authored-by: Izaak Gough <izaakgough@gmail.com>",
"is_bot": false,
"headline": "fix(v2/pubsub): support StringParam for topic in onMessagePublished (…",
"author_name": "Hassan Bahati",
"author_login": "HassanBahati",
"committed_at": "2026-05-12T10:17:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "435f0f85631a84c2c3a4a750d75921e63fea7389",
"body": null,
"is_bot": false,
"headline": "7.2.6-rc.0",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-04-10T18:01:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7958a803d0362b5894e7ffdbd3f525f218f3833f",
"body": "Addresses high/critical vulnerabilities in path-to-regexp, express,\npicomatch, qs, body-parser, node-forge, underscore, ajv, and others.",
"is_bot": false,
"headline": "fix: run npm audit fix to resolve 22 vulnerabilities (#1856)",
"author_name": "Jacob Cable",
"author_login": "cabljac",
"committed_at": "2026-04-09T17:33:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6021df94106b7990593cc2d9a56eeb7108b43d09",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.2.5 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-04-08T22:17:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6c1dcc1376bab04be7ec768005be7a1907522c2",
"body": null,
"is_bot": false,
"headline": "7.2.5",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-04-08T22:16:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd2dae5426ec10dec56a964194bff6c0ac3a88db",
"body": "* Update package.json to export module, add type keyword to type import/export\n\n* Export more stuff\n\n* Restore package-lock.json\n\n* Changelog",
"is_bot": false,
"headline": "Fix exports for new library (#1865)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-04-08T22:00:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d416acae838715a8b9f637c101bde936387d8e5d",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.2.4 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-04-08T20:32:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f21e8d1b84c98a40611d1106957695bfc147dc1",
"body": null,
"is_bot": false,
"headline": "7.2.4",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-04-08T20:32:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1459858da096f25313dd391648ebcaf64f3d0e9b",
"body": "* adding-change-logs\n\n* adding PR number",
"is_bot": false,
"headline": "adding-change-logs (#1867)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-04-08T18:32:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aafbecea34d3120b2cc38be697764d4c66185286",
"body": "* fix(pubsub): assign Message instance back to event.data.message\nThe refactor in 01ed20c that replaced patchV1Compat with addV1Compat\ndropped the mutation of event.data.message, leaving it as a raw POJO\nwithout the .json getter. This caused event.data.message.json to return\nundefined instead of the parsed JSON payload.\nAdd the missing assignment and regression tests that exercise the\nPOJO-to-Message wrapping path the runtime actually delivers.\n\n* fix: lint error.",
"is_bot": false,
"headline": "fix(pubsub): assign Message instance back to event.data.message (#1864)",
"author_name": "Matheus",
"author_login": "swematheus",
"committed_at": "2026-04-08T17:30:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da64c262f30b580be7c8878a3356ed4858d17996",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.2.3 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-04-03T18:34:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8d9c7cd92d60af641d35cff1415601f2aa2bdb4",
"body": null,
"is_bot": false,
"headline": "7.2.3",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-04-03T18:34:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d6a1cf179c3c1f85b773e925ad4fd217232da01",
"body": null,
"is_bot": false,
"headline": "Update changelog (#1858)",
"author_name": "Wanda Mora",
"author_login": "wandamora",
"committed_at": "2026-04-03T18:22:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7eb8206a234617819662b5959d99d6f07f6c09b6",
"body": null,
"is_bot": false,
"headline": "rotate the npmrc key to robot account (#1857)",
"author_name": "Bryan Kendall",
"author_login": "bkendall",
"committed_at": "2026-04-03T17:41:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9186780876bfb8cc9da6d662bbf369aa6d9532ac",
"body": "* Accept BooleanParams in CallableOptions\n\nCallableOptions was not matching the same behavior as HttpsOptions,\nwhere app check env variables should be resolvable. This updates\nenforceAppCheck and consumeAppCheckToken to accept BooleanParams.\n\n* Accept BooleanParams in CallableOptions\n\nCallableOptions was not matching the same behavior as HttpsOptions,\nwhere app check env variables should be resolvable. This updates\nenforceAppCheck and consumeAppCheckToken to accept BooleanParams.",
"is_bot": false,
"headline": "Accept BooleanParams in CallableOptions (#1854)",
"author_name": "Wanda Mora",
"author_login": "wandamora",
"committed_at": "2026-04-02T17:11:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7132584741ad67aa0db01d8c5977836eb0b844a0",
"body": "* Changelog\n\n* Lint. Why did this change other files?\n\n* Make changelog optional in prerelease rather than adding a stupid one\n\n* Fix inverted logic\n\n* Use double brackets for prerelease check\n\n* More brackets is better, right?",
"is_bot": false,
"headline": "Prerelease changelogs are optional (#1852)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-31T18:18:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5063ff0834773e26fb3834e69257d6d13165d442",
"body": "…cking (#1848)\n\n* Implement go/fal-cf3-locality\n\n* Update src/v2/providers/ai/index.ts\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n* Update spec/v2/providers/ai.spec.ts\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n* Formatter\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "Add improved FAL regionality & convert trigger type from HTTPS to blo…",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-25T21:18:50Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a8c9d137833e9fb7a172b15ad5dc669006bdc953",
"body": "* addresses issues with emoji\n\n* fixes minor error",
"is_bot": false,
"headline": "Addresses v1->v2 issues with emoji (#1834)",
"author_name": "brittanycho",
"author_login": "brittanycho",
"committed_at": "2026-03-23T20:05:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd97ef7b7f5d455c817e2bb872f91d0d5fd4dbb5",
"body": "* Add addV1Compat and refactor compat.ts\n\n* Add destructuring support for pubsub\n\n* Lint\n\n* test memoization\n\n* Remove unnecessary casts or anys\n\n* Format\n\n* Inlined.destructuring.tasks (#1844)\n\n* Add destructuring support for tasks\n\n* Add destructuring support for tasks\n\n* Add destructuring support\n[…]\nructuring support for remoteConfig\n\n* Format\n\n* Add destructuring support for database (#1838)\n\n* Add destructuring support for database\n\n* DRY\n\n* Remove unnecessary anys\n\n* Format\n\n* Mega-PR feedback",
"is_bot": false,
"headline": "Re-merge already-reviewed changes (#1846)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-20T18:05:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "01ed20c0f3bcf095241d563a31e97066da0bbc53",
"body": "* Add addV1Compat and refactor compat.ts\n\n* Add destructuring support for pubsub\n\n* Lint\n\n* test memoization\n\n* Remove unnecessary casts or anys\n\n* Format",
"is_bot": false,
"headline": "Destructuring API pt 1: foundation & pubsub (#1837)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-20T16:32:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c2f7c9619603588abe1a9030d1c1d3e427b010ac",
"body": "* Checkpoint. Need to ensure tests use real express and want to support Any decoding\n\n* Ready for review\n\n* Resore depency files\n\n* PR feedback\n\n* Rewriting error preambles",
"is_bot": false,
"headline": "Initial pass for new webhook (#1836)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-18T22:10:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f98c01179f9e511b9876256142ed16d688d24873",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.2.2 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-17T18:40:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de6e483b564d4ecef1a6e15064fc639d4d0e2ef8",
"body": null,
"is_bot": false,
"headline": "7.2.2",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-17T18:39:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13d756994fc2fed76ca945f296be874bc179f251",
"body": "* Allow v2 auth blocking functions to use run.app or cf.net URLs\n\n* Changelog & linter",
"is_bot": false,
"headline": "Allow v2 auth blocking functions to use run.app or cf.net URLs (#1831)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-17T18:29:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a01b599259bd96a4ef64ac99161955be672795f",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.2.1 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-17T18:01:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7354493c7f86356bb49c2450a2a105b1c13011cf",
"body": null,
"is_bot": false,
"headline": "7.2.1",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-17T18:01:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc967cb2a903c90a48860baed8e87cdf464fa57c",
"body": "* migrate GitHub release auth to Secret Manager\n\n* Fixing linting issues",
"is_bot": false,
"headline": "migrate GitHub release auth to Secret Manager (#1821)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-03-17T16:50:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdd7aaa19510fc4e706d6de6d568530a3a5e74e1",
"body": "* Fix a regression where v1 Firestore functions fail if configuration has a leading or trailing slash\n\n* string transformations propagate into interpolations\n\n* Wonky tricks in TransformedExpression to support head/tail transforms\n\n* Changelog",
"is_bot": false,
"headline": "Fix a regression in v1 Firestore functions (#1829)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-17T16:48:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bfdc022d10408716eafc14d6de4e659b07360102",
"body": "* Fix: Data conect graphql nest issue in docgen\n\n* Review changes",
"is_bot": false,
"headline": "Fix: Data conect graphql nest issue in docgen (#1828)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-03-16T22:14:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c96e1ce3bf29ec91bc6f961e46e6e39799a0b0b1",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.2.0 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-16T22:13:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da9cfbabf0d7cd77dfdb41cda3f363f79368f997",
"body": null,
"is_bot": false,
"headline": "7.2.0",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-16T22:13:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb503db303b261f65fca8e1020baf8f0aaecced0",
"body": "* Adds missing Params support in v1 configurability\n\nRequires adding support for new features such as string interpolation (API propsoal oustanding) and value-only transforms (API proposal not outstanding beause the API is not publicly released)\n\n* Add fixes for firestore\n\n* Remove unnecessary toString method\n\n* Format\n\n* Add approved spec for secret params metadata. Used in firebase/skills#20.\n\n* Changelog",
"is_bot": false,
"headline": "Adds missing Params support in v1 configurability (#1820)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-11T23:10:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2e8dabbdf9b6f7672a94d1c650a31203f32c9ec6",
"body": null,
"is_bot": false,
"headline": "7.2.0-rc.0",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-11T05:10:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b4c4a61d8721f66bf624c418c084eff06b99318",
"body": "* add authcontxt params to the DatabaseEvent object\n\n* add unittest\n\n* address review comment\n\n* add authcxt params to RawRTDBCloudEvent and use a type for AuthType values\n\n* fix lint\n\n* use camel to be consistent with other apis\n\n* use camelCase to be consistent with other apis\n\n* fix(database): st\n[…]\n auth context test behavior\n\n* lint\n\n* fix(database): explicitly fallback to unknown AuthType when undefined\n\n---------\n\nCo-authored-by: Kushal Palesha <3357451+kushalpalesha@users.noreply.github.com>",
"is_bot": false,
"headline": "add authcontxt params to the DatabaseEvent object (#1770)",
"author_name": "Kushal Palesha",
"author_login": "kushalpalesha",
"committed_at": "2026-03-10T20:14:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "475e4a6a6017c4084e95f242a9c6fd7f4af9b731",
"body": "* Add support for VPC direct connect\n\n* Robo feedback\n\n* Changelog\n\n* Remove stupid robocast\n\n* Fix changelog style\n\n* PR feedback",
"is_bot": false,
"headline": "Add support for VPC direct connect (#1823)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-03-10T16:38:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "442f39752a85976d78e7ed0efcada9ff35edd4f0",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.1.1 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-09T18:04:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "247cfc061c637e7c57d773331511bdc4161a8ef4",
"body": null,
"is_bot": false,
"headline": "7.1.1",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-09T18:04:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6de454b8a0db77b038369a044e703b5627de5c31",
"body": "* Changelog fix\n\n* lint fix",
"is_bot": false,
"headline": "Changelog fix (#1826)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-03-09T17:55:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "591026b8313a3f22c8a5a1d0658a3b31f7d270a2",
"body": "* Fix missing FDC docs using docgen index workaround\n\n* Update src/v2/index.doc.ts\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix missing FDC docs using docgen index workaround (#1825)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-03-09T17:35:49Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8be58be9629382d3dbd5c115180761dec66305a9",
"body": "Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) to 0.1.12 and updates ancestor dependency [express](https://github.com/expressjs/express). These dependencies need to be updated together.\n\n\nUpdates `path-to-regexp` from 0.1.10 to 0.1.12\n- [Release notes](https://github.com/pillarjs\n[…]\nigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Thomas Bouldin <inlined@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump path-to-regexp and express (#1649)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-05T18:57:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4f7af2dc4994891235ba82da938756166385296b",
"body": "Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.3.1 to 1.3.2.\n- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/digitalbazaar/forge/compare/v1.3.1...v1.3.2)\n\n---\nupdated-dependencies:\n- dependency-name: node-forge\n dependency-version: 1.3.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 node-forge from 1.3.1 to 1.3.2 (#1778)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-05T18:54:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a00c36cc5d9e65d649c4440c928e9c999f781f8e",
"body": "Bumps and [jws](https://github.com/brianloveswords/node-jws). These dependencies needed to be updated together.\n\nUpdates `jws` from 4.0.0 to 4.0.1\n- [Release notes](https://github.com/brianloveswords/node-jws/releases)\n- [Changelog](https://github.com/auth0/node-jws/blob/master/CHANGELOG.md)\n- [Com\n[…]\njws\n dependency-version: 3.2.3\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 jws (#1781)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-05T18:54:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2a884a3064d97d4592539aae008cb83a240b8641",
"body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n dependency-version: 4.17.23\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 lodash from 4.17.21 to 4.17.23 (#1799)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-05T18:49:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c4baa85dd0dfd19c3d3aee0f20e1cfb38f9b9c83",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.1.0 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-05T18:16:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13f485a489346a61d73895b5b06d020d2de18f78",
"body": null,
"is_bot": false,
"headline": "7.1.0",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-03-05T18:16:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85f84e73cad5732bbfd573cbe5459756a6653399",
"body": "* Remove @hidden annotations for custom resolvers.\n\n* Add PR number to changelog.\n\n* Make changelog a little more vague.",
"is_bot": false,
"headline": "Remove @hidden annotations for custom resolvers. (#1818)",
"author_name": "Rosalyn Tan",
"author_login": "rosalyntan",
"committed_at": "2026-03-05T00:06:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bbb4a6a52802c99bf87f28c2833ab19656894a7f",
"body": "* Adding Generic V1 compatability getters for Pubsub\n\n* Gemini Review changes\n\n* lintin errors fix\n\n* Gemini review fixes\n\n* Gemini review changes\n\n* Review changes",
"is_bot": false,
"headline": "Adding Generic V1 compatability getters for Pubsub (#1816)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-02-26T17:46:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71581884b81ba4c9390d3c2d4d66754138008fa1",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.0.6 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-02-26T00:54:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d96f898c5a6228bc1fd18c186b6707a5734ca81",
"body": null,
"is_bot": false,
"headline": "7.0.6",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-02-26T00:54:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c9dc961a2c6d0dfdf8fd699ea861df0166edc67",
"body": "* Add FDC custom scalar types.\n\n* Style nit.\n\n* Update changelog.",
"is_bot": false,
"headline": "Include FDC custom scalar types with schema definition. (#1814)",
"author_name": "Rosalyn Tan",
"author_login": "rosalyntan",
"committed_at": "2026-02-13T18:48:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3651736a2b4f7b8bb672c046e0ee08c873e31511",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.0.5 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-01-28T21:05:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "27b87b1ad95f7ac9d7615cb83ba2c12d41ffbce7",
"body": null,
"is_bot": false,
"headline": "7.0.5",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-01-28T21:05:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "816acceb674d3ae2a1254733683a2aa90de49044",
"body": null,
"is_bot": false,
"headline": "Rotate github key (#1808)",
"author_name": "Thomas Bouldin",
"author_login": "inlined",
"committed_at": "2026-01-28T20:42:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7378afecc81803eef7d203d7ee686842e76ec835",
"body": "* Quick fix changelogs for #1800 pubsub compat\n\n* Fixing lint:prettier error",
"is_bot": false,
"headline": "Quick fix changelogs for #1800 pubsub compat (#1807)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-01-27T23:05:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58a350daebceb18240ec27601799c6ea15328097",
"body": "* Add V1-compatible getters for context and message\n\n* Addressing Gemini review comments\n\n* minor duplication fix\n\n* Addressing Gemini review\n\n* gemini review\n\n* Gemini review comments\n\n* Gemini review comments\n\n* Gemini review comments\n\n* Adding logic to ensure correct V1 name and eventType\n\n* Addressing undefined attributes from V2",
"is_bot": false,
"headline": "Add V1-compatible getters for context and message (#1800)",
"author_name": "shettyvarun268",
"author_login": "shettyvarun268",
"committed_at": "2026-01-27T22:11:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "506cd84ed567f92cc9486c9330e92029c29775f0",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.0.4 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-01-27T22:11:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b64f2ccf70374659c25351e73aaa5efbd9b7472",
"body": null,
"is_bot": false,
"headline": "7.0.4",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-01-27T22:11:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11fcf3d48dd52bed00d3f651e0729059f2bf9a20",
"body": "* Add Firebase Auth token to resolver context.\n\n* Minor tweaks.",
"is_bot": false,
"headline": "Add Firebase Auth token to resolver context (#1796)",
"author_name": "Rosalyn Tan",
"author_login": "rosalyntan",
"committed_at": "2026-01-21T00:00:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf3aaa8ea08e4cf09ef6f7287667055e5982c4a4",
"body": "…doesn't affect other dataconnect methods. (#1795)\n\n* Move `onGraphRequest` into subnamespace.\n\n* Missed changes from last commit.\n\n* Fix tests.\n\n* Make missing Apollo imports a deploy-time and not runtime error.\n\n* Skip packaging check for /graphql endpoint.\n\n* Fix packaging errors.\n\n* Don't export from the top-level module and make and static imports.\n\n* Fix packaging again and s/dataconnect/index.\n\n* Update changelog.",
"is_bot": false,
"headline": "Move `onGraphRequest` to different namespace so `graphql` dependency …",
"author_name": "Rosalyn Tan",
"author_login": "rosalyntan",
"committed_at": "2026-01-16T20:01:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87dcb227eccdbfcdbf5e5f157f85a3eefadc5d1a",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.0.3 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-01-08T22:39:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b654b85503d3eb011e14bfc1d5b89573c47aa090",
"body": null,
"is_bot": false,
"headline": "7.0.3",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2026-01-08T22:39:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f65eaf47710b8f3fd6023d52bc13191f8130719",
"body": null,
"is_bot": false,
"headline": "Hide `onGraphRequest` API for now. (#1792)",
"author_name": "Rosalyn Tan",
"author_login": "rosalyntan",
"committed_at": "2026-01-06T21:36:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7cb2efb40fb1ca6288e75f9a12629fe2f33160f",
"body": "* Initial FDC resolver support in functions SDK.\n\n* Some fixes.\n\n* Some more fixes.\n\n* Add dependency on `graphql`.\n\n* Use Apollo Server v5.\n\n* Fix function to return not a Promise.\n\n* Try to fix package-lock.json.\n\n* Fix some of the error catching.\n\n* Move some errors out of try-catch block.\n\n* Add\n[…]\ngger` instead of an `httpsTrigger`.\n\n* Don't wrap around onRequest.\n\n* Address review comments.\n\n* Add schemaFilePath information to trigger.\n\n* Address review comments.\n\n* A couple docstring updates.",
"is_bot": false,
"headline": "Initial FDC resolver support in functions SDK. (#1784)",
"author_name": "Rosalyn Tan",
"author_login": "rosalyntan",
"committed_at": "2025-12-30T19:14:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cfba53daf531735affdfd9c055ba63ba40948218",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.0.2 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2025-12-16T20:59:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6d5c6645548cf9e71d40bc95d9be6ec9631fadd",
"body": null,
"is_bot": false,
"headline": "7.0.2",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2025-12-16T20:59:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a35cc8789e43e724f72fd5c68d9311e2ded4cc04",
"body": null,
"is_bot": false,
"headline": "7.0.2-rc.0",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2025-12-16T20:37:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb407c6c6d5decb53031348692c537946e457298",
"body": "* fix: export param types from firebase-functions/params\n\nExport SecretParam, JsonSecretParam, StringParam, BooleanParam, IntParam,\nListParam, and Param types to allow users to import them for type annotations.\n\nFixes https://github.com/firebase/firebase-functions/issues/1777\n\n* nit: merge export\n\n* add changelog.\n\n* nit: fix pr link in changelog",
"is_bot": false,
"headline": "fix: export param types from firebase-functions/params (#1789)",
"author_name": "Daniel Lee",
"author_login": "taeold",
"committed_at": "2025-12-16T20:00:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd0e291e2dab6afef8ab15d9724c167712e7901c",
"body": "* fix: allow JsonSecretParam in secrets array\n\nJsonSecretParam was not accepted in the `secrets` option array because:\n\n1. The type was defined as `(string | SecretParam)[]`, excluding JsonSecretParam\n2. Runtime converters only checked for `instanceof SecretParam`\n\nFixes https://github.com/firebase/\n[…]\ne-assist[bot]@users.noreply.github.com>\n\n* nit: remove unused imports\n\n* add changelog.\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "fix: allow JsonSecretParam in secrets array (#1788)",
"author_name": "Daniel Lee",
"author_login": "taeold",
"committed_at": "2025-12-16T19:50:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3577d9ba077c3f39533a7ac0f6fcf71154108699",
"body": "* feat: tie scheduled function attemptDeadline to timeoutSeconds\n\n* feat: tie scheduled function attemptDeadline to timeoutSeconds\n\n* run formatter.\n\n* run formatter.\n\n* nit: fix formatting",
"is_bot": false,
"headline": "feat: remove attemptDeadlineSeconds in v2 scheduled functions (#1776)",
"author_name": "Daniel Lee",
"author_login": "taeold",
"committed_at": "2025-12-10T04:31:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0240893ebbb9482ae53d5cca4e51fa5c094c08d",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.0.1 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2025-12-04T17:12:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54702ee178cff8714dd9708221181a6e30443325",
"body": null,
"is_bot": false,
"headline": "7.0.1",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2025-12-04T17:12:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fca9960e962b9e4d3503d5c788e1ed434cf1bc3a",
"body": null,
"is_bot": false,
"headline": "7.0.1-rc.0",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2025-12-04T16:17:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdeacc367637230580975632b36daff8c808f2b6",
"body": "* fix: Resolve dual-package hazard for params in ESM\n\nWe resolve two critical issues caused by the \"Dual-Package Hazard\" when using `firebase-functions` in ESM projects:\n\n1. Separate instances of the `declaredParams` in `firebase-functions/params` led to params not being detected when used in ESM \n[…]\nile duck-typing or strict class identity checks.\n\nThis ensures that parameterized configuration works correctly regardless of the module system used.\n\n* fix changelog\n\n* clarify comments.\n\n* formatter",
"is_bot": false,
"headline": "fix: Resolve dual-package hazard for params in ESM (#1780)",
"author_name": "Daniel Lee",
"author_login": "taeold",
"committed_at": "2025-12-04T15:57:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2c2c78de64a63ff9dd1e8b8916bb36a05bc2bfc1",
"body": "…1772)\n\n* feat: add attemptDeadlineSeconds support to v2 scheduled functions\n\nAdds attemptDeadlineSeconds to ScheduleOptions and ManifestEndpoint. Updates onSchedule to pass attemptDeadlineSeconds to the manifest. Adds tests for attemptDeadlineSeconds.\n\n* formatter\n\n* Update src/v2/providers/schedul\n[…]\ny: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat: add attemptDeadlineSeconds support to v2 scheduled functions (#…",
"author_name": "Daniel Lee",
"author_login": "taeold",
"committed_at": "2025-11-17T19:31:34Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "53747e502c26780485124eb3e24b9811943c6edb",
"body": null,
"is_bot": false,
"headline": "[firebase-release] Removed change log and reset repo after 7.0.0 release",
"author_name": "Google Open Source Bot",
"author_login": "google-oss-bot",
"committed_at": "2025-11-10T19:32:36Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 126,
"latest_release_at": "2026-07-16T23:56:27Z",
"latest_release_tag": "v7.3.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 26,
"days_since_latest_release": 4,
"mean_days_between_releases": 15.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "firebase-functions",
"exists": true,
"license": "MIT",
"keywords": [
"firebase",
"functions",
"google",
"cloud"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/firebase-functions",
"is_deprecated": false,
"latest_version": "7.3.0",
"repository_url": "https://github.com/firebase/firebase-functions",
"versions_count": 148,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 7877700,
"first_published_at": "2017-03-09T16:08:37.287000Z",
"latest_published_at": "2026-07-16T23:51:16.014000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 4
}
]
},
"popularity": {
"forks": 232,
"stars": 1064,
"watchers": 84,
"fork_history": {
"days": [
{
"date": "2017-03-16",
"count": 1
},
{
"date": "2017-03-19",
"count": 2
},
{
"date": "2017-03-22",
"count": 1
},
{
"date": "2017-03-24",
"count": 1
},
{
"date": "2017-04-18",
"count": 2
},
{
"date": "2017-04-19",
"count": 1
},
{
"date": "2017-05-03",
"count": 1
},
{
"date": "2017-06-13",
"count": 1
},
{
"date": "2017-06-19",
"count": 1
},
{
"date": "2017-07-14",
"count": 1
},
{
"date": "2017-08-16",
"count": 1
},
{
"date": "2017-08-24",
"count": 1
},
{
"date": "2017-08-30",
"count": 1
},
{
"date": "2017-09-30",
"count": 1
},
{
"date": "2017-10-16",
"count": 1
},
{
"date": "2017-10-21",
"count": 1
},
{
"date": "2017-11-10",
"count": 1
},
{
"date": "2017-11-30",
"count": 1
},
{
"date": "2017-12-03",
"count": 1
},
{
"date": "2018-01-10",
"count": 1
},
{
"date": "2018-01-29",
"count": 1
},
{
"date": "2018-02-09",
"count": 1
},
{
"date": "2018-02-17",
"count": 1
},
{
"date": "2018-02-28",
"count": 1
},
{
"date": "2018-03-10",
"count": 1
},
{
"date": "2018-03-23",
"count": 1
},
{
"date": "2018-03-29",
"count": 1
},
{
"date": "2018-04-03",
"count": 1
},
{
"date": "2018-04-04",
"count": 2
},
{
"date": "2018-04-06",
"count": 1
},
{
"date": "2018-04-23",
"count": 1
},
{
"date": "2018-04-24",
"count": 1
},
{
"date": "2018-05-03",
"count": 1
},
{
"date": "2018-05-07",
"count": 1
},
{
"date": "2018-06-09",
"count": 1
},
{
"date": "2018-06-20",
"count": 1
},
{
"date": "2018-06-23",
"count": 1
},
{
"date": "2018-07-02",
"count": 2
},
{
"date": "2018-07-06",
"count": 1
},
{
"date": "2018-07-17",
"count": 1
},
{
"date": "2018-07-31",
"count": 1
},
{
"date": "2018-08-27",
"count": 1
},
{
"date": "2018-09-26",
"count": 1
},
{
"date": "2018-10-15",
"count": 1
},
{
"date": "2018-10-22",
"count": 1
},
{
"date": "2018-10-23",
"count": 1
},
{
"date": "2018-10-31",
"count": 1
},
{
"date": "2018-11-11",
"count": 1
},
{
"date": "2019-01-06",
"count": 1
},
{
"date": "2019-01-08",
"count": 1
},
{
"date": "2019-02-03",
"count": 1
},
{
"date": "2019-02-10",
"count": 1
},
{
"date": "2019-02-21",
"count": 2
},
{
"date": "2019-03-20",
"count": 1
},
{
"date": "2019-05-10",
"count": 1
},
{
"date": "2019-05-14",
"count": 1
},
{
"date": "2019-05-30",
"count": 1
},
{
"date": "2019-06-15",
"count": 1
},
{
"date": "2019-07-11",
"count": 1
},
{
"date": "2019-07-18",
"count": 1
},
{
"date": "2019-07-27",
"count": 1
},
{
"date": "2019-07-30",
"count": 1
},
{
"date": "2019-08-21",
"count": 1
},
{
"date": "2019-08-31",
"count": 1
},
{
"date": "2019-11-05",
"count": 1
},
{
"date": "2019-11-14",
"count": 1
},
{
"date": "2019-11-29",
"count": 1
},
{
"date": "2019-12-03",
"count": 1
},
{
"date": "2020-03-01",
"count": 1
},
{
"date": "2020-03-05",
"count": 1
},
{
"date": "2020-03-13",
"count": 1
},
{
"date": "2020-03-16",
"count": 1
},
{
"date": "2020-03-31",
"count": 1
},
{
"date": "2020-04-03",
"count": 1
},
{
"date": "2020-04-09",
"count": 1
},
{
"date": "2020-04-14",
"count": 1
},
{
"date": "2020-04-22",
"count": 2
},
{
"date": "2020-05-04",
"count": 1
},
{
"date": "2020-05-12",
"count": 1
},
{
"date": "2020-05-18",
"count": 1
},
{
"date": "2020-05-25",
"count": 1
},
{
"date": "2020-05-27",
"count": 1
},
{
"date": "2020-06-04",
"count": 2
},
{
"date": "2020-06-11",
"count": 1
},
{
"date": "2020-06-18",
"count": 1
},
{
"date": "2020-06-19",
"count": 1
},
{
"date": "2020-06-21",
"count": 1
},
{
"date": "2020-06-22",
"count": 1
},
{
"date": "2020-07-01",
"count": 1
},
{
"date": "2020-07-15",
"count": 2
},
{
"date": "2020-08-06",
"count": 1
},
{
"date": "2020-08-16",
"count": 1
},
{
"date": "2020-08-25",
"count": 1
},
{
"date": "2020-08-26",
"count": 1
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-09-04",
"count": 1
},
{
"date": "2020-10-17",
"count": 1
},
{
"date": "2020-12-07",
"count": 1
},
{
"date": "2020-12-08",
"count": 1
},
{
"date": "2020-12-12",
"count": 1
},
{
"date": "2020-12-14",
"count": 1
},
{
"date": "2021-01-04",
"count": 1
},
{
"date": "2021-01-08",
"count": 1
},
{
"date": "2021-01-13",
"count": 1
},
{
"date": "2021-01-14",
"count": 1
},
{
"date": "2021-02-08",
"count": 1
},
{
"date": "2021-02-10",
"count": 1
},
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-03-26",
"count": 1
},
{
"date": "2021-03-27",
"count": 1
},
{
"date": "2021-05-05",
"count": 1
},
{
"date": "2021-05-12",
"count": 1
},
{
"date": "2021-06-19",
"count": 1
},
{
"date": "2021-06-28",
"count": 1
},
{
"date": "2021-07-05",
"count": 1
},
{
"date": "2021-08-16",
"count": 1
},
{
"date": "2021-08-29",
"count": 2
},
{
"date": "2021-10-06",
"count": 1
},
{
"date": "2021-11-02",
"count": 1
},
{
"date": "2021-11-19",
"count": 1
},
{
"date": "2022-02-16",
"count": 2
},
{
"date": "2022-02-25",
"count": 1
},
{
"date": "2022-02-26",
"count": 1
},
{
"date": "2022-02-28",
"count": 1
},
{
"date": "2022-03-11",
"count": 1
},
{
"date": "2022-03-15",
"count": 1
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-03-18",
"count": 1
},
{
"date": "2022-03-21",
"count": 1
},
{
"date": "2022-04-11",
"count": 1
},
{
"date": "2022-04-18",
"count": 1
},
{
"date": "2022-04-26",
"count": 1
},
{
"date": "2022-05-24",
"count": 1
},
{
"date": "2022-05-30",
"count": 1
},
{
"date": "2022-06-19",
"count": 1
},
{
"date": "2022-06-28",
"count": 1
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-28",
"count": 1
},
{
"date": "2022-08-20",
"count": 1
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-14",
"count": 1
},
{
"date": "2022-09-27",
"count": 1
},
{
"date": "2022-10-08",
"count": 1
},
{
"date": "2022-10-13",
"count": 1
},
{
"date": "2022-10-28",
"count": 1
},
{
"date": "2022-11-17",
"count": 1
},
{
"date": "2022-11-29",
"count": 1
},
{
"date": "2022-12-07",
"count": 1
},
{
"date": "2023-01-05",
"count": 1
},
{
"date": "2023-01-16",
"count": 1
},
{
"date": "2023-01-20",
"count": 1
},
{
"date": "2023-03-15",
"count": 1
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-04-27",
"count": 1
},
{
"date": "2023-06-24",
"count": 1
},
{
"date": "2023-07-11",
"count": 1
},
{
"date": "2023-07-18",
"count": 1
},
{
"date": "2023-08-14",
"count": 1
},
{
"date": "2023-09-21",
"count": 1
},
{
"date": "2023-09-23",
"count": 1
},
{
"date": "2023-09-28",
"count": 1
},
{
"date": "2023-10-24",
"count": 1
},
{
"date": "2023-10-26",
"count": 1
},
{
"date": "2023-10-27",
"count": 2
},
{
"date": "2023-11-20",
"count": 1
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2023-12-16",
"count": 1
},
{
"date": "2023-12-25",
"count": 1
},
{
"date": "2023-12-31",
"count": 1
},
{
"date": "2024-01-24",
"count": 1
},
{
"date": "2024-01-31",
"count": 1
},
{
"date": "2024-03-04",
"count": 1
},
{
"date": "2024-03-09",
"count": 1
},
{
"date": "2024-03-14",
"count": 1
},
{
"date": "2024-05-05",
"count": 1
},
{
"date": "2024-05-28",
"count": 1
},
{
"date": "2024-06-19",
"count": 1
},
{
"date": "2024-06-28",
"count": 1
},
{
"date": "2024-10-25",
"count": 1
},
{
"date": "2024-11-18",
"count": 1
},
{
"date": "2024-11-26",
"count": 1
},
{
"date": "2025-01-09",
"count": 1
},
{
"date": "2025-03-07",
"count": 1
},
{
"date": "2025-04-13",
"count": 1
},
{
"date": "2025-05-01",
"count": 1
},
{
"date": "2025-05-05",
"count": 1
},
{
"date": "2025-05-19",
"count": 1
},
{
"date": "2025-05-26",
"count": 1
},
{
"date": "2025-06-08",
"count": 1
},
{
"date": "2025-07-08",
"count": 1
},
{
"date": "2025-07-09",
"count": 1
},
{
"date": "2025-08-12",
"count": 1
},
{
"date": "2025-08-19",
"count": 1
},
{
"date": "2025-08-22",
"count": 1
},
{
"date": "2025-09-17",
"count": 1
},
{
"date": "2025-10-09",
"count": 1
},
{
"date": "2025-10-29",
"count": 1
},
{
"date": "2025-11-05",
"count": 1
},
{
"date": "2025-11-21",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2025-12-30",
"count": 1
},
{
"date": "2026-01-02",
"count": 1
},
{
"date": "2026-03-25",
"count": 1
},
{
"date": "2026-04-01",
"count": 1
},
{
"date": "2026-04-02",
"count": 1
},
{
"date": "2026-04-07",
"count": 1
},
{
"date": "2026-04-14",
"count": 1
},
{
"date": "2026-05-05",
"count": 1
},
{
"date": "2026-05-17",
"count": 1
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-06-01",
"count": 1
},
{
"date": "2026-06-13",
"count": 1
},
{
"date": "2026-06-28",
"count": 1
},
{
"date": "2026-07-21",
"count": 1
}
],
"complete": true,
"collected": 225,
"total_forks": 232
},
"star_history": {
"days": [
{
"date": "2017-06-08",
"count": 1
},
{
"date": "2017-06-12",
"count": 1
},
{
"date": "2017-06-14",
"count": 1
},
{
"date": "2017-06-19",
"count": 4
},
{
"date": "2017-06-21",
"count": 1
},
{
"date": "2017-06-24",
"count": 1
},
{
"date": "2017-07-01",
"count": 1
},
{
"date": "2017-07-02",
"count": 1
},
{
"date": "2017-07-07",
"count": 1
},
{
"date": "2017-07-08",
"count": 3
},
{
"date": "2017-07-10",
"count": 2
},
{
"date": "2017-07-11",
"count": 1
},
{
"date": "2017-07-12",
"count": 1
},
{
"date": "2017-07-15",
"count": 1
},
{
"date": "2017-07-18",
"count": 3
},
{
"date": "2017-07-20",
"count": 1
},
{
"date": "2017-07-22",
"count": 1
},
{
"date": "2017-07-23",
"count": 1
},
{
"date": "2017-07-24",
"count": 2
},
{
"date": "2017-07-25",
"count": 1
},
{
"date": "2017-07-27",
"count": 3
},
{
"date": "2017-07-30",
"count": 1
},
{
"date": "2017-07-31",
"count": 1
},
{
"date": "2017-08-01",
"count": 1
},
{
"date": "2017-08-03",
"count": 1
},
{
"date": "2017-08-04",
"count": 1
},
{
"date": "2017-08-07",
"count": 1
},
{
"date": "2017-08-16",
"count": 1
},
{
"date": "2017-08-17",
"count": 1
},
{
"date": "2017-08-18",
"count": 1
},
{
"date": "2017-08-24",
"count": 1
},
{
"date": "2017-08-31",
"count": 1
},
{
"date": "2017-09-03",
"count": 1
},
{
"date": "2017-09-04",
"count": 1
},
{
"date": "2017-09-05",
"count": 1
},
{
"date": "2017-09-11",
"count": 1
},
{
"date": "2017-09-13",
"count": 1
},
{
"date": "2017-09-17",
"count": 1
},
{
"date": "2017-09-20",
"count": 2
},
{
"date": "2017-09-23",
"count": 1
},
{
"date": "2017-09-26",
"count": 1
},
{
"date": "2017-09-29",
"count": 1
},
{
"date": "2017-10-02",
"count": 1
},
{
"date": "2017-10-04",
"count": 1
},
{
"date": "2017-10-06",
"count": 1
},
{
"date": "2017-10-09",
"count": 1
},
{
"date": "2017-10-16",
"count": 1
},
{
"date": "2017-10-18",
"count": 1
},
{
"date": "2017-10-19",
"count": 2
},
{
"date": "2017-10-24",
"count": 1
},
{
"date": "2017-10-27",
"count": 1
},
{
"date": "2017-10-31",
"count": 2
},
{
"date": "2017-11-08",
"count": 2
},
{
"date": "2017-11-09",
"count": 1
},
{
"date": "2017-11-10",
"count": 3
},
{
"date": "2017-11-11",
"count": 2
},
{
"date": "2017-11-12",
"count": 1
},
{
"date": "2017-11-14",
"count": 1
},
{
"date": "2017-11-15",
"count": 1
},
{
"date": "2017-11-16",
"count": 1
},
{
"date": "2017-11-19",
"count": 2
},
{
"date": "2017-11-20",
"count": 2
},
{
"date": "2017-11-28",
"count": 2
},
{
"date": "2017-11-30",
"count": 1
},
{
"date": "2017-12-04",
"count": 2
},
{
"date": "2017-12-05",
"count": 1
},
{
"date": "2017-12-06",
"count": 1
},
{
"date": "2017-12-09",
"count": 1
},
{
"date": "2017-12-13",
"count": 2
},
{
"date": "2017-12-15",
"count": 1
},
{
"date": "2017-12-20",
"count": 1
},
{
"date": "2017-12-21",
"count": 1
},
{
"date": "2017-12-22",
"count": 1
},
{
"date": "2017-12-24",
"count": 1
},
{
"date": "2017-12-25",
"count": 1
},
{
"date": "2017-12-26",
"count": 1
},
{
"date": "2017-12-27",
"count": 1
},
{
"date": "2017-12-28",
"count": 1
},
{
"date": "2017-12-29",
"count": 1
},
{
"date": "2017-12-30",
"count": 1
},
{
"date": "2018-01-04",
"count": 1
},
{
"date": "2018-01-08",
"count": 1
},
{
"date": "2018-01-10",
"count": 1
},
{
"date": "2018-01-11",
"count": 1
},
{
"date": "2018-01-13",
"count": 1
},
{
"date": "2018-01-18",
"count": 1
},
{
"date": "2018-01-19",
"count": 2
},
{
"date": "2018-01-20",
"count": 1
},
{
"date": "2018-01-29",
"count": 3
},
{
"date": "2018-01-30",
"count": 1
},
{
"date": "2018-01-31",
"count": 1
},
{
"date": "2018-02-02",
"count": 1
},
{
"date": "2018-02-05",
"count": 2
},
{
"date": "2018-02-06",
"count": 1
},
{
"date": "2018-02-08",
"count": 1
},
{
"date": "2018-02-09",
"count": 2
},
{
"date": "2018-02-11",
"count": 1
},
{
"date": "2018-02-13",
"count": 1
},
{
"date": "2018-02-19",
"count": 1
},
{
"date": "2018-02-25",
"count": 2
},
{
"date": "2018-02-27",
"count": 2
},
{
"date": "2018-03-01",
"count": 2
},
{
"date": "2018-03-02",
"count": 3
},
{
"date": "2018-03-07",
"count": 1
},
{
"date": "2018-03-09",
"count": 2
},
{
"date": "2018-03-10",
"count": 1
},
{
"date": "2018-03-12",
"count": 1
},
{
"date": "2018-03-14",
"count": 1
},
{
"date": "2018-03-15",
"count": 1
},
{
"date": "2018-03-19",
"count": 4
},
{
"date": "2018-03-20",
"count": 1
},
{
"date": "2018-03-21",
"count": 1
},
{
"date": "2018-03-22",
"count": 1
},
{
"date": "2018-03-23",
"count": 4
},
{
"date": "2018-03-25",
"count": 1
},
{
"date": "2018-03-26",
"count": 1
},
{
"date": "2018-03-27",
"count": 1
},
{
"date": "2018-03-30",
"count": 1
},
{
"date": "2018-04-02",
"count": 1
},
{
"date": "2018-04-03",
"count": 13
},
{
"date": "2018-04-04",
"count": 12
},
{
"date": "2018-04-05",
"count": 4
},
{
"date": "2018-04-06",
"count": 2
},
{
"date": "2018-04-07",
"count": 1
},
{
"date": "2018-04-08",
"count": 1
},
{
"date": "2018-04-10",
"count": 2
},
{
"date": "2018-04-11",
"count": 1
},
{
"date": "2018-04-12",
"count": 1
},
{
"date": "2018-04-16",
"count": 3
},
{
"date": "2018-04-17",
"count": 1
},
{
"date": "2018-04-19",
"count": 2
},
{
"date": "2018-04-20",
"count": 1
},
{
"date": "2018-04-21",
"count": 1
},
{
"date": "2018-04-23",
"count": 2
},
{
"date": "2018-04-24",
"count": 1
},
{
"date": "2018-04-26",
"count": 2
},
{
"date": "2018-04-27",
"count": 1
},
{
"date": "2018-05-03",
"count": 1
},
{
"date": "2018-05-06",
"count": 1
},
{
"date": "2018-05-07",
"count": 1
},
{
"date": "2018-05-09",
"count": 1
},
{
"date": "2018-05-10",
"count": 3
},
{
"date": "2018-05-11",
"count": 1
},
{
"date": "2018-05-12",
"count": 1
},
{
"date": "2018-05-17",
"count": 2
},
{
"date": "2018-05-18",
"count": 1
},
{
"date": "2018-05-23",
"count": 1
},
{
"date": "2018-05-25",
"count": 1
},
{
"date": "2018-05-26",
"count": 1
},
{
"date": "2018-05-28",
"count": 3
},
{
"date": "2018-05-29",
"count": 1
},
{
"date": "2018-06-03",
"count": 1
},
{
"date": "2018-06-04",
"count": 1
},
{
"date": "2018-06-08",
"count": 1
},
{
"date": "2018-06-09",
"count": 1
},
{
"date": "2018-06-11",
"count": 1
},
{
"date": "2018-06-13",
"count": 1
},
{
"date": "2018-06-16",
"count": 2
},
{
"date": "2018-06-17",
"count": 2
},
{
"date": "2018-06-22",
"count": 3
},
{
"date": "2018-06-24",
"count": 1
},
{
"date": "2018-06-25",
"count": 1
},
{
"date": "2018-06-27",
"count": 1
},
{
"date": "2018-06-28",
"count": 1
},
{
"date": "2018-07-02",
"count": 1
},
{
"date": "2018-07-04",
"count": 1
},
{
"date": "2018-07-06",
"count": 3
},
{
"date": "2018-07-07",
"count": 2
},
{
"date": "2018-07-10",
"count": 1
},
{
"date": "2018-07-12",
"count": 1
},
{
"date": "2018-07-15",
"count": 4
},
{
"date": "2018-07-16",
"count": 1
},
{
"date": "2018-07-19",
"count": 3
},
{
"date": "2018-07-20",
"count": 1
},
{
"date": "2018-07-21",
"count": 1
},
{
"date": "2018-07-23",
"count": 1
},
{
"date": "2018-07-24",
"count": 1
},
{
"date": "2018-07-25",
"count": 3
},
{
"date": "2018-07-26",
"count": 1
},
{
"date": "2018-07-27",
"count": 3
},
{
"date": "2018-07-29",
"count": 2
},
{
"date": "2018-07-30",
"count": 1
},
{
"date": "2018-07-31",
"count": 1
},
{
"date": "2018-08-01",
"count": 2
},
{
"date": "2018-08-02",
"count": 3
},
{
"date": "2018-08-04",
"count": 1
},
{
"date": "2018-08-06",
"count": 1
},
{
"date": "2018-08-07",
"count": 2
},
{
"date": "2018-08-09",
"count": 1
},
{
"date": "2018-08-10",
"count": 1
},
{
"date": "2018-08-11",
"count": 1
},
{
"date": "2018-08-12",
"count": 1
},
{
"date": "2018-08-13",
"count": 1
},
{
"date": "2018-08-14",
"count": 1
},
{
"date": "2018-08-16",
"count": 2
},
{
"date": "2018-08-17",
"count": 1
},
{
"date": "2018-08-24",
"count": 1
},
{
"date": "2018-08-26",
"count": 1
},
{
"date": "2018-08-28",
"count": 1
},
{
"date": "2018-08-30",
"count": 1
},
{
"date": "2018-08-31",
"count": 1
},
{
"date": "2018-09-02",
"count": 1
},
{
"date": "2018-09-04",
"count": 2
},
{
"date": "2018-09-05",
"count": 1
},
{
"date": "2018-09-06",
"count": 1
},
{
"date": "2018-09-07",
"count": 1
},
{
"date": "2018-09-10",
"count": 1
},
{
"date": "2018-09-11",
"count": 1
},
{
"date": "2018-09-14",
"count": 2
},
{
"date": "2018-09-17",
"count": 2
},
{
"date": "2018-09-21",
"count": 1
},
{
"date": "2018-09-23",
"count": 1
},
{
"date": "2018-09-24",
"count": 1
},
{
"date": "2018-09-26",
"count": 1
},
{
"date": "2018-09-27",
"count": 1
},
{
"date": "2018-09-28",
"count": 1
},
{
"date": "2018-10-01",
"count": 1
},
{
"date": "2018-10-06",
"count": 1
},
{
"date": "2018-10-10",
"count": 1
},
{
"date": "2018-10-15",
"count": 1
},
{
"date": "2018-10-21",
"count": 1
},
{
"date": "2018-10-22",
"count": 1
},
{
"date": "2018-10-23",
"count": 2
},
{
"date": "2018-10-26",
"count": 2
},
{
"date": "2018-10-29",
"count": 2
},
{
"date": "2018-11-02",
"count": 1
},
{
"date": "2018-11-05",
"count": 1
},
{
"date": "2018-11-06",
"count": 1
},
{
"date": "2018-11-07",
"count": 3
},
{
"date": "2018-11-13",
"count": 1
},
{
"date": "2018-11-16",
"count": 1
},
{
"date": "2018-11-19",
"count": 1
},
{
"date": "2018-11-20",
"count": 1
},
{
"date": "2018-11-27",
"count": 1
},
{
"date": "2018-11-28",
"count": 1
},
{
"date": "2018-12-12",
"count": 1
},
{
"date": "2018-12-15",
"count": 1
},
{
"date": "2018-12-16",
"count": 1
},
{
"date": "2018-12-17",
"count": 1
},
{
"date": "2018-12-19",
"count": 1
},
{
"date": "2018-12-21",
"count": 1
},
{
"date": "2018-12-28",
"count": 1
},
{
"date": "2019-01-01",
"count": 1
},
{
"date": "2019-01-02",
"count": 1
},
{
"date": "2019-01-09",
"count": 1
},
{
"date": "2019-01-10",
"count": 3
},
{
"date": "2019-01-11",
"count": 1
},
{
"date": "2019-01-17",
"count": 2
},
{
"date": "2019-01-18",
"count": 1
},
{
"date": "2019-01-20",
"count": 1
},
{
"date": "2019-01-21",
"count": 1
},
{
"date": "2019-01-22",
"count": 3
},
{
"date": "2019-01-23",
"count": 2
},
{
"date": "2019-01-24",
"count": 2
},
{
"date": "2019-01-25",
"count": 1
},
{
"date": "2019-01-26",
"count": 2
},
{
"date": "2019-01-27",
"count": 1
},
{
"date": "2019-01-28",
"count": 2
},
{
"date": "2019-01-30",
"count": 1
},
{
"date": "2019-01-31",
"count": 4
},
{
"date": "2019-02-01",
"count": 1
},
{
"date": "2019-02-04",
"count": 1
},
{
"date": "2019-02-08",
"count": 1
},
{
"date": "2019-02-12",
"count": 1
},
{
"date": "2019-02-15",
"count": 1
},
{
"date": "2019-02-18",
"count": 1
},
{
"date": "2019-02-20",
"count": 1
},
{
"date": "2019-02-21",
"count": 1
},
{
"date": "2019-02-23",
"count": 1
},
{
"date": "2019-02-26",
"count": 2
},
{
"date": "2019-02-28",
"count": 1
},
{
"date": "2019-03-05",
"count": 2
},
{
"date": "2019-03-07",
"count": 1
},
{
"date": "2019-03-12",
"count": 1
},
{
"date": "2019-03-15",
"count": 1
},
{
"date": "2019-03-17",
"count": 1
},
{
"date": "2019-03-20",
"count": 2
},
{
"date": "2019-03-21",
"count": 1
},
{
"date": "2019-03-23",
"count": 1
},
{
"date": "2019-03-27",
"count": 1
},
{
"date": "2019-03-28",
"count": 2
},
{
"date": "2019-04-02",
"count": 2
},
{
"date": "2019-04-05",
"count": 1
},
{
"date": "2019-04-08",
"count": 1
},
{
"date": "2019-04-10",
"count": 1
},
{
"date": "2019-04-11",
"count": 2
},
{
"date": "2019-04-12",
"count": 1
},
{
"date": "2019-04-15",
"count": 1
},
{
"date": "2019-04-17",
"count": 1
},
{
"date": "2019-04-18",
"count": 1
},
{
"date": "2019-04-19",
"count": 1
},
{
"date": "2019-04-21",
"count": 1
},
{
"date": "2019-04-27",
"count": 1
},
{
"date": "2019-05-04",
"count": 1
},
{
"date": "2019-05-06",
"count": 2
},
{
"date": "2019-05-07",
"count": 1
},
{
"date": "2019-05-09",
"count": 1
},
{
"date": "2019-05-12",
"count": 1
},
{
"date": "2019-05-14",
"count": 1
},
{
"date": "2019-05-17",
"count": 1
},
{
"date": "2019-05-18",
"count": 1
},
{
"date": "2019-05-19",
"count": 2
},
{
"date": "2019-05-20",
"count": 1
},
{
"date": "2019-05-21",
"count": 1
},
{
"date": "2019-05-24",
"count": 1
},
{
"date": "2019-05-25",
"count": 1
},
{
"date": "2019-05-27",
"count": 2
},
{
"date": "2019-05-28",
"count": 1
},
{
"date": "2019-05-29",
"count": 1
},
{
"date": "2019-05-31",
"count": 2
},
{
"date": "2019-06-03",
"count": 2
},
{
"date": "2019-06-04",
"count": 4
},
{
"date": "2019-06-05",
"count": 1
},
{
"date": "2019-06-06",
"count": 1
},
{
"date": "2019-06-07",
"count": 2
},
{
"date": "2019-06-09",
"count": 1
},
{
"date": "2019-06-12",
"count": 1
},
{
"date": "2019-06-13",
"count": 3
},
{
"date": "2019-06-14",
"count": 1
},
{
"date": "2019-06-17",
"count": 3
},
{
"date": "2019-06-20",
"count": 1
},
{
"date": "2019-07-01",
"count": 1
},
{
"date": "2019-07-02",
"count": 1
},
{
"date": "2019-07-03",
"count": 1
},
{
"date": "2019-07-04",
"count": 2
},
{
"date": "2019-07-07",
"count": 1
},
{
"date": "2019-07-12",
"count": 2
},
{
"date": "2019-07-13",
"count": 1
},
{
"date": "2019-07-17",
"count": 1
},
{
"date": "2019-07-18",
"count": 3
},
{
"date": "2019-07-19",
"count": 1
},
{
"date": "2019-07-21",
"count": 2
},
{
"date": "2019-07-22",
"count": 2
},
{
"date": "2019-07-24",
"count": 2
},
{
"date": "2019-08-02",
"count": 1
},
{
"date": "2019-08-03",
"count": 1
},
{
"date": "2019-08-04",
"count": 1
},
{
"date": "2019-08-06",
"count": 1
},
{
"date": "2019-08-10",
"count": 1
},
{
"date": "2019-08-13",
"count": 1
},
{
"date": "2019-08-15",
"count": 1
},
{
"date": "2019-08-16",
"count": 2
},
{
"date": "2019-08-17",
"count": 1
},
{
"date": "2019-08-18",
"count": 1
},
{
"date": "2019-08-20",
"count": 1
},
{
"date": "2019-08-25",
"count": 1
},
{
"date": "2019-08-27",
"count": 1
},
{
"date": "2019-08-31",
"count": 1
},
{
"date": "2019-09-01",
"count": 1
},
{
"date": "2019-09-06",
"count": 1
},
{
"date": "2019-09-09",
"count": 1
},
{
"date": "2019-09-10",
"count": 1
},
{
"date": "2019-09-15",
"count": 2
},
{
"date": "2019-09-26",
"count": 1
},
{
"date": "2019-10-01",
"count": 1
},
{
"date": "2019-10-07",
"count": 1
},
{
"date": "2019-10-11",
"count": 1
},
{
"date": "2019-10-17",
"count": 1
},
{
"date": "2019-10-18",
"count": 1
},
{
"date": "2019-10-19",
"count": 1
},
{
"date": "2019-10-24",
"count": 1
},
{
"date": "2019-10-25",
"count": 1
},
{
"date": "2019-10-30",
"count": 1
},
{
"date": "2019-11-01",
"count": 1
},
{
"date": "2019-11-14",
"count": 1
},
{
"date": "2019-11-18",
"count": 1
},
{
"date": "2019-11-19",
"count": 1
},
{
"date": "2019-11-25",
"count": 1
},
{
"date": "2019-12-06",
"count": 1
},
{
"date": "2019-12-08",
"count": 1
},
{
"date": "2019-12-09",
"count": 1
},
{
"date": "2019-12-12",
"count": 1
},
{
"date": "2019-12-15",
"count": 1
},
{
"date": "2019-12-18",
"count": 1
},
{
"date": "2019-12-23",
"count": 1
},
{
"date": "2019-12-26",
"count": 1
},
{
"date": "2019-12-31",
"count": 1
},
{
"date": "2020-01-02",
"count": 1
},
{
"date": "2020-01-24",
"count": 1
},
{
"date": "2020-01-25",
"count": 1
},
{
"date": "2020-02-02",
"count": 1
},
{
"date": "2020-02-13",
"count": 1
},
{
"date": "2020-02-18",
"count": 1
},
{
"date": "2020-02-19",
"count": 1
},
{
"date": "2020-02-21",
"count": 1
},
{
"date": "2020-02-23",
"count": 2
},
{
"date": "2020-02-28",
"count": 2
},
{
"date": "2020-03-01",
"count": 1
},
{
"date": "2020-03-02",
"count": 1
},
{
"date": "2020-03-05",
"count": 1
},
{
"date": "2020-03-09",
"count": 1
},
{
"date": "2020-03-14",
"count": 1
},
{
"date": "2020-03-15",
"count": 1
},
{
"date": "2020-03-17",
"count": 2
},
{
"date": "2020-03-20",
"count": 1
},
{
"date": "2020-03-25",
"count": 1
},
{
"date": "2020-03-27",
"count": 1
},
{
"date": "2020-03-28",
"count": 1
},
{
"date": "2020-04-02",
"count": 2
},
{
"date": "2020-04-06",
"count": 1
},
{
"date": "2020-04-08",
"count": 1
},
{
"date": "2020-04-10",
"count": 5
},
{
"date": "2020-04-15",
"count": 1
},
{
"date": "2020-04-19",
"count": 1
},
{
"date": "2020-04-22",
"count": 1
},
{
"date": "2020-04-23",
"count": 1
},
{
"date": "2020-04-24",
"count": 1
},
{
"date": "2020-04-25",
"count": 1
},
{
"date": "2020-04-26",
"count": 1
},
{
"date": "2020-04-28",
"count": 1
},
{
"date": "2020-04-29",
"count": 1
},
{
"date": "2020-04-30",
"count": 3
},
{
"date": "2020-05-01",
"count": 1
},
{
"date": "2020-05-03",
"count": 1
},
{
"date": "2020-05-06",
"count": 1
},
{
"date": "2020-05-09",
"count": 1
},
{
"date": "2020-05-10",
"count": 1
},
{
"date": "2020-05-11",
"count": 2
},
{
"date": "2020-05-13",
"count": 1
},
{
"date": "2020-05-14",
"count": 2
},
{
"date": "2020-05-16",
"count": 1
},
{
"date": "2020-05-17",
"count": 1
},
{
"date": "2020-05-18",
"count": 2
},
{
"date": "2020-05-20",
"count": 1
},
{
"date": "2020-05-21",
"count": 1
},
{
"date": "2020-05-23",
"count": 1
},
{
"date": "2020-05-24",
"count": 1
},
{
"date": "2020-05-25",
"count": 1
},
{
"date": "2020-06-02",
"count": 1
},
{
"date": "2020-06-10",
"count": 1
},
{
"date": "2020-06-13",
"count": 1
},
{
"date": "2020-06-16",
"count": 1
},
{
"date": "2020-06-18",
"count": 1
},
{
"date": "2020-06-19",
"count": 1
},
{
"date": "2020-06-22",
"count": 2
},
{
"date": "2020-06-23",
"count": 1
},
{
"date": "2020-06-24",
"count": 1
},
{
"date": "2020-06-28",
"count": 2
},
{
"date": "2020-07-02",
"count": 1
},
{
"date": "2020-07-13",
"count": 2
},
{
"date": "2020-07-15",
"count": 1
},
{
"date": "2020-07-16",
"count": 1
},
{
"date": "2020-07-20",
"count": 1
},
{
"date": "2020-07-21",
"count": 2
},
{
"date": "2020-07-22",
"count": 1
},
{
"date": "2020-07-26",
"count": 1
},
{
"date": "2020-07-28",
"count": 1
},
{
"date": "2020-07-31",
"count": 1
},
{
"date": "2020-08-02",
"count": 1
},
{
"date": "2020-08-07",
"count": 1
},
{
"date": "2020-08-11",
"count": 2
},
{
"date": "2020-08-14",
"count": 1
},
{
"date": "2020-08-17",
"count": 1
},
{
"date": "2020-08-18",
"count": 1
},
{
"date": "2020-08-21",
"count": 1
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-08-28",
"count": 1
},
{
"date": "2020-08-29",
"count": 1
},
{
"date": "2020-09-01",
"count": 2
},
{
"date": "2020-09-02",
"count": 1
},
{
"date": "2020-09-13",
"count": 1
},
{
"date": "2020-09-15",
"count": 1
},
{
"date": "2020-09-16",
"count": 1
},
{
"date": "2020-09-22",
"count": 1
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-09-26",
"count": 1
},
{
"date": "2020-09-27",
"count": 1
},
{
"date": "2020-10-03",
"count": 1
},
{
"date": "2020-10-10",
"count": 1
},
{
"date": "2020-11-06",
"count": 1
},
{
"date": "2020-11-10",
"count": 1
},
{
"date": "2020-11-12",
"count": 1
},
{
"date": "2020-11-13",
"count": 3
},
{
"date": "2020-11-29",
"count": 2
},
{
"date": "2020-11-30",
"count": 1
},
{
"date": "2020-12-04",
"count": 1
},
{
"date": "2020-12-07",
"count": 2
},
{
"date": "2020-12-10",
"count": 1
},
{
"date": "2020-12-11",
"count": 1
},
{
"date": "2020-12-24",
"count": 1
},
{
"date": "2021-01-05",
"count": 1
},
{
"date": "2021-01-13",
"count": 1
},
{
"date": "2021-01-16",
"count": 1
},
{
"date": "2021-01-18",
"count": 1
},
{
"date": "2021-01-19",
"count": 1
},
{
"date": "2021-01-22",
"count": 1
},
{
"date": "2021-01-24",
"count": 1
},
{
"date": "2021-01-26",
"count": 1
},
{
"date": "2021-02-05",
"count": 1
},
{
"date": "2021-02-11",
"count": 1
},
{
"date": "2021-02-14",
"count": 1
},
{
"date": "2021-02-26",
"count": 1
},
{
"date": "2021-03-04",
"count": 2
},
{
"date": "2021-03-26",
"count": 1
},
{
"date": "2021-03-29",
"count": 1
},
{
"date": "2021-04-26",
"count": 1
},
{
"date": "2021-04-27",
"count": 1
},
{
"date": "2021-04-29",
"count": 1
},
{
"date": "2021-05-01",
"count": 1
},
{
"date": "2021-05-06",
"count": 1
},
{
"date": "2021-05-07",
"count": 2
},
{
"date": "2021-05-08",
"count": 1
},
{
"date": "2021-05-12",
"count": 1
},
{
"date": "2021-05-13",
"count": 1
},
{
"date": "2021-05-14",
"count": 2
},
{
"date": "2021-05-16",
"count": 1
},
{
"date": "2021-05-18",
"count": 1
},
{
"date": "2021-05-20",
"count": 1
},
{
"date": "2021-05-26",
"count": 1
},
{
"date": "2021-06-02",
"count": 1
},
{
"date": "2021-06-04",
"count": 1
},
{
"date": "2021-06-09",
"count": 1
},
{
"date": "2021-06-17",
"count": 1
},
{
"date": "2021-06-18",
"count": 1
},
{
"date": "2021-06-19",
"count": 1
},
{
"date": "2021-06-20",
"count": 1
},
{
"date": "2021-07-02",
"count": 1
},
{
"date": "2021-07-04",
"count": 1
},
{
"date": "2021-07-05",
"count": 1
},
{
"date": "2021-07-13",
"count": 2
},
{
"date": "2021-07-17",
"count": 1
},
{
"date": "2021-07-19",
"count": 1
},
{
"date": "2021-07-31",
"count": 1
},
{
"date": "2021-08-09",
"count": 1
},
{
"date": "2021-08-11",
"count": 1
},
{
"date": "2021-08-12",
"count": 1
},
{
"date": "2021-08-13",
"count": 1
},
{
"date": "2021-08-20",
"count": 1
},
{
"date": "2021-08-22",
"count": 1
},
{
"date": "2021-08-23",
"count": 1
},
{
"date": "2021-08-24",
"count": 1
},
{
"date": "2021-08-26",
"count": 1
},
{
"date": "2021-08-28",
"count": 1
},
{
"date": "2021-08-30",
"count": 1
},
{
"date": "2021-09-02",
"count": 1
},
{
"date": "2021-09-03",
"count": 2
},
{
"date": "2021-09-06",
"count": 1
},
{
"date": "2021-09-07",
"count": 2
},
{
"date": "2021-09-08",
"count": 2
},
{
"date": "2021-09-17",
"count": 1
},
{
"date": "2021-09-22",
"count": 1
},
{
"date": "2021-09-23",
"count": 1
},
{
"date": "2021-09-24",
"count": 2
},
{
"date": "2021-09-25",
"count": 2
},
{
"date": "2021-09-29",
"count": 1
},
{
"date": "2021-09-30",
"count": 1
},
{
"date": "2021-10-02",
"count": 1
},
{
"date": "2021-10-06",
"count": 1
},
{
"date": "2021-10-18",
"count": 1
},
{
"date": "2021-10-22",
"count": 1
},
{
"date": "2021-10-24",
"count": 1
},
{
"date": "2021-10-26",
"count": 2
},
{
"date": "2021-10-29",
"count": 1
},
{
"date": "2021-10-30",
"count": 1
},
{
"date": "2021-10-31",
"count": 1
},
{
"date": "2021-11-09",
"count": 2
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-11-12",
"count": 1
},
{
"date": "2021-11-14",
"count": 1
},
{
"date": "2021-11-22",
"count": 1
},
{
"date": "2021-12-08",
"count": 1
},
{
"date": "2021-12-10",
"count": 2
},
{
"date": "2021-12-18",
"count": 1
},
{
"date": "2021-12-21",
"count": 1
},
{
"date": "2021-12-28",
"count": 1
},
{
"date": "2021-12-31",
"count": 1
},
{
"date": "2022-01-01",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-22",
"count": 1
},
{
"date": "2022-01-29",
"count": 1
},
{
"date": "2022-02-06",
"count": 1
},
{
"date": "2022-02-13",
"count": 1
},
{
"date": "2022-02-17",
"count": 1
},
{
"date": "2022-02-20",
"count": 2
},
{
"date": "2022-02-24",
"count": 1
},
{
"date": "2022-02-25",
"count": 1
},
{
"date": "2022-03-01",
"count": 1
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2022-03-13",
"count": 2
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-03-19",
"count": 1
},
{
"date": "2022-03-20",
"count": 1
},
{
"date": "2022-03-21",
"count": 1
},
{
"date": "2022-03-25",
"count": 1
},
{
"date": "2022-04-01",
"count": 1
},
{
"date": "2022-04-04",
"count": 1
},
{
"date": "2022-04-05",
"count": 1
},
{
"date": "2022-04-06",
"count": 1
},
{
"date": "2022-04-07",
"count": 1
},
{
"date": "2022-04-08",
"count": 2
},
{
"date": "2022-04-13",
"count": 2
},
{
"date": "2022-04-16",
"count": 1
},
{
"date": "2022-04-17",
"count": 1
},
{
"date": "2022-04-21",
"count": 1
},
{
"date": "2022-04-22",
"count": 1
},
{
"date": "2022-05-03",
"count": 1
},
{
"date": "2022-05-08",
"count": 2
},
{
"date": "2022-05-09",
"count": 1
},
{
"date": "2022-05-10",
"count": 1
},
{
"date": "2022-05-11",
"count": 3
},
{
"date": "2022-05-12",
"count": 1
},
{
"date": "2022-05-16",
"count": 1
},
{
"date": "2022-05-24",
"count": 1
},
{
"date": "2022-05-25",
"count": 1
},
{
"date": "2022-05-28",
"count": 1
},
{
"date": "2022-05-29",
"count": 1
},
{
"date": "2022-06-02",
"count": 1
},
{
"date": "2022-06-10",
"count": 1
},
{
"date": "2022-06-13",
"count": 2
},
{
"date": "2022-06-17",
"count": 1
},
{
"date": "2022-06-19",
"count": 2
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-01",
"count": 1
},
{
"date": "2022-07-05",
"count": 2
},
{
"date": "2022-07-20",
"count": 1
},
{
"date": "2022-08-07",
"count": 1
},
{
"date": "2022-08-13",
"count": 1
},
{
"date": "2022-08-15",
"count": 1
},
{
"date": "2022-08-17",
"count": 1
},
{
"date": "2022-08-19",
"count": 1
},
{
"date": "2022-08-23",
"count": 3
},
{
"date": "2022-08-30",
"count": 1
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-04",
"count": 1
},
{
"date": "2022-09-05",
"count": 1
},
{
"date": "2022-09-06",
"count": 1
},
{
"date": "2022-09-13",
"count": 1
},
{
"date": "2022-09-26",
"count": 1
},
{
"date": "2022-09-30",
"count": 2
},
{
"date": "2022-10-02",
"count": 1
},
{
"date": "2022-10-06",
"count": 1
},
{
"date": "2022-10-08",
"count": 1
},
{
"date": "2022-10-10",
"count": 1
},
{
"date": "2022-10-19",
"count": 3
},
{
"date": "2022-10-25",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-11-01",
"count": 1
},
{
"date": "2022-11-04",
"count": 1
},
{
"date": "2022-11-07",
"count": 2
},
{
"date": "2022-11-24",
"count": 1
},
{
"date": "2022-11-26",
"count": 1
},
{
"date": "2022-12-06",
"count": 1
},
{
"date": "2022-12-12",
"count": 1
},
{
"date": "2022-12-13",
"count": 1
},
{
"date": "2022-12-17",
"count": 1
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-01-14",
"count": 1
},
{
"date": "2023-01-20",
"count": 1
},
{
"date": "2023-02-01",
"count": 1
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-23",
"count": 1
},
{
"date": "2023-02-25",
"count": 1
},
{
"date": "2023-03-01",
"count": 1
},
{
"date": "2023-03-02",
"count": 1
},
{
"date": "2023-03-16",
"count": 1
},
{
"date": "2023-03-17",
"count": 2
},
{
"date": "2023-03-21",
"count": 1
},
{
"date": "2023-03-25",
"count": 2
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-03-31",
"count": 1
},
{
"date": "2023-04-02",
"count": 1
},
{
"date": "2023-04-16",
"count": 1
},
{
"date": "2023-04-21",
"count": 1
},
{
"date": "2023-04-24",
"count": 2
},
{
"date": "2023-05-01",
"count": 1
},
{
"date": "2023-05-16",
"count": 1
},
{
"date": "2023-05-19",
"count": 1
},
{
"date": "2023-05-22",
"count": 1
},
{
"date": "2023-05-25",
"count": 1
},
{
"date": "2023-05-31",
"count": 1
},
{
"date": "2023-06-06",
"count": 1
},
{
"date": "2023-06-13",
"count": 2
},
{
"date": "2023-06-14",
"count": 1
},
{
"date": "2023-06-16",
"count": 1
},
{
"date": "2023-06-19",
"count": 1
},
{
"date": "2023-07-02",
"count": 1
},
{
"date": "2023-07-03",
"count": 1
},
{
"date": "2023-07-15",
"count": 1
},
{
"date": "2023-07-17",
"count": 1
},
{
"date": "2023-07-19",
"count": 1
},
{
"date": "2023-08-01",
"count": 1
},
{
"date": "2023-08-03",
"count": 1
},
{
"date": "2023-08-22",
"count": 1
},
{
"date": "2023-08-28",
"count": 1
},
{
"date": "2023-08-30",
"count": 1
},
{
"date": "2023-09-28",
"count": 1
},
{
"date": "2023-09-29",
"count": 1
},
{
"date": "2023-10-07",
"count": 1
},
{
"date": "2023-10-10",
"count": 1
},
{
"date": "2023-10-19",
"count": 1
},
{
"date": "2023-10-24",
"count": 1
},
{
"date": "2023-10-25",
"count": 1
},
{
"date": "2023-10-27",
"count": 1
},
{
"date": "2023-11-16",
"count": 1
},
{
"date": "2023-11-18",
"count": 1
},
{
"date": "2023-11-21",
"count": 1
},
{
"date": "2023-11-24",
"count": 1
},
{
"date": "2023-11-29",
"count": 2
},
{
"date": "2023-12-02",
"count": 1
},
{
"date": "2023-12-10",
"count": 1
},
{
"date": "2023-12-11",
"count": 1
},
{
"date": "2023-12-18",
"count": 1
},
{
"date": "2023-12-24",
"count": 1
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-01-01",
"count": 1
},
{
"date": "2024-01-13",
"count": 1
},
{
"date": "2024-01-17",
"count": 1
},
{
"date": "2024-01-19",
"count": 1
},
{
"date": "2024-02-05",
"count": 1
},
{
"date": "2024-02-06",
"count": 1
},
{
"date": "2024-02-07",
"count": 1
},
{
"date": "2024-02-11",
"count": 1
},
{
"date": "2024-02-20",
"count": 1
},
{
"date": "2024-02-25",
"count": 2
},
{
"date": "2024-03-04",
"count": 1
},
{
"date": "2024-03-26",
"count": 1
},
{
"date": "2024-04-20",
"count": 1
},
{
"date": "2024-05-05",
"count": 1
},
{
"date": "2024-05-13",
"count": 1
},
{
"date": "2024-05-26",
"count": 1
},
{
"date": "2024-07-09",
"count": 1
},
{
"date": "2024-07-16",
"count": 1
},
{
"date": "2024-07-17",
"count": 1
},
{
"date": "2024-08-01",
"count": 1
},
{
"date": "2024-08-15",
"count": 1
},
{
"date": "2024-08-22",
"count": 1
},
{
"date": "2024-08-26",
"count": 1
},
{
"date": "2024-08-27",
"count": 1
},
{
"date": "2024-08-28",
"count": 2
},
{
"date": "2024-08-29",
"count": 1
},
{
"date": "2024-09-11",
"count": 1
},
{
"date": "2024-09-25",
"count": 1
},
{
"date": "2024-10-09",
"count": 1
},
{
"date": "2024-10-14",
"count": 1
},
{
"date": "2024-10-20",
"count": 1
},
{
"date": "2024-10-22",
"count": 1
},
{
"date": "2024-10-23",
"count": 1
},
{
"date": "2024-10-25",
"count": 1
},
{
"date": "2024-11-16",
"count": 1
},
{
"date": "2024-11-29",
"count": 1
},
{
"date": "2024-12-06",
"count": 1
},
{
"date": "2024-12-24",
"count": 1
},
{
"date": "2025-01-03",
"count": 1
},
{
"date": "2025-01-13",
"count": 1
},
{
"date": "2025-01-20",
"count": 1
},
{
"date": "2025-02-04",
"count": 1
},
{
"date": "2025-02-15",
"count": 1
},
{
"date": "2025-03-11",
"count": 1
},
{
"date": "2025-03-30",
"count": 1
},
{
"date": "2025-04-09",
"count": 1
},
{
"date": "2025-04-10",
"count": 1
},
{
"date": "2025-04-13",
"count": 1
},
{
"date": "2025-04-16",
"count": 1
},
{
"date": "2025-05-01",
"count": 2
},
{
"date": "2025-05-09",
"count": 1
},
{
"date": "2025-05-15",
"count": 1
},
{
"date": "2025-05-16",
"count": 1
},
{
"date": "2025-06-01",
"count": 1
},
{
"date": "2025-06-03",
"count": 1
},
{
"date": "2025-06-27",
"count": 1
},
{
"date": "2025-07-23",
"count": 1
},
{
"date": "2025-08-16",
"count": 1
},
{
"date": "2025-08-29",
"count": 1
},
{
"date": "2025-09-07",
"count": 1
},
{
"date": "2025-09-19",
"count": 1
},
{
"date": "2025-09-26",
"count": 1
},
{
"date": "2025-10-01",
"count": 1
},
{
"date": "2025-10-29",
"count": 1
},
{
"date": "2025-11-05",
"count": 1
},
{
"date": "2025-11-16",
"count": 1
},
{
"date": "2025-11-20",
"count": 1
},
{
"date": "2025-12-03",
"count": 1
},
{
"date": "2025-12-17",
"count": 1
},
{
"date": "2026-01-28",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-02-02",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-03-06",
"count": 1
},
{
"date": "2026-03-10",
"count": 1
},
{
"date": "2026-03-13",
"count": 1
},
{
"date": "2026-03-18",
"count": 1
},
{
"date": "2026-03-31",
"count": 1
},
{
"date": "2026-04-07",
"count": 1
},
{
"date": "2026-05-17",
"count": 1
},
{
"date": "2026-05-22",
"count": 1
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-06-01",
"count": 1
},
{
"date": "2026-06-20",
"count": 1
},
{
"date": "2026-06-25",
"count": 1
},
{
"date": "2026-06-28",
"count": 1
},
{
"date": "2026-06-30",
"count": 2
}
],
"complete": false,
"collected": 1000,
"total_stars": 1064
},
"open_issues_and_prs": 105
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"integration_test/functions/tsconfig.json",
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 188233,
"source_files_sampled": 232,
"oversized_source_files": 3,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "@opentelemetry/auto-instrumentations-node",
"direct": false,
"version": "0.49.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-q7rr-3cgh-j5r3"
],
"fixed_version": "0.217.0",
"advisory_count": 1,
"oldest_advisory_days": 71
},
{
"name": "@opentelemetry/sdk-node",
"direct": false,
"version": "0.52.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-q7rr-3cgh-j5r3"
],
"fixed_version": "0.217.0",
"advisory_count": 1,
"oldest_advisory_days": 71
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.15",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "elliptic",
"direct": false,
"version": "6.6.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.3,
"advisory_ids": [
"GHSA-848j-6mx2-7j84"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 193
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68",
"GHSA-mh29-5h37-fv8m"
],
"fixed_version": "4.3.0",
"advisory_count": 3,
"oldest_advisory_days": 249
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68"
],
"fixed_version": "4.3.0",
"advisory_count": 2,
"oldest_advisory_days": 35
},
{
"name": "js-yaml",
"direct": false,
"version": "4.2.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m"
],
"fixed_version": "4.3.0",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "semver",
"direct": false,
"version": "7.3.8",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-c2qf-rxjj-qqgw"
],
"fixed_version": "7.5.2",
"advisory_count": 1,
"oldest_advisory_days": 1126
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-5c6j-r48x-rmvq",
"GHSA-qj8w-gfj5-8c6v"
],
"fixed_version": "7.0.5",
"advisory_count": 2,
"oldest_advisory_days": 143
},
{
"name": "uuid",
"direct": false,
"version": "10.0.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-w5hq-g745-h8pq"
],
"fixed_version": "13.0.1",
"advisory_count": 1,
"oldest_advisory_days": 89
},
{
"name": "uuid",
"direct": false,
"version": "8.3.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-w5hq-g745-h8pq"
],
"fixed_version": "13.0.1",
"advisory_count": 1,
"oldest_advisory_days": 89
},
{
"name": "uuid",
"direct": false,
"version": "9.0.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-w5hq-g745-h8pq"
],
"fixed_version": "13.0.1",
"advisory_count": 1,
"oldest_advisory_days": 89
},
{
"name": "validator",
"direct": false,
"version": "8.2.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-9965-vmph-33xx",
"GHSA-qgmg-gppg-76g5",
"GHSA-vghf-hv5q-vc2g"
],
"fixed_version": "13.15.22",
"advisory_count": 3,
"oldest_advisory_days": 1720
},
{
"name": "protobufjs",
"direct": true,
"version": "7.6.4",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-j3f2-48v5-ccww"
],
"fixed_version": "8.6.6",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "1.25.1",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-8988-4f7v-96qf"
],
"fixed_version": "2.8.0",
"advisory_count": 1,
"oldest_advisory_days": 35
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "1.30.1",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-8988-4f7v-96qf"
],
"fixed_version": "2.8.0",
"advisory_count": 1,
"oldest_advisory_days": 35
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "1.1.2",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 3.3,
"advisory_ids": [
"GHSA-vpq2-c234-7xj6"
],
"fixed_version": "3.0.1",
"advisory_count": 1,
"oldest_advisory_days": 140
},
{
"name": "body-parser",
"direct": false,
"version": "1.20.5",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 3.7,
"advisory_ids": [
"GHSA-v422-hmwv-36x6"
],
"fixed_version": "2.3.0",
"advisory_count": 1,
"oldest_advisory_days": 0
}
],
"collected": true,
"truncated": false,
"by_severity": {
"low": 2,
"high": 15,
"moderate": 3
},
"advisory_count": 26,
"affected_count": 20,
"assessed_count": 896,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 1
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@types/cors",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.8.5"
},
{
"name": "@types/express",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.17.21"
},
{
"name": "cors",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.8.5"
},
{
"name": "express",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.21.0"
},
{
"name": "protobufjs",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.2.2"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@types/cors",
"direct": true,
"version": "2.8.19",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": true,
"version": "4.17.25",
"ecosystem": "npm"
},
{
"name": "cors",
"direct": true,
"version": "2.8.6",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "4.22.2",
"ecosystem": "npm"
},
{
"name": "protobufjs",
"direct": true,
"version": "7.6.4",
"ecosystem": "npm"
},
{
"name": "@apollo/cache-control-types",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@apollo/protobufjs",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@apollo/server",
"direct": false,
"version": "5.5.1",
"ecosystem": "npm"
},
{
"name": "@apollo/server-gateway-interface",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@apollo/usage-reporting-protobuf",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.createhash",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.dropunuseddefinitions",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.fetcher",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.isnodelike",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.keyvaluecache",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.logger",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.printwithreducedwhitespace",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.removealiases",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.sortast",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.stripsensitiveliterals",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.usagereporting",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@apollo/utils.withrequired",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@as-integrations/express4",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@cfworker/json-schema",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "@colors/colors",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "@cspotcode/source-map-support",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "@dabh/diagnostics",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"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": "@es-joy/jsdoccomment",
"direct": false,
"version": "0.78.0",
"ecosystem": "npm"
},
{
"name": "@es-joy/resolve.exports",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.21.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@fastify/busboy",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "@firebase/api-documenter",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "@firebase/app-check-interop-types",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "@firebase/app-types",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@firebase/auth-interop-types",
"direct": false,
"version": "0.2.5",
"ecosystem": "npm"
},
{
"name": "@firebase/component",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "@firebase/database",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "@firebase/database-compat",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@firebase/database-types",
"direct": false,
"version": "1.0.20",
"ecosystem": "npm"
},
{
"name": "@firebase/logger",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "@firebase/util",
"direct": false,
"version": "1.15.1",
"ecosystem": "npm"
},
{
"name": "@genkit-ai/ai",
"direct": false,
"version": "1.37.0",
"ecosystem": "npm"
},
{
"name": "@genkit-ai/core",
"direct": false,
"version": "1.37.0",
"ecosystem": "npm"
},
{
"name": "@genkit-ai/firebase",
"direct": false,
"version": "1.37.0",
"ecosystem": "npm"
},
{
"name": "@genkit-ai/google-cloud",
"direct": false,
"version": "1.37.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/common",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "@google-cloud/firestore",
"direct": false,
"version": "7.11.6",
"ecosystem": "npm"
},
{
"name": "@google-cloud/logging",
"direct": false,
"version": "11.2.3",
"ecosystem": "npm"
},
{
"name": "@google-cloud/logging-winston",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "@google-cloud/modelarmor",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@google-cloud/opentelemetry-cloud-monitoring-exporter",
"direct": false,
"version": "0.19.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/opentelemetry-cloud-trace-exporter",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "@google-cloud/opentelemetry-resource-util",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/paginator",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "@google-cloud/precise-date",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/projectify",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/promisify",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/storage",
"direct": false,
"version": "7.21.0",
"ecosystem": "npm"
},
{
"name": "@graphql-tools/merge",
"direct": false,
"version": "9.1.9",
"ecosystem": "npm"
},
{
"name": "@graphql-tools/schema",
"direct": false,
"version": "10.0.33",
"ecosystem": "npm"
},
{
"name": "@graphql-tools/utils",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "@graphql-typed-document-node/core",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "@grpc/grpc-js",
"direct": false,
"version": "1.14.4",
"ecosystem": "npm"
},
{
"name": "@grpc/proto-loader",
"direct": false,
"version": "0.7.15",
"ecosystem": "npm"
},
{
"name": "@grpc/proto-loader",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.8",
"ecosystem": "npm"
},
{
"name": "@humanfs/types",
"direct": false,
"version": "0.15.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@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/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.9",
"ecosystem": "npm"
},
{
"name": "@js-sdsl/ordered-map",
"direct": false,
"version": "4.4.2",
"ecosystem": "npm"
},
{
"name": "@jsdoc/salty",
"direct": false,
"version": "0.2.12",
"ecosystem": "npm"
},
{
"name": "@microsoft/api-documenter",
"direct": false,
"version": "7.30.7",
"ecosystem": "npm"
},
{
"name": "@microsoft/api-extractor",
"direct": false,
"version": "7.58.9",
"ecosystem": "npm"
},
{
"name": "@microsoft/api-extractor-model",
"direct": false,
"version": "7.33.8",
"ecosystem": "npm"
},
{
"name": "@microsoft/tsdoc",
"direct": false,
"version": "0.12.24",
"ecosystem": "npm"
},
{
"name": "@microsoft/tsdoc",
"direct": false,
"version": "0.16.0",
"ecosystem": "npm"
},
{
"name": "@microsoft/tsdoc-config",
"direct": false,
"version": "0.18.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@nodable/entities",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api-logs",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/auto-instrumentations-node",
"direct": false,
"version": "0.49.2",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/context-async-hooks",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-trace-otlp-grpc",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-trace-otlp-http",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-trace-otlp-proto",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-zipkin",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-amqplib",
"direct": false,
"version": "0.41.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-aws-lambda",
"direct": false,
"version": "0.43.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-aws-sdk",
"direct": false,
"version": "0.43.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-bunyan",
"direct": false,
"version": "0.40.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-cassandra-driver",
"direct": false,
"version": "0.40.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-connect",
"direct": false,
"version": "0.38.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-cucumber",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-dataloader",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-dns",
"direct": false,
"version": "0.38.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-express",
"direct": false,
"version": "0.41.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-fastify",
"direct": false,
"version": "0.38.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-fs",
"direct": false,
"version": "0.14.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-generic-pool",
"direct": false,
"version": "0.38.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-graphql",
"direct": false,
"version": "0.42.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-grpc",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-hapi",
"direct": false,
"version": "0.40.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-http",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-ioredis",
"direct": false,
"version": "0.42.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-kafkajs",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-knex",
"direct": false,
"version": "0.39.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-koa",
"direct": false,
"version": "0.42.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-lru-memoizer",
"direct": false,
"version": "0.39.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-memcached",
"direct": false,
"version": "0.38.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-mongodb",
"direct": false,
"version": "0.46.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-mongoose",
"direct": false,
"version": "0.41.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-mysql",
"direct": false,
"version": "0.40.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-mysql2",
"direct": false,
"version": "0.40.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-nestjs-core",
"direct": false,
"version": "0.39.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-net",
"direct": false,
"version": "0.38.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-pg",
"direct": false,
"version": "0.43.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-pino",
"direct": false,
"version": "0.41.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-redis",
"direct": false,
"version": "0.41.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-redis-4",
"direct": false,
"version": "0.41.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-restify",
"direct": false,
"version": "0.40.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-router",
"direct": false,
"version": "0.39.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-socket.io",
"direct": false,
"version": "0.41.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-tedious",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-undici",
"direct": false,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-winston",
"direct": false,
"version": "0.39.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/otlp-exporter-base",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/otlp-grpc-exporter-base",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/otlp-transformer",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/propagation-utils",
"direct": false,
"version": "0.30.16",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/propagator-aws-xray",
"direct": false,
"version": "1.26.2",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/propagator-b3",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/propagator-jaeger",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/redis-common",
"direct": false,
"version": "0.36.2",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resource-detector-alibaba-cloud",
"direct": false,
"version": "0.29.7",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resource-detector-aws",
"direct": false,
"version": "1.12.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resource-detector-azure",
"direct": false,
"version": "0.2.12",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resource-detector-container",
"direct": false,
"version": "0.4.4",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resource-detector-gcp",
"direct": false,
"version": "0.29.13",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resources",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-logs",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-metrics",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-node",
"direct": false,
"version": "0.52.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-base",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-node",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/semantic-conventions",
"direct": false,
"version": "1.25.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/semantic-conventions",
"direct": false,
"version": "1.28.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/semantic-conventions",
"direct": false,
"version": "1.41.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sql-common",
"direct": false,
"version": "0.40.1",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.95.0",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/aspromise",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/base64",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/codegen",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@protobufjs/eventemitter",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@protobufjs/fetch",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@protobufjs/float",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/inquire",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/path",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/pool",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/utf8",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@quansync/fs",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-ia32-msvc",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "@rushstack/node-core-library",
"direct": false,
"version": "3.36.0",
"ecosystem": "npm"
},
{
"name": "@rushstack/node-core-library",
"direct": false,
"version": "3.45.5",
"ecosystem": "npm"
},
{
"name": "@rushstack/node-core-library",
"direct": false,
"version": "5.23.1",
"ecosystem": "npm"
},
{
"name": "@rushstack/problem-matcher",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "@rushstack/rig-package",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "@rushstack/terminal",
"direct": false,
"version": "0.24.0",
"ecosystem": "npm"
},
{
"name": "@rushstack/ts-command-line",
"direct": false,
"version": "4.11.0",
"ecosystem": "npm"
},
{
"name": "@rushstack/ts-command-line",
"direct": false,
"version": "5.3.10",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/base62",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/commons",
"direct": false,
"version": "1.8.6",
"ecosystem": "npm"
},
{
"name": "@sinonjs/fake-timers",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "@sinonjs/samsam",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "@sinonjs/text-encoding",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "@so-ric/colorspace",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node10",
"direct": false,
"version": "1.0.12",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node12",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node14",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node16",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.2",
"ecosystem": "npm"
},
{
"name": "@types/argparse",
"direct": false,
"version": "1.0.38",
"ecosystem": "npm"
},
{
"name": "@types/aws-lambda",
"direct": false,
"version": "8.10.122",
"ecosystem": "npm"
},
{
"name": "@types/body-parser",
"direct": false,
"version": "1.19.6",
"ecosystem": "npm"
},
{
"name": "@types/bunyan",
"direct": false,
"version": "1.8.9",
"ecosystem": "npm"
},
{
"name": "@types/caseless",
"direct": false,
"version": "0.12.5",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "4.3.20",
"ecosystem": "npm"
},
{
"name": "@types/chai-as-promised",
"direct": false,
"version": "7.1.8",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.36",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.38",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "4.19.8",
"ecosystem": "npm"
},
{
"name": "@types/http-errors",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/jsonwebtoken",
"direct": false,
"version": "9.0.10",
"ecosystem": "npm"
},
{
"name": "@types/linkify-it",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@types/long",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/markdown-it",
"direct": false,
"version": "14.1.2",
"ecosystem": "npm"
},
{
"name": "@types/mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@types/memcached",
"direct": false,
"version": "2.2.10",
"ecosystem": "npm"
},
{
"name": "@types/mime",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@types/mocha",
"direct": false,
"version": "10.0.10",
"ecosystem": "npm"
},
{
"name": "@types/mock-require",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@types/ms",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@types/mysql",
"direct": false,
"version": "2.15.22",
"ecosystem": "npm"
},
{
"name": "@types/nock",
"direct": false,
"version": "10.0.3",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "10.17.13",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "12.20.24",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "18.19.130",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "20.19.43",
"ecosystem": "npm"
},
{
"name": "@types/pg",
"direct": false,
"version": "8.6.1",
"ecosystem": "npm"
},
{
"name": "@types/pg-pool",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.15.1",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/request",
"direct": false,
"version": "2.48.13",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "0.17.6",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@types/serve-static",
"direct": false,
"version": "1.15.10",
"ecosystem": "npm"
},
{
"name": "@types/shimmer",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@types/sinon",
"direct": false,
"version": "9.0.11",
"ecosystem": "npm"
},
{
"name": "@types/sinonjs__fake-timers",
"direct": false,
"version": "15.0.1",
"ecosystem": "npm"
},
{
"name": "@types/tedious",
"direct": false,
"version": "4.0.14",
"ecosystem": "npm"
},
{
"name": "@types/tough-cookie",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "@types/triple-beam",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.62.0",
"ecosystem": "npm"
},
{
"name": "@whatwg-node/promise-helpers",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "abab",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "abort-controller",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "accepts",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "7.4.1",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-globals",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "acorn-import-attributes",
"direct": false,
"version": "1.9.5",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "acorn-walk",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "acorn-walk",
"direct": false,
"version": "8.3.5",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "ajv-draft-04",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "3.0.1",
"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": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "ansis",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "anynum",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "api-extractor-model-me",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "are-docs-informative",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "array-flatten",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "arrify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "asn1.js",
"direct": false,
"version": "5.4.1",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "ast-kit",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "async",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "async-mutex",
"direct": false,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "async-retry",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "bignumber.js",
"direct": false,
"version": "9.3.1",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "birpc",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "bluebird",
"direct": false,
"version": "3.7.2",
"ecosystem": "npm"
},
{
"name": "bn.js",
"direct": false,
"version": "4.12.3",
"ecosystem": "npm"
},
{
"name": "body-parser",
"direct": false,
"version": "1.20.5",
"ecosystem": "npm"
},
{
"name": "body-parser",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "brorand",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "browser-process-hrtime",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "browser-stdout",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "buffer-equal-constant-time",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "cac",
"direct": false,
"version": "6.7.14",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "catharsis",
"direct": false,
"version": "0.9.0",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "chai-as-promised",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "check-error",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "cjs-module-lexer",
"direct": false,
"version": "1.4.3",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "color",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "color-string",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "colorette",
"direct": false,
"version": "2.0.20",
"ecosystem": "npm"
},
{
"name": "colors",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "colors",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "combined-stream",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "2.20.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "9.5.0",
"ecosystem": "npm"
},
{
"name": "comment-parser",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "content-disposition",
"direct": false,
"version": "0.5.4",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "cookie-signature",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "create-require",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "cross-inspect",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "cssom",
"direct": false,
"version": "0.3.8",
"ecosystem": "npm"
},
{
"name": "cssom",
"direct": false,
"version": "0.4.4",
"ecosystem": "npm"
},
{
"name": "cssstyle",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "data-uri-to-buffer",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "2.6.9",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "decimal.js",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "deep-eql",
"direct": false,
"version": "4.1.4",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "defu",
"direct": false,
"version": "6.1.7",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "depd",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "destroy",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "8.0.4",
"ecosystem": "npm"
},
{
"name": "domexception",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "dot-prop",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "dotprompt",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "dts-resolver",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "duplexify",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "ecdsa-sig-formatter",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "ee-first",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "elliptic",
"direct": false,
"version": "6.6.1",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "empathic",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "enabled",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "encodeurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-html",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "escodegen",
"direct": false,
"version": "1.14.3",
"ecosystem": "npm"
},
{
"name": "escodegen",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "eslint-config-google",
"direct": false,
"version": "0.14.0",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "10.1.8",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-jsdoc",
"direct": false,
"version": "61.7.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-prettier",
"direct": false,
"version": "4.2.5",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "11.2.0",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "etag",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "event-target-shim",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "eventid",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "farmhash-modern",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-diff",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "fast-xml-builder",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "fast-xml-parser",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "faye-websocket",
"direct": false,
"version": "0.11.4",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "fecha",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "fetch-blob",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "finalhandler",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "finalhandler",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "firebase-admin",
"direct": false,
"version": "13.10.0",
"ecosystem": "npm"
},
{
"name": "flat",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "fn.name",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "formdata-polyfill",
"direct": false,
"version": "4.0.10",
"ecosystem": "npm"
},
{
"name": "forwarded",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "fresh",
"direct": false,
"version": "0.5.2",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "11.3.5",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "functional-red-black-tree",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "gaxios",
"direct": false,
"version": "6.7.1",
"ecosystem": "npm"
},
{
"name": "gaxios",
"direct": false,
"version": "7.1.5",
"ecosystem": "npm"
},
{
"name": "gcp-metadata",
"direct": false,
"version": "6.1.1",
"ecosystem": "npm"
},
{
"name": "gcp-metadata",
"direct": false,
"version": "8.1.2",
"ecosystem": "npm"
},
{
"name": "genkit",
"direct": false,
"version": "1.37.0",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-func-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-port",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "4.14.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "google-auth-library",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "google-auth-library",
"direct": false,
"version": "10.7.0",
"ecosystem": "npm"
},
{
"name": "google-auth-library",
"direct": false,
"version": "9.15.1",
"ecosystem": "npm"
},
{
"name": "google-gax",
"direct": false,
"version": "4.6.1",
"ecosystem": "npm"
},
{
"name": "google-gax",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "google-logging-utils",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "google-logging-utils",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "googleapis",
"direct": false,
"version": "137.1.0",
"ecosystem": "npm"
},
{
"name": "googleapis-common",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "graphql",
"direct": false,
"version": "16.14.2",
"ecosystem": "npm"
},
{
"name": "gtoken",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "gtoken",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "handlebars",
"direct": false,
"version": "4.7.9",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hash.js",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "hmac-drbg",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "hookable",
"direct": false,
"version": "5.5.3",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "html-entities",
"direct": false,
"version": "2.6.0",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "http-parser-js",
"direct": false,
"version": "0.5.10",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.24",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "import-in-the-middle",
"direct": false,
"version": "1.15.0",
"ecosystem": "npm"
},
{
"name": "import-lazy",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ipaddr.js",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-callable",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.2",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-obj",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-potential-custom-element-name",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-typed-array",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "is-unsafe",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "jju",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "jose",
"direct": false,
"version": "4.15.9",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "js2xmlparser",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "jsdoc",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "jsdoc-type-pratt-parser",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": false,
"version": "16.7.0",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-bigint",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-schema",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json-stringify-safe",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "jsonwebtoken",
"direct": false,
"version": "9.0.3",
"ecosystem": "npm"
},
{
"name": "just-extend",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "jwa",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "jwk-to-pem",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "jwks-rsa",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "jws",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "klaw",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "kuler",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "limiter",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "linkify-it",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash.camelcase",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.clonedeep",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "lodash.get",
"direct": false,
"version": "4.4.2",
"ecosystem": "npm"
},
{
"name": "lodash.includes",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.isboolean",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "lodash.isequal",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "lodash.isinteger",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "lodash.isnumber",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "lodash.isplainobject",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "lodash.isstring",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "lodash.mapvalues",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.once",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "lodash.sortby",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "log-symbols",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "logform",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "loglevel",
"direct": false,
"version": "1.9.2",
"ecosystem": "npm"
},
{
"name": "long",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "long",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "loupe",
"direct": false,
"version": "2.3.7",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lru-memoizer",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "make-error",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "markdown-it",
"direct": false,
"version": "14.2.0",
"ecosystem": "npm"
},
{
"name": "markdown-it-anchor",
"direct": false,
"version": "8.6.7",
"ecosystem": "npm"
},
{
"name": "marked",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "methods",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.52.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.54.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.35",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "minimalistic-assert",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimalistic-crypto-utils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.3",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "5.1.9",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "mocha",
"direct": false,
"version": "10.8.2",
"ecosystem": "npm"
},
{
"name": "mock-require",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "module-details-from-path",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "neo-async",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "nise",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "nock",
"direct": false,
"version": "13.5.6",
"ecosystem": "npm"
},
{
"name": "node-domexception",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "nwsapi",
"direct": false,
"version": "2.2.24",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-deep-merge",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "object-hash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "obug",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "on-finished",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "one-time",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.8.3",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-imports-exports",
"direct": false,
"version": "0.2.4",
"ecosystem": "npm"
},
{
"name": "parse-statements",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "parseurl",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "partial-json",
"direct": false,
"version": "0.1.7",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-expression-matcher",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "pathval",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "pg-int8",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "pg-protocol",
"direct": false,
"version": "1.15.0",
"ecosystem": "npm"
},
{
"name": "pg-types",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "portfinder",
"direct": false,
"version": "1.0.38",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "postgres-array",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "postgres-bytea",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "postgres-date",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "postgres-interval",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "2.8.8",
"ecosystem": "npm"
},
{
"name": "prettier-linter-helpers",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "propagate",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "proto3-json-serializer",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "proto3-json-serializer",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "protobufjs-cli",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "proxy-addr",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "psl",
"direct": false,
"version": "1.15.0",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "pumpify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "punycode.js",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.2",
"ecosystem": "npm"
},
{
"name": "quansync",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "querystringify",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "randombytes",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "2.5.3",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "remove-trailing-separator",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "require-in-the-middle",
"direct": false,
"version": "7.5.2",
"ecosystem": "npm"
},
{
"name": "require-main-filename",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "requires-port",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "requizzle",
"direct": false,
"version": "0.2.4",
"ecosystem": "npm"
},
{
"name": "reserved-identifiers",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.17.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "retry",
"direct": false,
"version": "0.13.1",
"ecosystem": "npm"
},
{
"name": "retry-request",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "retry-request",
"direct": false,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "5.0.10",
"ecosystem": "npm"
},
{
"name": "rolldown",
"direct": false,
"version": "1.0.0-beta.45",
"ecosystem": "npm"
},
{
"name": "rolldown-plugin-dts",
"direct": false,
"version": "0.17.8",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safe-stable-stringify",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.3.8",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.4",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"ecosystem": "npm"
},
{
"name": "send",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "serve-static",
"direct": false,
"version": "1.16.3",
"ecosystem": "npm"
},
{
"name": "set-blocking",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "setprototypeof",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "sha.js",
"direct": false,
"version": "2.4.12",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "shimmer",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sinon",
"direct": false,
"version": "9.2.4",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.23",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "stack-trace",
"direct": false,
"version": "0.0.10",
"ecosystem": "npm"
},
{
"name": "statuses",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "stream-events",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "stream-shift",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "string-argv",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "strnum",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "stubs",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "symbol-tree",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "teeny-request",
"direct": false,
"version": "10.1.3",
"ecosystem": "npm"
},
{
"name": "teeny-request",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "text-hex",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "timsort",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "to-buffer",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "to-valid-identifier",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "toidentifier",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "4.1.4",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "triple-beam",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-node",
"direct": false,
"version": "10.9.2",
"ecosystem": "npm"
},
{
"name": "tsdown",
"direct": false,
"version": "0.15.12",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "1.6.18",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "typed-array-buffer",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "uc.micro",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "uglify-js",
"direct": false,
"version": "3.19.3",
"ecosystem": "npm"
},
{
"name": "unconfig",
"direct": false,
"version": "7.5.0",
"ecosystem": "npm"
},
{
"name": "unconfig-core",
"direct": false,
"version": "7.5.0",
"ecosystem": "npm"
},
{
"name": "underscore",
"direct": false,
"version": "1.13.8",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "5.26.5",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unpipe",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "uri-templates",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "url-parse",
"direct": false,
"version": "1.5.10",
"ecosystem": "npm"
},
{
"name": "url-template",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "utils-merge",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "8.3.2",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "v8-compile-cache-lib",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "validator",
"direct": false,
"version": "13.15.35",
"ecosystem": "npm"
},
{
"name": "validator",
"direct": false,
"version": "8.2.0",
"ecosystem": "npm"
},
{
"name": "vary",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "w3c-hr-time",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "web-streams-polyfill",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "websocket-driver",
"direct": false,
"version": "0.7.5",
"ecosystem": "npm"
},
{
"name": "websocket-extensions",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "8.7.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which-module",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.22",
"ecosystem": "npm"
},
{
"name": "winston",
"direct": false,
"version": "3.19.0",
"ecosystem": "npm"
},
{
"name": "winston-transport",
"direct": false,
"version": "4.9.0",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wordwrap",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "workerpool",
"direct": false,
"version": "6.5.1",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "7.5.11",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.21.0",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "xml-naming",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "xmlchars",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "xmlcreate",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "xtend",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "15.4.1",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "16.2.2",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.3",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "18.1.3",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.9",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yargs-unparser",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "yn",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "z-schema",
"direct": false,
"version": "3.18.4",
"ecosystem": "npm"
},
{
"name": "z-schema",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "3.25.76",
"ecosystem": "npm"
},
{
"name": "zod-to-json-schema",
"direct": false,
"version": "3.25.2",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 896,
"direct_count": 5,
"indirect_count": 891
}
},
"maintainership": {
"issues": {
"open_prs": 49,
"merged_prs": 733,
"open_issues": 56,
"closed_ratio": 0.941,
"closed_issues": 894,
"closed_unmerged_prs": 143
},
"bus_factor": 4,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "google-oss-bot",
"commits": 183,
"avatar_url": "https://avatars.githubusercontent.com/u/26440463?v=4"
},
{
"type": "User",
"login": "inlined",
"commits": 141,
"avatar_url": "https://avatars.githubusercontent.com/u/1553807?v=4"
},
{
"type": "User",
"login": "laurenzlong",
"commits": 125,
"avatar_url": "https://avatars.githubusercontent.com/u/3990804?v=4"
},
{
"type": "User",
"login": "taeold",
"commits": 100,
"avatar_url": "https://avatars.githubusercontent.com/u/14897098?v=4"
},
{
"type": "User",
"login": "firebase-ops",
"commits": 93,
"avatar_url": "https://avatars.githubusercontent.com/u/3211871?v=4"
},
{
"type": "User",
"login": "mbleigh",
"commits": 62,
"avatar_url": "https://avatars.githubusercontent.com/u/1022?v=4"
},
{
"type": "User",
"login": "colerogers",
"commits": 47,
"avatar_url": "https://avatars.githubusercontent.com/u/11183614?v=4"
},
{
"type": "User",
"login": "thechenky",
"commits": 40,
"avatar_url": "https://avatars.githubusercontent.com/u/31747099?v=4"
},
{
"type": "User",
"login": "joehan",
"commits": 34,
"avatar_url": "https://avatars.githubusercontent.com/u/4635763?v=4"
},
{
"type": "User",
"login": "merlinnot",
"commits": 26,
"avatar_url": "https://avatars.githubusercontent.com/u/10390061?v=4"
}
],
"contributors_sampled": 91,
"top_contributor_share": 0.171
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"docs.yaml",
"lint-relnotes.yaml",
"postmerge.yaml",
"test.yaml"
],
"has_docs_dir": false,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"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": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "27 out of 27 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": 9,
"reason": "Found 27/30 approved changesets -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 17 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": "26 commit(s) and 0 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": 6,
"reason": "dependency not pinned by hash detected -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 10,
"reason": "GitHub workflow tokens follow principle of least privilege",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "17 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "ce42106760149bf1ef656ced487187ce10cdcc52",
"ran_at": "2026-07-21T16:15:28Z",
"aggregate_score": 7.9,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/firebase/firebase-functions",
"host": "github.com",
"name": "firebase-functions",
"owner": "firebase"
},
"metrics": {
"overall": {
"key": "overall",
"band": "excellent",
"name": "Overall health",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"security": 79,
"vitality": 89,
"community": 89,
"governance": 88,
"engineering": 76
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 89,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"commits_last_year": 126,
"human_commit_share": 0.96,
"days_since_last_push": 0,
"active_weeks_last_year": 26
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "26/52 weeks with commits",
"points": 18,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 26
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "126 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 126
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 100,
"latest_release_tag": "v7.3.0",
"releases_from_tags": false,
"days_since_latest_release": 4,
"mean_days_between_releases": 15.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~15.7 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 15.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": 5,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 5 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 5
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 89,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"forks": 232,
"stars": 1064,
"watchers": 84,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,064 stars",
"points": 49.1,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1064
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "232 forks",
"points": 19.7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 232
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "84 watchers",
"points": 10.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 84
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"packages": [
"firebase-functions"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 7877700
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "7,877,700 downloads/month across npm",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 7877700,
"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": "excellent",
"name": "Sustainability & Governance",
"value": 88,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "excellent",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"bus_factor": 4,
"contributors_sampled": 91,
"top_contributor_share": 0.171
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "4 contributor(s) cover half of all commits",
"points": 43.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 4
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 17% of commits",
"points": 18.7,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 17
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "91 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 91
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 17 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"merged_prs": 733,
"open_issues": 56,
"closed_issues": 894,
"issue_closed_ratio": 0.941,
"closed_unmerged_prs": 143
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "94% of issues closed",
"points": 44,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 94
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "733/876 decided PRs merged",
"points": 32,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 733,
"decided": 876
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 27/30 approved changesets -- score normalized to 9",
"points": 13.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 7149,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "firebase",
"public_repos": 102,
"account_age_days": 5299
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "7,149 followers of firebase",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 7149,
"login": "firebase"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "102 public repos, account ~14 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 102
}
},
{
"code": "account_age_years",
"params": {
"years": 14
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"firebase-functions"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 4
},
"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 4 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 4
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "148 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 148
}
}
],
"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": "good",
"name": "Engineering Quality",
"value": 76,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"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": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "27 out of 27 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": 65,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": "https://firebase.google.com/docs/functions/",
"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://firebase.google.com/docs/functions/",
"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": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "good",
"name": "Security",
"value": 79,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "good",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 79,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 7.9
},
"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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "27 out of 27 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 27/30 approved changesets -- score normalized to 9",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 17 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": "26 commit(s) and 0 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": "dependency not pinned by hash detected -- score normalized to 6",
"points": 3,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "GitHub workflow tokens follow principle of least privilege",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "17 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "good",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 896 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"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 896
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 80,
"inputs": {
"source": "osv",
"advisories": 26,
"affected_packages": 20,
"assessed_packages": 896,
"unassessed_packages": 0,
"affected_by_severity": "high 15, moderate 3, low 2",
"direct_affected_packages": 1
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "1 affected: protobufjs 7.6.4 (moderate 5.3)",
"points": 20.2,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "protobufjs 7.6.4 (moderate 5.3)"
}
}
],
"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 has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"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": 896,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 14
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 67,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.656,
"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": "63 of 96 human commits state their intent (structured subject or explanatory body)",
"points": 35,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 63,
"sampled": 96
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"integration_test/functions/tsconfig.json",
"tsconfig.json"
],
"agent_commit_share": 0.07,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.04
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": "eslint.config.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "integration_test/functions/tsconfig.json, tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "integration_test/functions/tsconfig.json, tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "7 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 7,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "4 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 4,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 188233,
"source_files_sampled": 232,
"oversized_source_files": 3
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "3/232 source files over 60KB",
"points": 54.3,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 232,
"oversized": 3
}
}
],
"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": [
"deps.dev does not index npm:firebase-functions@7.3.0; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-21T16:16:00.717333Z",
"schema_version": "0.23.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/f/firebase/firebase-functions.svg",
"full_name": "firebase/firebase-functions",
"license_state": "standard",
"license_spdx": "MIT"
}