Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 46680,
"has_wiki": true,
"homepage": null,
"languages": {
"MDX": 58261,
"HTML": 3593,
"JavaScript": 1942329,
"TypeScript": 1643051
},
"pushed_at": "2026-07-17T15:36:08Z",
"created_at": "2013-01-09T00:26:58Z",
"owner_type": "Organization",
"updated_at": "2026-07-17T14:38:29Z",
"description": "A javascript library that extends D3.js to enable fast and beautiful visualizations.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "JavaScript",
"significant_languages": [
"JavaScript",
"TypeScript"
]
},
"owner": {
"blog": null,
"name": "D3plus",
"type": "Organization",
"login": "d3plus",
"company": null,
"location": null,
"followers": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/13490477?v=4",
"created_at": "2015-07-24T23:04:48Z",
"is_verified": null,
"public_repos": 24,
"account_age_days": 4015
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v4.3.0",
"kind": "minor",
"published_at": "2026-07-17T14:37:39Z"
},
{
"tag": "v4.2.0",
"kind": "minor",
"published_at": "2026-07-13T14:57:49Z"
},
{
"tag": "v4.1.0",
"kind": "minor",
"published_at": "2026-07-09T16:06:44Z"
},
{
"tag": "v4.0.0",
"kind": "major",
"published_at": "2026-07-07T20:38:28Z"
},
{
"tag": "v3.1.6",
"kind": "patch",
"published_at": "2026-05-27T16:42:15Z"
},
{
"tag": "v3.1.5",
"kind": "patch",
"published_at": "2026-04-29T14:16:23Z"
},
{
"tag": "v3.1.4",
"kind": "patch",
"published_at": "2026-04-10T18:26:56Z"
},
{
"tag": "v3.1.3",
"kind": "patch",
"published_at": "2026-04-09T16:29:58Z"
},
{
"tag": "v3.1.2",
"kind": "patch",
"published_at": "2026-04-09T16:13:54Z"
},
{
"tag": "v3.1.1",
"kind": "patch",
"published_at": "2026-04-09T14:06:30Z"
},
{
"tag": "v3.1.0",
"kind": "minor",
"published_at": "2026-04-07T17:28:36Z"
},
{
"tag": "v3.0.16",
"kind": "patch",
"published_at": "2026-02-11T16:54:53Z"
},
{
"tag": "v3.0.15",
"kind": "patch",
"published_at": "2026-01-23T15:02:12Z"
},
{
"tag": "v3.0.14",
"kind": "patch",
"published_at": "2025-11-19T14:13:36Z"
},
{
"tag": "v3.0.13",
"kind": "patch",
"published_at": "2025-11-12T19:29:42Z"
},
{
"tag": "v3.0.12",
"kind": "patch",
"published_at": "2025-11-12T15:09:25Z"
},
{
"tag": "v3.0.11",
"kind": "patch",
"published_at": "2025-11-04T21:43:37Z"
},
{
"tag": "v3.0.10",
"kind": "patch",
"published_at": "2025-10-29T14:54:23Z"
},
{
"tag": "v3.0.9",
"kind": "patch",
"published_at": "2025-10-22T19:25:50Z"
},
{
"tag": "v3.0.8",
"kind": "patch",
"published_at": "2025-10-15T14:43:37Z"
},
{
"tag": "v3.0.7",
"kind": "patch",
"published_at": "2025-10-15T14:24:22Z"
},
{
"tag": "v3.0.6",
"kind": "patch",
"published_at": "2025-09-25T19:51:01Z"
},
{
"tag": "v3.0.5",
"kind": "patch",
"published_at": "2025-07-11T19:22:55Z"
},
{
"tag": "v3.0.4",
"kind": "patch",
"published_at": "2025-07-02T20:03:03Z"
},
{
"tag": "v3.0.3",
"kind": "patch",
"published_at": "2025-06-30T13:02:59Z"
},
{
"tag": "v3.0.2",
"kind": "patch",
"published_at": "2025-06-27T19:38:05Z"
},
{
"tag": "v3.0.1",
"kind": "patch",
"published_at": "2025-06-25T20:27:05Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2025-06-12T15:32:49Z"
},
{
"tag": "v3.0.0-alpha.5",
"kind": "prerelease",
"published_at": "2025-06-12T15:30:38Z"
},
{
"tag": "v3.0.0-alpha.4",
"kind": "prerelease",
"published_at": "2025-06-12T15:06:31Z"
},
{
"tag": "v3.0.0-alpha.3",
"kind": "prerelease",
"published_at": "2025-06-11T19:50:28Z"
},
{
"tag": "v3.0.0-alpha.2",
"kind": "prerelease",
"published_at": "2025-04-02T20:59:46Z"
},
{
"tag": "v3.0.0-alpha.1",
"kind": "prerelease",
"published_at": "2025-04-02T20:16:07Z"
},
{
"tag": "v3.0.0-alpha.0",
"kind": "prerelease",
"published_at": "2025-03-13T19:58:32Z"
},
{
"tag": "v2.1.3",
"kind": "patch",
"published_at": "2024-02-14T21:24:13Z"
},
{
"tag": "v2.1.2",
"kind": "patch",
"published_at": "2024-02-14T21:18:23Z"
},
{
"tag": "v2.1.1",
"kind": "patch",
"published_at": "2023-06-23T13:05:52Z"
},
{
"tag": "v2.1.0",
"kind": "minor",
"published_at": "2023-01-25T18:52:48Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2021-02-03T23:45:28Z"
},
{
"tag": "v1.9.8",
"kind": "patch",
"published_at": "2016-08-21T17:38:08Z"
},
{
"tag": "v1.9.7",
"kind": "patch",
"published_at": "2016-07-06T20:40:31Z"
},
{
"tag": "v1.9.6",
"kind": "patch",
"published_at": "2016-06-15T19:55:59Z"
},
{
"tag": "v1.9.5",
"kind": "patch",
"published_at": "2016-06-01T14:52:27Z"
},
{
"tag": "v1.9.4",
"kind": "patch",
"published_at": "2016-05-31T02:32:06Z"
},
{
"tag": "v1.9.3",
"kind": "patch",
"published_at": "2016-04-06T21:41:41Z"
},
{
"tag": "v1.9.2",
"kind": "patch",
"published_at": "2016-03-24T14:15:26Z"
},
{
"tag": "v1.9.1",
"kind": "patch",
"published_at": "2016-02-19T21:23:08Z"
},
{
"tag": "v1.9.0",
"kind": "minor",
"published_at": "2016-02-13T05:01:36Z"
},
{
"tag": "v1.8.0",
"kind": "minor",
"published_at": "2015-08-15T19:26:46Z"
},
{
"tag": "v1.7.4",
"kind": "patch",
"published_at": "2015-06-18T21:51:04Z"
},
{
"tag": "v1.7.3",
"kind": "patch",
"published_at": "2015-05-15T18:19:15Z"
},
{
"tag": "v1.7.2",
"kind": "patch",
"published_at": "2015-05-07T19:14:49Z"
},
{
"tag": "v1.7.1",
"kind": "patch",
"published_at": "2015-04-14T21:46:47Z"
},
{
"tag": "v1.7.0",
"kind": "minor",
"published_at": "2015-04-10T04:05:57Z"
},
{
"tag": "v1.6.9",
"kind": "patch",
"published_at": "2015-01-16T22:15:32Z"
},
{
"tag": "v1.6.8",
"kind": "patch",
"published_at": "2015-01-06T20:30:11Z"
},
{
"tag": "v1.6.7",
"kind": "patch",
"published_at": "2014-12-17T18:53:34Z"
},
{
"tag": "v1.6.6",
"kind": "patch",
"published_at": "2014-12-15T19:29:16Z"
},
{
"tag": "v1.6.5",
"kind": "patch",
"published_at": "2014-11-03T19:53:52Z"
},
{
"tag": "v1.6.4",
"kind": "patch",
"published_at": "2014-10-31T20:04:12Z"
},
{
"tag": "v1.6.3",
"kind": "patch",
"published_at": "2014-10-17T01:35:28Z"
},
{
"tag": "v1.6.2",
"kind": "patch",
"published_at": "2014-10-10T02:26:04Z"
},
{
"tag": "v1.6.1",
"kind": "patch",
"published_at": "2014-10-07T03:04:42Z"
},
{
"tag": "v1.6.0",
"kind": "minor",
"published_at": "2014-10-03T19:52:36Z"
},
{
"tag": "v1.5.1",
"kind": "patch",
"published_at": "2014-09-10T15:38:02Z"
},
{
"tag": "v1.5.0",
"kind": "minor",
"published_at": "2014-08-13T23:04:48Z"
},
{
"tag": "v1.4.5",
"kind": "patch",
"published_at": "2014-07-28T21:33:30Z"
},
{
"tag": "v1.4.4",
"kind": "patch",
"published_at": "2014-07-25T14:49:56Z"
},
{
"tag": "v1.4.3",
"kind": "patch",
"published_at": "2014-07-18T19:14:33Z"
},
{
"tag": "v1.4.2",
"kind": "patch",
"published_at": "2014-07-18T14:27:45Z"
},
{
"tag": "v1.4.1",
"kind": "patch",
"published_at": "2014-07-17T18:14:42Z"
},
{
"tag": "v1.4.0",
"kind": "minor",
"published_at": "2014-07-15T21:10:34Z"
},
{
"tag": "v1.3.3",
"kind": "patch",
"published_at": "2014-07-04T17:17:04Z"
},
{
"tag": "v1.3.2",
"kind": "patch",
"published_at": "2014-06-18T18:06:22Z"
},
{
"tag": "v1.3.1",
"kind": "patch",
"published_at": "2014-06-18T14:43:01Z"
},
{
"tag": "v1.3.0",
"kind": "minor",
"published_at": "2014-05-28T18:13:15Z"
},
{
"tag": "v1.2.4",
"kind": "patch",
"published_at": "2014-04-15T17:41:54Z"
},
{
"tag": "v1.2.3",
"kind": "patch",
"published_at": "2014-04-11T21:27:24Z"
},
{
"tag": "v1.2.2",
"kind": "patch",
"published_at": "2014-04-08T19:59:24Z"
},
{
"tag": "v1.2.1",
"kind": "patch",
"published_at": "2014-04-02T17:41:12Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2014-03-28T19:54:37Z"
},
{
"tag": "v1.1.11",
"kind": "patch",
"published_at": "2014-03-11T19:49:49Z"
},
{
"tag": "v.1.1.10",
"kind": "other",
"published_at": "2014-03-04T02:32:53Z"
},
{
"tag": "v1.1.9",
"kind": "patch",
"published_at": "2014-02-24T20:51:59Z"
},
{
"tag": "v1.1.8",
"kind": "patch",
"published_at": "2014-02-17T18:46:31Z"
},
{
"tag": "v1.1.7",
"kind": "patch",
"published_at": "2014-02-14T21:31:02Z"
},
{
"tag": "v1.1.6",
"kind": "patch",
"published_at": "2014-02-11T19:55:23Z"
},
{
"tag": "v1.1.5",
"kind": "patch",
"published_at": "2014-02-11T17:32:03Z"
},
{
"tag": "v1.1.4",
"kind": "patch",
"published_at": "2014-02-09T19:45:04Z"
},
{
"tag": "v1.1.3",
"kind": "patch",
"published_at": "2014-02-07T16:29:46Z"
},
{
"tag": "v1.1.2",
"kind": "patch",
"published_at": "2014-01-31T22:01:07Z"
},
{
"tag": "v.1.1.1",
"kind": "other",
"published_at": "2014-01-28T19:11:13Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2014-01-23T22:53:50Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2014-01-20T19:09:35Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2014-01-16T00:14:04Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2014-01-15T17:49:56Z"
}
],
"recent_commits": [
{
"oid": "2818442024fe3d2d3e25476dd69fe2c9337780fb",
"body": null,
"is_bot": false,
"headline": "compiles v4.3.0",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-17T14:37:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b3d9776a3c51509e668fc77ecfa1b328a09fe35",
"body": null,
"is_bot": false,
"headline": "v4.3 CHANGELOG",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-17T14:33:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f246e23fdd31a5d4ab76e6eb2ccde47dab5e3a56",
"body": "feat: server-side rendering via @d3plus/ssr (SVG + PNG in Node)",
"is_bot": false,
"headline": "Merge pull request #804 from d3plus/feat/ssr",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-17T14:29:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cac2fc9e2b84dea8f8cb178548510ecf46fe2de7",
"body": "Adds coverage for the SSR fallback path introduced in @d3plus/ssr work:\ndecodeEntities (named/decimal/hex/unknown/out-of-range) plus htmlDecode's\nno-DOMParser branch via textWidth. Also guards decodeEntities against\ncode points beyond U+10FFFF (String.fromCodePoint would throw) and drops\ntwo unreachable branches. Restores @d3plus/dom line coverage above 95%.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "test(dom): cover DOM-free entity decode in textWidth",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-17T13:49:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab48c85f600e150478772c8f9974168b439151a7",
"body": "Adds a new @d3plus/ssr package that renders any chart to an SVG string or a\nPNG buffer in Node, with no browser — including Geomap (basemap tiles fetched\nand inlined server-side) and the canvas backend. Resolves #375.\n\n- @d3plus/ssr: renderToStaticSVG, renderToStaticPNG, renderToCanvas, and\n instal\n[…]\nfallback in textWidth.\n- @d3plus/react: \"use client\" directive for the Next.js App Router.\n- docs: Server-Side Rendering guide.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat: server-side rendering via @d3plus/ssr (SVG + PNG in Node) (#375)",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-16T20:41:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "82dcdfb00521d84873004d8091eebd8cb12ce784",
"body": "feat: add Vue, Svelte, Web Component, and Angular wrapper packages",
"is_bot": false,
"headline": "Merge pull request #803 from d3plus/feat/framework-adapters",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-16T15:19:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7d8bfb1fbc40422e4294a7ceb578b88c7c8d407",
"body": "Adds official framework wrappers alongside @d3plus/react, all built on a\nshared renderer core extracted into @d3plus/dom.\n\nShared core (@d3plus/dom):\n- applyConfig: merges global+local config, routes data/links/nodes/topojson\n (+ *Format) to their loader methods, applies the rest via .config()\n- ha\n[…]\nfive wrappers\n- docs generator skips the curated wrapper packages\n- react README curated like the other wrappers\n\nResolves #716\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat: add Vue, Svelte, Web Component, and Angular wrapper packages",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-16T14:08:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "84005030e99be9dfd351fbfe3ef5ddebbf4e7f00",
"body": "fix: consistent datum + nearest-point events + Line hit areas for multi-point shapes (#785, #786)",
"is_bot": false,
"headline": "Merge pull request #802 from d3plus/fix/785-786-multipoint-datum",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-15T19:11:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41b415de7f46ad38d8ea9e3fee98c6e8565a6612",
"body": null,
"is_bot": false,
"headline": "confidence dev test",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-15T15:41:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7ce3376832d9babab2d8216653d6bcb37dec6f6",
"body": "…ti-point shapes (#785, #786)\n\nMulti-point shapes (Line/Area) had no single \"representative datum,\" so\ndifferent accessors disagreed and interactions reported the wrong point.\n\n#785 — Shape._styleVal now hands paint accessors the merged aggregate\n`d.data`/`d.i`, matching `_nestWrapper` and the scene\n[…]\n the shared `shapeConfig` when composing the\n band config.\n\nRegression tests added for each fix. Visual-regression baselines regenerated\n(8 charts gained invisible hit-area paths; no visible change).",
"is_bot": false,
"headline": "fix: consistent datum + nearest-point events + Line hit areas for mul…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-15T15:39:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "316ab79733a5f735c99e38b69b6aaa39284bf380",
"body": "fix: filter non-plottable (NaN/null) values out of Plot data (#776)",
"is_bot": false,
"headline": "Merge pull request #801 from d3plus/fix/776-filter-nan-plot-data",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-13T20:36:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6145f55219b41a615d96bd710ae34d1c3dafd052",
"body": "A NaN (or null, or the empty-array sentinel merge yields for an all-NaN\nnumeric aggregate) on a Plot axis reached the shape layer. On the\naggregated path it coerced to 0 — a phantom bar/point at the baseline;\non the raw-leaves Line path (base Plot with shape \"Line\" and no discrete)\nit flowed into th\n[…]\nwithout x2/y2 are unaffected.\n\nAdds regression coverage across the four Plot variants (base Plot Line,\nLinePlot, BarChart, scatter) plus a guard that valid rows with undefined\nx2/y2 are never dropped.",
"is_bot": false,
"headline": "fix: filter non-plottable (NaN/null) values out of Plot data (#776)",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-13T15:57:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a437b490fc65a27756cee467a75d8c79704f7dc4",
"body": null,
"is_bot": false,
"headline": "compiles v4.2.0",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-13T14:57:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8057836b1425869014c3fdce878d1f568b418d0",
"body": null,
"is_bot": false,
"headline": "v4.2.0 changelog",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-13T14:50:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3a73d1d18b08f78ca8ef3714224d6aecdd4cebf",
"body": "fix: shape backgroundImage sizing, clipping, cover/contain + enter fade (#757)",
"is_bot": false,
"headline": "Merge pull request #800 from d3plus/fix/757-shape-background-image",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-13T14:32:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8f05be888d50a322245c91146db7fba2108f304",
"body": "Background images on shapes were broken for Path (and Area/Line): the scene\nemitter sized/positioned them from width/height/cx/cy/r fields that path\ngeometry doesn't have, so every image collapsed to 0×0 at the origin\n(invisible, wrong corner). Rect/Bar were also offset by half their size —\nthe form\n[…]\n so their aspect ratio is preserved when scaled.\n\nAdds regression tests for pathBounds/path2polygon and for backgroundImage\nsizing, clipping, contain, key/datum wiring, and the fade-in opacity target.",
"is_bot": false,
"headline": "fix: shape backgroundImage sizing, clipping, cover/contain + enter fade",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-13T14:08:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bc77fd1b2e83bfaf54b49accab8de22f3f12a304",
"body": "feat: value- and field-based stack ordering (#527)",
"is_bot": false,
"headline": "Merge pull request #799 from d3plus/feat/stack-order-value-field",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-10T18:00:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7305678a9c8b4dd873440906b350497ea36d01aa",
"body": "Stacked charts had no built-in way to order series by magnitude — the\nsingle most common request (#527: \"sort ... with higher values on top\").\n`stackOrder(\"ascending\"|\"descending\")` sounded value-based but actually\nsorted alphabetically by series key, using the summed value only as a\ntie-break, so o\n[…]\nummed\nvalue instead of alphabetically by series key, and the default stack order\nchanged from alphabetical to largest-total-on-baseline. Charts relying on the\nold default should set stackOrder(\"key\").",
"is_bot": false,
"headline": "feat: value- and field-based stack ordering (#527)",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-10T16:56:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7cc552e060d8e354f08d6b79a851cfe023546581",
"body": "fix: keep schema.legend/shape/label callable for primitive args",
"is_bot": false,
"headline": "Merge pull request #798 from d3plus/fix/legend-shape-label-coerce",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-10T16:18:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "845a1c836df133ac24963b896730a22c8762827b",
"body": "Charts that declare `legend`, `shape`, or `label` in their def `fields`\nget a generated fluent accessor that shadows the hand-written\nVizBaseConfig/VizBase setter. The hand-written setters wrap non-functions\nin `constant(...)`, but the field declarations used the default `identity`\ncoerce, so `.lege\n[…]\nthe setter's constant-wrapping and the values stay callable.\n\nAdds a regression test exercising the featuresLegend bind pattern plus\nshape/label coercion across BarChart/Pie/Donut/Treemap/Pack/Matrix.",
"is_bot": false,
"headline": "fix: keep schema.legend/shape/label callable for primitive args",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-10T16:10:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bd18bfdb7bf1adff1788ae129e06d6f78b870c0a",
"body": null,
"is_bot": false,
"headline": "updates to pnpm v11",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T17:38:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6def12e73d3859aab39bc1bf51180971c949a50",
"body": null,
"is_bot": false,
"headline": "compiles v4.1.0",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T16:05:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "834034f423d67d4cddeaf6f8bc5d96a5b7a8557e",
"body": null,
"is_bot": false,
"headline": "adds node req to root package.json",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T16:03:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13011f4d825fde4e569361588a55912b041ff77b",
"body": null,
"is_bot": false,
"headline": "uses CHANGELOG in release script",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T16:03:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "035e8e80867b7b8d9e9b5907c482fdf2ea554d8e",
"body": null,
"is_bot": false,
"headline": "4.1 CHANGELOG",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T16:03:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "20858b2be20e6ae391eb2e3a87b2216509e37321",
"body": "ci: drop EOL Node 20, test on 22/24, canary 26",
"is_bot": false,
"headline": "Merge pull request #797 from d3plus/ci/node-version-matrix",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T14:43:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03a677f06c37c7a58bd35a9a23179b039a350248",
"body": "Node 20 (Iron) is EOL as of 2026-04-30 and no longer in the CI matrix, so\ndeclare the supported floor as the current Active LTS (22). Aligns the\npublished packages' `engines` with what CI actually tests (22, 24).\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "chore: raise engines to Node >=22",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T14:30:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d7530154dc0bee3391fb0f8d3b0e8b4a542f92f",
"body": "Node 20 (Iron) reached end-of-life on 2026-04-30, so drop it from the test\nmatrix. Node 22 (Jod) and 24 (Krypton) are the Active LTS lines and block as\nrequired checks. Node 26 is still the \"Current\" release (LTS begins\n2026-10-28), so run it as a non-blocking forward-compat canary\n(continue-on-erro\n[…]\nThe coverage / Storybook / codecov steps stay gated on 22.x, which remains in\nthe matrix, so they continue to run exactly once.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "ci: drop EOL Node 20, test on 22/24, canary 26",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T14:06:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7ae70cf89d8fac93c779ea15c2c7373b1203983d",
"body": "feat(text): wrap text inside circles",
"is_bot": false,
"headline": "Merge pull request #795 from d3plus/feature/circle-text-wrapping",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-09T13:55:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f57460cdc0e73821fc099cd7e6f3bb88107ef0fd",
"body": "The circle test compared line counts between the circle and square wraps\n(`circle.lines.length > square.lines.length`), an incidental property that\nsits on a sub-pixel wrap boundary and flipped in CI. Rewrote the circle\ntests around the geometric invariant that actually matters — every rendered\nline\n[…]\nlineData[line - 1]` as undefined. The first word now stays on the first line\ninstead of breaking. Covered by a regression test.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(text): robust circle tests; fix overflow first-word crash",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-08T21:07:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f7a65959516bd83884cd2337d2fef68b24dc1089",
"body": "fix(types): make D3plusConfig accessor types accurate, pass viz to toggles",
"is_bot": false,
"headline": "Merge pull request #796 from d3plus/fix/legend-accessor-type",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-08T20:53:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c1b5894e289053efad48d3e4c94d2e049ab91ee",
"body": "…ggles\n\nSeveral public D3plusConfig fields were declared as constants only (e.g.\n`legend?: boolean`, `legendPosition?: Position`, `tooltip?: boolean`) even\nthough their setters coerce values through `constant()` and the runtime\nalways stores and calls an accessor. Others had function-accepting sette\n[…]\nase into utils and VizBaseConfig; both are erased\nat compile (the emitted JS has no such import, so there is no runtime cycle).\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(types): make D3plusConfig accessor types accurate, pass viz to to…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-08T20:46:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2545c702f1b9720f0a468eff6a749ebd3ad6792c",
"body": "Add a `shape` option to textWrap (\"square\" default | \"circle\"). In circle\nmode each line's width is the circle chord at its vertical position, so\nlines fill the interior — shorter near the top and bottom, full width\nthrough the middle — with the block kept vertically centered. The line\ncount feeds b\n[…]\nmple (Core/Shapes/Circle → Text Wrapping) and tests\ncovering per-line chord containment, overflow opt-out, and the resize path.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(text): wrap text inside circles (#736)",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-08T20:01:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "91a7cd283d9d321e250c49329eeeb59a7d1ff35e",
"body": null,
"is_bot": false,
"headline": "Merge pull request #794 from d3plus/ci/resilient-playwright-install",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T22:12:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "02be18706e05f381cca9a99fc6e065a86d7ec919",
"body": "The v4.0.0 release commit reddened main CI when `playwright install-deps\nchromium` exited 100 — a flaky apt/network hiccup on the runner (the merge\ncommit passed the same step minutes earlier, and a plain re-run went green).\nWrap both Playwright install steps (browser download + system deps) in a\n3-\n[…]\n backoff so a transient blip retries instead of\nfailing the job; a genuine failure still fails after the retries are exhausted.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "ci: retry Playwright install steps on transient failures",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T21:33:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "83a66c035f82bab0a47b21ed80cdb8f175479b1f",
"body": null,
"is_bot": false,
"headline": "compiles v4.0.0",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T20:38:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd9a29f1a56cd295817f23ef40a7f76e162bbacd",
"body": "v4.0.0 — scene-graph rendering rewrite",
"is_bot": false,
"headline": "Merge pull request #793 from d3plus/v4",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T20:28:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52a82957f00d44a8188c975d80cad900f9b18889",
"body": "Changed-line coverage on a ground-up refactor legitimately dips below the\nproject baseline; report codecov/patch but don't let it fail the check.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "chore(codecov): treat patch coverage as informational",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T20:21:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc34ccef4a045ab9ff64d89819c4bdd839857184",
"body": "The tsc 5.9 fix widened backgroundColor (a new BaseType|null branch), and elem's\ntransition/condition/id branches were untested (16% branch coverage) — together\ndipping @d3plus/dom just under its 95% codecov target.\n\n- backgroundColor: null / undefined / non-Element node -> white.\n- elem: the #id se\n[…]\n, and the\n condition:false transitioned exit (elem.ts 16% -> 89% branch, 94% -> 100% line;\n dom overall 98.3% -> 99.3% line).\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "test(dom): raise coverage above the 95% project target",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T20:21:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "65adcdb7e401073df3bd8914c53719e8c52e6c0c",
"body": "The visual-regression and TextBox suites were authored on macOS and had never\nrun on Linux CI, where Chromium's layout with the host's default fonts differs\nby a few px — failing exact-match assertions on layouts that are actually\nunchanged. render-parity's per-test timeout was also too short for CI\n[…]\nfault mocha timeout (.mocharc.json) so render-parity's\n arrow-function tests don't hit the 2s default on the slower CI runner.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "test: make the browser suites portable across macOS and Linux CI",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T19:56:13Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "251e4883e1a9cf07de8ae695151fbcf074b82d4f",
"body": "Finalize the 4.0.0 changelog (title-case, animated font-size, sort/z paint\norder, timeline cadence, plus the Documentation & website and Developer &\ntooling sections) and bump the root version to 4.0.0.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "chore(release): 4.0.0",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T19:20:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f67aa67f22a830702bc8c230f32848e569ad0d5e",
"body": "The docs deploy only ran on push to main, so a broken docs build surfaced only\nafter merge. Build @d3plus/docs on pull requests (Node 22), alongside the\nexisting test + build:types typecheck jobs.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "ci: build the Storybook docs site on PRs",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T19:20:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31759396182e58229e39ad189ba5f1ef0f66aec3",
"body": "Add Animation, Color, and TypeScript guide pages; expand Accessibility,\nInteractivity, Introduction, Migration, Rendering, and Theming; refresh the\nGeomap story (zoom/canvas) and the Storybook preview.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "docs: v4 guide pages and Geomap story updates",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T19:20:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "822759a8af2765b3d5723107fade54d219860ff5",
"body": "…tion fixes\n\n- Zoom target: on the SVG backend, bind d3-zoom to the outer <svg> (an ancestor\n of both the scene svg and the imperative geomap/network svg) so wheel/pan/\n dblclick over painted geography or nodes reach the handler; clear the inner\n svg's handlers so background events aren't zoomed \n[…]\nover: repaint the scene on a bucket hover even at\n hoverOpacity:1 (Geomap) so the highlight composites. Adds a core unit test.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(zoom,render): v3-parity zoom target, non-scaling strokes, interac…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T19:20:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fda37811b52cd7bf7d45adc4aa8c46957b7d563d",
"body": "TypeScript 5.9 tightened d3-selection generic inference: `_select.node()` now\nsurfaces the full `BaseType` union (Element | EnterElement | Document | Window\n| null) and `Selection<GElement>` is effectively invariant in its element type.\nThat broke `build:types` on @d3plus/core (37 errors) even thoug\n[…]\nodebase's existing `as never` / `as unknown as\n D3Selection` idioms and `instanceof` narrowing. Type-only, no behavior change.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(types): restore TypeScript 5.9 compatibility",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T19:20:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1546d6dbb641645efb508c222c3afe00f8e1d42f",
"body": null,
"is_bot": false,
"headline": "story updates",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T15:32:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5cd6a817bbb431b3d6aa602d9e373715e01d82e",
"body": "…by size\n\nThe `.sort()` / `shapeConfig.sort` comparator was inert in v4. Wire it back\nup as a layering control that maps to per-datum `z` (the render backends'\nstable z-order key) instead of reordering the data array — layout, the keyed\ndata-join, and animations stay untouched, only paint order chan\n[…]\nit\n `shapeConfig.Circle.sort` (or `sort: null`) still wins.\n- Extracted sortRanks + background-image emission to sceneSort.ts.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(shape): sort comparator drives scene z; Plot circles auto-layer …",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-07T14:53:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e583d3c91ea7edae1916a4abb961208329dbf146",
"body": "… periods\n\nA multi-period forward jump (a manual timeline click, not single-step play) drew\none coarse straight segment because the skipped periods' positions aren't in the\ndestination scene. Now the Viz computes each trailed mark's real position at every\nskipped period — cheap, since trailPersist f\n[…]\ninal leg animates. Plot-family only (needs x/y scales);\nother charts fall back to the coarse segment. Adds render + core tests.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(trail): instant multi-step — forward jumps trace through skipped…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T20:08:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "53f55817e4221e154bace384e4c097cdd0118954",
"body": "…ard jump\n\nA multi-period forward jump lays down one coarse segment spanning the skipped\nperiods (their positions aren't in the jumped-to scene). Stepping back one\nperiod then retracted that whole segment, detaching the trail from the mark. On\na backward commit the mark's real position for the new p\n[…]\ndropping it — the trail reconnects to the mark. Single- and multi-step rewinds\n(no straddling segment) still retract as before.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(trail): reconnect the trail when stepping back into a coarse forw…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T19:56:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7fbe3542bf0b7d3049988468531ffc969ca4cf78",
"body": "…eline\n\nA persistent trail is only coherent with a fixed axis (so committed segments\ndon't drift as the domain shifts per period) and a single-period timeline (so\nthe forward/backward step logic has one current time). Rather than making\ncallers know and set both, vizPreDraw now detects a persistent \n[…]\norces `axisPersist: true` + `timelineConfig.brushing: false`\ninternally, so `shapeConfig.Circle.trailPersist` works on its own.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(trail): trailPersist auto-enables fixed axes + single-period tim…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T19:39:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f1901fdade2f825a17a64b8271f7bcb0d074ab60",
"body": "Persistent trails store committed segments in absolute pixels; if the x/y scales\nrefit per period (the default, axisPersist:false) those segments drift out of\nalignment as the domain shifts. Document on the trailPersist config (Circle/Rect)\nand in the CHANGELOG that persistent trails should pair with axisPersist:true.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "docs: note persistent trails want axisPersist for stable axes",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T19:31:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01affcd2dba93190d725aca334d0efc7190dcd9c",
"body": "… newest\n\nStepping back more than one period at once only retracted the single newest\nsegment, leaving the ones between it and the target stranded. Tag each segment\nwith the timeline value it arrived at, and on a backward commit drop every\nsegment whose seq is beyond the new period (retracting the one just past it), so\na multi-period jump back rewinds the whole tail.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(trail): rewind drops every segment after the target, not just the…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T19:15:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4179cd158efa7ac6aa2d4a56ee498dc0a6450ae8",
"body": "Claude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "docs: note persistent trails require brushing:false",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T17:44:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d9ccb6fd7f953d8b7eeae35f63c976e27293c7e",
"body": "The trail's single gradient used objectBoundingBox, so as the path's bounding\nbox grew each frame every point remapped and the sign-based corners flipped —\na visible snap when a segment was added. Add a `userSpaceOnUse` option to\nSceneGradient (both backends) and anchor the trail gradient to absolut\n[…]\neeps one reused element per mark, updated in place and freed on exit.\nCanvas builds the gradient with absolute coords directly.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(render): stop persistent-trail gradient snapping (userSpaceOnUse)",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T17:43:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1009bdfaaec41aed06d51cc5e29e3e8e6490d69f",
"body": "…g: false)\n\nA ranged (brushing) timeline selection has no single \"current period\", so the\nforward/backward step logic breaks. Gate persistence on it: the Viz supplies the\ntrail sequence only when the timeline's `brushing` is false; commitTrailScene\nnow reports persistence as active only when a seque\n[…]\n Without one\n(brushing on, or no timeline) a trailPersist mark falls back to the plain\nephemeral trail rather than misbehaving.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(trail): only persist trails for a single-period timeline (brushin…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T17:34:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dd2b5ac4a16b45decb430b87cdc02f840e9066c1",
"body": "…ment\n\nThe persistent-trail sequence came straight from `_timelineSelection`, which\nmixes Date objects (brush/initial full-extent) with raw period numbers\n(playback). Number(Date) is ~1e12 while Number(2020) is ~2e3, so stepping back\nafter a play-through compared across incompatible scales — a step \n[…]\nection value through date() to milliseconds so forward/backward is\nconsistent and scrubbing back retracts each segment in turn.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(viz): normalize trail sequence units so rewind retracts every seg…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T17:26:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "65417b851bd2a309a4ce89fcdf87c2722e13f973",
"body": "…rd-only + rewind)\n\nPersistent trails are now ordered in time by a `sequence` (the Viz passes the\ncurrent timeline period into drawScene). The trail grows only as playback moves\nFORWARD; playing newest→oldest draws nothing. Stepping BACKWARD retracts instead\nof appending — the newest segment animate\n[…]\ndon't accumulate. TrailLog.commit takes the sequence and runs\nthe forward/backward state machine; DrawOptions gains `sequence`.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(render): make persistent trails follow timeline direction (forwa…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T16:28:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "16c0ee7017b03e05ab998118c28484bbf2f3ccc1",
"body": "…e-darkening\n\nSeparate semi-transparent segments composited at each turn, so overlaps read\ntwice as dark. Render a mark's whole persistent trail as a SINGLE path instead\n— every segment's cone concatenated into one `d`, filled once with one tail→head\ngradient — so a fill paints at a uniform opacity \n[…]\nr-turn) gradient for one that fades along the overall\ndirection. Also collapses the SVG side to a single tweened path per mark.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(render): draw a persistent trail as one path to stop corner doubl…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T16:20:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4522b1b5a286e6e8c592a66ca2f27516cf3fe3f0",
"body": "The standalone render() path sized the SVG from a numeric width/height attribute\nor clientWidth, falling straight back to 400x300 — so an <svg width=\"100%\"> (the\nReact wrapper's default) always rendered at 400x300, cropping content laid out\nfor the true container. Fall through to getSize() (the same\n[…]\n size, keeping 400x300 only as the last resort when\nnothing is measurable (e.g. no layout under jsdom, so tests are unchanged).\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(shape): measure the real container for standalone shape render size",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T16:04:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f79b64113ee1ab4a104d0b3ca6215371b61d449d",
"body": "Show fontResize adapting to content: three same-size boxes side by side (like\nthe basic example) holding a single word, a medium caption, and a long passage\n— the short text sizes up, the long one shrinks to fit.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "docs: FontResize story — three equal boxes, varying text lengths",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T15:53:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26bfe4761c5f00e065bacd8cd154d756a83106ca",
"body": "… fontResize\n\nShape examples render into a fixed 400×300 space, so several were off-canvas:\n- Circle/Rect: reposition + resize so all three fit fully in view.\n- Bar (was blank): a vertical Bar's height is |y1 − y| and y1 defaults to the\n y field, so the story's y:\"y\" made height 0. Give it a baseli\n[…]\nso add a vertical Legend story (direction: \"column\") and a TextBox story\ndemonstrating fontResize scaling text to fill its box.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "docs: fix blank/cropped shape examples; add Legend vertical + TextBox…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T15:53:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f135972e41887d7680b4e8cd0daba9321057fc89",
"body": "…ists\n\ncommitTrailScene now reports whether the scene has any persistent-trail node.\nWhen none do, the Canvas instant-draw path keeps its fast direct paint and the\nanimated path threads no log — so hover repaints and ordinary transitions on\nnon-persist charts pay nothing for the feature.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "perf(render): skip Canvas trail-injection when no persistent trail ex…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T15:53:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2d9de6b53e9a33b7f199afccb942ec561084433",
"body": "Add `shapeConfig.Circle/Rect.trailPersist` so a mark keeps its past moves\nvisible instead of only the current one: a number keeps that many step\nsegments (fading older ones out), `true` keeps a long slowly-fading tail.\n\nA per-renderer TrailLog accumulates each mark's step history and rebuilds the\ntr\n[…]\nmeral trail\n(trailPersist 0) is unchanged. SVG trail helpers moved to svg/svgTrail.ts to\nkeep SvgRenderer under the line limit.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(render): persistent motion trails (trailPersist)",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T15:50:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "70381fa71c92af7700078b0c8161ea672b8e0726",
"body": "Close the circle trail's tail with a semicircle of the point's previous radius\n(an SVG arc bowed behind the tail, away from the head) instead of a flat chord,\nso the trail reads as a comet emerging from the mark's old outline. The head\nstays open — the mark covers it. Rect trails are unchanged (thei\n[…]\n the trailing corner). Shared coneAt geometry, so both\nbackends and, later, each persistent segment's tail get the rounded cap.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(render): round the tail of circle motion trails",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T15:19:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4b5c087f8e67ac0fb0ce59d20241b329de1c390f",
"body": "Make `duration` the single cadence knob: playback advances once per `duration`\nrather than max(playButtonInterval, duration), so a step's transition finishes\nexactly as the next begins (continuous motion). `playButtonInterval` now serves\nonly as the fallback cadence when `duration` is 0 (no transiti\n[…]\n and the regression test (duration overrides playButtonInterval even\nwhen shorter; playButtonInterval used only at duration 0).\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(timeline): playback speed equals the transition duration",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T14:28:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0e9e7c5fa62a0ec72011819716a69d0b89bda7b3",
"body": "The custom autodocs page (.storybook/preview.jsx) rendered only the\ncomponent-level <Description/>; each story's `docs.description.story` was never\nshown. Add <Description of={story}/> per story (matching Storybook's native\nheading → description → canvas order) so the prose renders.\n\nBackfill `docs.\n[…]\n) vs Diabetes Prevalence, so the annotation coordinates and comment are\nupdated from the old proportion scale to the new units.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "docs: render per-story descriptions and backfill the missing ones",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T14:24:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "08e669d7b9b37f69c3f0f7dc58413008fc454ab9",
"body": "…duration\n\nDuring auto-play the selection advanced every `playButtonInterval` ms (default\n1000) regardless of the chart's `duration`. When `duration` exceeded the\ninterval, each step's transition was interrupted by the next before it could\nfinish — shapes never settled, motion trails never completed\n[…]\ned; a longer duration slows playback to let each step animate\nin full. Adds a regression test asserting the scheduled interval.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(timeline): let playback duration honor the configured transition …",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T14:24:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "19e5cf31159b5e2d7d0d5049e40602890e6edf3c",
"body": "… angle\n\nThe rect trail was a symmetric trapezoid — anchors dropped onto the line\nperpendicular through each center — which only lands correctly at 0/45/90°.\nOff those angles a corner sits nearer or further along the direction of travel,\nso the edges skewed.\n\nReplace it with the mark's exact swept s\n[…]\nines tangent to both ends, correct at any angle). Both backends go\nthrough the shared coneAt, so SVG and Canvas stay in parity.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(render): trace rect trails as the swept convex hull, exact at any…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-06T14:07:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7b187f9dd2eb6c39138f76b34abca690b496cae2",
"body": "…ette\n\nThe trail cone is no longer circle-only. Its half-width at each end is now the\nmark's silhouette *perpendicular to travel* rather than a fixed radius:\n\n- Circle stays isotropic (its radius at any angle).\n- Rect projects its half-extents onto the motion perpendicular in the rect's\n own frame \n[…]\nult turns it on (bars use the separate Bar config, so they never\ntrail). Adds a SquareMotionTrails story and a CHANGELOG entry.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(render): generalize motion trails to rect marks, sized to silhou…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-04T03:35:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c6fdc8d8779738126703a4dd9cd55e8a0beff230",
"body": "Enable the Circle motion trail by default where points move between frames:\n- Plot scatter/bubble Circle marks (plotShapeDefaults) — Bar/Line/Area/Rect\n plots are unaffected since only Circle carries the flag.\n- Geomap coordinate points (Circle) via its shapeConfig factory.\n\nNo effect on static charts (a trail only draws during a between-frame\ntransition, e.g. Timeline play); opt out with shapeConfig.Circle.trail: false.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(charts): default motion trails on for Geomap points and scatter",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-04T02:33:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d0bd8b4298976a18ea92a5535a1c529d4b3c1f8",
"body": "Upgrade motion trails from a flat capsule to a tapering cone, and render them\non the SVG backend too (previously Canvas-only).\n\n- shared animate/trail.ts: cone geometry (a quad from the point's previous size\n at the tail to its current size at the head) + a fade-to-transparent gradient\n (the point\n[…]\n stray one can't break it.\n- docs: the Plot \"Motion Trails\" story now works on both renderers (toggle\n `renderer` to compare).\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(render): gradient cone motion trails + SVG-backend parity",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-03T15:03:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "43fbc9a3c9a20dccbc6518f15b6e2fe90a9638e8",
"body": "Opt-in motion trails behind point marks as they move between frames\n(Timeline play): a round-capped \"capsule\" streak the width of the point's\ndiameter, drawn from its previous position to its current one and fading as\nit arrives — pointing back where it came from.\n\n- render: NodeBase gains a `trail`\n[…]\n\n shapeConfig.Circle.trail = true (+ renderer: \"canvas\").\n- docs: Plot \"Motion Trails\" story (bubbles + timeline; press play).\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(render): capsule motion trails for animating points (Canvas)",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-02T21:19:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "78ec7bf327f38db0b4f581662e344632f80eb78f",
"body": "…ding\n\n- colorScale bucket hover now highlights the associated shapes even when a\n chart disables per-shape hover dimming with hoverOpacity:1 (Geomap): the\n bucket path runs regardless of hoverOpacity, and the dim falls back to 0.5\n so non-matching marks recede. Only Geomap set hoverOpacity:1, so\n[…]\n\nRegenerated the network visual + layout-network pipeline snapshots\n(node positions shift a couple px; no other fields change).\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "fix(interaction): Geomap colorScale bucket hover + Network stroke pad…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-02T20:52:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "581f9c756e751fa8d75d426845b3ab2083150484",
"body": "…ixes\n\nColor system (@d3plus/color):\n- add colorValidate (OKLCH band, chroma floor, Machado-2009 CVD ΔE,\n WCAG contrast; ordinal-ramp mode) and gate the default palette on it\n- add colorRamp (even single-hue OKLab ramps) + OKLab/OKLCH conversions\n- colorContrast now picks text color by WCAG contras\n[…]\nm controls) survives re-renders\n\nDocs: colorRamp/colorValidate stories, ColorScale scale-type stories,\nCHANGELOG example links.\n\nClaude-Session: https://claude.ai/code/session_01XojqX18QxpnbE4VkQC9jeg",
"is_bot": false,
"headline": "feat(color): CVD-safe palette system + v4 interaction/render parity f…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-02T20:43:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cd3da8be2cb1b53c1eb6fb43242854adf26f46f9",
"body": "The custom docs page built each story's code snippet from the static\nmoduleExport.args and passed it to <Canvas source={{code}}>. An explicit\nsource.code takes top precedence in Storybook's source resolution, so it\nforced a static snippet: changing a control re-rendered the chart but\nnever the code \n[…]\nin the code block now stays in sync with the rendered chart.\nUtility-function demos set an explicit docs.source.code, which still wins\nover the transform, so their hand-written snippets are unchanged.",
"is_bot": false,
"headline": "fix(docs): make the story Show code panel track control changes",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-02T17:12:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a6e1cb8920fddc00a77b984d354dc12a4dbd57a5",
"body": null,
"is_bot": false,
"headline": "tweaks Large example",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-02T16:56:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "deeec904f72ed9ad1cdb8eb8e1459d4acb01e8c2",
"body": "_drawSceneToTarget mounts a fresh renderer whenever the renderer kind\n(svg<->canvas) or mount container changes, but never tore down the\nprevious one. Each renderer owns its own DOM (<svg>/<canvas> + overlay\nhost), pointer listeners, and transition timers, so every switch\norphaned the outgoing rende\n[…]\ncement, reusing\nthe same teardown the viz already runs on unmount. Add a Chromium\nregression test that toggles svg<->canvas and asserts exactly one scene\nsurface of the active kind survives each pass.",
"is_bot": false,
"headline": "fix: destroy the outgoing scene renderer when switching renderer kind",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-02T16:56:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "855b6a5ba7d50fcb4b10a015259256eda93bbe17",
"body": "Move renderer, on, and locale config overrides from custom render\nfunctions into story args, so RenderingToCanvas, ClickAndHoverEvents,\nand Localized (BarChart) and RenderingToCanvas (Geomap) follow the\nstandard Template.bind({}) pattern. configify passes all defined args\nthrough to config, so the previous inline merges are no longer needed;\nthis also lets the Show code panel render the config object and binds\nthe controls to real args.",
"is_bot": false,
"headline": "docs: use Template.bind for canvas/events/locale stories",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-02T16:50:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c9653da2ebb9037280201f779501baba00936de",
"body": null,
"is_bot": false,
"headline": "fixes storybook preview scroll",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T19:34:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c54e27c8c7342b5139cf089ec2cbfaa57e5f6511",
"body": "This reverts commit 6fc0dff923950ab74cec7254a1cf4acd4c4cd4fa.",
"is_bot": false,
"headline": "Revert \"feat: bring back live snap-while-dragging on the timeline brush\"",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T18:59:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fc0dff923950ab74cec7254a1cf4acd4c4cd4fa",
"body": "Fold _snapBrushVisual back into _brushBrush so the selection snaps to tick\nboundaries as the handle is dragged, not only on release. The snap-back that\npreviously accompanied this is gone (it was the timelineFeature clamp, fixed\nseparately). This is still a per-frame repaint over d3-brush's own redr\n[…]\n only.\n\nHeadless: selection steps cleanly to ticks during a drag and ends as a proper\nrange; the oscillation only ever reproduced with real high-frequency input, so\nthis needs in-browser verification.",
"is_bot": false,
"headline": "feat: bring back live snap-while-dragging on the timeline brush",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T18:52:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3cd6b4122ef5ea1d2d20b22cba8e6f7bb523e530",
"body": "- Default selection: the clamp fix made the timeline default to the entire\n range because it used the full-tick extent for both the clamp and the\n default. Split them: the clamp still uses the full range (never stale), but\n the initial default again uses the filtered extent, which the synthesized\n[…]\nhere's nowhere\n for playback to advance, so disable it — greyed out (fontColor) and\n non-interactive (hit rect pointer-events: none, no cursor). Detected via a\n new Timeline._isFullRangeSelected().",
"is_bot": false,
"headline": "fix: restore latest-period default; disable play button at full range",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T18:47:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2a3e592a6d66cb561690ded6064be804e68aa107",
"body": "The real cause of the release snap-back (confirmed by a user trace): after a\ndrag, _brushEnd commits the correct range and fires the time filter, which\nre-renders the Viz. timelineFeature then clamps the selection to the extent of\nviz._filteredData — but during that re-render _filteredData still ref\n[…]\n (extent of all ticks) instead — that's the valid\nbound for the selection and never goes stale. Verified: a committed [2015,2019]\nwith _filteredData stale at [2018] is preserved instead of collapsing.",
"is_bot": false,
"headline": "fix: clamp timeline selection to full range, not filtered extent",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T18:21:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7d2de754c0b999aa9fa22ae7f31c8ca6b75bb294",
"body": "A user's real-browser trace confirmed the live visual snap during a drag is\nunstable: the selection oscillates between 1 and 2 buttons mid-drag and, on\nrelease, collapses to a single button instead of keeping the dragged range.\nRepainting a snapped selection over d3-brush on every brush event races\n\n[…]\nKeep the one-shot snap on\nclick/press (_brushStart): it shows the target button immediately and is safe\nbecause it doesn't race a per-frame redraw. _snapBrushVisual now serves only\nthat one-shot path.",
"is_bot": false,
"headline": "fix: drop unstable per-frame drag snap; snap timeline on release",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T17:52:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "45f0719993ae22288e15fe0c577dc2bc5f46dc6c",
"body": "offsetX is relative to whatever element is under the pointer, so mid-drag it\ncan be 0/undefined on some frames. The old guard skipped the live snap repaint\non those frames, letting d3-brush's raw redraw flash through between snapped\nframes — a plausible cause of the drag oscillation in real browsers (it never\nreproduced headlessly, where offsetX stays truthy). offsetX is no longer read\nanywhere else, so guarding only on sourceEvent (real vs programmatic) is\nstrictly safer.",
"is_bot": false,
"headline": "fix: don't guard timeline snap repaint on sourceEvent.offsetX",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T16:23:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ceb4167e157f48f39a2b06da6a7480acf37ba1c2",
"body": "Three related timeline fixes surfaced now that the brush no longer moves\nmid-gesture:\n\n- Snap-back / one-tick retract on release: _updateDomain computed the domain\n differently for 'brush' (via event.sourceEvent.offsetX, the pointer center)\n than for 'end' (via event.selection, the handle edge). W\n[…]\nsame callback so the data steps with the selection.\n\n- Clicking/pressing a button snaps immediately (not only on release): restore\n an initial visual snap in _brushStart (visual-only, no brush.move).",
"is_bot": false,
"headline": "fix: timeline snap-back, body-move, and play-button data sync",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T16:08:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "aff28080ba00e958702509175332b8a7dec81bbd",
"body": "Snapping the brush by calling brush.move mid-drag is unfixable with d3-brush\nv3: its gesture recomputes the selection from the drag anchor + pointer delta\nand overwrites its own state every pointer move, so the snap is clobbered on\nthe next move (the lock that would preserve it only applies to shift\n[…]\nwiden the brush extent in buttons mode to the full button strip so a\nhandle can reach — and the committed selection can cover — the whole first and\nlast button, instead of clamping at their midpoints.",
"is_bot": false,
"headline": "fix: restore live timeline snapping without the brush oscillation",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T14:29:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f0e87fb11c5f4ec82e86ca454abc8887a5fc6726",
"body": "_brushBrush/_brushStart called brush.move on every brush/start event to snap\nthe selection to ticks live. Moving the brush during the user's own gesture\ndesyncs d3-brush's internal drag state: the selection oscillates between one\nand two ticks as you drag, and snaps back to the original range (or a \n[…]\ngle value) on release. Track the selection during the drag but let the\nbrush follow the cursor freely; snap to ticks once, on 'end'. Verified drag\nrange-select and click period-select both still work.",
"is_bot": false,
"headline": "fix: stop moving the timeline brush during an active drag",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-07-01T13:48:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "550b3cf03393ab21ca35af02bbd726b945af6186",
"body": "The timeline wired both 'brush' and 'end' to setTimeFilter, which re-renders\nthe whole Viz. Doing it on every brush move re-creates the d3-brush (and starts\na brush transition) mid-drag — fighting the active gesture, which can make the\nselection snap back on release so a range can't be set — and re-\n[…]\n on every pixel of the drag (costly for large data, e.g. the canvas\nTreemap dev example). Apply the filter on 'end' only; the brush still tracks\nthe cursor live and user on.brush callbacks still fire.",
"is_bot": false,
"headline": "fix: apply timeline filter on brush end, not on every move",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T21:10:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c871410152f16dfebbf5cf1cd9a8d1803c56dbc9",
"body": "_togglePlay's advance loop read schema.ticks, which configureScale only sets in\nbuttons mode — in ticks mode it's undefined, so the click threw\n'Cannot read undefined (map)' and did nothing (the click DID reach the handler;\nthe visible-button fix just exposed it). Step through the resolved\n_availableTicks in ticks mode (schema.ticks in buttons mode), mirroring\nsetupBrush/_updateDomain, and bail if there are no periods.",
"is_bot": false,
"headline": "fix: Timeline play button works in ticks mode",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T20:58:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c038315408967d8c75080f05af13ec5d1f4592b",
"body": "The previous standalone-Timeline fix painted super.toScene() (the axis only),\nbut the play button's pixels are produced by _playButtonClass in compute mode\nand composed by Timeline.toScene() — so the button never appeared (only its\ntransparent click hit-rect existed). Paint this.toScene() instead, a\n[…]\n scene (axis +\nplay button) is drawn; the brush + play hit-rect stay as DOM lifted above it.\nVerified the button lands at a visible x (paddingLeft - playButtonWidth = 0),\nleft of the first tick label.",
"is_bot": false,
"headline": "fix: render the standalone Timeline play button",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T20:44:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "735743f5e8d11f16544f6240fa5ac2c80cd67bfd",
"body": "A Timeline _managesOwnScenePaint, so Axis.render() skips paintComponentScene\nand only the brush + play-button DOM rendered — standalone (e.g. the React\nwrapper) showed a lone floating brush handle with no ticks/track/labels. In a\nViz the parent composes the timeline scene via toScene(); on its own t\n[…]\ny button which\nstays interactive DOM) beneath the brush, then lifts the brush/play group above\nit so the overlay still receives pointer events. Updated the standalone test to\nassert the scene renders.",
"is_bot": false,
"headline": "fix: standalone Timeline paints its axis scene, not just the brush",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T19:31:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9b8d579d869b899179be83ec7cd288b6b933cf04",
"body": "TextBox.render() read the container's width/height attributes, but the\n@d3plus/react wrapper sets them to \"100%\" — Number(\"100%\") is NaN, so it fell\nback to a hard-coded 400 and cropped any box laid out beyond it (e.g. the\nstory's boxes at x=0/250/500). Use getBoundingClientRect for the container's\nrendered size, and grow the surface to the laid-out content extent (max box\nedge) since width/x are per-box accessors, not canvas dimensions. Adds a\nregression test.",
"is_bot": false,
"headline": "fix: size standalone TextBox render surface to its content",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T19:18:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "907040172351b705c21d9893c69e8a8dd30a0c3d",
"body": null,
"is_bot": false,
"headline": "re-runs docs",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T19:06:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19209a76c4a80e0549d0b57305edcdadebd0bf3a",
"body": "Fills every Storybook arg that lacked a type/control/description by adding the\nkeys to typed config interfaces (the generator reads these), sourcing the\nprose from the documented methods on main:\n\n- AxisConfig: grid, gridSize, minSize, range, timeLocale (+ descriptions for\n scale/ticks/tickFormat/l\n[…]\nelper for the value-or-(d,i)-accessor pattern, with\ntypeToNames expanding it so the value type drives the control; removed the\n'installed by installFluent' placeholder comment lines. Regenerated args.",
"is_bot": false,
"headline": "docs/types: document the config gaps in typed interfaces",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T19:02:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f4f7cb5b445cfdf8f160299f6aaa88fd9b4b7ed1",
"body": "Schema accessors with no runtime default (Axis title/ticks, …) couldn't be\ntyped from their value, so they got no control and empty descriptions. The\ngenerator now reads the project's config interfaces (D3plusConfig, AxisConfig,\nthe shape configs) into a type+description lookup: each key prefers its\n[…]\n keys (width/\nheight pick up their D3plusConfig descriptions). Unresolved type aliases (e.g.\nAxisScale) fall back to value-based control inference so they stay editable.\nRegenerated the affected args.",
"is_bot": false,
"headline": "docs: enrich schema-accessor argTypes from config interfaces",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T18:29:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "be2ae47fd84988852fe67638069e5094c6d6024c",
"body": "The generator built argTypes only from JSDoc-declared class members, so the\nconfig that components/shapes install at runtime via installFluent (width,\nheight, x, domain, title, ticks, …) never appeared — leaving controls missing\nand configify dropping those keys. docs.js now instantiates each class \n[…]\ny], which excludes\nread-only getters like outerBounds and _-backed config already covered by\nJSDoc) that a class introduces beyond its parent. Regenerated the affected\ncomponent/shape/chart-base args.",
"is_bot": false,
"headline": "docs: surface installFluent schema accessors as Storybook argTypes",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T18:18:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "170723bd7357c1dc9a64418512b8bc6a35491b17",
"body": "…inter events\n\nOn the Canvas backend the compute <svg> (`_select`) is an emptied overlay\npositioned over the <canvas>. An svg root hit-tests its whole box, so even\nempty it swallowed every pointer event before the canvas could pick a shape or\nlegend swatch — charts rendered and animated but no toolt\n[…]\ne just the timeline's d3-brush group, which still lives in\nthat svg. On SVG mode `_select` hosts the scene, so events stay enabled. This\ngeneralizes the workaround Geomap/zoom already applied locally.",
"is_bot": false,
"headline": "fix: canvas backend tooltips by freeing the compute-svg overlay of po…",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T17:51:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9ac7ed6884a5c4b048e7d5f67aacd5eb63a40906",
"body": "v4 components express most config (width, height, x, domain, title, align,\nplayButton, …) via schema-field accessors rather than JSDoc methods, so those\nkeys never land in the generated argTypes. configify filtered story args\nagainst argTypes and silently dropped them, leaving Axis/Timeline/TextBox\nstories rendering at defaults (400x400, overlapping boxes, a lone brush\nhandle). Keep every defined arg; only strip undefined.",
"is_bot": false,
"headline": "docs: stop configify dropping valid config not in argTypes",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T17:43:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3fb6ab7a68709505f50c2e0484a0ac3d4b7dce9d",
"body": null,
"is_bot": false,
"headline": "args regeneration",
"author_name": "Dave Landry",
"author_login": "davelandry",
"committed_at": "2026-06-30T17:38:36Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 96,
"commits_last_year": 384,
"latest_release_at": "2026-07-17T14:37:39Z",
"latest_release_tag": "v4.3.0",
"releases_from_tags": false,
"days_since_last_push": 5,
"active_weeks_last_year": 21,
"days_since_latest_release": 5,
"mean_days_between_releases": 11
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 50,
"has_issue_template": true,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "@d3plus/dom",
"exists": true,
"license": "MIT",
"keywords": [
"dom",
"d3",
"d3plus",
"data",
"visualization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@d3plus/dom",
"is_deprecated": false,
"latest_version": "4.3.0",
"repository_url": "https://github.com/d3plus/d3plus",
"versions_count": 34,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2375,
"first_published_at": "2025-03-13T20:02:47.039000Z",
"latest_published_at": "2026-07-17T14:38:03.284000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "@d3plus/ssr",
"exists": true,
"license": "MIT",
"keywords": [
"ssr",
"server",
"d3",
"d3plus",
"data",
"visualization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@d3plus/ssr",
"is_deprecated": false,
"latest_version": "4.3.0",
"repository_url": "https://github.com/d3plus/d3plus",
"versions_count": 1,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 129,
"first_published_at": "2026-07-17T14:38:21.334000Z",
"latest_published_at": "2026-07-17T14:38:21.663000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "@d3plus/vue",
"exists": true,
"license": "MIT",
"keywords": [
"vue",
"d3",
"d3plus",
"data",
"visualization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@d3plus/vue",
"is_deprecated": false,
"latest_version": "4.3.0",
"repository_url": "https://github.com/d3plus/d3plus",
"versions_count": 1,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 139,
"first_published_at": "2026-07-17T14:38:24.604000Z",
"latest_published_at": "2026-07-17T14:38:24.979000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "@d3plus/core",
"exists": true,
"license": "MIT",
"keywords": [
"charts",
"d3",
"d3plus",
"data",
"visualization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@d3plus/core",
"is_deprecated": false,
"latest_version": "4.3.0",
"repository_url": "https://github.com/d3plus/d3plus",
"versions_count": 34,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 1339,
"first_published_at": "2025-03-13T20:02:42.564000Z",
"latest_published_at": "2026-07-17T14:38:16.146000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "@d3plus/data",
"exists": true,
"license": "MIT",
"keywords": [
"data",
"d3",
"d3plus",
"data",
"visualization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@d3plus/data",
"is_deprecated": false,
"latest_version": "4.3.0",
"repository_url": "https://github.com/d3plus/d3plus",
"versions_count": 34,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 1358,
"first_published_at": "2025-03-13T20:02:44.712000Z",
"latest_published_at": "2026-07-17T14:38:09.103000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "@d3plus/math",
"exists": true,
"license": "MIT",
"keywords": [
"math",
"d3",
"d3plus",
"data",
"visualization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@d3plus/math",
"is_deprecated": false,
"latest_version": "4.3.0",
"repository_url": "https://github.com/d3plus/d3plus",
"versions_count": 34,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2571,
"first_published_at": "2025-03-13T20:02:56.051000Z",
"latest_published_at": "2026-07-17T14:38:07.817000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "@d3plus/text",
"exists": true,
"license": "MIT",
"keywords": [
"text",
"d3",
"d3plus",
"data",
"visualization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@d3plus/text",
"is_deprecated": false,
"latest_version": "4.3.0",
"repository_url": "https://github.com/d3plus/d3plus",
"versions_count": 34,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2288,
"first_published_at": "2025-03-13T20:03:00.114000Z",
"latest_published_at": "2026-07-17T14:38:11.644000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "@d3plus/color",
"exists": true,
"license": "MIT",
"keywords": [
"export",
"d3",
"d3plus",
"data",
"visualization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@d3plus/color",
"is_deprecated": false,
"latest_version": "4.3.0",
"repository_url": "https://github.com/d3plus/d3plus",
"versions_count": 34,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 1239,
"first_published_at": "2025-03-13T20:02:36.610000Z",
"latest_published_at": "2026-07-17T14:38:01.917000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
}
]
},
"popularity": {
"forks": 181,
"stars": 1616,
"watchers": 73,
"fork_history": {
"days": [
{
"date": "2013-11-19",
"count": 1
},
{
"date": "2013-11-21",
"count": 2
},
{
"date": "2013-11-28",
"count": 1
},
{
"date": "2013-12-01",
"count": 1
},
{
"date": "2013-12-02",
"count": 1
},
{
"date": "2013-12-04",
"count": 1
},
{
"date": "2013-12-11",
"count": 1
},
{
"date": "2013-12-12",
"count": 1
},
{
"date": "2013-12-22",
"count": 1
},
{
"date": "2014-02-02",
"count": 1
},
{
"date": "2014-02-05",
"count": 1
},
{
"date": "2014-04-01",
"count": 1
},
{
"date": "2014-04-05",
"count": 2
},
{
"date": "2014-04-12",
"count": 1
},
{
"date": "2014-04-27",
"count": 1
},
{
"date": "2014-06-04",
"count": 2
},
{
"date": "2014-07-01",
"count": 1
},
{
"date": "2014-08-11",
"count": 1
},
{
"date": "2014-09-16",
"count": 1
},
{
"date": "2014-09-25",
"count": 1
},
{
"date": "2014-10-15",
"count": 1
},
{
"date": "2014-10-20",
"count": 1
},
{
"date": "2014-10-21",
"count": 1
},
{
"date": "2014-10-23",
"count": 1
},
{
"date": "2014-10-31",
"count": 1
},
{
"date": "2014-11-24",
"count": 1
},
{
"date": "2014-11-27",
"count": 1
},
{
"date": "2014-12-01",
"count": 1
},
{
"date": "2014-12-02",
"count": 1
},
{
"date": "2014-12-17",
"count": 1
},
{
"date": "2014-12-19",
"count": 1
},
{
"date": "2015-01-10",
"count": 1
},
{
"date": "2015-03-16",
"count": 1
},
{
"date": "2015-03-22",
"count": 1
},
{
"date": "2015-04-05",
"count": 1
},
{
"date": "2015-04-23",
"count": 1
},
{
"date": "2015-05-03",
"count": 1
},
{
"date": "2015-06-03",
"count": 1
},
{
"date": "2015-06-18",
"count": 1
},
{
"date": "2015-06-30",
"count": 1
},
{
"date": "2015-07-01",
"count": 1
},
{
"date": "2015-07-07",
"count": 1
},
{
"date": "2015-07-09",
"count": 1
},
{
"date": "2015-07-15",
"count": 1
},
{
"date": "2015-07-26",
"count": 1
},
{
"date": "2015-07-29",
"count": 1
},
{
"date": "2015-08-07",
"count": 3
},
{
"date": "2015-08-10",
"count": 1
},
{
"date": "2015-08-11",
"count": 1
},
{
"date": "2015-08-17",
"count": 1
},
{
"date": "2015-08-31",
"count": 1
},
{
"date": "2015-09-10",
"count": 1
},
{
"date": "2015-09-15",
"count": 1
},
{
"date": "2015-10-21",
"count": 1
},
{
"date": "2015-11-02",
"count": 1
},
{
"date": "2015-11-12",
"count": 1
},
{
"date": "2015-11-14",
"count": 1
},
{
"date": "2015-12-02",
"count": 1
},
{
"date": "2015-12-07",
"count": 1
},
{
"date": "2016-01-06",
"count": 1
},
{
"date": "2016-01-28",
"count": 1
},
{
"date": "2016-01-30",
"count": 1
},
{
"date": "2016-02-03",
"count": 1
},
{
"date": "2016-02-16",
"count": 2
},
{
"date": "2016-02-19",
"count": 1
},
{
"date": "2016-02-21",
"count": 1
},
{
"date": "2016-03-21",
"count": 1
},
{
"date": "2016-03-28",
"count": 1
},
{
"date": "2016-04-05",
"count": 3
},
{
"date": "2016-04-06",
"count": 1
},
{
"date": "2016-04-07",
"count": 1
},
{
"date": "2016-04-08",
"count": 1
},
{
"date": "2016-04-22",
"count": 1
},
{
"date": "2016-04-24",
"count": 1
},
{
"date": "2016-04-28",
"count": 1
},
{
"date": "2016-05-06",
"count": 1
},
{
"date": "2016-05-10",
"count": 1
},
{
"date": "2016-05-12",
"count": 2
},
{
"date": "2016-05-15",
"count": 1
},
{
"date": "2016-05-22",
"count": 1
},
{
"date": "2016-05-30",
"count": 1
},
{
"date": "2016-06-02",
"count": 1
},
{
"date": "2016-06-07",
"count": 1
},
{
"date": "2016-06-11",
"count": 2
},
{
"date": "2016-06-15",
"count": 1
},
{
"date": "2016-07-09",
"count": 1
},
{
"date": "2016-07-12",
"count": 1
},
{
"date": "2016-07-26",
"count": 1
},
{
"date": "2016-08-03",
"count": 1
},
{
"date": "2016-08-10",
"count": 1
},
{
"date": "2016-08-30",
"count": 1
},
{
"date": "2016-09-09",
"count": 2
},
{
"date": "2016-09-13",
"count": 1
},
{
"date": "2016-09-16",
"count": 1
},
{
"date": "2016-09-19",
"count": 1
},
{
"date": "2016-09-20",
"count": 1
},
{
"date": "2016-09-21",
"count": 1
},
{
"date": "2016-09-28",
"count": 1
},
{
"date": "2016-11-05",
"count": 1
},
{
"date": "2016-12-29",
"count": 1
},
{
"date": "2017-01-05",
"count": 1
},
{
"date": "2017-01-16",
"count": 1
},
{
"date": "2017-01-29",
"count": 1
},
{
"date": "2017-02-22",
"count": 1
},
{
"date": "2017-04-10",
"count": 1
},
{
"date": "2017-04-11",
"count": 1
},
{
"date": "2017-04-25",
"count": 1
},
{
"date": "2017-05-03",
"count": 1
},
{
"date": "2017-05-11",
"count": 1
},
{
"date": "2017-05-25",
"count": 1
},
{
"date": "2017-07-13",
"count": 1
},
{
"date": "2017-07-24",
"count": 1
},
{
"date": "2017-10-01",
"count": 1
},
{
"date": "2017-10-05",
"count": 1
},
{
"date": "2017-10-10",
"count": 1
},
{
"date": "2017-11-21",
"count": 1
},
{
"date": "2017-11-29",
"count": 1
},
{
"date": "2017-12-24",
"count": 1
},
{
"date": "2017-12-28",
"count": 1
},
{
"date": "2018-01-18",
"count": 1
},
{
"date": "2018-03-14",
"count": 1
},
{
"date": "2018-03-26",
"count": 1
},
{
"date": "2018-04-24",
"count": 1
},
{
"date": "2018-05-25",
"count": 1
},
{
"date": "2018-05-31",
"count": 1
},
{
"date": "2018-07-05",
"count": 1
},
{
"date": "2018-10-19",
"count": 1
},
{
"date": "2018-11-20",
"count": 1
},
{
"date": "2018-11-22",
"count": 1
},
{
"date": "2018-11-27",
"count": 1
},
{
"date": "2019-01-14",
"count": 2
},
{
"date": "2019-05-11",
"count": 1
},
{
"date": "2019-06-08",
"count": 1
},
{
"date": "2019-06-19",
"count": 1
},
{
"date": "2019-07-11",
"count": 1
},
{
"date": "2019-07-17",
"count": 1
},
{
"date": "2019-08-03",
"count": 1
},
{
"date": "2019-08-12",
"count": 1
},
{
"date": "2019-08-23",
"count": 1
},
{
"date": "2019-10-04",
"count": 2
},
{
"date": "2019-10-18",
"count": 1
},
{
"date": "2019-12-15",
"count": 1
},
{
"date": "2020-01-16",
"count": 1
},
{
"date": "2020-01-29",
"count": 1
},
{
"date": "2020-01-31",
"count": 1
},
{
"date": "2020-02-11",
"count": 1
},
{
"date": "2020-02-27",
"count": 1
},
{
"date": "2020-03-31",
"count": 1
},
{
"date": "2020-05-06",
"count": 1
},
{
"date": "2020-08-12",
"count": 1
},
{
"date": "2021-01-19",
"count": 1
},
{
"date": "2021-02-09",
"count": 1
},
{
"date": "2021-02-22",
"count": 1
},
{
"date": "2021-02-23",
"count": 1
},
{
"date": "2021-05-24",
"count": 1
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-04-29",
"count": 1
},
{
"date": "2022-06-28",
"count": 1
},
{
"date": "2022-09-14",
"count": 1
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-07-07",
"count": 1
},
{
"date": "2023-09-02",
"count": 1
},
{
"date": "2023-11-20",
"count": 1
},
{
"date": "2025-07-29",
"count": 1
}
],
"complete": true,
"collected": 177,
"total_forks": 181
},
"star_history": null,
"open_issues_and_prs": 108
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"packages/angular/tsconfig.json",
"packages/color/tsconfig.json",
"packages/core/tsconfig.json",
"packages/data/tsconfig.json",
"packages/dom/tsconfig.json",
"packages/element/tsconfig.json",
"packages/export/tsconfig.json",
"packages/format/tsconfig.json",
"packages/locales/tsconfig.json",
"packages/math/tsconfig.json",
"packages/react/tsconfig.json",
"packages/render/tsconfig.json",
"packages/ssr/tsconfig.json",
"packages/svelte/tsconfig.json",
"packages/text/tsconfig.json",
"packages/types/tsconfig.json",
"packages/vue/tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 83861,
"source_files_sampled": 704,
"oversized_source_files": 2,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 11066
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "@babel/plugin-transform-modules-systemjs",
"direct": false,
"version": "7.29.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.2,
"advisory_ids": [
"GHSA-fv7c-fp4j-7gwp"
],
"fixed_version": "8.0.0-alpha.13",
"advisory_count": 1,
"oldest_advisory_days": 74
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.13",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.3",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-jxxr-4gwj-5jf2"
],
"fixed_version": "5.0.7",
"advisory_count": 2,
"oldest_advisory_days": 65
},
{
"name": "elliptic",
"direct": false,
"version": "6.6.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.3,
"advisory_ids": [
"GHSA-848j-6mx2-7j84"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 194
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-4c8g-83qw-93j6",
"GHSA-q3j6-qgpj-74h6",
"GHSA-v2hh-gcrm-f6hx",
"GHSA-v39h-62p7-jpjc"
],
"fixed_version": "4.1.1",
"advisory_count": 4,
"oldest_advisory_days": 75
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68"
],
"fixed_version": "4.3.0",
"advisory_count": 2,
"oldest_advisory_days": 37
},
{
"name": "linkify-it",
"direct": false,
"version": "5.0.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-22p9-wv53-3rq4",
"GHSA-v245-v573-v5vm"
],
"fixed_version": "5.0.2",
"advisory_count": 2,
"oldest_advisory_days": 25
},
{
"name": "next",
"direct": false,
"version": "15.5.14",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.6,
"advisory_ids": [
"GHSA-267c-6grr-h53f",
"GHSA-26hh-7cqf-hhc6",
"GHSA-36qx-fr4f-26g5",
"GHSA-3g8h-86w9-wvmq",
"GHSA-492v-c6pp-mqqv",
"GHSA-8h8q-6873-q5fj",
"GHSA-c4j6-fc7j-m34r",
"GHSA-ffhc-5mcf-pf4q",
"GHSA-gx5p-jg67-6x7h",
"GHSA-h64f-5h5j-jqjh"
],
"fixed_version": "16.2.6",
"advisory_count": 14,
"oldest_advisory_days": 103
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-5c6j-r48x-rmvq",
"GHSA-qj8w-gfj5-8c6v"
],
"fixed_version": "7.0.5",
"advisory_count": 2,
"oldest_advisory_days": 144
},
{
"name": "sharp",
"direct": false,
"version": "0.34.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.3,
"advisory_ids": [
"GHSA-f88m-g3jw-g9cj"
],
"fixed_version": "0.35.0",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "vite",
"direct": false,
"version": "6.4.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-4w7w-66w2-5vf9",
"GHSA-fx2h-pf6j-xcff",
"GHSA-p9ff-h696-f583",
"GHSA-v6wh-96g9-6wx3"
],
"fixed_version": "8.0.16",
"advisory_count": 4,
"oldest_advisory_days": 107
},
{
"name": "ws",
"direct": false,
"version": "8.20.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-58qx-3vcg-4xpx",
"GHSA-96hv-2xvq-fx4p"
],
"fixed_version": "8.21.0",
"advisory_count": 2,
"oldest_advisory_days": 65
},
{
"name": "diff",
"direct": false,
"version": "7.0.0",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-73rr-hh4g-fpgx"
],
"fixed_version": "8.0.3",
"advisory_count": 1,
"oldest_advisory_days": 188
},
{
"name": "markdown-it",
"direct": false,
"version": "14.1.1",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-6v5v-wf23-fmfq"
],
"fixed_version": "14.2.0",
"advisory_count": 1,
"oldest_advisory_days": 36
},
{
"name": "postcss",
"direct": false,
"version": "8.4.31",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 6.1,
"advisory_ids": [
"GHSA-qx2v-qp2m-jg93"
],
"fixed_version": "8.5.10",
"advisory_count": 1,
"oldest_advisory_days": 89
},
{
"name": "postcss",
"direct": false,
"version": "8.5.8",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 6.1,
"advisory_ids": [
"GHSA-qx2v-qp2m-jg93"
],
"fixed_version": "8.5.10",
"advisory_count": 1,
"oldest_advisory_days": 89
},
{
"name": "qs",
"direct": false,
"version": "6.15.0",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-q8mj-m7cp-5q26"
],
"fixed_version": "6.15.2",
"advisory_count": 1,
"oldest_advisory_days": 61
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.0",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 3.2,
"advisory_ids": [
"GHSA-4x5r-pxfx-6jf8"
],
"fixed_version": "8.0.0-rc.6",
"advisory_count": 1,
"oldest_advisory_days": 37
},
{
"name": "esbuild",
"direct": false,
"version": "0.27.7",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 2.5,
"advisory_ids": [
"GHSA-g7r4-m6w7-qqqr"
],
"fixed_version": "0.28.1",
"advisory_count": 1,
"oldest_advisory_days": 39
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 2,
"high": 13,
"moderate": 5
},
"advisory_count": 44,
"affected_count": 20,
"assessed_count": 1485,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 59,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@d3plus/core",
"manifest": "packages/angular/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/dom",
"manifest": "packages/angular/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "tslib",
"manifest": "packages/angular/package.json",
"ecosystem": "npm",
"version_constraint": "^2.6.0"
},
{
"name": "d3-color",
"manifest": "packages/color/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.0"
},
{
"name": "d3-scale",
"manifest": "packages/color/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.2"
},
{
"name": "open-color",
"manifest": "packages/color/package.json",
"ecosystem": "npm",
"version_constraint": "^1.9.1"
},
{
"name": "@d3plus/color",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/data",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/dom",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/format",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/locales",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/math",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/render",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/text",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@floating-ui/dom",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.0"
},
{
"name": "d3-array",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.2.4"
},
{
"name": "d3-brush",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-color",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.0"
},
{
"name": "d3-composite-projections",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^1.4.0"
},
{
"name": "d3-force",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-geo",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.1"
},
{
"name": "d3-geo-projection",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.0"
},
{
"name": "d3-hierarchy",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.2"
},
{
"name": "d3-interpolate",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "d3-interpolate-path",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^2.3.0"
},
{
"name": "d3-polygon",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "d3-sankey",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.12.3"
},
{
"name": "d3-scale",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.2"
},
{
"name": "d3-selection",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-shape",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.2.0"
},
{
"name": "d3-tile",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.0"
},
{
"name": "d3-time-format",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.0"
},
{
"name": "d3-transition",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "d3-zoom",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "open-color",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^1.9.1"
},
{
"name": "textures",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.3"
},
{
"name": "topojson-client",
"manifest": "packages/core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.0"
},
{
"name": "@d3plus/dom",
"manifest": "packages/data/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "d3-array",
"manifest": "packages/data/package.json",
"ecosystem": "npm",
"version_constraint": "^3.2.4"
},
{
"name": "d3-fetch",
"manifest": "packages/data/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "@chenglou/pretext",
"manifest": "packages/dom/package.json",
"ecosystem": "npm",
"version_constraint": "^0.0.5"
},
{
"name": "d3-selection",
"manifest": "packages/dom/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-transition",
"manifest": "packages/dom/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "@d3plus/core",
"manifest": "packages/element/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/dom",
"manifest": "packages/element/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "file-saver",
"manifest": "packages/export/package.json",
"ecosystem": "npm",
"version_constraint": "1.3.3"
},
{
"name": "html-to-image",
"manifest": "packages/export/package.json",
"ecosystem": "npm",
"version_constraint": "^1.11.11"
},
{
"name": "@d3plus/locales",
"manifest": "packages/format/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "d3-format",
"manifest": "packages/format/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.0"
},
{
"name": "d3-time",
"manifest": "packages/format/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.0"
},
{
"name": "d3-time-format",
"manifest": "packages/format/package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.0"
},
{
"name": "d3-array",
"manifest": "packages/math/package.json",
"ecosystem": "npm",
"version_constraint": "^3.2.4"
},
{
"name": "d3-polygon",
"manifest": "packages/math/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "@d3plus/core",
"manifest": "packages/react/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/dom",
"manifest": "packages/react/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/data",
"manifest": "packages/render/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "d3-color",
"manifest": "packages/render/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.0"
},
{
"name": "d3-interpolate",
"manifest": "packages/render/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "d3-interpolate-path",
"manifest": "packages/render/package.json",
"ecosystem": "npm",
"version_constraint": "^2.3.0"
},
{
"name": "d3-selection",
"manifest": "packages/render/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-shape",
"manifest": "packages/render/package.json",
"ecosystem": "npm",
"version_constraint": "^3.2.0"
},
{
"name": "d3-transition",
"manifest": "packages/render/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "textures",
"manifest": "packages/render/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.3"
},
{
"name": "@d3plus/core",
"manifest": "packages/ssr/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/render",
"manifest": "packages/ssr/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/dom",
"manifest": "packages/svelte/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@chenglou/pretext",
"manifest": "packages/text/package.json",
"ecosystem": "npm",
"version_constraint": "^0.0.5"
},
{
"name": "@d3plus/dom",
"manifest": "packages/text/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/locales",
"manifest": "packages/text/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "d3-selection",
"manifest": "packages/text/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-transition",
"manifest": "packages/text/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.1"
},
{
"name": "hyphenated",
"manifest": "packages/text/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.0"
},
{
"name": "@d3plus/color",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/core",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/data",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/dom",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/export",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/format",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/locales",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/math",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/text",
"manifest": "packages/types/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/core",
"manifest": "packages/vue/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@d3plus/dom",
"manifest": "packages/vue/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@chenglou/pretext",
"direct": true,
"version": "0.0.5",
"ecosystem": "npm"
},
{
"name": "@chenglou/pretext",
"direct": true,
"version": "^0.0.5",
"ecosystem": "npm"
},
{
"name": "@floating-ui/dom",
"direct": true,
"version": "1.7.6",
"ecosystem": "npm"
},
{
"name": "@floating-ui/dom",
"direct": true,
"version": "^1.6.0",
"ecosystem": "npm"
},
{
"name": "d3-array",
"direct": true,
"version": "2.12.1",
"ecosystem": "npm"
},
{
"name": "d3-array",
"direct": true,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "d3-array",
"direct": true,
"version": "^3.2.4",
"ecosystem": "npm"
},
{
"name": "d3-brush",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-brush",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-color",
"direct": true,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-color",
"direct": true,
"version": "^3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-composite-projections",
"direct": true,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "d3-composite-projections",
"direct": true,
"version": "^1.4.0",
"ecosystem": "npm"
},
{
"name": "d3-fetch",
"direct": true,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-fetch",
"direct": true,
"version": "^3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-force",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-force",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-format",
"direct": true,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "d3-format",
"direct": true,
"version": "^3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-geo",
"direct": true,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "d3-geo",
"direct": true,
"version": "^3.1.1",
"ecosystem": "npm"
},
{
"name": "d3-geo-projection",
"direct": true,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "d3-geo-projection",
"direct": true,
"version": "^4.0.0",
"ecosystem": "npm"
},
{
"name": "d3-hierarchy",
"direct": true,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "d3-hierarchy",
"direct": true,
"version": "^3.1.2",
"ecosystem": "npm"
},
{
"name": "d3-interpolate",
"direct": true,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-interpolate",
"direct": true,
"version": "^3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-interpolate-path",
"direct": true,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "d3-interpolate-path",
"direct": true,
"version": "^2.3.0",
"ecosystem": "npm"
},
{
"name": "d3-polygon",
"direct": true,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-polygon",
"direct": true,
"version": "^3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-sankey",
"direct": true,
"version": "0.12.3",
"ecosystem": "npm"
},
{
"name": "d3-sankey",
"direct": true,
"version": "^0.12.3",
"ecosystem": "npm"
},
{
"name": "d3-scale",
"direct": true,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "d3-scale",
"direct": true,
"version": "^4.0.2",
"ecosystem": "npm"
},
{
"name": "d3-selection",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-selection",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-shape",
"direct": true,
"version": "1.3.7",
"ecosystem": "npm"
},
{
"name": "d3-shape",
"direct": true,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "d3-shape",
"direct": true,
"version": "^3.2.0",
"ecosystem": "npm"
},
{
"name": "d3-tile",
"direct": true,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "d3-tile",
"direct": true,
"version": "^1.0.0",
"ecosystem": "npm"
},
{
"name": "d3-time",
"direct": true,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-time",
"direct": true,
"version": "^3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-time-format",
"direct": true,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "d3-time-format",
"direct": true,
"version": "^4.1.0",
"ecosystem": "npm"
},
{
"name": "d3-transition",
"direct": true,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-transition",
"direct": true,
"version": "^3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-zoom",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-zoom",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "file-saver",
"direct": true,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "html-to-image",
"direct": true,
"version": "1.11.13",
"ecosystem": "npm"
},
{
"name": "html-to-image",
"direct": true,
"version": "^1.11.11",
"ecosystem": "npm"
},
{
"name": "hyphenated",
"direct": true,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "hyphenated",
"direct": true,
"version": "^1.2.0",
"ecosystem": "npm"
},
{
"name": "open-color",
"direct": true,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "open-color",
"direct": true,
"version": "^1.9.1",
"ecosystem": "npm"
},
{
"name": "textures",
"direct": true,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "textures",
"direct": true,
"version": "^1.2.3",
"ecosystem": "npm"
},
{
"name": "topojson-client",
"direct": true,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "topojson-client",
"direct": true,
"version": "^3.1.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": true,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": true,
"version": "^2.6.0",
"ecosystem": "npm"
},
{
"name": "@adobe/css-tools",
"direct": false,
"version": "4.4.4",
"ecosystem": "npm"
},
{
"name": "@ampproject/remapping",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "@analogjs/vite-plugin-angular",
"direct": false,
"version": "2.6.3",
"ecosystem": "npm"
},
{
"name": "@analogjs/vite-plugin-angular",
"direct": false,
"version": "^2.6.3",
"ecosystem": "npm"
},
{
"name": "@angular-devkit/architect",
"direct": false,
"version": "0.2102.19",
"ecosystem": "npm"
},
{
"name": "@angular-devkit/core",
"direct": false,
"version": "21.2.19",
"ecosystem": "npm"
},
{
"name": "@angular/build",
"direct": false,
"version": "21.2.19",
"ecosystem": "npm"
},
{
"name": "@angular/build",
"direct": false,
"version": "^21.0.0",
"ecosystem": "npm"
},
{
"name": "@angular/common",
"direct": false,
"version": "21.2.18",
"ecosystem": "npm"
},
{
"name": "@angular/common",
"direct": false,
"version": "^21.0.0",
"ecosystem": "npm"
},
{
"name": "@angular/compiler",
"direct": false,
"version": "21.2.18",
"ecosystem": "npm"
},
{
"name": "@angular/compiler",
"direct": false,
"version": "^21.0.0",
"ecosystem": "npm"
},
{
"name": "@angular/compiler-cli",
"direct": false,
"version": "21.2.18",
"ecosystem": "npm"
},
{
"name": "@angular/compiler-cli",
"direct": false,
"version": "^21.0.0",
"ecosystem": "npm"
},
{
"name": "@angular/core",
"direct": false,
"version": "21.2.18",
"ecosystem": "npm"
},
{
"name": "@angular/core",
"direct": false,
"version": "^21.0.0",
"ecosystem": "npm"
},
{
"name": "@angular/platform-browser",
"direct": false,
"version": "21.2.18",
"ecosystem": "npm"
},
{
"name": "@angular/platform-browser",
"direct": false,
"version": "^21.0.0",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/css-color",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.1",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-annotate-as-pure",
"direct": false,
"version": "7.27.3",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-class-features-plugin",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-regexp-features-plugin",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-define-polyfill-provider",
"direct": false,
"version": "0.6.8",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-member-expression-to-functions",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-optimise-call-expression",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-remap-async-to-generator",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-replace-supers",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-skip-transparent-expression-wrappers",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-split-export-declaration",
"direct": false,
"version": "7.24.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-wrap-function",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.2",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.2",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-firefox-class-in-computed-class-key",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-class-field-initializer-scope",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-proposal-private-property-in-object",
"direct": false,
"version": "7.21.0-placeholder-for-preset-env.2",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-bigint",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-dynamic-import",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-assertions",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-attributes",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-jsx",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-typescript",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-unicode-sets-regex",
"direct": false,
"version": "7.18.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-arrow-functions",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-async-generator-functions",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-async-to-generator",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-block-scoped-functions",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-block-scoping",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-class-properties",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-class-static-block",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-classes",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-computed-properties",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-destructuring",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-dotall-regex",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-duplicate-keys",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-duplicate-named-capturing-groups-regex",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-dynamic-import",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-explicit-resource-management",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-exponentiation-operator",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-export-namespace-from",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-for-of",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-function-name",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-json-strings",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-logical-assignment-operators",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-member-expression-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-amd",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-commonjs",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-systemjs",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-umd",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-named-capturing-groups-regex",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-new-target",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-nullish-coalescing-operator",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-numeric-separator",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-object-rest-spread",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-object-super",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-optional-catch-binding",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-optional-chaining",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-parameters",
"direct": false,
"version": "7.27.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-private-methods",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-private-property-in-object",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-property-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-display-name",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-development",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-self",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-source",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-pure-annotations",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-regenerator",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-regexp-modifiers",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-reserved-words",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-runtime",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-shorthand-properties",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-spread",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-sticky-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-template-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typeof-symbol",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typescript",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-escapes",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-property-regex",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-sets-regex",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/preset-env",
"direct": false,
"version": "7.29.2",
"ecosystem": "npm"
},
{
"name": "@babel/preset-modules",
"direct": false,
"version": "0.1.6-no-external-plugins",
"ecosystem": "npm"
},
{
"name": "@babel/preset-react",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/preset-typescript",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.29.2",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@csstools/color-helpers",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-calc",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@csstools/css-color-parser",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-parser-algorithms",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "@csstools/css-tokenizer",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.11.2",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.9.2",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.21.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@floating-ui/core",
"direct": false,
"version": "1.7.5",
"ecosystem": "npm"
},
{
"name": "@floating-ui/react",
"direct": false,
"version": "0.26.28",
"ecosystem": "npm"
},
{
"name": "@floating-ui/react-dom",
"direct": false,
"version": "2.1.8",
"ecosystem": "npm"
},
{
"name": "@floating-ui/utils",
"direct": false,
"version": "0.2.11",
"ecosystem": "npm"
},
{
"name": "@gerrit0/mini-shiki",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@harperfast/extended-iterable",
"direct": false,
"version": "1.0.3",
"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": "@img/colour",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@img/sharp-darwin-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-darwin-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-darwin-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-darwin-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-arm",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-ppc64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-riscv64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-s390x",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linuxmusl-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linuxmusl-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-arm",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-ppc64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-riscv64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-s390x",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linuxmusl-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linuxmusl-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-wasm32",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-ia32",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@inquirer/ansi",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@inquirer/confirm",
"direct": false,
"version": "5.1.21",
"ecosystem": "npm"
},
{
"name": "@inquirer/core",
"direct": false,
"version": "10.3.2",
"ecosystem": "npm"
},
{
"name": "@inquirer/figures",
"direct": false,
"version": "1.0.15",
"ecosystem": "npm"
},
{
"name": "@inquirer/type",
"direct": false,
"version": "3.0.10",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"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/source-map",
"direct": false,
"version": "0.3.11",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@lmdb/lmdb-darwin-arm64",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "@lmdb/lmdb-darwin-x64",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "@lmdb/lmdb-linux-arm",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "@lmdb/lmdb-linux-arm64",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "@lmdb/lmdb-linux-x64",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "@lmdb/lmdb-win32-arm64",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "@lmdb/lmdb-win32-x64",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "@mantine/core",
"direct": false,
"version": "7.17.8",
"ecosystem": "npm"
},
{
"name": "@mantine/core",
"direct": false,
"version": "^7.8.1",
"ecosystem": "npm"
},
{
"name": "@mantine/hooks",
"direct": false,
"version": "7.17.8",
"ecosystem": "npm"
},
{
"name": "@mantine/hooks",
"direct": false,
"version": "^7.8.1",
"ecosystem": "npm"
},
{
"name": "@mdx-js/react",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-darwin-arm64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-darwin-x64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-linux-arm",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-linux-arm64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-linux-x64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-win32-x64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-android-arm64",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-darwin-arm64",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-darwin-x64",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-arm-gnueabihf",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-arm64-gnu",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-arm64-musl",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-riscv64-gnu",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-x64-gnu",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-x64-musl",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-win32-arm64-msvc",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-win32-x64-msvc",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-android-arm-eabi",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-android-arm64",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-darwin-arm64",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-darwin-x64",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-freebsd-x64",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-linux-arm-gnueabihf",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-linux-arm64-gnu",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-linux-arm64-musl",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-linux-ppc64-gnu",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-linux-riscv64-gnu",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-linux-s390x-gnu",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-linux-x64-gnu",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-linux-x64-musl",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-openharmony-arm64",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-win32-arm64-msvc",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-win32-ia32-msvc",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/nice-win32-x64-msvc",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@next/env",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@next/swc-darwin-arm64",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@next/swc-darwin-x64",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-arm64-gnu",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-arm64-musl",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-x64-gnu",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-x64-musl",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@next/swc-win32-arm64-msvc",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@next/swc-win32-x64-msvc",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@octokit/auth-token",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "@octokit/core",
"direct": false,
"version": "6.1.6",
"ecosystem": "npm"
},
{
"name": "@octokit/endpoint",
"direct": false,
"version": "10.1.4",
"ecosystem": "npm"
},
{
"name": "@octokit/graphql",
"direct": false,
"version": "8.2.2",
"ecosystem": "npm"
},
{
"name": "@octokit/openapi-types",
"direct": false,
"version": "24.2.0",
"ecosystem": "npm"
},
{
"name": "@octokit/openapi-types",
"direct": false,
"version": "25.1.0",
"ecosystem": "npm"
},
{
"name": "@octokit/plugin-paginate-rest",
"direct": false,
"version": "11.6.0",
"ecosystem": "npm"
},
{
"name": "@octokit/plugin-request-log",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "@octokit/plugin-rest-endpoint-methods",
"direct": false,
"version": "13.5.0",
"ecosystem": "npm"
},
{
"name": "@octokit/request",
"direct": false,
"version": "9.2.4",
"ecosystem": "npm"
},
{
"name": "@octokit/request-error",
"direct": false,
"version": "6.1.8",
"ecosystem": "npm"
},
{
"name": "@octokit/rest",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "@octokit/types",
"direct": false,
"version": "13.10.0",
"ecosystem": "npm"
},
{
"name": "@octokit/types",
"direct": false,
"version": "14.1.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-android-arm-eabi",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-android-arm64",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-darwin-arm64",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-darwin-x64",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-freebsd-x64",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm-gnueabihf",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm-musleabihf",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm64-gnu",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm64-musl",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-ppc64-gnu",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-riscv64-gnu",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-riscv64-musl",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-s390x-gnu",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-x64-gnu",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-x64-musl",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-openharmony-arm64",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-wasm32-wasi",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-arm64-msvc",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-ia32-msvc",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-x64-msvc",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.113.0",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-android-arm64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-darwin-arm64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-darwin-x64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-freebsd-x64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-arm-glibc",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-arm-musl",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-arm64-glibc",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-arm64-musl",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-x64-glibc",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-x64-musl",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-win32-arm64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-win32-ia32",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-win32-x64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@pmmmwh/react-refresh-webpack-plugin",
"direct": false,
"version": "0.5.17",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.0-beta.27",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "@rollup/plugin-commonjs",
"direct": false,
"version": "28.0.9",
"ecosystem": "npm"
},
{
"name": "@rollup/plugin-json",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "@rollup/plugin-node-resolve",
"direct": false,
"version": "16.0.3",
"ecosystem": "npm"
},
{
"name": "@rollup/plugin-replace",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "@rollup/plugin-swc",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "@rollup/pluginutils",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-gnu",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-musl",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-musl",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-gnu",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "@rollup/wasm-node",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-oniguruma",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/langs",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/themes",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/types",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/vscode-textmate",
"direct": false,
"version": "10.0.2",
"ecosystem": "npm"
},
{
"name": "@storybook/addon-docs",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "@storybook/builder-webpack5",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "@storybook/core-webpack",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "@storybook/csf-plugin",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "@storybook/global",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@storybook/icons",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@storybook/nextjs",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "@storybook/preset-react-webpack",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "@storybook/react",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "@storybook/react-docgen-typescript-plugin",
"direct": false,
"version": "1.0.6--canary.9.0c3f3b7.0",
"ecosystem": "npm"
},
{
"name": "@storybook/react-dom-shim",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "@sveltejs/acorn-typescript",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "@sveltejs/vite-plugin-svelte",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "@sveltejs/vite-plugin-svelte",
"direct": false,
"version": "^5.1.0",
"ecosystem": "npm"
},
{
"name": "@sveltejs/vite-plugin-svelte-inspector",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@swc/core",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-darwin-arm64",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-darwin-x64",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm-gnueabihf",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm64-gnu",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm64-musl",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-ppc64-gnu",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-s390x-gnu",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-x64-gnu",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-x64-musl",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-arm64-msvc",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-ia32-msvc",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-x64-msvc",
"direct": false,
"version": "1.15.21",
"ecosystem": "npm"
},
{
"name": "@swc/counter",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@swc/helpers",
"direct": false,
"version": "0.5.15",
"ecosystem": "npm"
},
{
"name": "@swc/types",
"direct": false,
"version": "0.1.26",
"ecosystem": "npm"
},
{
"name": "@testing-library/dom",
"direct": false,
"version": "10.4.1",
"ecosystem": "npm"
},
{
"name": "@testing-library/jest-dom",
"direct": false,
"version": "6.9.1",
"ecosystem": "npm"
},
{
"name": "@testing-library/user-event",
"direct": false,
"version": "14.6.1",
"ecosystem": "npm"
},
{
"name": "@ts-morph/common",
"direct": false,
"version": "0.22.0",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.3",
"ecosystem": "npm"
},
{
"name": "@types/aria-query",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "@types/babel__core",
"direct": false,
"version": "7.20.5",
"ecosystem": "npm"
},
{
"name": "@types/babel__generator",
"direct": false,
"version": "7.27.0",
"ecosystem": "npm"
},
{
"name": "@types/babel__template",
"direct": false,
"version": "7.4.4",
"ecosystem": "npm"
},
{
"name": "@types/babel__traverse",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-array",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-brush",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-color",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-dsv",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-fetch",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-force",
"direct": false,
"version": "3.0.10",
"ecosystem": "npm"
},
{
"name": "@types/d3-format",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-geo",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@types/d3-hierarchy",
"direct": false,
"version": "3.1.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-interpolate",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-interpolate-path",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-path",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "@types/d3-path",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@types/d3-polygon",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-sankey",
"direct": false,
"version": "0.12.5",
"ecosystem": "npm"
},
{
"name": "@types/d3-scale",
"direct": false,
"version": "4.0.9",
"ecosystem": "npm"
},
{
"name": "@types/d3-selection",
"direct": false,
"version": "3.0.11",
"ecosystem": "npm"
},
{
"name": "@types/d3-shape",
"direct": false,
"version": "1.3.12",
"ecosystem": "npm"
},
{
"name": "@types/d3-shape",
"direct": false,
"version": "3.1.8",
"ecosystem": "npm"
},
{
"name": "@types/d3-tile",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@types/d3-time",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-time-format",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-transition",
"direct": false,
"version": "3.0.9",
"ecosystem": "npm"
},
{
"name": "@types/d3-zoom",
"direct": false,
"version": "3.0.8",
"ecosystem": "npm"
},
{
"name": "@types/debug",
"direct": false,
"version": "4.1.13",
"ecosystem": "npm"
},
{
"name": "@types/deep-eql",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/doctrine",
"direct": false,
"version": "0.0.9",
"ecosystem": "npm"
},
{
"name": "@types/eslint",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@types/eslint-scope",
"direct": false,
"version": "3.7.7",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/file-saver",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@types/geojson",
"direct": false,
"version": "7946.0.16",
"ecosystem": "npm"
},
{
"name": "@types/hast",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/html-minifier-terser",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-coverage",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/mdast",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@types/mdx",
"direct": false,
"version": "2.0.13",
"ecosystem": "npm"
},
{
"name": "@types/ms",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "25.5.2",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "19.2.14",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "^19.1.0",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "19.2.3",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "^19.1.0",
"ecosystem": "npm"
},
{
"name": "@types/resolve",
"direct": false,
"version": "1.20.2",
"ecosystem": "npm"
},
{
"name": "@types/resolve",
"direct": false,
"version": "1.20.6",
"ecosystem": "npm"
},
{
"name": "@types/semver",
"direct": false,
"version": "7.7.1",
"ecosystem": "npm"
},
{
"name": "@types/topojson-client",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "@types/topojson-specification",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "@types/trusted-types",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-basic-ssl",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-react",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-react",
"direct": false,
"version": "^4.2.1",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue",
"direct": false,
"version": "5.2.4",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue",
"direct": false,
"version": "^5.2.0",
"ecosystem": "npm"
},
{
"name": "@vitest/expect",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "@vitest/pretty-format",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "@vitest/spy",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "@vitest/utils",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-core",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-dom",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-sfc",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-ssr",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@vue/reactivity",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-core",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-dom",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@vue/server-renderer",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@vue/shared",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/ast",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/floating-point-hex-parser",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-api-error",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-buffer",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-numbers",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-wasm-bytecode",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-wasm-section",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/ieee754",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/leb128",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/utf8",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-edit",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-gen",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-opt",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-parser",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wast-printer",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webcontainer/env",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@xtuc/ieee754",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@xtuc/long",
"direct": false,
"version": "4.2.2",
"ecosystem": "npm"
},
{
"name": "abort-controller",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.16.0",
"ecosystem": "npm"
},
{
"name": "acorn-import-phases",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "adjust-sourcemap-loader",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ajv-keywords",
"direct": false,
"version": "3.5.2",
"ecosystem": "npm"
},
{
"name": "ajv-keywords",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "ansi-colors",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-html",
"direct": false,
"version": "0.0.9",
"ecosystem": "npm"
},
{
"name": "ansi-html-community",
"direct": false,
"version": "0.0.8",
"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": "5.2.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "aria-query",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "aria-query",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "aria-query",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "array-buffer-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "array-includes",
"direct": false,
"version": "3.1.9",
"ecosystem": "npm"
},
{
"name": "array.prototype.findlast",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "array.prototype.flat",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.flatmap",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.tosorted",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "arraybuffer.prototype.slice",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "asn1.js",
"direct": false,
"version": "4.10.1",
"ecosystem": "npm"
},
{
"name": "assert",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ast-types",
"direct": false,
"version": "0.16.1",
"ecosystem": "npm"
},
{
"name": "async-function",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "axobject-query",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "babel-loader",
"direct": false,
"version": "9.2.1",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-corejs2",
"direct": false,
"version": "0.4.17",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-corejs3",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-corejs3",
"direct": false,
"version": "0.14.2",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-regenerator",
"direct": false,
"version": "0.6.8",
"ecosystem": "npm"
},
{
"name": "bail",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.14",
"ecosystem": "npm"
},
{
"name": "beasties",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "before-after-hook",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "big.js",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "bl",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "bn.js",
"direct": false,
"version": "4.12.3",
"ecosystem": "npm"
},
{
"name": "bn.js",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "boolbase",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.13",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "brorand",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "browser-stdout",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "browserify-aes",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "browserify-cipher",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "browserify-des",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "browserify-rsa",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "browserify-sign",
"direct": false,
"version": "4.2.5",
"ecosystem": "npm"
},
{
"name": "browserify-zlib",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.2",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "5.7.1",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "buffer-xor",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "builtin-status-codes",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "bundle-name",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "c8",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camel-case",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001784",
"ecosystem": "npm"
},
{
"name": "canvas",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "case-sensitive-paths-webpack-plugin",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "ccount",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "5.3.3",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "character-entities",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "check-error",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "chrome-trace-event",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "cipher-base",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "cjs-module-lexer",
"direct": false,
"version": "1.4.3",
"ecosystem": "npm"
},
{
"name": "clean-css",
"direct": false,
"version": "5.3.3",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "cli-spinners",
"direct": false,
"version": "3.4.0",
"ecosystem": "npm"
},
{
"name": "cli-truncate",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "cli-width",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "client-only",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "code-block-writer",
"direct": false,
"version": "12.0.0",
"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": "colorette",
"direct": false,
"version": "2.0.20",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "14.0.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "2.20.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "common-path-prefix",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "commondir",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "console-browserify",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "constants-browserify",
"direct": false,
"version": "1.0.0",
"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": "copy-anything",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "core-js-compat",
"direct": false,
"version": "3.49.0",
"ecosystem": "npm"
},
{
"name": "core-js-pure",
"direct": false,
"version": "3.49.0",
"ecosystem": "npm"
},
{
"name": "core-util-is",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cosmiconfig",
"direct": false,
"version": "8.3.6",
"ecosystem": "npm"
},
{
"name": "cosmiconfig",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "create-ecdh",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "create-hash",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "create-hmac",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "crypto-browserify",
"direct": false,
"version": "3.12.1",
"ecosystem": "npm"
},
{
"name": "css-loader",
"direct": false,
"version": "6.11.0",
"ecosystem": "npm"
},
{
"name": "css-loader",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "css-what",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "css-what",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "css.escape",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cssstyle",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "d3-dispatch",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-drag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-dsv",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-ease",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-path",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "d3-path",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-quadtree",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-timer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "data-view-buffer",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-offset",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "decimal.js",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "decode-named-character-reference",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "decompress-response",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "dedent",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "deep-eql",
"direct": false,
"version": "5.0.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": "deepmerge",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "default-browser",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "default-browser-id",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "define-lazy-prop",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "define-properties",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "dependency-graph",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "dequal",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "des.js",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "detect-node-es",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "devalue",
"direct": false,
"version": "5.8.1",
"ecosystem": "npm"
},
{
"name": "devlop",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "diffie-hellman",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "dom-accessibility-api",
"direct": false,
"version": "0.5.16",
"ecosystem": "npm"
},
{
"name": "dom-accessibility-api",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "dom-converter",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "domain-browser",
"direct": false,
"version": "4.23.0",
"ecosystem": "npm"
},
{
"name": "domelementtype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "dot-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.331",
"ecosystem": "npm"
},
{
"name": "elliptic",
"direct": false,
"version": "6.6.1",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "emojis-list",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "endent",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.20.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "environment",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "errno",
"direct": false,
"version": "0.1.8",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "error-stack-parser",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "es-abstract",
"direct": false,
"version": "1.24.1",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-iterator-helpers",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es-shim-unscopables",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "es-to-primitive",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react",
"direct": false,
"version": "7.37.5",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react",
"direct": false,
"version": "^7.37.4",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-storybook",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "esm-env",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrap",
"direct": false,
"version": "2.2.13",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "event-target-shim",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "events",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "evp_bytestokey",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "expand-template",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "fast-content-type-parse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-json-parse",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.20.1",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "filter-obj",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "find-cache-dir",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "find-cache-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "find-cache-directory",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "find-up-simple",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "flat",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "fork-ts-checker-webpack-plugin",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "fs-constants",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "fs-monkey",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "function.prototype.name",
"direct": false,
"version": "1.1.8",
"ecosystem": "npm"
},
{
"name": "functions-have-names",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "generator-function",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-east-asian-width",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-nonce",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-symbol-description",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "github-from-package",
"direct": false,
"version": "0.0.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "glob-to-regexp",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "globalthis",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "has-bigints",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-proto",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hash-base",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "hash-base",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "hash.js",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "hmac-drbg",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "html-entities",
"direct": false,
"version": "2.6.0",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "html-minifier-terser",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "html-webpack-plugin",
"direct": false,
"version": "5.6.6",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "https-browserify",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "hyphenated-en-us",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "icss-utils",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "ieee754",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "image-size",
"direct": false,
"version": "0.5.5",
"ecosystem": "npm"
},
{
"name": "image-size",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "immutable",
"direct": false,
"version": "5.1.9",
"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": "injection-js",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "internal-slot",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "internmap",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "internmap",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-arguments",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "is-array-buffer",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-async-function",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-bigint",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-boolean-object",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "is-callable",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"ecosystem": "npm"
},
{
"name": "is-data-view",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "is-date-object",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-docker",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-finalizationregistry",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "is-generator-function",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-inside-container",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-interactive",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-map",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-module",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-nan",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "is-negative-zero",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-number-object",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "is-potential-custom-element-name",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-reference",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-reference",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-regex",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-set",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-shared-array-buffer",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "is-string",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-symbol",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-typed-array",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-weakmap",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "is-weakref",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-weakset",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-what",
"direct": false,
"version": "4.1.16",
"ecosystem": "npm"
},
{
"name": "is-wsl",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "iterator.prototype",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jest-worker",
"direct": false,
"version": "27.5.1",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": false,
"version": "26.1.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-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonc-parser",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "jsx-ast-utils",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "kleur",
"direct": false,
"version": "4.1.5",
"ecosystem": "npm"
},
{
"name": "less",
"direct": false,
"version": "4.6.7",
"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": "linkify-it",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "listr2",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "lmdb",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "loader-runner",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "loader-utils",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "loader-utils",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "locate-character",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash.debounce",
"direct": false,
"version": "4.0.8",
"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": "log-symbols",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "log-update",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "longest-streak",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "loupe",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "lower-case",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.3.2",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lunr",
"direct": false,
"version": "2.3.9",
"ecosystem": "npm"
},
{
"name": "lz-string",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"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": "make-dir",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "markdown-it",
"direct": false,
"version": "14.1.1",
"ecosystem": "npm"
},
{
"name": "markdown-table",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "md5.js",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "mdast-util-find-and-replace",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-from-markdown",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-autolink-literal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-footnote",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-strikethrough",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-table",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-task-list-item",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-phrasing",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-markdown",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "memfs",
"direct": false,
"version": "3.5.3",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromark",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-core-commonmark",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-autolink-literal",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-footnote",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-strikethrough",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-table",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-tagfilter",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-task-list-item",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-factory-destination",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-label",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-space",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-title",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-whitespace",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-character",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-chunked",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-classify-character",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-combine-extensions",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-numeric-character-reference",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-string",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-encode",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-html-tag-name",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-normalize-identifier",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-resolve-all",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-sanitize-uri",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-subtokenize",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-util-symbol",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-types",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "miller-rabin",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.52.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.35",
"ecosystem": "npm"
},
{
"name": "mimic-function",
"direct": false,
"version": "5.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": "minimalistic-assert",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimalistic-crypto-utils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.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": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "mkdirp-classic",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "mocha",
"direct": false,
"version": "11.7.5",
"ecosystem": "npm"
},
{
"name": "mrmime",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "msgpackr",
"direct": false,
"version": "1.12.1",
"ecosystem": "npm"
},
{
"name": "msgpackr-extract",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.11",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.16",
"ecosystem": "npm"
},
{
"name": "napi-build-utils",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "needle",
"direct": false,
"version": "3.5.0",
"ecosystem": "npm"
},
{
"name": "neo-async",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "next",
"direct": false,
"version": "15.5.14",
"ecosystem": "npm"
},
{
"name": "next",
"direct": false,
"version": "^15.2.4",
"ecosystem": "npm"
},
{
"name": "ng-packagr",
"direct": false,
"version": "21.2.5",
"ecosystem": "npm"
},
{
"name": "ng-packagr",
"direct": false,
"version": "^21.0.0",
"ecosystem": "npm"
},
{
"name": "no-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "node-abi",
"direct": false,
"version": "3.89.0",
"ecosystem": "npm"
},
{
"name": "node-abort-controller",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "node-addon-api",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "node-addon-api",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "node-exports-info",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "node-gyp-build-optional-packages",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "node-polyfill-webpack-plugin",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.37",
"ecosystem": "npm"
},
{
"name": "nth-check",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "nwsapi",
"direct": false,
"version": "2.2.23",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "object-is",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "object-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "object.assign",
"direct": false,
"version": "4.1.7",
"ecosystem": "npm"
},
{
"name": "object.entries",
"direct": false,
"version": "1.1.9",
"ecosystem": "npm"
},
{
"name": "object.fromentries",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "object.values",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "objectorarray",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "obug",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "open",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "ora",
"direct": false,
"version": "9.4.1",
"ecosystem": "npm"
},
{
"name": "ordered-binary",
"direct": false,
"version": "1.6.1",
"ecosystem": "npm"
},
{
"name": "os-browserify",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "own-keys",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "oxc-parser",
"direct": false,
"version": "0.121.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "pako",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "param-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-asn1",
"direct": false,
"version": "5.1.9",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse-node-version",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "parse5-html-rewriting-stream",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "parse5-sax-parser",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "pascal-case",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "path-browserify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "pathval",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "pbkdf2",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "piscina",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "playwright",
"direct": false,
"version": "1.59.1",
"ecosystem": "npm"
},
{
"name": "playwright-core",
"direct": false,
"version": "1.59.1",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.4.31",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.19",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.8",
"ecosystem": "npm"
},
{
"name": "postcss-loader",
"direct": false,
"version": "8.2.1",
"ecosystem": "npm"
},
{
"name": "postcss-media-query-parser",
"direct": false,
"version": "0.2.3",
"ecosystem": "npm"
},
{
"name": "postcss-modules-extract-imports",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-modules-local-by-default",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-modules-scope",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "postcss-modules-values",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-safe-parser",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "prebuild-install",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "pretty-error",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "pretty-format",
"direct": false,
"version": "27.5.1",
"ecosystem": "npm"
},
{
"name": "process",
"direct": false,
"version": "0.11.10",
"ecosystem": "npm"
},
{
"name": "process-nextick-args",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": false,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "prr",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "public-encrypt",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "punycode.js",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "querystring-es3",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "randombytes",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "randomfill",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "rc",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "19.2.4",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "^18.2.0",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "^19.0.0",
"ecosystem": "npm"
},
{
"name": "react-docgen",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "react-docgen",
"direct": false,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "react-docgen-typescript",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "19.2.4",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "^18.2.0",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "^19.0.0",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "17.0.2",
"ecosystem": "npm"
},
{
"name": "react-number-format",
"direct": false,
"version": "5.4.5",
"ecosystem": "npm"
},
{
"name": "react-refresh",
"direct": false,
"version": "0.14.2",
"ecosystem": "npm"
},
{
"name": "react-refresh",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "react-remove-scroll",
"direct": false,
"version": "2.7.2",
"ecosystem": "npm"
},
{
"name": "react-remove-scroll-bar",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "react-style-singleton",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "react-textarea-autosize",
"direct": false,
"version": "8.5.9",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "recast",
"direct": false,
"version": "0.23.11",
"ecosystem": "npm"
},
{
"name": "redent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "reflect-metadata",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "reflect.getprototypeof",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "regenerate",
"direct": false,
"version": "1.4.2",
"ecosystem": "npm"
},
{
"name": "regenerate-unicode-properties",
"direct": false,
"version": "10.2.2",
"ecosystem": "npm"
},
{
"name": "regex-parser",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "regexp.prototype.flags",
"direct": false,
"version": "1.5.4",
"ecosystem": "npm"
},
{
"name": "regexpu-core",
"direct": false,
"version": "6.4.0",
"ecosystem": "npm"
},
{
"name": "regjsgen",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "regjsparser",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "relateurl",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "remark-gfm",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "remark-gfm",
"direct": false,
"version": "^4.0.1",
"ecosystem": "npm"
},
{
"name": "remark-parse",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "remark-stringify",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "renderkid",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.11",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "2.0.0-next.6",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-url-loader",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rfdc",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "ripemd160",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "rolldown",
"direct": false,
"version": "1.0.0-rc.4",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.60.1",
"ecosystem": "npm"
},
{
"name": "rollup-plugin-dts",
"direct": false,
"version": "6.4.1",
"ecosystem": "npm"
},
{
"name": "rrweb-cssom",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "run-applescript",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "rw",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "7.8.2",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "^7.8.0",
"ecosystem": "npm"
},
{
"name": "safe-array-concat",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safe-push-apply",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "safe-regex-test",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "sass",
"direct": false,
"version": "1.101.0",
"ecosystem": "npm"
},
{
"name": "sass",
"direct": false,
"version": "1.97.3",
"ecosystem": "npm"
},
{
"name": "sass-loader",
"direct": false,
"version": "16.0.7",
"ecosystem": "npm"
},
{
"name": "sax",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.23.2",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.27.0",
"ecosystem": "npm"
},
{
"name": "schema-utils",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "schema-utils",
"direct": false,
"version": "4.3.3",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.4",
"ecosystem": "npm"
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "set-function-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "set-proto",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "setimmediate",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "sha.js",
"direct": false,
"version": "2.4.12",
"ecosystem": "npm"
},
{
"name": "sharp",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "simple-concat",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "simple-get",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "smob",
"direct": false,
"version": "1.6.1",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.7.6",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.21",
"ecosystem": "npm"
},
{
"name": "stackframe",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "stdin-discarder",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "stop-iteration-iterator",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "storybook",
"direct": false,
"version": "10.3.4",
"ecosystem": "npm"
},
{
"name": "stream-browserify",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "stream-http",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "8.2.2",
"ecosystem": "npm"
},
{
"name": "string.prototype.matchall",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "string.prototype.repeat",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "string.prototype.trim",
"direct": false,
"version": "1.2.10",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimend",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimstart",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-indent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-indent",
"direct": false,
"version": "4.1.1",
"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": "style-loader",
"direct": false,
"version": "3.3.4",
"ecosystem": "npm"
},
{
"name": "style-loader",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "styled-jsx",
"direct": false,
"version": "5.1.6",
"ecosystem": "npm"
},
{
"name": "styled-jsx",
"direct": false,
"version": "5.1.7",
"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": "svelte",
"direct": false,
"version": "5.56.5",
"ecosystem": "npm"
},
{
"name": "svelte",
"direct": false,
"version": "^5.0.0",
"ecosystem": "npm"
},
{
"name": "symbol-tree",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "tabbable",
"direct": false,
"version": "6.4.0",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "tar-fs",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "tar-stream",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "terser",
"direct": false,
"version": "5.46.1",
"ecosystem": "npm"
},
{
"name": "terser-webpack-plugin",
"direct": false,
"version": "5.4.0",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "timers-browserify",
"direct": false,
"version": "2.0.12",
"ecosystem": "npm"
},
{
"name": "tiny-invariant",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.15",
"ecosystem": "npm"
},
{
"name": "tinyrainbow",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "tinyspy",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "tldts",
"direct": false,
"version": "6.1.86",
"ecosystem": "npm"
},
{
"name": "tldts-core",
"direct": false,
"version": "6.1.86",
"ecosystem": "npm"
},
{
"name": "to-buffer",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "trough",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-dedent",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "ts-morph",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "tsconfig-paths",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "tsconfig-paths-webpack-plugin",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "tty-browserify",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "tunnel-agent",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "2.19.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "4.41.0",
"ecosystem": "npm"
},
{
"name": "typed-array-buffer",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-length",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-offset",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "typed-array-length",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "typedoc",
"direct": false,
"version": "0.28.18",
"ecosystem": "npm"
},
{
"name": "typedoc-plugin-markdown",
"direct": false,
"version": "4.11.0",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "^5.8.2",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.58.0",
"ecosystem": "npm"
},
{
"name": "uc.micro",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "unbox-primitive",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.18.2",
"ecosystem": "npm"
},
{
"name": "unicode-canonical-property-names-ecmascript",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unicode-match-property-ecmascript",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "unicode-match-property-value-ecmascript",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "unicode-property-aliases-ecmascript",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "unified",
"direct": false,
"version": "11.0.5",
"ecosystem": "npm"
},
{
"name": "unist-util-is",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "unist-util-stringify-position",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit-parents",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "universal-user-agent",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unplugin",
"direct": false,
"version": "2.3.11",
"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": "url",
"direct": false,
"version": "0.11.4",
"ecosystem": "npm"
},
{
"name": "use-callback-ref",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "use-composed-ref",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "use-isomorphic-layout-effect",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "use-latest",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "use-sidecar",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "use-sync-external-store",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "util",
"direct": false,
"version": "0.12.5",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "utila",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "v8-to-istanbul",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "vfile",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "vfile-message",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "6.4.1",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "7.3.6",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "^6.2.5",
"ecosystem": "npm"
},
{
"name": "vitefu",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "vm-browserify",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "vue",
"direct": false,
"version": "3.5.39",
"ecosystem": "npm"
},
{
"name": "vue",
"direct": false,
"version": "^3.4.0",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "watchpack",
"direct": false,
"version": "2.5.1",
"ecosystem": "npm"
},
{
"name": "weak-lru-cache",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "webpack",
"direct": false,
"version": "5.105.4",
"ecosystem": "npm"
},
{
"name": "webpack",
"direct": false,
"version": "^5.98.0",
"ecosystem": "npm"
},
{
"name": "webpack-dev-middleware",
"direct": false,
"version": "6.1.3",
"ecosystem": "npm"
},
{
"name": "webpack-hot-middleware",
"direct": false,
"version": "2.26.1",
"ecosystem": "npm"
},
{
"name": "webpack-sources",
"direct": false,
"version": "3.3.4",
"ecosystem": "npm"
},
{
"name": "webpack-virtual-modules",
"direct": false,
"version": "0.6.2",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "14.2.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which-boxed-primitive",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "which-builtin-type",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "which-collection",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.20",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "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": "wrap-ansi",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "wsl-utils",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "xmlchars",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "xtend",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.8.3",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "18.0.0",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "22.0.0",
"ecosystem": "npm"
},
{
"name": "yargs-unparser",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "yocto-spinner",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "yoctocolors",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "yoctocolors-cjs",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "zimmerframe",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "zone.js",
"direct": false,
"version": "0.15.1",
"ecosystem": "npm"
},
{
"name": "zone.js",
"direct": false,
"version": "^0.15.0",
"ecosystem": "npm"
},
{
"name": "zwitch",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 1544,
"direct_count": 63,
"indirect_count": 1481
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 42,
"open_issues": 107,
"closed_ratio": 0.857,
"closed_issues": 641,
"closed_unmerged_prs": 12
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "davelandry",
"commits": 2875,
"avatar_url": "https://avatars.githubusercontent.com/u/1847581?v=4"
},
{
"type": "User",
"login": "alexandersimoes",
"commits": 65,
"avatar_url": "https://avatars.githubusercontent.com/u/252276?v=4"
},
{
"type": "User",
"login": "dsmilkov",
"commits": 22,
"avatar_url": "https://avatars.githubusercontent.com/u/2294279?v=4"
},
{
"type": "User",
"login": "bryanph",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/3816712?v=4"
},
{
"type": "User",
"login": "CodeCutterUK",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/7895183?v=4"
},
{
"type": "User",
"login": "iamakulov",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/2953267?v=4"
},
{
"type": "User",
"login": "ericjohnf",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/2625844?v=4"
},
{
"type": "User",
"login": "jspeis",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/87581?v=4"
},
{
"type": "User",
"login": "PeterDaveHello",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/3691490?v=4"
},
{
"type": "User",
"login": "jazzido",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/27584?v=4"
}
],
"contributors_sampled": 17,
"top_contributor_share": 0.961
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"deploy-storybook.yml",
"test.yml"
],
"has_docs_dir": false,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"pnpm-lock.yaml"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/18 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 6 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": 0,
"reason": "no 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 3 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 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": "41 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "2818442024fe3d2d3e25476dd69fe2c9337780fb",
"ran_at": "2026-07-22T19:21:18Z",
"aggregate_score": 3.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-17T15:56:14Z",
"oldest_open_prs": [
{
"number": 805,
"created_at": "2026-07-17T15:36:33Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-17T14:29:53Z",
"ci_last_conclusion": "FAILURE",
"oldest_open_issues": [
{
"number": 7,
"created_at": "2013-05-03T21:26:43Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 28,
"created_at": "2013-10-30T16:55:27Z",
"last_comment_at": "2013-10-30T16:56:27Z",
"last_comment_author": "davelandry"
},
{
"number": 33,
"created_at": "2013-10-30T17:08:59Z",
"last_comment_at": "2025-06-26T12:59:40Z",
"last_comment_author": "davelandry"
},
{
"number": 46,
"created_at": "2014-01-09T03:32:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 47,
"created_at": "2014-01-14T00:01:51Z",
"last_comment_at": "2025-06-26T13:06:07Z",
"last_comment_author": "davelandry"
},
{
"number": 61,
"created_at": "2014-05-14T18:40:45Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 64,
"created_at": "2014-05-19T17:40:46Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 71,
"created_at": "2014-05-28T19:25:23Z",
"last_comment_at": "2016-05-12T14:31:23Z",
"last_comment_author": "scollini"
},
{
"number": 72,
"created_at": "2014-05-28T19:27:02Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 77,
"created_at": "2014-05-28T19:36:33Z",
"last_comment_at": "2016-09-07T11:57:40Z",
"last_comment_author": "hackerheap"
},
{
"number": 81,
"created_at": "2014-05-28T19:48:45Z",
"last_comment_at": "2014-05-29T22:39:40Z",
"last_comment_author": "fernoftheandes"
},
{
"number": 83,
"created_at": "2014-05-28T19:52:15Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 84,
"created_at": "2014-05-28T19:53:06Z",
"last_comment_at": "2025-06-26T13:16:32Z",
"last_comment_author": "davelandry"
},
{
"number": 85,
"created_at": "2014-05-28T19:54:26Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 87,
"created_at": "2014-05-28T19:57:16Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 97,
"created_at": "2014-05-28T20:10:52Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 110,
"created_at": "2014-05-28T20:33:40Z",
"last_comment_at": "2017-07-23T17:20:54Z",
"last_comment_author": "Heena-Codes"
},
{
"number": 111,
"created_at": "2014-05-28T20:34:06Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 118,
"created_at": "2014-05-29T15:40:09Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 138,
"created_at": "2014-07-12T16:03:06Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/d3plus/d3plus",
"host": "github.com",
"name": "d3plus",
"owner": "d3plus"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"security": 50,
"vitality": 87,
"community": 77,
"governance": 62,
"engineering": 70
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 87,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"commits_last_year": 384,
"human_commit_share": 1,
"days_since_last_push": 5,
"active_weeks_last_year": 21
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 5 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 5
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "21/52 weeks with commits",
"points": 14.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 21
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "384 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 384
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 96,
"latest_release_tag": "v4.3.0",
"releases_from_tags": false,
"days_since_latest_release": 5,
"mean_days_between_releases": 11
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "96 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 96
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 5 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 5
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~11 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 11
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 5,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 5 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 5
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 77,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"forks": 181,
"stars": 1616,
"watchers": 73,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,616 stars",
"points": 52,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1616
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "181 forks",
"points": 18.8,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 181
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "73 watchers",
"points": 10.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 73
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": true,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"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": 7.2,
"status": "met",
"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": "moderate",
"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": 68,
"inputs": {
"packages": [
"@d3plus/dom",
"@d3plus/ssr",
"@d3plus/vue",
"@d3plus/core",
"@d3plus/data",
"@d3plus/math",
"@d3plus/text",
"@d3plus/color"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 11438
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "11,438 downloads/month across npm",
"points": 54.1,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 11438,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 62,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 33,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 17,
"top_contributor_share": 0.961
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 96% of commits",
"points": 0.9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 96
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "17 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 17
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"merged_prs": 42,
"open_issues": 107,
"closed_issues": 641,
"issue_closed_ratio": 0.857,
"closed_unmerged_prs": 12
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "86% of issues closed",
"points": 40.1,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 86
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "42/54 decided PRs merged",
"points": 29.8,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 42,
"decided": 54
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/18 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 59,
"inputs": {
"followers": 9,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "d3plus",
"public_repos": 24,
"account_age_days": 4015
},
"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": "9 followers of d3plus",
"points": 7.2,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 9,
"login": "d3plus"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "24 public repos, account ~11 yr old",
"points": 22.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 24
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@d3plus/dom",
"@d3plus/ssr",
"@d3plus/vue",
"@d3plus/core",
"@d3plus/data",
"@d3plus/math",
"@d3plus/text",
"@d3plus/color"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 5
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "8 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 8,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 5 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 5
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "34 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 34
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 70,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 50,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 38,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 3.8
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/18 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 6 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": "no update tool detected",
"points": 0,
"status": "missed",
"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 3 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 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": "41 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): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 1485 resolved dependencies against OSV; 59 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 1485
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 59
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 44,
"affected_packages": 20,
"assessed_packages": 1485,
"unassessed_packages": 59,
"affected_by_severity": "high 13, moderate 5, low 2",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 1485,
"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": 11
},
"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": "good",
"name": "AI Readiness",
"value": 70,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.83,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 11066
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "83 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 83,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"pnpm-lock.yaml"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"packages/angular/tsconfig.json",
"packages/color/tsconfig.json",
"packages/core/tsconfig.json",
"packages/data/tsconfig.json",
"packages/dom/tsconfig.json",
"packages/element/tsconfig.json",
"packages/export/tsconfig.json",
"packages/format/tsconfig.json",
"packages/locales/tsconfig.json",
"packages/math/tsconfig.json",
"packages/react/tsconfig.json",
"packages/render/tsconfig.json",
"packages/ssr/tsconfig.json",
"packages/svelte/tsconfig.json",
"packages/text/tsconfig.json",
"packages/types/tsconfig.json",
"packages/vue/tsconfig.json"
],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"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": "packages/angular/tsconfig.json, packages/color/tsconfig.json, packages/core/tsconfig.json, packages/data/tsconfig.json, packages/dom/tsconfig.json, packages/element/tsconfig.json, packages/export/tsconfig.json, packages/format/tsconfig.json, packages/locales/tsconfig.json, packages/math/tsconfig.json, packages/react/tsconfig.json, packages/render/tsconfig.json, packages/ssr/tsconfig.json, packages/svelte/tsconfig.json, packages/text/tsconfig.json, packages/types/tsconfig.json, packages/vue/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "packages/angular/tsconfig.json, packages/color/tsconfig.json, packages/core/tsconfig.json, packages/data/tsconfig.json, packages/dom/tsconfig.json, packages/element/tsconfig.json, packages/export/tsconfig.json, packages/format/tsconfig.json, packages/locales/tsconfig.json, packages/math/tsconfig.json, packages/react/tsconfig.json, packages/render/tsconfig.json, packages/ssr/tsconfig.json, packages/svelte/tsconfig.json, packages/text/tsconfig.json, packages/types/tsconfig.json, packages/vue/tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"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": "good",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"primary_language": "JavaScript",
"largest_source_bytes": 83861,
"source_files_sampled": 704,
"oversized_source_files": 2
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "JavaScript with type-check config (packages/angular/tsconfig.json, packages/color/tsconfig.json, packages/core/tsconfig.json, packages/data/tsconfig.json, packages/dom/tsconfig.json, packages/element/tsconfig.json, packages/export/tsconfig.json, packages/format/tsconfig.json, packages/locales/tsconfig.json, packages/math/tsconfig.json, packages/react/tsconfig.json, packages/render/tsconfig.json, packages/ssr/tsconfig.json, packages/svelte/tsconfig.json, packages/text/tsconfig.json, packages/types/tsconfig.json, packages/vue/tsconfig.json)",
"points": 27,
"status": "partial",
"details": [
{
"code": "typecheck_config_language",
"params": {
"files": "packages/angular/tsconfig.json, packages/color/tsconfig.json, packages/core/tsconfig.json, packages/data/tsconfig.json, packages/dom/tsconfig.json, packages/element/tsconfig.json, packages/export/tsconfig.json, packages/format/tsconfig.json, packages/locales/tsconfig.json, packages/math/tsconfig.json, packages/react/tsconfig.json, packages/render/tsconfig.json, packages/ssr/tsconfig.json, packages/svelte/tsconfig.json, packages/text/tsconfig.json, packages/types/tsconfig.json, packages/vue/tsconfig.json",
"language": "JavaScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "2/704 source files over 60KB",
"points": 54.8,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 704,
"oversized": 2
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"deps.dev does not index npm:@d3plus/dom@4.3.0; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-22T19:21:37.980254Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/d/d3plus/d3plus.svg",
"full_name": "d3plus/d3plus",
"license_state": "standard",
"license_spdx": "MIT"
}