Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": true,
"size_kb": 5303,
"has_wiki": true,
"homepage": null,
"languages": {
"C++": 209735,
"Shell": 11129,
"Python": 6447,
"Dockerfile": 523,
"JavaScript": 7964,
"TypeScript": 266302
},
"pushed_at": "2026-07-24T09:14:14Z",
"created_at": "2021-07-22T21:45:46Z",
"owner_type": "Organization",
"updated_at": "2026-07-23T07:48:39Z",
"description": "pprof support for Node.js",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript",
"C++"
]
},
"owner": {
"blog": "https://datadoghq.com",
"name": "Datadog, Inc.",
"type": "Organization",
"login": "DataDog",
"company": null,
"location": "New York",
"followers": 3237,
"avatar_url": "https://avatars.githubusercontent.com/u/365230?v=4",
"created_at": "2010-08-15T19:56:37Z",
"is_verified": null,
"public_repos": 1196,
"account_age_days": 5824
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v5.17.0",
"kind": "minor",
"published_at": "2026-07-23T09:16:12Z"
},
{
"tag": "v5.16.0",
"kind": "minor",
"published_at": "2026-07-03T08:27:39Z"
},
{
"tag": "v5.15.1",
"kind": "patch",
"published_at": "2026-06-26T14:07:22Z"
},
{
"tag": "v5.15.0",
"kind": "minor",
"published_at": "2026-06-08T14:31:54Z"
},
{
"tag": "v5.14.4",
"kind": "patch",
"published_at": "2026-05-21T13:23:57Z"
},
{
"tag": "v5.14.0",
"kind": "minor",
"published_at": "2026-03-18T12:10:39Z"
},
{
"tag": "v5.13.5",
"kind": "patch",
"published_at": "2026-03-10T13:55:34Z"
},
{
"tag": "v5.13.4",
"kind": "patch",
"published_at": "2026-02-27T10:57:06Z"
},
{
"tag": "v5.13.3",
"kind": "patch",
"published_at": "2026-02-05T18:01:19Z"
},
{
"tag": "v5.13.2",
"kind": "patch",
"published_at": "2026-01-15T13:43:37Z"
},
{
"tag": "v5.13.1",
"kind": "patch",
"published_at": "2025-12-17T13:14:38Z"
},
{
"tag": "v5.13.0",
"kind": "minor",
"published_at": "2025-12-16T12:16:46Z"
},
{
"tag": "v5.12.0",
"kind": "minor",
"published_at": "2025-10-29T16:19:28Z"
},
{
"tag": "v5.11.1",
"kind": "patch",
"published_at": "2025-10-06T11:45:57Z"
},
{
"tag": "v5.11.0",
"kind": "minor",
"published_at": "2025-10-01T12:43:24Z"
},
{
"tag": "v5.10.0",
"kind": "minor",
"published_at": "2025-09-04T08:20:29Z"
},
{
"tag": "v5.9.0",
"kind": "minor",
"published_at": "2025-06-26T10:11:51Z"
},
{
"tag": "v5.8.2",
"kind": "patch",
"published_at": "2025-06-12T08:05:39Z"
},
{
"tag": "v5.8.0",
"kind": "minor",
"published_at": "2025-05-10T01:11:32Z"
},
{
"tag": "v5.7.1",
"kind": "patch",
"published_at": "2025-04-10T07:39:36Z"
},
{
"tag": "v5.7.0",
"kind": "minor",
"published_at": "2025-03-26T21:42:12Z"
},
{
"tag": "v5.6.0",
"kind": "minor",
"published_at": "2025-03-17T10:49:30Z"
},
{
"tag": "v5.5.1",
"kind": "patch",
"published_at": "2025-01-30T12:09:11Z"
},
{
"tag": "v5.5.0",
"kind": "minor",
"published_at": "2025-01-27T11:00:12Z"
},
{
"tag": "v5.4.1",
"kind": "patch",
"published_at": "2024-10-23T11:34:57Z"
},
{
"tag": "v5.4.0",
"kind": "minor",
"published_at": "2024-10-22T15:48:50Z"
},
{
"tag": "v5.3.0",
"kind": "minor",
"published_at": "2024-05-16T09:25:18Z"
},
{
"tag": "v5.2.0",
"kind": "minor",
"published_at": "2024-03-25T15:10:20Z"
},
{
"tag": "v5.1.0",
"kind": "minor",
"published_at": "2024-03-05T09:26:54Z"
},
{
"tag": "v5.0.0",
"kind": "major",
"published_at": "2024-01-08T11:46:12Z"
},
{
"tag": "v4.1.0",
"kind": "minor",
"published_at": "2023-12-05T15:48:09Z"
},
{
"tag": "v4.0.1",
"kind": "patch",
"published_at": "2023-10-20T17:10:25Z"
},
{
"tag": "v4.0.0",
"kind": "major",
"published_at": "2023-09-25T13:51:57Z"
},
{
"tag": "v3.2.0",
"kind": "minor",
"published_at": "2023-08-22T08:10:04Z"
},
{
"tag": "v3.1.0",
"kind": "minor",
"published_at": "2023-07-13T12:47:49Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2023-06-29T00:27:47Z"
},
{
"tag": "v2.2.3",
"kind": "patch",
"published_at": "2023-06-23T11:48:50Z"
},
{
"tag": "v2.2.2",
"kind": "patch",
"published_at": "2023-06-15T13:15:54Z"
},
{
"tag": "v2.2.1",
"kind": "patch",
"published_at": "2023-05-09T09:16:06Z"
},
{
"tag": "v2.2.0",
"kind": "minor",
"published_at": "2023-04-21T18:08:54Z"
},
{
"tag": "v2.1.0",
"kind": "minor",
"published_at": "2023-03-22T14:34:51Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2023-02-27T13:57:46Z"
},
{
"tag": "v2.0.0-pre",
"kind": "prerelease",
"published_at": "2023-02-20T15:38:38Z"
},
{
"tag": "v1.1.1",
"kind": "patch",
"published_at": "2022-11-02T16:07:17Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2022-11-01T17:18:47Z"
},
{
"tag": "v1.0.3",
"kind": "patch",
"published_at": "2022-10-24T21:51:14Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2022-08-04T19:17:29Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2022-08-04T08:31:36Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2022-07-20T09:03:55Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2022-06-06T21:12:18Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2022-04-26T16:18:33Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2021-11-01T19:22:59Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2021-09-10T04:46:17Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2019-02-26T19:26:15Z"
}
],
"recent_commits": [
{
"oid": "73d1050fee68686f5b092653f5e4006e9356ad55",
"body": "* fix: scope column packing to frames with a missing source map\n\ncolumnNumbers: 'pack' previously packed the column into the line for every\nframe. That leaked the packed value into profiles that skip server-side\nunminification (e.g. Node.js profiles whose maps resolved locally, or that\nnever had mis\n[…]\nsolved and no-map frames keep their plain\nline, so profiles that skip unminification never carry packed line numbers and\nthe backend needs no stripping. This mirrors how the Chrome path already works.",
"is_bot": false,
"headline": "fix: scope column packing to frames with a missing source map (#378)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-23T07:48:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8a3a9dde66435bfc51c646b44ae475c780a36936",
"body": "The test was intermittently failing across platforms (e.g. centos-test-26,\ndarwin-arm builds) with either \"No context found\" or \"Unexpected context\".\n\nTwo compounding causes:\n\n1. It established the sampling context with a bare setContext(). Under\n useCPED that only takes effect when the current co\n[…]\nContext otherwise — and wait for several samples\nbefore stopping. Reproduced on Node 26: the test failed 30/30 runs in\nisolation before, and passes 30/30 in isolation and 25/25 in the full file\nafter.",
"is_bot": false,
"headline": "test(time-profiler): stabilize flaky \"should update state\" (#362)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-22T13:33:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "89cfe080807fca086c65d7c41f6b9476f716392d",
"body": "* feat: add columnNumbers option to control frame column encoding\n\npprof's Line message historically had no column field, so a frame's column was\ndropped from the serialized profile. Add a columnNumbers option controlling how\nthe column is represented:\n - 'drop' (default): omit the column, emit the\n[…]\nix the misleading packLineAndColumn comment: `column << 32` on a plain\n number is a no-op (32-bit shift) returning `column`; BigInt is needed because\n the arithmetic form loses precision past 2**53.",
"is_bot": false,
"headline": "feat: add columnNumbers option to control frame column encoding (#377)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-22T11:48:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fa60a13fe17191799b4d2ed349d3082c9f4e7aac",
"body": "* test: document webpack source map behaviour for column=0 lookups (#248)\n\nAdd tests for SourceMapper.mappingInfo with a synthetic webpack-style\nsingle-line bundle to document the known limitation introduced by #248.\n\nBackground\n----------\nPR #81 changed originalPositionFor to always try LEAST_UPPER\n[…]\nn LineTick to select the correct column where possible.\n\n* fix: use path.resolve/join for platform-portable bundle path in test\n\n---------\n\nCo-authored-by: Stephen Belanger <admin@stephenbelanger.com>",
"is_bot": false,
"headline": "test: document webpack source map behaviour for column=0 lookups (#299)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-22T11:37:44Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "440b91900105cec49ccf2aa37ba715307b344e78",
"body": "Bumps the minor-updates group with 3 updates: [source-map](https://github.com/mozilla/source-map), [sinon](https://github.com/sinonjs/sinon) and [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon).\n\n\nUpdates `source-map` from 0.7.6 to 0.8.0\n- [Release notes](http\n[…]\nrsion-update:semver-major\n dependency-group: minor-updates\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump the minor-updates group with 3 updates (#376)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-21T20:34:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a692ed5c69a4c99b46ad63b2905109c093fe44a2",
"body": "… (#375)\n\n* otel-thread-ctx: publish V8 + ObjectWrap layout constants for readers\n\nExtends the OTEP-4719 process-context attributes emitted by\ngetProcessContextAttributes with three new entries an out-of-process\neBPF reader needs to walk from our TLS discovery struct to the actual\nOTEP-4947 record:\n\n[…]\n non-Linux fallback values match the Linux ones (24 / 0x18 / 0x10);\nthe reader contract is Linux-only per the OTEP anyway, so this just\nkeeps the exported surface consistent in shape across platforms.",
"is_bot": false,
"headline": "otel-thread-ctx: publish V8 + ObjectWrap layout constants for readers…",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-17T09:55:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b08a56c5006bbd3e251f0e062956a8f8f49f2a2b",
"body": "Bumps the patch-updates group with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n).\n\n\nUpdates `@types/node` from 26.1.0 to 26.1.1\n- [Release notes](https://github.com/Definite\n[…]\nrsion-update:semver-patch\n dependency-group: patch-updates\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump the patch-updates group with 2 updates (#373)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T12:06:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ee896ac96a73f4327062220fe578c27f8bcfc359",
"body": "* Address review feedback from PR #347\n\nFour independently-flagged concerns:\n\n- Accept optional third `attributes` arg in ThreadContext constructor.\n The TS ThreadContextCtor.new type declares `attributes` optional, but the\n C++ side hard-errored on `args.Length() != 3`. Loosen to accept 2 or 3\n \n[…]\nd rejection instead of a test failure.\n\n* Explicitly guard against reentrant Append calls.\n\nAlso undo the two-phase encoding loop that was the previous\n(insufficient) attempt at fixing the reentrancy.",
"is_bot": false,
"headline": "otel-thread-ctx: address review feedback from #347 (#366)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-14T12:00:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "13006fed4d78bcc1544c971bce8646c979085cdf",
"body": "Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.9.2 to 26.1.0.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)\n\n---\nupdated-depe\n[…]\nrect:development\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump @types/node from 25.9.2 to 26.1.0 (#370)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-13T16:09:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e6ae674a4f969dbde50f372a1caf43840593b446",
"body": "* restore original heap size",
"is_bot": false,
"headline": "[heap] Restore original heap size (#371)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-07-10T11:28:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f150ac4e70629b54c8381700e43c26ef381d4de4",
"body": "Bumps the minor-updates group with 2 updates: [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) and [nan](https://github.com/nodejs/nan).\n\n\nUpdates `eslint-plugin-n` from 18.1.0 to 18.2.1\n- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)\n- [Changelo\n[…]\nrsion-update:semver-minor\n dependency-group: minor-updates\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump the minor-updates group with 2 updates (#368)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-10T09:43:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2e3ad636041332bb943339b1ac5c47a183508df2",
"body": "Dropping the no-op install script in #363 stopped Yarn Berry's YN0007\nwarning, but it let npm's publish-time normalization take over: with\nbinding.gyp present in the dev tree (and excluded from the tarball) and\nno install/preinstall script, npm synthesizes \"gypfile\": true and\n\"install\": \"node-gyp re\n[…]\nithout a build step. The regression test now also\npins gypfile:false alongside the no-lifecycle-scripts assertion.\n\nFixes: https://github.com/DataDog/pprof-nodejs/pull/364#pullrequestreview-4638668974",
"is_bot": false,
"headline": "fix: opt out of node-gyp on install via gypfile:false (#367)",
"author_name": "Ruben Bridgewater",
"author_login": "BridgeAR",
"committed_at": "2026-07-07T17:51:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eab8480b82c70892639994930d16fe4a5db673f5",
"body": "… group across 1 directory (#355)\n\nBumps the patch-updates group with 1 update in the / directory: [semver](https://github.com/npm/node-semver).\n\n\nUpdates `semver` from 7.8.4 to 7.8.5\n- [Release notes](https://github.com/npm/node-semver/releases)\n- [Changelog](https://github.com/npm/node-semver/blob\n[…]\nrsion-update:semver-patch\n dependency-group: patch-updates\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump semver from 7.8.4 to 7.8.5 in the patch-updates…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-03T07:09:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d42430b2d31e91adff4fd339ce127c7904915110",
"body": "…(#365)\n\nThe lint job ran `yarn` with no `yarn.lock` in the repo, so yarn ignored\npackage-lock.json and resolved every dependency fresh from the\npackage.json ranges. prettier isn't a direct dependency — it comes in\ntransitively via gts (^3.6.2) — so CI floated to the newest prettier\n(3.9.4), while l\n[…]\n lint`) so CI uses\nthe exact package-lock.json versions the repo is developed against. This\nfixes the prettier drift and prevents any future lockless-yarn float for\nevery other tool in the lint chain.",
"is_bot": false,
"headline": "Fix lint CI: install from lockfile (npm ci) instead of lockless yarn …",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-02T16:07:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "751462107566d4bb347155efe85b062c64781147",
"body": "A JS Map always uses the regular OrderedHashMap as its backing table:\nV8's Map constructor hardcodes AllocateOrderedHashMap(), and the only\npath that could install a SmallOrderedHashMap (OrderedHashMapHandler /\nAdjustRepresentation) is test-only, never used by the JSMap/JSSet\nbuiltins. We only ever \n[…]\nffing, and the now-unnecessary templating on FindEntryByHash /\nFindValueByHash. The public GetValueFromMap signature is unchanged.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "Simplify map-get.cc to only handle the regular OrderedHashMap (#361)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-02T15:59:36Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4b3433ede3737121e5cc521ef65cc943bd2f64a2",
"body": "…stom-labels (#347)\n\nPort OTEP-4947 thread-context writer from polarsignals/custom-labels\n\nAdds a Node.js writer for the OpenTelemetry Thread Local Context Record\n(OTEP-4947), ported from the in-development upstream at\npolarsignals/custom-labels (#16, #17).\n\nNative addon (bindings/otel-thread-ctx.cc\n[…]\nes shape,\nand a readelf check that the TLS symbol is exported correctly. A\nscripts/docker/ harness + `npm run test:docker` runs the full suite in\na Linux container from any host. Verified 158 passing.",
"is_bot": false,
"headline": "PROF-14694: Port OTEP-4947 thread-context writer from polarsignals/cu…",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-07-02T15:15:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1d48716f50f5606a4e08f9c4dc26cb5a8fa90566",
"body": "Yarn Berry (Plug'n'Play) prints \"YN0007: @datadog/pprof must be built\" for\nany dependency that declares an install/preinstall/postinstall script, even\nthe no-op \"exit 0\". The package ships prebuilt binaries and excludes\nbinding.gyp from the published tarball, so a consumer has nothing to build;\nthe \n[…]\ne-gyp rebuild in the dev tree,\nwhich CI and the prepare script do explicitly. Removing it stops the\nspurious warning for Yarn Berry consumers.\n\nRefs: https://github.com/DataDog/dd-trace-js/issues/5432",
"is_bot": false,
"headline": "fix: drop no-op install script that triggers Yarn build warning (#363)",
"author_name": "Ruben Bridgewater",
"author_login": "BridgeAR",
"committed_at": "2026-06-29T09:58:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "944c43f52e6557f203520090f3a42aaf863ae137",
"body": "WallProfiler registers an environment cleanup hook (CleanupHook) via\nnode::AddEnvironmentCleanupHook so it can stop profiling when a worker\nisolate is terminated without a beforeExit notification. On termination,\nCleanupHook -> Cleanup -> Dispose called node::RemoveEnvironmentCleanupHook\nfor that sa\n[…]\n.\n\nReproduced and verified fixed in an Alpine/musl Node 26 container under gdb:\ncrashed within 1-2 runs before, 30/30 clean after.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(wall): don't remove the env cleanup hook from inside itself (#360)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-06-26T13:53:15Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2715d976e2f0a58c74ace9d7bdb505594481434a",
"body": null,
"is_bot": false,
"headline": "fix(allocations): stop the heap sampling when getting profile (#357)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-06-25T15:30:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5356fc5861b9ce9e34feb695e4fb065f4a086e8",
"body": "GitHub deprecated the Node.js 20 runtime; bump the actions/* to versions\nthat run on Node.js 24, matching DataDog/action-prebuildify:\n- actions/checkout -> v7\n- actions/setup-node -> v6\n- actions/download-artifact -> v7 (release.yml)\n- the release download-artifact steps now fetch the prebuilds artifact by\n name into ./prebuilds, since v5+ no longer nests a single nameless\n artifact under its own directory",
"is_bot": false,
"headline": "Update CI actions to Node.js 24 versions (#356)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-06-25T09:32:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0089e1e83c688edcbe64edbe20d4811b95a677d1",
"body": "…(#352)",
"is_bot": false,
"headline": "Group patch and minor Dependabot updates for easier approval/merging …",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-06-16T09:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "089e6f3af0154e92d145d902ab0aa511c267c039",
"body": "Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): vuln minor upgrades — 6 packages (minor: 2 · patch: 4) (#353)",
"author_name": "gh-worker-campaigns-3e9aa4[bot]",
"author_login": "gh-worker-campaigns-3e9aa4[bot]",
"committed_at": "2026-06-16T09:34:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5986f8222ddd4a39a9612094de13a094bbc2d4c4",
"body": "Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.0.1 to 18.1.0.\n- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)\n- [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md)\n- [Commits](https://github.c\n[…]\nrect:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump eslint-plugin-n from 18.0.1 to 18.1.0 (#350)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-15T12:57:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eddf4986bd314eee5b11ecceff1352e202b61e07",
"body": "Bumps [semver](https://github.com/npm/node-semver) from 7.8.1 to 7.8.3.\n- [Release notes](https://github.com/npm/node-semver/releases)\n- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/npm/node-semver/compare/v7.8.1...v7.8.3)\n\n---\nupdated-depende\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump semver from 7.8.1 to 7.8.3 (#349)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-15T11:26:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f284efd7d7f55814710c5fc2c3b62422d8ff9f52",
"body": "Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.9.1 to 25.9.2.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)\n\n---\nupdated-depe\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump @types/node from 25.9.1 to 25.9.2 (#348)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-15T11:26:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7ea58bd796c445c9092651d63e2bfd1056f6f393",
"body": "Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.6 to 0.2.7.\n- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.6...v0.2.7)\n\n---\nupdated-dependencies:\n- dependency-name: tmp\n dependency-version: 0.2.7\n depende\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump tmp from 0.2.6 to 0.2.7 (#344)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-15T11:25:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "538153ea3033dce832c0c8db7e3458ba100ec526",
"body": null,
"is_bot": false,
"headline": "Align heap sample type names with allocation profiles (#351)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-06-15T10:40:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a01e2262ac59f80893e9dcea4dba7b4a35104d11",
"body": "…op() (#342)\n\nSerialize profiles while gSourceMapper is still available on the no-restart path, while keeping restart teardown before serialization so the next profile captures serialization cost. Extend regression coverage for both stop() and stop(true).\n\nSigned-off-by: Matteo Collina <hello@matteocollina.com>",
"is_bot": false,
"headline": "fix(time-profiler): serialize before clearing the source mapper in st…",
"author_name": "Matteo Collina",
"author_login": "mcollina",
"committed_at": "2026-06-08T12:13:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e626eb2fdab049c1c4a73d00ce62f8230951ec7b",
"body": "* feat: Allocation profiler",
"is_bot": false,
"headline": "feat: Introducing allocation profiler (#343)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-06-08T10:34:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4043f4ff03692c4da496f9cf47a01af579df2648",
"body": null,
"is_bot": false,
"headline": "fix(wall): use current Dispose signature on StartInternal failure (#345)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-06-08T08:38:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4682100cc1c3ba08c77252d4a37785974ce3d97",
"body": "* fix(wall): break SIGPROF self-chain in signal handler install\n\nIf SIGPROF is already pointing at HandleProfilerSignal when Install()\nruns the else-branch (installed_ == false), the captured \"previous\"\nhandler is our own function. Storing that into old_handler_func_ turns\nthe next signal delivery i\n[…]\n.\n\nRefuse to chain to ourselves: if the captured previous disposition is\n&HandleProfilerSignal, store nullptr instead, so the handler fast-paths\nout via the existing `if (!old_handler) return;` check.",
"is_bot": false,
"headline": "fix(wall): break SIGPROF self-chain in signal handler install (#319)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-06-05T11:00:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "67b46aa0c7145485222df105a86162cc8b3ab047",
"body": "* track live context pointers via an intrusive list\n\nPersistentContextPtr instances were registered in an unordered_set on\nthe WallProfiler so that ~WallProfiler could delete any PCPs that V8\nhad not GC'd yet — otherwise they show up as leaks under LSAN at\nprocess exit, since LSAN's check runs befor\n[…]\nalongside the list link/unlink so the\nmetric path doesn't depend on the container. usedAsyncContextCount /\ntotalAsyncContextCount keep their existing semantics (both report the\nlive count, as before).",
"is_bot": false,
"headline": "wall profiler: track live PCPs via an intrusive list (#341)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-06-01T10:29:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0003ee2a986293bea77da6e0366510a9172d96e9",
"body": "* use thread-local for the active profiler instead of an isolate→profiler map\n\nThe signal handler previously looked up the per-isolate WallProfiler via\nProtectedProfilerMap — an unordered_map shielded by an atomic-exchange dance\nso the SIGPROF handler could read it without taking a mutex. In Node's\n\n[…]\nlain mutex around an\nunordered_set plus the terminated-worker CPU bucket.\n\nDispose no longer needs the removeFromMap parameter — it always removes\nitself from the registry and clears the thread-local.",
"is_bot": false,
"headline": "wall profiler: use thread-local for the active profiler (#322)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-05-28T14:43:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "051b1ff62b33023264e73c42c1c5929941e6ea53",
"body": "Bumps [mocha](https://github.com/mochajs/mocha) from 11.7.5 to 11.7.6.\n- [Release notes](https://github.com/mochajs/mocha/releases)\n- [Changelog](https://github.com/mochajs/mocha/blob/v11.7.6/CHANGELOG.md)\n- [Commits](https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6)\n\n---\nupdated-dependenc\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump mocha from 11.7.5 to 11.7.6 (#339)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-27T15:15:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7e6dae087d0bf0c0d48628633f1d4a1202ab78f2",
"body": "Bumps [semver](https://github.com/npm/node-semver) from 7.8.0 to 7.8.1.\n- [Release notes](https://github.com/npm/node-semver/releases)\n- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/npm/node-semver/compare/v7.8.0...v7.8.1)\n\n---\nupdated-depende\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump semver from 7.8.0 to 7.8.1 (#338)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-27T09:34:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bef8823e6d9a6fdc66c3f017182fce672f00b817",
"body": "Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.6.\n- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.6)\n\n---\nupdated-dependencies:\n- dependency-name: tmp\n dependency-version: 0.2.6\n depende\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump tmp from 0.2.5 to 0.2.6 (#340)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-27T09:34:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9ebea2a4809407e8b952dcc1ec9137c8639a3874",
"body": "Automates the v5.x release proposal workflow: worktree creation,\nbranch-diff to identify commits, cherry-picking, version bump, and\nPR creation.",
"is_bot": false,
"headline": "Add release skill for Claude Code (#309)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-05-21T12:51:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a228ece4232cf74b1083bff47b2a9281d6dcafa6",
"body": "Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.7.0 to 25.9.1.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)\n\n---\nupdated-depe\n[…]\nigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <szegedi@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump @types/node from 25.7.0 to 25.9.1 (#333)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-21T12:24:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0d11cf0879ad75cd0cd49e3294f08ca971655eda",
"body": null,
"is_bot": false,
"headline": "Specify node-gyp-build to major v4 (#336)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-05-21T12:16:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1417470e2c51046d4e7ff48ca6f10032ff91816f",
"body": "The release workflow's tag push was rejected by the tag ruleset because\nactions/checkout persisted GITHUB_TOKEN credentials, which took precedence\nover the dd-octo-sts token in the explicit push URL. Drop the persisted\ncredentials and downgrade contents permission to read.\n\nAlso pin actions/download-artifact and actions/setup-node by commit SHA.\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fix release tag push and pin actions by SHA (#335)",
"author_name": "Christoph Hamsen",
"author_login": "xopham",
"committed_at": "2026-05-20T12:08:19Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "34c21387a6b8db32fd675a53801ff25bc5d67dfe",
"body": null,
"is_bot": false,
"headline": "Use node-gyp-build 4 layout for releases too (#332)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-05-20T08:10:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "232bea870f3181df31a5602f8f1f62f9b9a83779",
"body": "… (#329)\n\n* Revert \"use stop and collect on time profiler (#305)\"\n\nThis reverts commit 85f2457e4be8d5754bbee5bcd9cea1d5d7ab814d.\n\n* Revert \"Switch heap profiling to use lazy allocation profile method by default (#281)\"\n\nThis reverts commit fb3d75d27c38747905cf32df07eadf3f94ffbb14.\n\n* Touchup for TS6 changes introduced after the reverted commits.\n\nSpecifically enforcing TS2883 under `composite: true`: any\nfunction whose inferred return type names a non-imported\ntype must be annotated explicitly.",
"is_bot": false,
"headline": "Revert lazy profile-tree changes to mitigate CpuProfile::Delete crash…",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-05-19T12:21:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8abe98919100e51800972caa7ef800b65cdfe66",
"body": null,
"is_bot": false,
"headline": "Add Node.js v26 to benchmarks (#328)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-05-19T07:21:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc7cf1c6cbb9e5bee0a0ee593db771b2d1429e66",
"body": "* support Node.js v26",
"is_bot": false,
"headline": "support Node.js v26 (#327)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-05-18T15:11:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca6ad2942156e66c8a6f14898319cbe3bf8664af",
"body": null,
"is_bot": false,
"headline": "Add Node.js v25 to benchmarks (#326)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-05-18T13:16:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "569aee25c9b05433979b6dfacf8551127ce210c6",
"body": "Bumps [sinon](https://github.com/sinonjs/sinon) from 21.1.2 to 22.0.0.\n- [Release notes](https://github.com/sinonjs/sinon/releases)\n- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)\n- [Commits](https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0)\n\n---\nupdated-depende\n[…]\nrect:development\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump sinon from 21.1.2 to 22.0.0 (#325)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-13T12:29:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3a6bbbcf32410f1c1215bbec303336db6f33d873",
"body": "Bumps [semver](https://github.com/npm/node-semver) from 7.7.4 to 7.8.0.\n- [Release notes](https://github.com/npm/node-semver/releases)\n- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0)\n\n---\nupdated-depende\n[…]\nrect:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump semver from 7.7.4 to 7.8.0 (#323)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-13T12:01:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eaf01ceacc1ca0c1b5d39da764d96633302f78e3",
"body": "Bumps [node-gyp-build](https://github.com/prebuild/node-gyp-build) from 3.9.0 to 4.8.4.\n- [Commits](https://github.com/prebuild/node-gyp-build/compare/v3.9.0...v4.8.4)\n\n---\nupdated-dependencies:\n- dependency-name: node-gyp-build\n dependency-version: 4.8.4\n dependency-type: direct:production\n upda\n[…]\nigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <szegedi@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump node-gyp-build from 3.9.0 to 4.8.4 (#284)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-13T11:59:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cb73f9fdad326dfc617b8983aeafd179859fb81c",
"body": "Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.24.0 to 18.0.1.\n- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)\n- [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md)\n- [Commits](https://github.\n[…]\nrect:development\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump eslint-plugin-n from 17.24.0 to 18.0.1 (#320)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-13T09:51:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e10d9598b8bad7364819eb828783696e1e2b2140",
"body": "Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.6.0 to 25.7.0.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)\n\n---\nupdated-depe\n[…]\nrect:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump @types/node from 25.6.0 to 25.7.0 (#324)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-13T09:47:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7856e8d8a1df79a321bc3e7e5bf2600848fb09a5",
"body": "Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): node-gyp-build (major → 4.8.4) (#316)",
"author_name": "gh-worker-campaigns-3e9aa4[bot]",
"author_login": "gh-worker-campaigns-3e9aa4[bot]",
"committed_at": "2026-04-28T12:44:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc03672f8953a05d4eb1211e5774b59e975f3c0d",
"body": "* build(deps-dev): bump typescript from 5.9.3 to 6.0.3\n\nBumps [typescript](https://github.com/microsoft/TypeScript) from 5.9.3 to 6.0.3.\n- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: typescript\n dependency-version: 6.0.3\n \n[…]\n-\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <attila.szegedi@datadoghq.com>",
"is_bot": true,
"headline": "build(deps-dev): bump typescript from 5.9.3 to 6.0.3 (#315)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-28T11:39:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "53ca9b4e01ce325a4073e8e8e54e57e4a3b8bb54",
"body": "Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): minor: sinon · patch: @types/node, @types/sinon (#317)",
"author_name": "gh-worker-campaigns-3e9aa4[bot]",
"author_login": "gh-worker-campaigns-3e9aa4[bot]",
"committed_at": "2026-04-27T16:16:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "83708df9b07b5cd942afd0bc061b66ef6740eb98",
"body": "use release publisher file to release dev tag",
"is_bot": false,
"headline": "use release publisher file to release dev tag too (#311)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-04-01T13:31:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f207df1eb19ee1af14253e3097e1b1dcdd7be78c",
"body": "* use trusted publishing for dev releases",
"is_bot": false,
"headline": "use trusted publishing for dev releases (#310)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-04-01T09:46:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "203a97616548c7fd7d4e259dd5984164b1aa22ad",
"body": "Bumps [nan](https://github.com/nodejs/nan) from 2.26.1 to 2.26.2.\n- [Changelog](https://github.com/nodejs/nan/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/nodejs/nan/compare/v2.26.1...v2.26.2)\n\n---\nupdated-dependencies:\n- dependency-name: nan\n dependency-version: 2.26.2\n dependency-type:\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump nan from 2.26.1 to 2.26.2 (#307)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-24T18:21:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "85f2457e4be8d5754bbee5bcd9cea1d5d7ab814d",
"body": null,
"is_bot": false,
"headline": "use stop and collect on time profiler (#305)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-03-23T12:48:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d2b6ea25396baf9a018f70d121f3f0aa3c558d8",
"body": "Bumps [nan](https://github.com/nodejs/nan) from 2.25.0 to 2.26.0.\n- [Changelog](https://github.com/nodejs/nan/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/nodejs/nan/compare/v2.25.0...v2.26.0)\n\n---\nupdated-dependencies:\n- dependency-name: nan\n dependency-version: 2.26.0\n dependency-type:\n[…]\nrect:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump nan from 2.25.0 to 2.26.0 (#301)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-18T15:42:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "301e3fa6ce3e55c4486cf46e4053ec1e8dc050a2",
"body": null,
"is_bot": false,
"headline": "rename sts release policy file (#304)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-03-18T12:32:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a1a6016c0d59003f7748298ba84cabdf9ad555ee",
"body": "Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.4.0 to 25.5.0.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)\n\n---\nupdated-depe\n[…]\nrect:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump @types/node from 25.4.0 to 25.5.0 (#303)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-18T10:29:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "04ea8ad7213628aa9c184f2d608cb912c9c90973",
"body": " feat: track declared-but-missing source maps and report them in profile comments \n \n When a JS file has a sourceMappingURL an\n[…]\nvalid forms (including\n data:application/json;charset=utf-8;base64,...) are correctly handled\n and never produce false missing-map signals.\n\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Report missing source maps in profile comments (#298)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-03-18T10:24:46Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1df62c6746b893a517901059c34c9223f5754073",
"body": "Bumps [sinon](https://github.com/sinonjs/sinon) from 21.0.2 to 21.0.3.\n- [Release notes](https://github.com/sinonjs/sinon/releases)\n- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)\n- [Commits](https://github.com/sinonjs/sinon/compare/v21.0.2...v21.0.3)\n\n---\nupdated-depende\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump sinon from 21.0.2 to 21.0.3 (#302)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-18T09:35:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ef19df366690f58f7101507710acd1629c912e34",
"body": "use dd-octo-sts for tag creation",
"is_bot": false,
"headline": "use dd-octo-sts for tag creation (#300)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-03-17T19:34:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ab3e3986f79e612e7c99cd11cc96d063e9c9cdd",
"body": "…t (#292)\n\n* Rewrite SourceMapper to use eager directory scan with sourceMappingURL support\n\nReplace `SourceMapper.create(searchDirs[])` with a two-part API:\n- `new SourceMapper()` constructs an empty mapper synchronously\n- `await sm.loadDirectory(dir)` populates it asynchronously\n- SourceMapper.cre\n[…]\nty\nbefore creating the SourceMapConsumer, so we can bail out early (skipping\nconsumer creation) if the JS file was already loaded in Phase 1.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Rewrite SourceMapper to scan directories with sourceMappingURL suppor…",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-03-12T15:07:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4b34c890a535e26c0d21e1cd33d20b6ef2823d5d",
"body": "Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.3.3 to 25.4.0.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)\n\n---\nupdated-depe\n[…]\nigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <szegedi@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump @types/node from 25.3.3 to 25.4.0 (#297)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-11T10:16:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7da93dd18a575c8d5d34224383e05b501de848ae",
"body": "Bumps [sinon](https://github.com/sinonjs/sinon) from 21.0.1 to 21.0.2.\n- [Release notes](https://github.com/sinonjs/sinon/releases)\n- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)\n- [Commits](https://github.com/sinonjs/sinon/compare/v21.0.1...v21.0.2)\n\n---\nupdated-depende\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump sinon from 21.0.1 to 21.0.2 (#296)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-10T18:11:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bd5ca5dc8e42123fb66fc5bbd12f2e6753ca854b",
"body": "Reduce time profiler memory usage with lazy profile tree",
"is_bot": false,
"headline": "Reduce time profiler memory usage with lazy profile tree (#287)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-03-10T17:31:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c946695bf38f3af29c5081aad0a22f3855747ec",
"body": null,
"is_bot": false,
"headline": "Ignore tsconfig auto generated build info file (#290)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-03-10T12:50:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37c40ef0b9f2112f04c119dc3e133f92fc9f5624",
"body": "* Remove p-limit dependency, inline concurrency limiter\n\np-limit v4+ is pure ESM and incompatible with the project's CommonJS\noutput. Replace the single usage in sourcemapper.ts with an inline\nimplementation that has no external dependencies.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com\n[…]\nly.github.com>\nCo-authored-by: Attila Szegedi <szegedi@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <attila.szegedi@datadoghq.com>\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
"is_bot": true,
"headline": "build(deps): Remove p-limit dependency (#279)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-04T17:33:31Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2db974194141656a0ec9d33df86739a09e5b4d7b",
"body": "Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.3.3 to 25.3.3.\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)\n\n---\nupdated-depe\n[…]\nrect:development\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump @types/node from 24.3.3 to 25.3.3 (#288)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-03T18:09:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5c168bea2b828696efc6df8d2410a67888ec3256",
"body": "Bumps [nyc](https://github.com/istanbuljs/nyc) from 17.1.0 to 18.0.0.\n- [Release notes](https://github.com/istanbuljs/nyc/releases)\n- [Changelog](https://github.com/istanbuljs/nyc/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/istanbuljs/nyc/compare/nyc-v17.1.0...nyc-v18.0.0)\n\n---\nupdated-de\n[…]\nrect:development\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump nyc from 17.1.0 to 18.0.0 (#289)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-03T18:05:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "19d4539e44fbb46a8bc0c8f7ae9cf9e1c9bfc44b",
"body": "* build(deps-dev): bump eslint-plugin-n from 16.6.2 to 17.24.0\n\nBumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.6.2 to 17.24.0.\n- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)\n- [Changelog](https://github.com/eslint-community/eslin\n[…]\nauthored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <attila.szegedi@datadoghq.com>\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
"is_bot": true,
"headline": "build(deps-dev): bump eslint-plugin-n from 16.6.2 to 17.24.0 (#278)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-03T14:34:32Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "81a35f98bf8b602f1e053faa45fdb370992451c6",
"body": "* build(deps-dev): bump gts from 4.0.1 to 7.0.0\n\nBumps [gts](https://github.com/google/gts) from 4.0.1 to 7.0.0.\n- [Release notes](https://github.com/google/gts/releases)\n- [Changelog](https://github.com/google/gts/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/google/gts/compare/v4.0.1...v7\n[…]\nauthored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <attila.szegedi@datadoghq.com>\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
"is_bot": true,
"headline": "build(deps-dev): bump gts from 4.0.1 to 7.0.0 (#276)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-03T12:44:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1076d7292b8c6f374f9bfd089c80272041e46ee8",
"body": "Bumps [nyc](https://github.com/istanbuljs/nyc) from 15.1.0 to 17.1.0.\n- [Release notes](https://github.com/istanbuljs/nyc/releases)\n- [Changelog](https://github.com/istanbuljs/nyc/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/istanbuljs/nyc/compare/v15.1.0...nyc-v17.1.0)\n\n---\nupdated-depend\n[…]\nrect:development\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump nyc from 15.1.0 to 17.1.0 (#285)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-25T09:26:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fdd7f20c771091c7084047c9c227ba5b062cfd58",
"body": null,
"is_bot": false,
"headline": "Update package-lock.json with results of \"npm audit\". (#283)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-02-20T15:10:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "857d7777d92cfbc0322e5416e052d8a42f0f9b93",
"body": null,
"is_bot": false,
"headline": "Add timeProfiler.runWithContext (#275)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-02-20T14:47:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f1285cae7ac6c86e12126242f6f71c40017fb5d2",
"body": "Bumps [mocha](https://github.com/mochajs/mocha) from 10.8.2 to 11.7.5.\n- [Release notes](https://github.com/mochajs/mocha/releases)\n- [Changelog](https://github.com/mochajs/mocha/blob/v11.7.5/CHANGELOG.md)\n- [Commits](https://github.com/mochajs/mocha/compare/v10.8.2...v11.7.5)\n\n---\nupdated-dependenc\n[…]\nigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <szegedi@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump mocha from 10.8.2 to 11.7.5 (#280)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-20T14:45:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fb3d75d27c38747905cf32df07eadf3f94ffbb14",
"body": "…t (#281)\n\nuse MapAllocationProfile by default to get heap profiler",
"is_bot": false,
"headline": "Switch heap profiling to use lazy allocation profile method by defaul…",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-02-20T13:25:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "623995d845193c45b163705067e84ab932ec9288",
"body": "Bumps [codecov](https://github.com/codecov/codecov-node) from 3.8.2 to 3.8.3.\n- [Release notes](https://github.com/codecov/codecov-node/releases)\n- [Changelog](https://github.com/codecov/codecov-node/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-node/compare/v3.8.2...v3.8.\n[…]\nrect:development\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps-dev): bump codecov from 3.8.2 to 3.8.3 (#277)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-20T11:37:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a2649a62c480648c822cc08ffc45770dfa82c0c3",
"body": "* Read V8 map data directly, for signal safety\n\n* Allow passing in an ACF key object externally to the profiler.\n\n* time-profiler.ts uses it to pass an AsyncLocalStorage (ALS) as the key.",
"is_bot": false,
"headline": "Store sampling context in the AsyncContextFrame directly (#255)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-02-20T11:09:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e88303f046cba4069047417463a8e25bbb54b987",
"body": "Improve heap profile memory usage by lazily loading js objects",
"is_bot": false,
"headline": "Improve heap profile memory usage by lazily loading js objects (#260)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-02-19T13:20:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3844dd83508d75bd096382e5f02da3125e09213",
"body": null,
"is_bot": false,
"headline": "Enable dependabot updates (#273)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-02-17T16:23:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7bcdef00ca09561c3a1358c913e53b4464519c1",
"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": "build(deps-dev): bump lodash from 4.17.21 to 4.17.23 (#274)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-16T18:14:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cacddeb6547c728fc733cc021b1d5ebef15eb86b",
"body": "* Update lock file\n\n* Update typescript and semver",
"is_bot": false,
"headline": "Update lock file & patch versions (#272)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-02-16T17:46:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd4c03fe98bf283705d01efd78b7f2eb7a6ecf92",
"body": "* Eliminate use of delay library\n\n* Remove it from package-lock.json too",
"is_bot": true,
"headline": "Eliminate use of delay library (#269)",
"author_name": "campaigner-prod[bot]",
"author_login": "campaigner-prod[bot]",
"committed_at": "2026-02-16T13:52:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74be6b7064d991d10e168c1a9d80c9723e75ee2d",
"body": "* Executing automated changes\n\n* Add package-lock.json changes\n\n---------\n\nCo-authored-by: campaigner-prod[bot] <87874424+campaigner-prod[bot]@users.noreply.github.com>\nCo-authored-by: Attila Szegedi <attila.szegedi@datadoghq.com>\nCo-authored-by: Attila Szegedi <szegedi@users.noreply.github.com>",
"is_bot": true,
"headline": "DEPENDENCY UPGRADE: patch: @types/node, nan, tmp (#267)",
"author_name": "campaigner-prod[bot]",
"author_login": "campaigner-prod[bot]",
"committed_at": "2026-02-16T13:47:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84bb4747c4000935539024204104782a392bd004",
"body": "Co-authored-by: campaigner-prod[bot] <87874424+campaigner-prod[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Update @types/sinon to 21.0.0 (#265)",
"author_name": "campaigner-prod[bot]",
"author_login": "campaigner-prod[bot]",
"committed_at": "2026-02-16T13:26:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b8b617c6d5173e5daefee795f0835cb30c92d08",
"body": "Co-authored-by: campaigner-prod[bot] <87874424+campaigner-prod[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Executing automated changes (#264)",
"author_name": "campaigner-prod[bot]",
"author_login": "campaigner-prod[bot]",
"committed_at": "2026-02-16T13:25:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5aec75ca3210a2e1c71c0bdab0b4d5d9ecf06e8",
"body": "…heir deregistration through StopImpl->Dispose. (#271)",
"is_bot": false,
"headline": "Moved GC callback registration in StartImpl, to be symmetrical with t…",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-02-16T13:20:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bf5cc6d03fe064c64cbe626aef7a68e100fb215",
"body": null,
"is_bot": false,
"headline": "Do not reuse PersistentContextPtr instances (#261)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-02-10T13:18:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82b0839df8e0279d02e0e542514e6d472944137c",
"body": null,
"is_bot": false,
"headline": "Add Ilyas to CODEOWNERS (#262)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-02-10T13:17:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb9eabdc7bd954265ab4c64d75e0fe978e600ee9",
"body": "* fix(wall): bound CPED freelist with dynamic budget + hysteresis\n\nThis implement a lower and upper bound to match different user\nload situations.\n\nRefs: https://github.com/DataDog/dd-trace-js/issues/7355\n\n* fix(wall): add bounded batch trimming + track dead counts per GC\n\n* fix(wall): adapt trim batch with growth/decay + emergency override\n\n* test: add memory leak test\n\nThis verifies that it fails before and is fixed with the change.\n\n* fixup!",
"is_bot": false,
"headline": "fix(wall): bound CPED freelist with dynamic budget + hysteresis (#258)",
"author_name": "Ruben Bridgewater",
"author_login": "BridgeAR",
"committed_at": "2026-02-05T14:29:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d803e6152382b5161c9c0ce8d9f7d568bc53489",
"body": "If a OOM profile is created, it would not released afterwards\nincreasing the likelihood of not being able to recover, if there\nis any chance for that.",
"is_bot": false,
"headline": "fix(heap): release OOM profile after callback (#257)",
"author_name": "Ruben Bridgewater",
"author_login": "BridgeAR",
"committed_at": "2026-02-05T12:01:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30235f3932954b67b85a75f9fa6c55b91463ed15",
"body": "Fix swapped count/size params in CreateAllocation",
"is_bot": false,
"headline": "fix params order in create allocation call (#256)",
"author_name": "Ilyas Shabi",
"author_login": "IlyasShabi",
"committed_at": "2026-02-05T11:14:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "947f5cfe8e0cf1ab003bf1c370398e4521011aeb",
"body": null,
"is_bot": false,
"headline": "Remove the check for dead isolate (#253)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-01-15T10:35:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c0db1ca61cb11c09b324e1f5d29b7c9f3536c4d",
"body": null,
"is_bot": false,
"headline": "Guard against null heap profile (#252)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2026-01-15T09:57:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "346a33634001e49b6115fc383acf762e14ee92d8",
"body": "* Fix accidental removal of getMetrics function\n\n* Import time profiler through top-level profiler file, ensuring that it tests re-exporting of functions etc.",
"is_bot": false,
"headline": "Fix accidental removal of getMetrics function (#250)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2025-12-17T12:32:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0cd62c50e41583235bd87459d718e383051fcee",
"body": "When lineNumbers is enabled, the column is always zero. If only one\noccurence of a call occurs on one line then that is correctly selected.\nHowever, in cases where the same function is called multiple times in\nthe same line it will be unable to differentiate them and would use\nthe unmapped value. This now makes it select the first call in the line\nas a best-guess for the match, and in Node.js v25 will use the new\ncolumn field in LineTick to select the correct column where possible.",
"is_bot": false,
"headline": "Fix source mapping of zero-column locations (#248)",
"author_name": "Stephen Belanger",
"author_login": "Qard",
"committed_at": "2025-12-15T10:43:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f44c9620f1379bf8008c4ad9cadf415acb7bf0e5",
"body": null,
"is_bot": false,
"headline": "Start using AsyncContextFrame already on Node.js 22 (#247)",
"author_name": "Attila Szegedi",
"author_login": "szegedi",
"committed_at": "2025-12-11T13:54:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55db246e238d76ca6caf9efddf756b5f8ac13567",
"body": null,
"is_bot": false,
"headline": "Fix isolate cleanup segfault (#245)",
"author_name": "Stephen Belanger",
"author_login": "Qard",
"committed_at": "2025-12-08T12:53:13Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 54,
"commits_last_year": 113,
"latest_release_at": "2026-07-23T09:16:12Z",
"latest_release_tag": "v5.17.0",
"releases_from_tags": true,
"days_since_last_push": 2,
"active_weeks_last_year": 30,
"days_since_latest_release": 3,
"mean_days_between_releases": 21
},
"community": {
"has_readme": false,
"has_license": false,
"has_description": false,
"has_contributing": false,
"health_percentage": null,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "@datadog/pprof",
"exists": true,
"license": "Apache-2.0",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@datadog/pprof",
"is_deprecated": false,
"latest_version": "5.17.0",
"repository_url": "https://github.com/DataDog/pprof-nodejs",
"versions_count": 107,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 41561948,
"first_published_at": "2021-07-27T00:28:38.367000Z",
"latest_published_at": "2026-07-23T09:28:33.917000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 3
}
]
},
"popularity": {
"forks": 8,
"stars": 31,
"watchers": 3,
"fork_history": {
"days": [
{
"date": "2022-05-24",
"count": 1
},
{
"date": "2022-07-28",
"count": 1
},
{
"date": "2025-03-21",
"count": 1
},
{
"date": "2025-07-18",
"count": 1
},
{
"date": "2025-07-21",
"count": 1
},
{
"date": "2026-01-04",
"count": 1
},
{
"date": "2026-02-09",
"count": 1
},
{
"date": "2026-05-07",
"count": 1
}
],
"complete": true,
"collected": 8,
"total_forks": 8
},
"star_history": null,
"open_issues_and_prs": 1
},
"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": [
"system-test/busybench/tsconfig.json",
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 54342,
"source_files_sampled": 49,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 3,
"malicious_count": 0,
"assessed_package": "npm:@datadog/pprof@5.17.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "node-gyp-build",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.8.4"
},
{
"name": "pprof-format",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.2.1"
},
{
"name": "source-map",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.8.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "node-gyp-build",
"direct": true,
"version": "4.8.4",
"ecosystem": "npm"
},
{
"name": "pprof-format",
"direct": true,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": true,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": true,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"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/helper-validator-option",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.7",
"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-array",
"direct": false,
"version": "0.23.5",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.39.3",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.1",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.7",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/load-nyc-config",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@pkgr/core",
"direct": false,
"version": "0.2.9",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/is",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/commons",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@sinonjs/fake-timers",
"direct": false,
"version": "15.4.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/samsam",
"direct": false,
"version": "10.0.2",
"ecosystem": "npm"
},
{
"name": "@szmarczak/http-timer",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@types/cacheable-request",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "@types/esrecurse",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/http-cache-semantics",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/keyv",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "@types/minimist",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "@types/mocha",
"direct": false,
"version": "10.0.10",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "26.1.1",
"ecosystem": "npm"
},
{
"name": "@types/normalize-package-data",
"direct": false,
"version": "2.4.4",
"ecosystem": "npm"
},
{
"name": "@types/responselike",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@types/semver",
"direct": false,
"version": "7.7.1",
"ecosystem": "npm"
},
{
"name": "@types/sinon",
"direct": false,
"version": "22.0.0",
"ecosystem": "npm"
},
{
"name": "@types/sinonjs__fake-timers",
"direct": false,
"version": "8.1.5",
"ecosystem": "npm"
},
{
"name": "@types/tmp",
"direct": false,
"version": "0.2.6",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "append-transform",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "archy",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "argv",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "array-find-index",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "arrify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "async",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.37",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.12",
"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": "browser-stdout",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.2",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "builtins",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cacheable-lookup",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "cacheable-request",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "caching-transform",
"direct": false,
"version": "4.0.0",
"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": "camelcase-keys",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001799",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chardet",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "clang-format",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "cli-width",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "clone-response",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "codecov",
"direct": false,
"version": "3.8.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "commondir",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"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": "decamelize-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "decompress-response",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "deep-copy",
"direct": false,
"version": "1.4.2",
"ecosystem": "npm"
},
{
"name": "deep-extend",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "default-require-extensions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "defer-to-connect",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.373",
"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": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.19.0",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "es6-error",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.3",
"ecosystem": "npm"
},
{
"name": "eslint-compat-utils",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "10.1.8",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-es-x",
"direct": false,
"version": "7.8.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-n",
"direct": false,
"version": "17.24.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-n",
"direct": false,
"version": "18.2.2",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-prettier",
"direct": false,
"version": "5.5.5",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "9.1.2",
"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": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "external-editor",
"direct": false,
"version": "3.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-url-parser",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "find-cache-dir",
"direct": false,
"version": "3.3.2",
"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": "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": "foreground-child",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "fromentries",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "gaxios",
"direct": false,
"version": "5.1.3",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-package-type",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "4.10.1",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "15.15.0",
"ecosystem": "npm"
},
{
"name": "globrex",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "got",
"direct": false,
"version": "11.8.6",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "gts",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "hard-rejection",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "hasha",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "http2-wrapper",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.24",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "ignore-walk",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "inquirer",
"direct": false,
"version": "7.3.3",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"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-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-typedarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "is-windows",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-hook",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-processinfo",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-source-maps",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "js-green-licenses",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.1",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash.flattendeep",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "log-symbols",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "lowercase-keys",
"direct": false,
"version": "2.0.0",
"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": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "min-indent",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minimist-options",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mocha",
"direct": false,
"version": "11.7.6",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "0.0.8",
"ecosystem": "npm"
},
{
"name": "nan",
"direct": false,
"version": "2.28.0",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "ncp",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "node-preload",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.47",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "normalize-url",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "npm-package-arg",
"direct": false,
"version": "8.1.5",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "nyc",
"direct": false,
"version": "18.0.0",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "os-tmpdir",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "p-cancelable",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "package-hash",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "package-json",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.8.1",
"ecosystem": "npm"
},
{
"name": "prettier-linter-helpers",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "process-on-spawn",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "randombytes",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "rc",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "read-pkg-up",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "redent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "registry-auth-token",
"direct": false,
"version": "4.2.2",
"ecosystem": "npm"
},
{
"name": "registry-url",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "release-zalgo",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-main-filename",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.10",
"ecosystem": "npm"
},
{
"name": "resolve-alpn",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "responselike",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "6.1.3",
"ecosystem": "npm"
},
{
"name": "run-async",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "6.6.7",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"ecosystem": "npm"
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "set-blocking",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sinon",
"direct": false,
"version": "22.1.0",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.21",
"ecosystem": "npm"
},
{
"name": "spawn-wrap",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-compare",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-correct",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.22",
"ecosystem": "npm"
},
{
"name": "spdx-ranges",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "spdx-satisfies",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "stream-events",
"direct": false,
"version": "1.0.5",
"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": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "strip-indent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.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": "synckit",
"direct": false,
"version": "0.11.12",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "teeny-request",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "through",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.16",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.0.33",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "trim-newlines",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-declaration-location",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "1.14.1",
"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-fest",
"direct": false,
"version": "0.18.1",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.21.3",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "typedarray-to-buffer",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "urlgrey",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "8.3.2",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-license",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-name",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "5.0.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": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "workerpool",
"direct": false,
"version": "9.3.4",
"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": "write-file-atomic",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "6.0.0",
"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": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "15.4.1",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"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": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 461,
"direct_count": 4,
"indirect_count": 457
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 333,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 44
},
"bus_factor": 2,
"bot_contributors": 5,
"top_contributors": [
{
"type": "User",
"login": "nolanmar511",
"commits": 228,
"avatar_url": "https://avatars.githubusercontent.com/u/14046562?v=4"
},
{
"type": "User",
"login": "szegedi",
"commits": 75,
"avatar_url": "https://avatars.githubusercontent.com/u/122822?v=4"
},
{
"type": "User",
"login": "nsavoire",
"commits": 75,
"avatar_url": "https://avatars.githubusercontent.com/u/19255994?v=4"
},
{
"type": "User",
"login": "renovate-bot",
"commits": 42,
"avatar_url": "https://avatars.githubusercontent.com/u/25180681?v=4"
},
{
"type": "User",
"login": "ofrobots",
"commits": 39,
"avatar_url": "https://avatars.githubusercontent.com/u/79017?v=4"
},
{
"type": "User",
"login": "Qard",
"commits": 35,
"avatar_url": "https://avatars.githubusercontent.com/u/205482?v=4"
},
{
"type": "User",
"login": "IlyasShabi",
"commits": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/33763729?v=4"
},
{
"type": "User",
"login": "JustinBeckwith",
"commits": 16,
"avatar_url": "https://avatars.githubusercontent.com/u/534619?v=4"
},
{
"type": "User",
"login": "rochdev",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/1596303?v=4"
},
{
"type": "User",
"login": "jkwlui",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/4001432?v=4"
}
],
"contributors_sampled": 25,
"top_contributor_share": 0.401
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"build.yml",
"lint.yml",
"package-size.yml",
"pr-labels.yml",
"release.yml"
],
"has_docs_dir": true,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 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": 4,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 0,
"reason": "1 out of 30 merged PRs checked by a CI test -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 10,
"reason": "all changesets reviewed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 20 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 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": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "13 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "73d1050fee68686f5b092653f5e4006e9356ad55",
"ran_at": "2026-07-27T03:26:39Z",
"aggregate_score": 5.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-26T05:06:44Z",
"oldest_open_prs": [
{
"number": 380,
"created_at": "2026-07-24T09:13:52Z",
"last_comment_at": "2026-07-24T09:15:00Z",
"last_comment_author": "datadog-prod-us1-4"
}
],
"last_merged_pr_at": "2026-07-23T09:16:13Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/DataDog/pprof-nodejs",
"host": "github.com",
"name": "pprof-nodejs",
"owner": "DataDog"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"security": 63,
"vitality": 86,
"community": 47,
"governance": 82,
"engineering": 56
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 86,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"commits_last_year": 113,
"human_commit_share": 0.59,
"days_since_last_push": 2,
"active_weeks_last_year": 30
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "30/52 weeks with commits",
"points": 20.8,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 30
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "113 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 113
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 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": 88,
"inputs": {
"releases_count": 54,
"latest_release_tag": "v5.17.0",
"releases_from_tags": true,
"days_since_latest_release": 3,
"mean_days_between_releases": 21
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "54 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 54
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 3 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 3
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~21 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 21
}
}
],
"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": 3,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 3 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 3
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 47,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "at_risk",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 33,
"inputs": {
"forks": 8,
"stars": 31,
"watchers": 3,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "31 stars",
"points": 24,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 31
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "8 forks",
"points": 7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 8
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "3 watchers",
"points": 1.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 3
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": false,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"packages": [
"@datadog/pprof"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 41561948
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "41,561,948 downloads/month across npm",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 41561948,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 82,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 25,
"top_contributor_share": 0.401
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 40% of commits",
"points": 13.5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 40
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "25 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 25
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 20 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 92,
"inputs": {
"merged_prs": 333,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 44
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "333/377 decided PRs merged",
"points": 33.8,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 333,
"decided": 377
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "all changesets reviewed",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 3237,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "DataDog",
"public_repos": 1196,
"account_age_days": 5824
},
"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": "3,237 followers of DataDog",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 3237,
"login": "DataDog"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "1196 public repos, account ~15 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 1196
}
},
{
"code": "account_age_years",
"params": {
"years": 15
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@datadog/pprof"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 3
},
"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 3 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 3
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "107 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 107
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 56,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "5 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 5
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "1 out of 30 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": false,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"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": "moderate",
"name": "Security",
"value": 63,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 54,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 5.4
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 3,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "1 out of 30 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "all changesets reviewed",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 20 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 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 detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "13 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@datadog/pprof@5.17.0 runtime dependency closure — what installing the published package pulls in — 3 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "npm:@datadog/pprof@5.17.0",
"assessed": 3
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 3,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 3,
"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": 66,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.949,
"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": "56 of 59 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 56,
"sampled": 59
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 72,
"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": [
"system-test/busybench/tsconfig.json",
"tsconfig.json"
],
"agent_commit_share": 0.09,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.34
},
"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": "system-test/busybench/tsconfig.json, tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "system-test/busybench/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": "9 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 9,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "34 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 34,
"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 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 54342,
"source_files_sampled": 49,
"oversized_source_files": 0
},
"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": "0/49 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 49,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Community profile unavailable"
],
"report_type": "repository",
"generated_at": "2026-07-27T03:27:10.065042Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/d/DataDog/pprof-nodejs.svg",
"full_name": "DataDog/pprof-nodejs",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}