JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [],
"is_fork": true,
"size_kb": 7741,
"has_wiki": false,
"homepage": null,
"languages": {
"HTML": 1165,
"Shell": 30848,
"Python": 6698,
"JavaScript": 562238,
"TypeScript": 349470
},
"pushed_at": "2026-07-29T19:56:09Z",
"created_at": "2026-03-10T15:21:37Z",
"owner_type": "Organization",
"updated_at": "2026-07-29T19:54:51Z",
"description": "Command line tool to optimize your webfont loading. Aggressive subsetting based on your font use, self-hosting of Google fonts and preloading",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "JavaScript",
"significant_languages": [
"JavaScript",
"TypeScript"
]
},
"owner": {
"blog": null,
"name": null,
"type": "Organization",
"login": "AlexanderMattTurner",
"company": null,
"location": null,
"followers": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/289737770?v=4",
"created_at": "2026-06-01T15:25:24Z",
"is_verified": null,
"public_repos": 13,
"account_age_days": 58
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v1.11.7",
"kind": "patch",
"published_at": "2026-07-21T16:32:24Z"
},
{
"tag": "v1.11.6",
"kind": "patch",
"published_at": "2026-07-21T16:29:25Z"
},
{
"tag": "v1.11.5",
"kind": "patch",
"published_at": "2026-07-21T15:46:33Z"
},
{
"tag": "v1.11.4",
"kind": "patch",
"published_at": "2026-07-19T21:13:07Z"
},
{
"tag": "v1.11.2",
"kind": "patch",
"published_at": "2026-07-19T20:53:25Z"
},
{
"tag": "v1.11.1",
"kind": "patch",
"published_at": "2026-06-01T00:01:58Z"
},
{
"tag": "v1.11.0",
"kind": "minor",
"published_at": "2026-05-22T15:37:27Z"
},
{
"tag": "v1.10.8",
"kind": "patch",
"published_at": "2026-05-22T04:53:58Z"
},
{
"tag": "v1.10.7",
"kind": "patch",
"published_at": "2026-05-22T03:01:22Z"
},
{
"tag": "v1.10.6",
"kind": "patch",
"published_at": "2026-05-22T02:59:26Z"
},
{
"tag": "v1.10.5",
"kind": "patch",
"published_at": "2026-05-20T03:59:23Z"
},
{
"tag": "v1.10.4",
"kind": "patch",
"published_at": "2026-05-18T15:26:04Z"
},
{
"tag": "v1.10.3",
"kind": "patch",
"published_at": "2026-05-18T06:41:43Z"
},
{
"tag": "v1.10.2",
"kind": "patch",
"published_at": "2026-05-17T23:12:06Z"
},
{
"tag": "v1.10.1",
"kind": "patch",
"published_at": "2026-05-17T22:50:36Z"
},
{
"tag": "v1.10.0",
"kind": "minor",
"published_at": "2026-05-17T20:42:22Z"
},
{
"tag": "v1.9.14",
"kind": "patch",
"published_at": "2026-05-17T18:15:23Z"
},
{
"tag": "v1.9.13",
"kind": "patch",
"published_at": "2026-05-10T20:58:44Z"
},
{
"tag": "v1.9.12",
"kind": "patch",
"published_at": "2026-05-10T20:58:19Z"
},
{
"tag": "v1.9.11",
"kind": "patch",
"published_at": "2026-05-10T20:47:55Z"
},
{
"tag": "v1.9.10",
"kind": "patch",
"published_at": "2026-05-10T20:25:29Z"
},
{
"tag": "v1.9.9",
"kind": "patch",
"published_at": "2026-05-10T20:07:23Z"
},
{
"tag": "v1.9.8",
"kind": "patch",
"published_at": "2026-05-10T19:29:16Z"
},
{
"tag": "v1.9.7",
"kind": "patch",
"published_at": "2026-05-08T05:56:20Z"
},
{
"tag": "v1.9.6",
"kind": "patch",
"published_at": "2026-05-07T17:55:10Z"
},
{
"tag": "v1.9.5",
"kind": "patch",
"published_at": "2026-05-07T04:34:36Z"
},
{
"tag": "v1.9.4",
"kind": "patch",
"published_at": "2026-05-06T19:41:18Z"
},
{
"tag": "v1.9.3",
"kind": "patch",
"published_at": "2026-05-06T19:40:00Z"
},
{
"tag": "v1.9.2",
"kind": "patch",
"published_at": "2026-05-06T19:26:38Z"
},
{
"tag": "v1.9.1",
"kind": "patch",
"published_at": "2026-05-06T19:25:47Z"
},
{
"tag": "v1.9.0",
"kind": "minor",
"published_at": "2026-05-05T17:43:02Z"
},
{
"tag": "v1.8.3",
"kind": "patch",
"published_at": "2026-05-04T18:33:07Z"
},
{
"tag": "v1.8.2",
"kind": "patch",
"published_at": "2026-05-04T17:48:55Z"
},
{
"tag": "v1.8.1",
"kind": "patch",
"published_at": "2026-05-04T16:35:54Z"
},
{
"tag": "v1.8.0",
"kind": "minor",
"published_at": "2026-05-03T05:49:07Z"
},
{
"tag": "v1.7.1",
"kind": "patch",
"published_at": "2026-04-25T19:50:34Z"
},
{
"tag": "v1.7.0",
"kind": "minor",
"published_at": "2026-04-25T02:41:39Z"
},
{
"tag": "v1.6.0",
"kind": "minor",
"published_at": "2026-04-19T17:09:49Z"
},
{
"tag": "v1.5.1",
"kind": "patch",
"published_at": "2026-04-18T03:01:00Z"
},
{
"tag": "v1.5.0",
"kind": "minor",
"published_at": "2026-04-17T20:45:07Z"
},
{
"tag": "v1.4.0",
"kind": "minor",
"published_at": "2026-04-17T20:13:49Z"
},
{
"tag": "v1.3.3",
"kind": "patch",
"published_at": "2026-04-17T17:53:27Z"
},
{
"tag": "v1.3.2",
"kind": "patch",
"published_at": "2026-04-16T19:03:26Z"
},
{
"tag": "v1.3.1",
"kind": "patch",
"published_at": "2026-04-16T17:33:46Z"
},
{
"tag": "v1.3.0",
"kind": "minor",
"published_at": "2026-04-16T04:33:56Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2026-04-16T00:47:15Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2026-04-15T21:58:39Z"
},
{
"tag": "v1.0.5",
"kind": "patch",
"published_at": "2026-04-15T05:09:36Z"
},
{
"tag": "v1.0.4",
"kind": "patch",
"published_at": "2026-04-14T17:30:22Z"
},
{
"tag": "v1.0.3",
"kind": "patch",
"published_at": "2026-04-12T22:59:59Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2026-04-12T19:13:39Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2026-04-12T17:00:24Z"
}
],
"recent_commits": [
{
"oid": "bd18ac39f6c14ce7eac7b79239b800f3e56b9cca",
"body": "Bumps [postcss](https://github.com/postcss/postcss) from 8.5.8 to 8.5.18.\n- [Release notes](https://github.com/postcss/postcss/releases)\n- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.18)\n\n---\nupdated-depend\n[…]\nndency-version: 8.5.18\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump postcss from 8.5.8 to 8.5.18 (#170)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-29T19:54:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b81ce5c05a9919f681fa41ed780f74146736f1c2",
"body": "…force-merge-qtv3bi\n\nci: use TEMPLATE_SYNC_TOKEN_ORG as the primary template-sync token",
"is_bot": false,
"headline": "Merge pull request #168 from AlexanderMattTurner/claude/templatesync-…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-21T16:32:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "550ce924c5d061bedea61e9983387d7c4f9186eb",
"body": null,
"is_bot": false,
"headline": "ci: use TEMPLATE_SYNC_TOKEN_ORG as the primary template-sync token",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-21T16:31:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61b9fc6f354283ebd6bfa21fd07b8cfa24f127ea",
"body": "…force-merge-qtv3bi\n\nci: add TEMPLATE_SYNC_TOKEN_ORG as template-sync token fallback",
"is_bot": false,
"headline": "Merge pull request #167 from AlexanderMattTurner/claude/templatesync-…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-21T16:29:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2648d6b37dabfe400f518f204b53b80b6bec792",
"body": null,
"is_bot": false,
"headline": "ci: add TEMPLATE_SYNC_TOKEN_ORG as template-sync token fallback",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-21T16:27:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a5a1d2796085f2f2bbae5d01574cbe29b8128b7",
"body": "…force-merge-qtv3bi\n\nci: fix template-sync self-overwrite crash",
"is_bot": false,
"headline": "Merge pull request #166 from AlexanderMattTurner/claude/templatesync-…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-21T15:46:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c40fee6b44e57a2bbaf2880213ff540ca0f98de",
"body": null,
"is_bot": false,
"headline": "ci: re-exec template-sync from immutable copy to survive self-overwrite",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-21T15:44:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7f0a186dd6a8a19f362bc063c5db74d3ae51456",
"body": "Co-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: run template sync daily instead of weekly (#165)",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-19T21:13:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "d07aecc6218afd9a94f0fc8e80c4c2a94df1a2e4",
"body": "Co-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: notify on Sync from Template workflow failures (#164)",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-19T21:11:06Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "12e7d3298ab2c69d5a6666e06f58c4e94835cd77",
"body": "…-publish-failures-6dt0ca\n\nfix(ci): make releases resilient to token and Claude-API failures",
"is_bot": false,
"headline": "Merge pull request #163 from AlexanderMattTurner/claude/version-bumps…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-19T20:53:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8a202dd1d836bd5217d1b7f7f1ee81859ed86a1",
"body": "The workflow referenced secrets.ANTHROPIC_API_KEY, which held a stale key\nand returned HTTP 401. The valid key is stored under\nGH_ACTION_ANTHROPIC_API_KEY; source it from there.",
"is_bot": false,
"headline": "fix(ci): read the Claude key from GH_ACTION_ANTHROPIC_API_KEY",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-19T20:53:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dd515bfd56ee425812da77a7bba0a4f57ac4130",
"body": "Two release blockers:\n1. The Checkout step used the default GITHUB_TOKEN, which is not a bypass\n actor for main's required-status-checks ruleset, so version-bump.sh\n could not push the vX.Y.Z tag. Use TEMPLATE_SYNC_TOKEN_ORG (the org PAT\n registered as a bypass actor), falling back to GITHUB_T\n[…]\nrelease even\n though the header promised graceful degradation. Fall back to a local\n Conventional-Commits bump (feat/! -> minor, else patch) on a missing\n key, an outage, or an invalid response.",
"is_bot": false,
"headline": "fix(ci): make releases resilient to token and Claude-API failures",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-19T20:42:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5cb7d39e9f3d419365c27c04a1e89d8c77ec6db9",
"body": "…4kwp\n\nFast-path font attribution: correctness fixes + performance hardening",
"is_bot": false,
"headline": "Merge pull request #162 from AlexanderMattTurner/claude/great-bohr-o1…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-19T17:25:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e19972f1d9d6553fa29ae3f4a4bc08a887e08c8a",
"body": "Several correctness and robustness fixes surfaced by an audit:\n\n- collectTextsByPage: the fast-path family-applicability analysis fed raw\n rule values to `parseFontFamily`, which returns [] for a `font:`\n shorthand (getCssRulesByProperty stores it in the font-family bucket\n with prop 'font'). A w\n[…]\nFamiliesInValue` and case-insensitive `auto`\nin `parseFontWeightRange`.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Wo27pkktvRY6Ru12AUQeZe",
"is_bot": false,
"headline": "fix: recover `font:` shorthand families in fast-path attribution",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-19T16:21:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "90eb98140b48526d0d9a11de73861fa41eea471f",
"body": "…wn01\n\nfix: fallback-CSS emission bugs and font-weight/stretch range parsing, with security & cache test coverage",
"is_bot": false,
"headline": "Merge pull request #160 from AlexanderMattTurner/claude/great-bohr-ak…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-16T07:03:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81b906098232ffb3db7f4693e14c5ea3d79ddbc2",
"body": "…y-cjdsvi\n\nperf: eliminate quadratic asset-type queries and unlock the tracing fast path on multi-face sites",
"is_bot": false,
"headline": "Merge pull request #161 from AlexanderMattTurner/claude/gifted-farada…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-16T07:02:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2545215ecd8b840c3edbe5336b2265454d5e7f2b",
"body": "Splitting on raw combinator/whitespace characters fractured attribute\nselectors like [class~='fancy'] or quoted values containing spaces,\nyielding unsatisfiable gate tokens that silently withheld a page's gated\ntext from its subset. Compounds are now split with bracket-, quote-, and\nparen-awareness;\n[…]\ne token predicate shared by\nfamilyAppliesToPage and pageTextForFamilies.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01PZZfFyF9CNiPPE5qcYT9zw",
"is_bot": false,
"headline": "fix: keep attribute selectors intact when splitting selector compounds",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-15T22:08:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1285885272863e2cb35e2515da23c77227ea3334",
"body": "Token-gated families now receive the textContent of elements matched by\nthe gating rule's sanitized full selector (combinator context preserved;\npseudo-elements and dynamic-state pseudo-classes stripped, which only\nwidens the match) instead of a subject-compound approximation. On a\n405-page corpus t\n[…]\ngs fast-path subset output within 1.4% of the\nall-pages-traced baseline.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01PZZfFyF9CNiPPE5qcYT9zw",
"is_bot": false,
"headline": "perf: scope attributed page text with full-selector context",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-15T21:54:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b7db034281fcc16a91f29a734b7ce95bd1dce42d",
"body": "Restructure the attribute-selector regex so optional whitespace can't\nbacktrack super-linearly, and type queried elements as TextBearingElement\ninstead of unknown.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01PZZfFyF9CNiPPE5qcYT9zw",
"is_bot": false,
"headline": "style: satisfy lint on attribute-gate regex and element typing",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-15T21:05:03Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "1d3c3b8dcc202a80cad36952a67c47053cf96652",
"body": "The unseen-variant guard almost never admitted a page on sites that\ndeclare many decorative/situational faces (dropcap initials, theme\nitalics, math fonts): the group representative renders few of them, so\nevery page fell back to a full trace. Several compounding fixes let\npages prove an unseen vari\n[…]\naces' subsets from absorbing every attributed\npage's full character set.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01PZZfFyF9CNiPPE5qcYT9zw",
"is_bot": false,
"headline": "perf: unlock fast-path attribution on real-world multi-face sites",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-15T21:02:12Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "162f5b1440ea4b141d96f090736eef824228a6f6",
"body": "…st path\n\nThree wall-clock fixes for large multi-page sites (405-page corpus,\n~23-minute CI runs):\n\n- findAssets({ type: ... }) reads Asset#type on every asset; on\n never-loaded placeholder assets that triggers an uncacheable\n O(assets + relations) incoming-relation scan per access. The page\n que\n[…]\nets that only differ in a font: declaration can't share a CSS\ngroup key.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01PZZfFyF9CNiPPE5qcYT9zw",
"is_bot": false,
"headline": "perf: eliminate quadratic asset-type queries and widen the tracing fa…",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-15T17:40:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e46bffa56db88500f24fadb7f7681499b5b5803a",
"body": "Follow-up to the threshold ratchet: keep the documented numbers in\nCLAUDE.md consistent with the enforced values.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_012HspJKQngy5qUZYZurQHBu",
"is_bot": false,
"headline": "docs: sync CLAUDE.md coverage thresholds with .nycrc.json",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-13T00:40:19Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "c9ae003578b69aee68f68fcc4fd7c942ee711ec8",
"body": "…olds\n\n- Add unit tests for HeadlessBrowser's request interceptor: the security\n boundary (in-graph 200/404, file: continue under root, accessdenied on\n ../ and percent-encoded traversal, accessdenied for file: under a\n remote root, failed for off-origin http) had no coverage — the handler\n was \n[…]\n so a real regression fails CI instead of sliding under the old floor.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_012HspJKQngy5qUZYZurQHBu",
"is_bot": false,
"headline": "test: cover request gating & cache integrity, ratchet coverage thresh…",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-13T00:34:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "027fbf6211f7f46aefd788e0f8dab4b5bd3d1c40",
"body": "parseFontWeightRange/parseFontStretchRange split the descriptor on\n/\\s+/ without trimming first, so a leading or trailing space (e.g.\n\" 100 900\") produced an empty leading token -> parseFloat(\"\") = NaN ->\nthe whole valid range was discarded and it silently fell back to\n[400,400] / [100,100] with a w\n[…]\nkens\nbefore parsing, and trim the \"auto\" keyword guard for consistency.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_012HspJKQngy5qUZYZurQHBu",
"is_bot": false,
"headline": "fix(font-face): parse whitespace-padded font-weight/stretch ranges",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-13T00:34:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2f99e27d2e4b7d88e6e5b5d64ad1a198c24fd9fa",
"body": "Two latent bugs in the fallback/self-hosted CSS emission path:\n\n- asyncLoadStyleRelationWithFallback fired the inline-loader minify() as\n void with no await or catch. Every other minify() in the file is\n awaited; leaving this one detached risked an unhandled rejection\n (fatal under Node's default\n[…]\ne.\n Moved the loop after minify(), matching getOrCreateSubsetCssAsset.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_012HspJKQngy5qUZYZurQHBu",
"is_bot": false,
"headline": "fix(subset): await fallback CSS minify and set hrefType post-minify",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-13T00:33:56Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3926392578d3c5553228695ecf14dceac24dc7f2",
"body": "* feat(ci): notify via ntfy when a build or publish workflow fails\n\nAdd the shared notify-ntfy composite action and a workflow_run listener that pings the GH_NTFY_SUBJECT topic when the publish workflow fails outside a PR. No-op when the secret is unset.\n\n* fix(ci): make notify-ntfy.sh shellharden-clean\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: notify via ntfy when a build or publish workflow fails (#159)",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-11T05:11:33Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9b9434b3b66e5f3bf4da92a8264f57b854574b8e",
"body": "…t-fixes\n\nfix(ci): repair security scan setup and harden workflow automation",
"is_bot": false,
"headline": "Merge pull request #158 from AlexanderMattTurner/claude/workflow-audi…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-09T23:26:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "381ab1949b36cd38081b5718497de459559f03f2",
"body": "- security-vulnerability-scan: point setup step at the real ./.github/actions/setup composite (setup-base-env never existed) and drop the unsupported setup-python input; strengthen untrusted-data fencing in the Claude prompt, narrow --allowedTools, and drop unused issues:write scope\n- auto-version: \n[…]\nrequirements\n- phone-home: add set -euo pipefail to the curl | tar gitleaks install\n- version-bump: derive the push target from GITHUB_REF_NAME (detached-HEAD safe), falling back to git for local runs",
"is_bot": false,
"headline": "fix(ci): repair security scan setup, harden workflow automation",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-09T23:20:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bcc37f83f03083c075264982053d9f67b0ecd96d",
"body": "…nance-repo-url\n\nfix(release): repoint repository URLs to the publishing owner for npm provenance",
"is_bot": false,
"headline": "Merge pull request #157 from AlexanderMattTurner/claude/fix-npm-prove…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-09T22:53:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1dc253ff903b2c00657b8a1d29856b4cf91cda6a",
"body": "… provenance",
"is_bot": false,
"headline": "fix(release): repoint repository URLs to the publishing owner for npm…",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-09T21:32:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4e25cb4e0433e34eb71f034184fcd4b880aee5b",
"body": "…ation-version-bugs-ik8wif\n\nfix(release): disable automated major version bumps",
"is_bot": false,
"headline": "Merge pull request #156 from AlexanderMattTurner/claude/release-autom…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-09T21:17:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07b649f124c315401efecc450cce2402420af2d4",
"body": null,
"is_bot": false,
"headline": "fix(release): disable automated major version bumps",
"author_name": "Claude",
"author_login": null,
"committed_at": "2026-07-09T20:50:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75e2903d0178e5e56759d2aeb4970b3e0efc9e5f",
"body": "…plate-sync-org-gonhgs\n\nci: use TEMPLATE_SYNC_ORG variable for template repo owner",
"is_bot": false,
"headline": "Merge pull request #155 from AlexanderMattTurner/claude/workflows-tem…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-08T20:43:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3049e21617d90e7ef84d5b236f1ee50f7d3ab617",
"body": "Replace the hardcoded 'alexander-turner' org in TEMPLATE_REPO with\n${{ vars.TEMPLATE_SYNC_ORG || 'alexander-turner' }} so forks in another\norg can redirect template-sync/phone-home without editing every workflow.\nBehavior is unchanged when the variable is unset.",
"is_bot": false,
"headline": "ci: use TEMPLATE_SYNC_ORG variable for template repo owner",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-08T20:41:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7bb65205bbd6f5c51a2d696ff39ff69642d1e43",
"body": "Bumps [piscina](https://github.com/piscinajs/piscina) from 4.9.2 to 4.9.3.\n- [Release notes](https://github.com/piscinajs/piscina/releases)\n- [Changelog](https://github.com/piscinajs/piscina/blob/v4.9.3/CHANGELOG.md)\n- [Commits](https://github.com/piscinajs/piscina/compare/v4.9.2...v4.9.3)\n\n---\nupda\n[…]\nendency-version: 4.9.3\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump piscina from 4.9.2 to 4.9.3 (#154)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-06T02:56:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "06b80e0296c2ded45f1efe05ef141c99977d9ee9",
"body": "…plate-sync-fix-77r2bc\n\nchore: sync from template repository",
"is_bot": false,
"headline": "Merge pull request #152 from AlexanderMattTurner/claude/propagate-tem…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-06T02:54:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47f65dd9feeae33fc960623b5b321ba017552336",
"body": "…gsu8\n\nfix: correct CSS parsing/generation bugs in font helpers",
"is_bot": false,
"headline": "Merge pull request #153 from AlexanderMattTurner/claude/great-bohr-2c…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-06T02:53:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "549fcf02e99436d45aa32b0846705691d2392408",
"body": "Four correctness bugs in the CSS-parsing and CSS-generation helpers that\nproduced invalid CSS or silently dropped data on untested inputs:\n\n- extractReferencedCustomPropertyNames only scanned top-level value nodes,\n so var() nested in calc()/rgb()/a var() fallback was missed, dropping\n custom-prop\n[…]\negression tests for every fixed path. No change to subset output bytes.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01LJVSP8w5SM8FC7wY43vYwa",
"is_bot": false,
"headline": "fix: correct CSS parsing/generation bugs in font helpers",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-07-06T00:22:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6310291055c47a3b69dbfffd0c9c7c40c062045b",
"body": "phone-home-extract.js: convert an unnamed capture group to named, and\nremove the \\s*$ lookahead alternative that overlapped [\\s\\S]*? and\ntriggered eslint-plugin-regexp's super-linear-backtracking check\n(trailing whitespace is trimmed anyway, so the lookahead just needs to\nmatch end-of-string). Also \n[…]\ndiscarded.\n\npromote-changelog.mjs: replace a string concatenation with a single\ntemplate literal (prefer-template).\n\nReformatted with prettier (also caught pre-existing drift in\nphone-home-submit.js).",
"is_bot": false,
"headline": "fix(ci): resolve eslint findings in synced template scripts",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-04T00:23:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b3ed269ef4f2b90d16e8d30b1496681093e25e66",
"body": "Propagates the latest claude-automation-template, including the\ntemplate-sync symlink-handling fix. session-setup.sh conflict resolved:\nadopted the template's emit_export-based GH_REPO block and new\nweb-session permissions block, kept the local robust dependency-install\nlogic.",
"is_bot": false,
"headline": "chore: sync from template repository (f3de29b)",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-03T23:23:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb4b2a4f267b306a1c8587ae180a3ba012e361c1",
"body": "* ci: pin GitHub Actions to commit SHAs\n\nMutable version tags (@v4, @v2) let a compromised maintainer silently\nreplace code that runs in CI. Pin every third-party action to its\nresolved commit SHA with a version comment.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\n\n* docs(pr): auto-crea\n[…]\n to be asked, and replace the skill's\nask-example with the same auto-create default.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: pin GitHub Actions to SHAs; docs(pr): auto-create PRs (#151)",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-07-01T17:40:36Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fc826cf15b129b93d19b42e10340638ffe70466e",
"body": "…bmYG\n\nfix: concurrency cap bug, lint hardening, error chaining, test coverage",
"is_bot": false,
"headline": "Merge pull request #139 from alexander-turner/claude/ecstatic-volta-W…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-29T22:17:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0938855b44efa59705e4354729feb169311740cc",
"body": "…-visibility-3p2c2r\n\nchore(package): add font-subsetting keywords for npm discoverability",
"is_bot": false,
"headline": "Merge pull request #150 from alexander-turner/claude/seo-contribution…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-29T22:17:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5882bd79d287acfb119d830bbc09034758096a25",
"body": null,
"is_bot": false,
"headline": "chore(package): add font-subsetting keywords for npm discoverability",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-29T19:24:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75cd46073735c486edceca6c909905d63a8fd8b2",
"body": "Co-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: run template sync weekly instead of daily (#149)",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-23T03:23:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "0fed4de710feadcc3b2902e7f5adfb53bb2867e9",
"body": "Co-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: remove @claude workflow (#148)",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-23T03:12:15Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4dc9baae3bf7acb60098097e0a41a57a46b33b9d",
"body": "fix: harden concurrency/pool lifecycle and clean up repo hygiene",
"is_bot": false,
"headline": "Merge pull request #147 from alexander-turner/claude/great-bohr-3dyq2v",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-21T16:26:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "901b45151314c79143cb68103415860ace56b0f3",
"body": "CI installs with --frozen-lockfile, which rejected the lockfile because the\ncoveralls removal in package.json was not reflected in pnpm-lock.yaml. Drop\ncoveralls and its now-unreferenced transitive subtree from the lockfile.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018SdXLx2TaBHLofmL27MZ9T",
"is_bot": false,
"headline": "build: update pnpm-lock.yaml after removing coveralls devDependency",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-21T16:23:52Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a65a6b68438f18e512cd59a0f3fa22bc6034facc",
"body": "The existing \"stop pulling after a rejection\" test used concurrency 1, so it\nexercised the throw exiting a lone runner — not the `stopped` flag that stops\nsibling runners. Add a concurrency-2 test where one runner rejects while a slow\nsibling holds the other slot, asserting (after the slow task sett\n[…]\no\nfurther items were pulled. Verified to fail when the flag is removed.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018SdXLx2TaBHLofmL27MZ9T",
"is_bot": false,
"headline": "test: cover the sibling-stop path of runWithConcurrency's fail-fast flag",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-21T16:22:32Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a38824eb6147aa029bff147dc79735954b5b6268",
"body": "Robustness fixes:\n- runWithConcurrency: stop pulling new items once a task rejects. The\n previous runner loop kept dispatching work after a sibling failed, so\n under --dynamic a failed/aborted trace left other runners opening fresh\n puppeteer tabs after the caller had moved on to closing the brow\n[…]\nding the CLAUDE.md\n workflow references to the README benchmark table.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018SdXLx2TaBHLofmL27MZ9T",
"is_bot": false,
"headline": "fix: harden concurrency/pool lifecycle and clean up repo hygiene",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-21T16:15:25Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6c6f37be7ba36fbf5d11350d61e4c21c2334dd7f",
"body": "- tsconfig.json: keep master's node16 module/moduleResolution (supersedes node10)\n- test/piscinaRunWithTimeout.js: keep master's real-Piscina integration tests (supersedes sinon mocks)",
"is_bot": false,
"headline": "fix: resolve merge conflicts with master",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-17T16:21:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d2cf07d16ab0c8e4018d7b89b42aca9c3481be8",
"body": "feat: support cancelling runs via AbortSignal",
"is_bot": false,
"headline": "Merge pull request #146 from alexander-turner/claude/great-bohr-ck8ygl",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-17T16:18:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17684b2f50d098d6cd1fac0100514c4a8444b354",
"body": "Address self-review of the AbortSignal work:\n\n- Drop the custom abortReasonToError wrapper and route every cancellation\n check through the native AbortSignal.throwIfAborted() / reject(reason).\n Previously a non-Error abort reason surfaced as a synthetic AbortError when\n caught inside subsetFontWi\n[…]\nback (proving no strand) rather than\n just that some instance is busy.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01UbhH4k1YmSWeJtha1XK1JH",
"is_bot": false,
"headline": "refactor: unify abort semantics and harden cancellation tests",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-17T16:15:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b11f82c05a9c812ae13af5fa88b208c0d31b0c8e",
"body": "subfont threads an AbortSignal through tracing and subsetting internally,\nand the worker pools honour it, but it was unreachable: the public API had\nno `signal` option, `acquireInstance` ignored aborts (a saturated WASM pool\ncould hang a cancelled call for up to 120s), the non-woff2 path ignored the\n[…]\ninery (via\n test-only pool handles) and public-API cancellation tests.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01UbhH4k1YmSWeJtha1XK1JH",
"is_bot": false,
"headline": "feat: support cancelling runs via AbortSignal",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-17T16:04:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2b691399688afa6441234c3fe9e82482494d38e8",
"body": "…-39lfw5\n\nAdd comprehensive test coverage and fuzzing infrastructure",
"is_bot": false,
"headline": "Merge pull request #145 from alexander-turner/claude/determined-allen…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-12T00:47:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3145cc4bbc4c9ebc2c2c0df0f3eb7919405f1edb",
"body": "Plain unexpected@11 treats Set-vs-Set 'to equal'/'to satisfy' as\nvacuously true (expect(new Set(['a']), 'to equal', new Set(['b']))\npasses), so every Set assertion in featureTagExtraction.js and the two\nin fontFeatureHelpers.js asserted nothing. Cloning expect with\nunexpected-set enforces real comparison; all 104 affected tests still\npass, confirming the expected values were already correct.\n\nhttps://claude.ai/code/session_01MWcM1YH9TEfULuuGXGwwbL",
"is_bot": false,
"headline": "test: wire unexpected-set into files comparing Set expectations",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T22:45:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "afa33c8144ea2b4de515fe374ca7bfa2c54ee480",
"body": "https://claude.ai/code/session_01MWcM1YH9TEfULuuGXGwwbL",
"is_bot": false,
"headline": "test: include property-based tests in the Stryker run",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T21:39:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a354b86766d9cd5dbd971ddf8fb391d59a5c4d47",
"body": "Pins WASM pool init/retry/waiter-queue/release semantics via fresh\nmodule instances (proxyquire), fvar axis pinning and range expansion,\nNFC/NFD codepoint loops, glyphId retention, scriptTags gating, woff2\nworker routing in sfntCache, and dropMathTable gating against a\nsynthesized corrupt MATH table.\n\nhttps://claude.ai/code/session_01MWcM1YH9TEfULuuGXGwwbL",
"is_bot": false,
"headline": "test: kill surviving mutants in subsetFontWithGlyphs and sfntCache",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T21:34:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00680cd6eff20ff97f6b0fcefc09fc8780469201",
"body": "…pers\n\nPins fingerprint delimiter collisions, @namespace parsing anchors,\npredicate sorting/reuse, list-style/animation/transition shorthand\ngating, font shorthand inline-style handling, @font-face declaration\nhrefType save/restore, exact @font-face stylesheet output including\ncodepoint intersection, unused-variant some-vs-every filter semantics,\nand font weight/stretch range token parsing.\n\nhttps://claude.ai/code/session_01MWcM1YH9TEfULuuGXGwwbL",
"is_bot": false,
"headline": "test: kill surviving mutants in getCssRulesByProperty and fontFaceHel…",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T21:33:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92c80a34bbe6b4643bd8340d7f8a16387cded0f2",
"body": "Pins behavior flagged by Stryker mutation testing: all 64 fallback GSUB\nfeature tags in collectFeatureGlyphIds (per-tag shaping loop), the\naddIndexedTags boundaries and alternates regexes in fontFeatureHelpers,\nital/slnt axis mapping and numAxesReduced boundaries in variationAxes,\nhidden-input and a\n[…]\nhis unexpected@11 setup treats\nSet-vs-Set 'to equal'/'to satisfy' as always passing, so Set contents\nare now asserted via sorted spread arrays.\n\nhttps://claude.ai/code/session_01MWcM1YH9TEfULuuGXGwwbL",
"is_bot": false,
"headline": "test: kill surviving mutants in feature, axes, and text modules",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T21:27:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b1103ef5a4926e55a1a89934266e738bff0a3033",
"body": "Ports the fuzz-harness properties (unicode-range round-trip, unquote\nround-trip, escapeJsStringLiteral tri-context eval, stripLocalTokens\nidempotence, injectSubsetDefinitions no-match identity, and yield-shape\nchecks) into test/propertyBased.js via unexpected-check so they run in\nCI. Also fixes the \n[…]\nss to use lowercase\nmap keys — the lookup is webfontNameMap[name.toLowerCase()], so the old\n'Open Sans' key never exercised the injection path.\n\nhttps://claude.ai/code/session_01MWcM1YH9TEfULuuGXGwwbL",
"is_bot": false,
"headline": "test: add property-based tests to the mocha suite",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T21:20:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9317202739204ac2c22dfbc0efc228a6d1844b21",
"body": "Stryker showed every edge of the cp === 0 / cp > 0x10ffff / surrogate\nrange guard survived mutation. Locks in raw-source passthrough for \\0,\n\\110000, \\d800, \\dfff and decoding for U+10FFFF, U+D7FF, U+E000,\nraising unquote.js mutation score from 73% to 89%.\n\nhttps://claude.ai/code/session_01MWcM1YH9TEfULuuGXGwwbL",
"is_bot": false,
"headline": "test(unquote): pin codepoint boundaries of the hex-escape guard",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T21:07:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "973ab58936840ebcccfdcd7be5cf46fe1824a19f",
"body": "Mutation testing (pnpm run mutation) targets the compiled lib/ modules\nthat have fast unit tests; the puppeteer integration suites are excluded\nso scores are a lower bound. Fuzz harnesses (pnpm run fuzz) cover the\npure CSS-value parsers with property checks and the harfbuzz WASM\nsubsetting path with byte-corrupted font inputs.\n\nhttps://claude.ai/code/session_01MWcM1YH9TEfULuuGXGwwbL",
"is_bot": false,
"headline": "test: add Stryker mutation testing and seeded fuzz harnesses",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-11T21:07:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "157dff3c9be53b924f9a976adb6404c7b8bd6af5",
"body": "Optimize fast-path font attribution with family-aware selector gating",
"is_bot": false,
"headline": "Merge pull request #143 from alexander-turner/claude/epic-feynman-q2bqka",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-10T18:16:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b1a5a64e35e77a1630736f4322cf89e22e02a84",
"body": "…-q2bqka\n\n# Conflicts:\n#\tsrc/fontFeatureHelpers.ts\n#\tsrc/unquote.ts",
"is_bot": false,
"headline": "Merge remote-tracking branch 'origin/master' into claude/epic-feynman…",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T18:14:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62a80217b865feae238abd4b0071ce72ce48b6b2",
"body": "Replace all index-based regex group access (m[1], m[2], ...) with named\ncapture groups read via m.groups, and convert grouping-only captures to\nnon-capturing groups. Enable the ESLint `prefer-named-capture-group` rule so\nnew index-based regex matches are rejected.\n\n- collectPageTokens / subjectRequi\n[…]\nrty\n url unwrap, unquote CSS-escape regex: named groups.\n- tests (multiPageIntegration, subfont): named groups / non-capturing\n alternations.\n\nhttps://claude.ai/code/session_01G8a2ziyDGg11BRtDFE27Tj",
"is_bot": false,
"headline": "Use named regex capture groups; enforce with prefer-named-capture-group",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T18:09:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b248d7732c7efe5196338945db175b356d24b574",
"body": "…rt-m03eze\n\nNormalize regex patterns to use case-insensitive flag",
"is_bot": false,
"headline": "Merge pull request #144 from alexander-turner/claude/optimistic-lampo…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-10T18:04:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8ebf402752366805d373e4cdd439f47495aab55",
"body": "Introduces eslint-plugin-regexp (flat/recommended) to catch unsafe or\nredundant regex patterns at lint time. Fixes all 10 errors and 1 warning\nit raised:\n\n- Replace [a-z0-9_] / [a-zA-Z0-9_] with \\w where equivalent\n- Collapse [a-zA-Z...] pairs to [a-z...] + i flag (regexp/use-ignore-case)\n- Fix ReDo\n[…]\n\n- Replace empty alternative (|) in NAMESPACE_SELECTOR_RE with ? and\n update the === '' guard to === undefined to preserve no-prefix behaviour\n\nhttps://claude.ai/code/session_01TRAEZHTTt1jG8AFpYe9c8n",
"is_bot": false,
"headline": "chore(lint): add eslint-plugin-regexp and fix all flagged regex issues",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T18:02:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2fa7295f698129d55cd1d7e0384144f595d28f03",
"body": "- HeadlessBrowser: compute callerDisabledSandbox once and pass it into\n defaultSandboxArgs instead of scanning extraArgs twice; simplify the\n sandbox-already-off guard.\n- collectTextsByPage: parse each propsKey's font-family at most once in\n attributeFastPathPages (was re-parsed per page), read h\n[…]\nsubsetGeneration: drop the magic-byte list comment that duplicated\n KNOWN_FONT_MAGIC's own annotations.\n\nNo behavior change; full suite green.\n\nhttps://claude.ai/code/session_01G8a2ziyDGg11BRtDFE27Tj",
"is_bot": false,
"headline": "Simplify review findings: dedup sandbox check, hoist font-family parse",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T17:51:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bf435e3191fee21c2dc52441bafa60ac8a024c0c",
"body": "…eview\n\nCorrectness:\n- subsetFontWithGlyphs: also add raw-text codepoints (not just NFC/NFD) so\n Unicode singletons (U+2126 OHM, U+212A KELVIN, U+212B ANGSTROM) survive\n subsetting instead of normalizing away and rendering tofu; guard the WASM\n malloc return before writing to the heap.\n- subsetGe\n[…]\nSUBSET_CACHE_VERSION, refresh the README optimization table, and add\nregression tests for singleton retention and family-scoped fast-path text.\n\nhttps://claude.ai/code/session_01G8a2ziyDGg11BRtDFE27Tj",
"is_bot": false,
"headline": "Fix correctness, security, and efficiency findings from core-module r…",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-10T17:43:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cd530fde56b023adf4e8a66931af312bc58c4284",
"body": "Add commitlint configuration and update TypeScript module settings",
"is_bot": false,
"headline": "Merge pull request #142 from alexander-turner/claude/tender-gates-1tyufr",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-08T22:57:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58d594191816eafb0806e05c2e3bb7d723f1fa8a",
"body": "My earlier rewrite gutted pre-existing setup logic (tool installs, gh repo\ndetection, puppeteer path search, retry-counter reset, uv sync) that\nwasn't mine to remove. Restore the script unchanged; the intended scope\nwas only my own additions.",
"is_bot": false,
"headline": "revert: restore session-setup.sh to its original form",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-08T22:46:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "967307c26ba712ffac6fdfb9171d73f915fe63fa",
"body": "Drop the optional tool installs (webi shfmt/gh/jq, apt shellcheck), gh\nrepo/auth detection, uv/python sync, the npm fallback, and the install\nverification scaffolding. The hook now does only what's needed for tests\nand linters to run: ensure pnpm, enable the git hooks, point puppeteer at\nthe contain\n[…]\nChromium, and run `pnpm install` with\nretry. 213 lines -> 33.\n\nRevert the verify_ci.py missing-node_modules guard — with setup\ninstalling deps reliably, the Stop hook doesn't need an install fallback.",
"is_bot": false,
"headline": "refactor: slim session-setup.sh down to a reliable dependency install",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-08T22:44:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ef7f7593b9d9e1624b95f768df2036fed2e1869a",
"body": "tsconfig: switch module/moduleResolution from \"commonjs\"/\"node\" to\n\"node16\"/\"node16\". The old \"node\" (node10) resolution is deprecated and\nerrors under TypeScript 7.0. Emitted output stays CommonJS (package.json\nhas no \"type\": \"module\"), so runtime behavior is unchanged.\n\nsession-setup.sh: retry the\n[…]\neferenced by\n.hooks/commit-msg but absent) and install @commitlint/cli +\n@commitlint/config-conventional so the hook resolves them locally. The\ncommit-msg hook previously failed on every local commit.",
"is_bot": false,
"headline": "fix: migrate tsconfig off deprecated node10 resolution; repair dev setup",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-08T22:06:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "11054819f38ab6e8f2c5a92618866398346a1e9d",
"body": "…qLSO\n\nfix: make subset disk-cache writes atomic to prevent torn reads",
"is_bot": false,
"headline": "Merge pull request #141 from alexander-turner/claude/ecstatic-volta-i…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-08T04:04:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "20d23110c0dce3e2f4d4917184a682de2e3655b2",
"body": "SubsetDiskCache.set() wrote entries with a plain fs.writeFile, which\ntruncates the destination before streaming the new bytes. A concurrent\nreader sharing the same persistent --cache directory (e.g. parallel\nsubfont invocations in CI, the cache feature's primary use case) could\nreadFile a half-writt\n[…]\ned.\n\nAdds a regression test that fails under the old non-atomic write:\nconcurrent reads during overwrite must always see one complete buffer or\nthe other, and no .tmp scratch files may be left behind.",
"is_bot": false,
"headline": "fix: make subset disk-cache writes atomic to prevent torn reads",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-06-08T04:01:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a589070a1887652e16914e4da86007a608543ddb",
"body": "…5eUI\n\nfix: codebase audit — efficiency, deduplication, coverage, and correctness",
"is_bot": false,
"headline": "Merge pull request #140 from alexander-turner/claude/ecstatic-volta-4…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-06-01T00:01:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "514164add44705f6cff17ea3db9a53dbf2353455",
"body": "https://claude.ai/code/session_01Q2177V2bNwqPnHzrEvxGVP",
"is_bot": false,
"headline": "fix: rename promise parameter to satisfy promise/param-names lint rule",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-31T16:31:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04cadf1dfcc8db787538e0db2a72378c541e2cf8",
"body": "- Add concurrent deduplication test for PromiseWeakCache (verifies\n that two getOrCreate calls for the same key share one promise)\n- Clear leaked 2-second abort timer in piscinaRunWithTimeout test\n\nhttps://claude.ai/code/session_01Q2177V2bNwqPnHzrEvxGVP",
"is_bot": false,
"headline": "fix: address pass-2 critique findings",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-31T16:29:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e0d6695de5f40cd0dd8c72a8f0341abfadb11a6",
"body": "- Rename misleading \"concurrent replacement\" test to match what it\n actually tests (cache re-population after eviction)\n- Widen timing gap in timeout-vs-signal race test (100ms → 2s) to\n prevent CI flakes on slow runners\n- Add default parameter for echoWorker delayMs to make intent explicit\n\nhttps://claude.ai/code/session_01Q2177V2bNwqPnHzrEvxGVP",
"is_bot": false,
"headline": "fix: address critique findings on test naming and timing",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-31T16:26:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ad0467c59a6aed7d264f12b1cc7f83ef2115df4",
"body": "Verify that when both the watchdog timeout and user abort signal fire,\nthe timeout error takes priority (first abort wins).\n\nhttps://claude.ai/code/session_01Q2177V2bNwqPnHzrEvxGVP",
"is_bot": false,
"headline": "test: add timeout+signal race test for piscinaRunWithTimeout",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-31T16:21:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3cc33ad40d0f5296d195ad1172adf577308f32f3",
"body": "If factory() throws synchronously instead of returning a rejected\npromise, the original code would throw a TypeError trying to call\n.catch() on undefined. Wrap the factory call in try/catch and return\na rejected promise for the synchronous error case, without caching\nthe failure.\n\nhttps://claude.ai/code/session_01Q2177V2bNwqPnHzrEvxGVP",
"is_bot": false,
"headline": "fix: handle synchronous factory exceptions in PromiseWeakCache",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-31T16:18:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5a369a5aef6ce6330bee2fc527e44099e97216e",
"body": "getMaxConcurrency is used as the hardware-based \"safe limit\" for the\n--concurrency warning message. Capping it at MAX_POOL_SIZE conflates\nthe physical constraint (memory/CPU) with the software cap, making the\nwarning less informative. Pool consumers already cap independently.\n\nhttps://claude.ai/code/session_01Q2177V2bNwqPnHzrEvxGVP",
"is_bot": false,
"headline": "revert: keep getMaxConcurrency uncapped by MAX_POOL_SIZE",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-31T16:17:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba4e535103854292616edce334a42ae2740761f4",
"body": "- Collapse 6 chained .replace() calls in escapeJsStringLiteral into a\n single-pass regex with a lookup map (O(6n) → O(n))\n- Cap getMaxConcurrency() at MAX_POOL_SIZE so its return value is\n consistent with all pool consumers that already cap independently\n- Add aria-description to extractable attri\n[…]\nallowing\n when debug mode is off\n- Add missing test coverage for piscinaRunWithTimeout (timeout, abort\n signal, cleanup) and PromiseWeakCache\n\nhttps://claude.ai/code/session_01Q2177V2bNwqPnHzrEvxGVP",
"is_bot": false,
"headline": "fix: address code quality issues found in codebase audit",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-31T16:16:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "aaa009735659ff145ac6e503b243b6ba10074647",
"body": "…tsconfig deprecation\n\n- getMaxConcurrency() now caps at MAX_POOL_SIZE so the --concurrency\n warning accurately reflects pool limits instead of reporting uncapped\n CPU counts\n- Enable @typescript-eslint/no-misused-promises to catch async functions\n passed where sync callbacks are expected\n- Use E\n[…]\nthTimeout (timeout/abort/cleanup),\n wrapAssetGraphError, and initialValueByProp\n- Fix tsconfig moduleResolution deprecation: \"node\" → \"node10\"\n\nhttps://claude.ai/code/session_01S6x94Pnobrp7wDsohtS3YF",
"is_bot": false,
"headline": "fix: concurrency cap, lint hardening, error chaining, test coverage, …",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-24T17:28:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fc027e329a496e94130efca61f448ec4185b9f99",
"body": "…diYb\n\nfix: add no-floating-promises lint rule, fix violations, remove async-main-wrap",
"is_bot": false,
"headline": "Merge pull request #138 from alexander-turner/claude/ecstatic-volta-q…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-05-22T15:37:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d57b9073b083de299165f1670bb1783d6401825e",
"body": "- cli.ts: catch parameter was typed as Error but rejection values can\n be anything; use unknown with instanceof guards\n- HeadlessBrowser.ts: hoist noop closure to method scope to avoid\n per-request allocation\n\nhttps://claude.ai/code/session_01JcZP8DszsGRXF9fQhjptcX",
"is_bot": false,
"headline": "fix: use unknown catch type in CLI, hoist noop outside request handler",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T06:09:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08cf0ff88df8d2ee90a8ed5b9acae77cfc68fcba",
"body": "- Remove dead ErrorWithCustomOutput type from cli.ts\n- Add .catch(swallow) to puppeteer request handlers in\n HeadlessBrowser.ts — void alone leaves rejections unhandled since\n page.on callbacks are synchronous\n- Restore debug gate on WASM warmup warning to avoid noisy stderr\n in normal operation\n- Add explanatory comment on headlessBrowser.close() catch (best-effort\n cleanup, primary error takes precedence)\n\nhttps://claude.ai/code/session_01JcZP8DszsGRXF9fQhjptcX",
"is_bot": false,
"headline": "fix: address critique findings on floating-promises PR",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T06:00:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41829e2704e837e62083344ca5fd0ff5e5268a94",
"body": "…sync-main-wrap dep\n\n- Add @typescript-eslint/no-floating-promises to ESLint config with\n type-aware parsing — catches unhandled promise rejections at lint time\n- Fix 4 floating promises in HeadlessBrowser.ts (puppeteer request\n handlers) and 1 in subsetFonts.ts (JS asset minify call)\n- Mark inten\n[…]\nser.close() in finally block to swallow rejection\n- Always log WASM warmup failures (was debug-only, making silent\n failures hard to diagnose)\n\nhttps://claude.ai/code/session_01JcZP8DszsGRXF9fQhjptcX",
"is_bot": false,
"headline": "fix: add no-floating-promises lint rule, fix bugs it caught, remove a…",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T05:54:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "56c2f18e38490d1a8c82460f7f85d82e26ab60c5",
"body": "Add AbortSignal support for cancellable subset generation",
"is_bot": false,
"headline": "Merge pull request #137 from alexander-turner/claude/signal-subset-phase",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-05-22T05:36:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7534c8cb8778434988851fb7ff8eee93e44b91ea",
"body": "The existing mocked test in subsetGeneration only proved the option got\nforwarded — it didn't exercise the real subsetFontWithGlyphs →\nconvertInWorker bridge. Add an integration-style test that runs a real\nwoff2 subset against a pre-aborted signal to confirm the worker-pool\nrejection actually propagates out.",
"is_bot": false,
"headline": "test: cover the AbortSignal bridge through subsetFontWithGlyphs",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T05:28:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54113ad944ce525ae77ade1a9bb8351dee02953f",
"body": "Plumbs signal? from SubsetFontsOptions through getSubsetsForFontUsage,\nqueueAllSubsets, and subsetFontWithGlyphs into the woff2 worker pool\nconvert() call. A Ctrl-C during woff2 compression of a large run now\ncancels in-flight worker tasks immediately instead of waiting for the\n120s watchdog. The synchronous harfbuzz WASM loop and fontverter\nfallback path stay unchanged — neither can be interrupted mid-call.",
"is_bot": false,
"headline": "feat: thread AbortSignal into subset generation phase",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T05:25:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a65f0a0c2ccde60b34f6108ea283093dc69b95f8",
"body": "…cleanups\n\nFix font range parsing, escape U+2028/U+2029, improve CLI flags",
"is_bot": false,
"headline": "Merge pull request #135 from alexander-turner/claude/subfont-low-med-…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-05-22T05:00:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4fa34eaace9977571e7c14e4f22061b637bf751",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' into claude/subfont-low-med-cleanups",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-05-22T04:58:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb406cdd3278b229062b47d8185e8dd2b0d36aa1",
"body": "…rsers-Z5Mfq\n\nReplace regex-based HTML parsing with parse5 for robustness",
"is_bot": false,
"headline": "Merge pull request #136 from alexander-turner/claude/subfont-regex-pa…",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-05-22T04:57:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf4debb985867c795649301f18a517ea3693f5ce",
"body": "refactor: replace hand-rolled worker pools with piscina",
"is_bot": false,
"headline": "Merge pull request #134 from alexander-turner/claude/piscina-migration",
"author_name": "Alex Turner",
"author_login": "alexander-turner",
"committed_at": "2026-05-22T04:53:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "642417b7d805f7f69f2ef47a924815f7b0a06c58",
"body": "- Bump SUBSET_CACHE_VERSION (6 → 7) because parseFontWeightRange now\n resolves \"bold\" → [700, 700] (was [400, 400] under the parseFloat-\n only path). For any @font-face declaring `font-weight: bold` the\n wght-axis clamp range changes, which can change variable-font\n subset bytes deterministicall\n[…]\negression test for the mixed numeric+keyword behaviour\n (\"400 bold\" → [400, 700]) so the keyword-resolution side-effect of\n routing through normalizeFontPropertyValue is intentional and\n locked in.",
"is_bot": false,
"headline": "fix: address self-critique findings on low/med cleanups",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T04:52:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c63e865f03bf0dd1d815fbcd7be97f1e9ee9ca37",
"body": "Seven small fixes flagged in the previous code-review pass.\n\n- fontFaceHelpers: parseFontWeightRange / parseFontStretchRange take an\n optional warn callback so malformed @font-face range descriptors\n surface as assetGraph warnings instead of silently degrading to\n [400, 400] / [100, 100]. Wired u\n[…]\nine comment.\n\nValidation: pnpm run build && pnpm test (811 passing, lint clean).\nNo SUBSET_CACHE_VERSION bump — none of these changes alter the bytes\nproduced by the subsetter for the same input text.",
"is_bot": false,
"headline": "refactor: address low/medium-severity cleanup findings",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T04:45:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bde2e74f2447f65100802622e8ed407837719440",
"body": "The catch handler used to check `if (timeoutErr) throw timeoutErr`\nbefore considering the user signal. If the user signal fired first\n(racing the watchdog) but the watchdog still ran in parallel and set\n`timeoutErr`, the user got back a \"timed out\" error instead of their\nown cancellation reason.\n\nSw\n[…]\net the\nsignal's reason; that's what surfaces in the AbortError. Add a\nregression test that arms a 60s watchdog and aborts the user signal\nmid-flight — the result must carry the user-initiated message.",
"is_bot": false,
"headline": "fix: prefer user reason over watchdog when both abort triggers fire",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T04:16:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cb828b3c6678f92b785fd7c5b93900b5e4ccad65",
"body": "…bort reason)\n\n- init() now dispatches one no-op trace per worker so jsdom/postcss\n require cost is paid in the init phase instead of leaking into the\n first real trace batch (where it confuses subTimings).\n- fontConverter destroy/convert race: convert() awaits an in-flight\n _destroyPromise befor\n[…]\n stack instead of piscina's AbortError wrapper.\n\nTests: new \"warm workers eagerly in init()\" assertion, abort-reason\nsurfacing assertions, and a \"should not double-spawn\" race test for\nfontConverter.",
"is_bot": false,
"headline": "fix: address piscina migration critique (init warmup, destroy race, a…",
"author_name": "Claude",
"author_login": "claude",
"committed_at": "2026-05-22T04:10:19Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 52,
"commits_last_year": 643,
"latest_release_at": "2026-07-21T16:32:24Z",
"latest_release_tag": "v1.11.7",
"releases_from_tags": true,
"days_since_last_push": 0,
"active_weeks_last_year": 21,
"days_since_latest_release": 8,
"mean_days_between_releases": 6.7
},
"community": {
"has_readme": false,
"has_license": false,
"has_description": false,
"has_contributing": false,
"health_percentage": null,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "@turntrout/subfont",
"exists": true,
"license": "MIT",
"keywords": [
"google",
"font",
"fonts",
"webfont",
"webfonts",
"subset",
"subsetting",
"commandline",
"cli",
"automation",
"woff",
"woff2",
"preload",
"font-subsetting",
"variable-fonts",
"harfbuzz",
"google-fonts",
"web-performance",
"typescript"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@turntrout/subfont",
"is_deprecated": false,
"latest_version": "1.11.7",
"repository_url": "https://github.com/AlexanderMattTurner/subfont",
"versions_count": 54,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 3296,
"first_published_at": "2026-04-08T03:24:39.995000Z",
"latest_published_at": "2026-07-21T16:34:37.713000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 8
}
]
},
"popularity": {
"forks": 0,
"stars": 2,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": null,
"open_issues_and_prs": 2
},
"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": [
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 81339,
"source_files_sampled": 116,
"oversized_source_files": 2,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 5753
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.16",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 1,
"oldest_advisory_days": 5
},
{
"name": "form-data",
"direct": false,
"version": "2.1.4",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-fjxv-7rqg-78g4",
"GHSA-hmw2-7cc7-3qxx"
],
"fixed_version": "4.0.6",
"advisory_count": 2,
"oldest_advisory_days": 373
},
{
"name": "html-minifier",
"direct": false,
"version": "4.0.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-pfq8-rq6v-vf5m"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 1367
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "1.1.2",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 3.3,
"advisory_ids": [
"GHSA-vpq2-c234-7xj6"
],
"fixed_version": "3.0.1",
"advisory_count": 1,
"oldest_advisory_days": 149
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"high": 3
},
"advisory_count": 5,
"affected_count": 4,
"assessed_count": 530,
"malicious_count": 0,
"assessed_package": "npm:@turntrout/subfont@1.11.7",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@hookun/parse-animation-shorthand",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.1.5"
},
{
"name": "@puppeteer/browsers",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.0"
},
{
"name": "assetgraph",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.13.0"
},
{
"name": "css-font-parser",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.0"
},
{
"name": "css-font-weight-names",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.2.1"
},
{
"name": "css-list-helpers",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.0"
},
{
"name": "font-snapper",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.0"
},
{
"name": "font-tracer",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^3.7.0"
},
{
"name": "fontverter",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.0"
},
{
"name": "harfbuzzjs",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.5.0"
},
{
"name": "jsdom",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^25.0.0"
},
{
"name": "lines-and-columns",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.6"
},
{
"name": "memoizesync",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "parse5",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.0.0"
},
{
"name": "piscina",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.9.2"
},
{
"name": "postcss",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^8.3.11"
},
{
"name": "postcss-value-parser",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.2"
},
{
"name": "pretty-bytes",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^5.1.0"
},
{
"name": "puppeteer-core",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^24.39.1"
},
{
"name": "sanitize-filename",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.4"
},
{
"name": "specificity",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.4.1"
},
{
"name": "urltools",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.4.1"
},
{
"name": "yargs",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^17.7.2"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@hookun/parse-animation-shorthand",
"direct": true,
"version": "0.1.5",
"ecosystem": "npm"
},
{
"name": "@puppeteer/browsers",
"direct": true,
"version": "2.13.0",
"ecosystem": "npm"
},
{
"name": "assetgraph",
"direct": true,
"version": "7.13.0",
"ecosystem": "npm"
},
{
"name": "css-font-parser",
"direct": true,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "css-font-weight-names",
"direct": true,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "css-list-helpers",
"direct": true,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "font-snapper",
"direct": true,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "font-tracer",
"direct": true,
"version": "3.7.1",
"ecosystem": "npm"
},
{
"name": "fontverter",
"direct": true,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "harfbuzzjs",
"direct": true,
"version": "0.10.3",
"ecosystem": "npm"
},
{
"name": "harfbuzzjs",
"direct": true,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": true,
"version": "16.7.0",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": true,
"version": "25.0.1",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": true,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "memoizesync",
"direct": true,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": true,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": true,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "piscina",
"direct": true,
"version": "4.9.3",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": true,
"version": "7.0.39",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": true,
"version": "8.5.18",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": true,
"version": "8.5.5",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": true,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": true,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "pretty-bytes",
"direct": true,
"version": "5.6.0",
"ecosystem": "npm"
},
{
"name": "puppeteer-core",
"direct": true,
"version": "24.40.0",
"ecosystem": "npm"
},
{
"name": "sanitize-filename",
"direct": true,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "specificity",
"direct": true,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "urltools",
"direct": true,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": true,
"version": "15.4.1",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": true,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": true,
"version": "18.0.0",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/css-color",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.12.11",
"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/core",
"direct": false,
"version": "7.29.0",
"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.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-class-features-plugin",
"direct": false,
"version": "7.29.7",
"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.29.7",
"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.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-replace-supers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-skip-transparent-expression-wrappers",
"direct": false,
"version": "7.29.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/helpers",
"direct": false,
"version": "7.29.2",
"ecosystem": "npm"
},
{
"name": "@babel/highlight",
"direct": false,
"version": "7.25.9",
"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-proposal-decorators",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-decorators",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-jsx",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-typescript",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-destructuring",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-explicit-resource-management",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-commonjs",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typescript",
"direct": false,
"version": "7.29.7",
"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": "@commitlint/cli",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/config-conventional",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/config-validator",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/ensure",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/execute-rule",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/format",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/is-ignored",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/lint",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/load",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/message",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/parse",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/read",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/resolve-extends",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/rules",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/to-lines",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/top-level",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/types",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@conventional-changelog/git-client",
"direct": false,
"version": "2.7.0",
"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.9.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.21.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "0.4.3",
"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": "@hapi/address",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@hapi/bourne",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "@hapi/hoek",
"direct": false,
"version": "8.5.1",
"ecosystem": "npm"
},
{
"name": "@hapi/joi",
"direct": false,
"version": "15.1.1",
"ecosystem": "npm"
},
{
"name": "@hapi/topo",
"direct": false,
"version": "3.1.6",
"ecosystem": "npm"
},
{
"name": "@html-validate/stylish",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.1",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.7",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/config-array",
"direct": false,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/gitignore-to-minimatch",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/object-schema",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@inquirer/ansi",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@inquirer/checkbox",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/confirm",
"direct": false,
"version": "6.1.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/core",
"direct": false,
"version": "11.2.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/editor",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "@inquirer/expand",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/external-editor",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@inquirer/figures",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@inquirer/input",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "@inquirer/number",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/password",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/prompts",
"direct": false,
"version": "8.5.2",
"ecosystem": "npm"
},
{
"name": "@inquirer/rawlist",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/search",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/select",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/type",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/load-nyc-config",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/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": "@napi-rs/canvas",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-android-arm64",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-darwin-arm64",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-darwin-x64",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-arm-gnueabihf",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-arm64-gnu",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-arm64-musl",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-riscv64-gnu",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-x64-gnu",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-linux-x64-musl",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-win32-arm64-msvc",
"direct": false,
"version": "0.1.97",
"ecosystem": "npm"
},
{
"name": "@napi-rs/canvas-win32-x64-msvc",
"direct": false,
"version": "0.1.97",
"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": "0.2.12",
"ecosystem": "npm"
},
{
"name": "@nolyfill/is-core-module",
"direct": false,
"version": "1.0.39",
"ecosystem": "npm"
},
{
"name": "@package-json/types",
"direct": false,
"version": "0.0.12",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@rtsao/scc",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@sec-ant/readable-stream",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@sidvind/better-ajv-errors",
"direct": false,
"version": "0.6.10",
"ecosystem": "npm"
},
{
"name": "@sidvind/better-ajv-errors",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "@simple-libs/child-process-utils",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@simple-libs/stream-utils",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/merge-streams",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/commons",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@sinonjs/fake-timers",
"direct": false,
"version": "13.0.5",
"ecosystem": "npm"
},
{
"name": "@sinonjs/fake-timers",
"direct": false,
"version": "15.1.1",
"ecosystem": "npm"
},
{
"name": "@sinonjs/samsam",
"direct": false,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/api",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/core",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/instrumenter",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/mocha-runner",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/util",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stylistic/eslint-plugin",
"direct": false,
"version": "2.11.0",
"ecosystem": "npm"
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@tootallnate/quickjs-emscripten",
"direct": false,
"version": "0.23.0",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.1",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/jsdom",
"direct": false,
"version": "28.0.1",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/json5",
"direct": false,
"version": "0.0.29",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "20.19.39",
"ecosystem": "npm"
},
{
"name": "@types/normalize-package-data",
"direct": false,
"version": "2.4.4",
"ecosystem": "npm"
},
{
"name": "@types/tough-cookie",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "@types/yargs",
"direct": false,
"version": "17.0.35",
"ecosystem": "npm"
},
{
"name": "@types/yargs-parser",
"direct": false,
"version": "21.0.3",
"ecosystem": "npm"
},
{
"name": "@types/yauzl",
"direct": false,
"version": "2.10.3",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.57.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.57.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.57.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.57.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.57.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.57.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.57.2",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm-eabi",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-arm64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-x64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-freebsd-x64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-musleabihf",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-ppc64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-s390x-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-wasm32-wasi",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-arm64-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-ia32-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-x64-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "abab",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "7.4.1",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.16.0",
"ecosystem": "npm"
},
{
"name": "acorn-globals",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "acorn-walk",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "angular-html-parser",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "ansi-colors",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "4.1.1",
"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": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "append-transform",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "archy",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "array-buffer-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "array-changes",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "array-changes-async",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "array-find-index",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "array-ify",
"direct": false,
"version": "1.0.0",
"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.findlastindex",
"direct": false,
"version": "1.2.6",
"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": "arraydiff-async",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "arraydiff-papandreou",
"direct": false,
"version": "0.1.1-patch1",
"ecosystem": "npm"
},
{
"name": "arrify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "ast-types",
"direct": false,
"version": "0.13.4",
"ecosystem": "npm"
},
{
"name": "astral-regex",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "astral-regex",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "async-function",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "b4a",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "babel-extract-comments",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "babel-plugin-syntax-object-rest-spread",
"direct": false,
"version": "6.13.0",
"ecosystem": "npm"
},
{
"name": "babel-plugin-transform-object-rest-spread",
"direct": false,
"version": "6.26.0",
"ecosystem": "npm"
},
{
"name": "babel-runtime",
"direct": false,
"version": "6.26.0",
"ecosystem": "npm"
},
{
"name": "babylon",
"direct": false,
"version": "6.18.0",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "bare-events",
"direct": false,
"version": "2.8.2",
"ecosystem": "npm"
},
{
"name": "bare-fs",
"direct": false,
"version": "4.5.6",
"ecosystem": "npm"
},
{
"name": "bare-os",
"direct": false,
"version": "3.8.0",
"ecosystem": "npm"
},
{
"name": "bare-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "bare-stream",
"direct": false,
"version": "2.10.0",
"ecosystem": "npm"
},
{
"name": "bare-url",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.10",
"ecosystem": "npm"
},
{
"name": "basic-ftp",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "better-ajv-errors",
"direct": false,
"version": "0.6.7",
"ecosystem": "npm"
},
{
"name": "bluebird",
"direct": false,
"version": "2.9.34",
"ecosystem": "npm"
},
{
"name": "bluebird",
"direct": false,
"version": "3.7.2",
"ecosystem": "npm"
},
{
"name": "boolbase",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "browser-process-hrtime",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "browser-stdout",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.1",
"ecosystem": "npm"
},
{
"name": "buffer-crc32",
"direct": false,
"version": "0.2.13",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "builtins",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "caching-transform",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsite",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camel-case",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "camelcase-keys",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "caniuse-api",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001781",
"ecosystem": "npm"
},
{
"name": "capitalize",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "chance",
"direct": false,
"version": "1.0.16",
"ecosystem": "npm"
},
{
"name": "chance-generators",
"direct": false,
"version": "3.5.3",
"ecosystem": "npm"
},
{
"name": "character-sets",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "chardet",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "chardet",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "chromium-bidi",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "clean-css",
"direct": false,
"version": "4.2.4",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "cli-width",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cli-width",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "code-error-fragment",
"direct": false,
"version": "0.0.230",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "1.9.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-diff",
"direct": false,
"version": "0.1.7",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "colord",
"direct": false,
"version": "2.9.3",
"ecosystem": "npm"
},
{
"name": "combined-stream",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "combos",
"direct": false,
"version": "0.2.0",
"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": "comment-parser",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "common-path-prefix",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "common-tags",
"direct": false,
"version": "1.8.2",
"ecosystem": "npm"
},
{
"name": "commondir",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "compare-func",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-angular",
"direct": false,
"version": "8.3.1",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-conventionalcommits",
"direct": false,
"version": "9.3.1",
"ecosystem": "npm"
},
{
"name": "conventional-commits-parser",
"direct": false,
"version": "6.4.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": "core-js",
"direct": false,
"version": "2.6.12",
"ecosystem": "npm"
},
{
"name": "core-js",
"direct": false,
"version": "3.49.0",
"ecosystem": "npm"
},
{
"name": "cosmiconfig",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "cosmiconfig-typescript-loader",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "counteraction",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "createerror",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "createerror",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "createerror",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "6.0.6",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "css-declaration-sorter",
"direct": false,
"version": "6.4.1",
"ecosystem": "npm"
},
{
"name": "css-font-parser-papandreou",
"direct": false,
"version": "0.2.3-patch1",
"ecosystem": "npm"
},
{
"name": "css-generators",
"direct": false,
"version": "0.2.3",
"ecosystem": "npm"
},
{
"name": "css-generators",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "css-syntax-parser",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "css-tree",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "css-unit-converter",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "css-what",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cssnano",
"direct": false,
"version": "5.1.15",
"ecosystem": "npm"
},
{
"name": "cssnano-preset-default",
"direct": false,
"version": "5.2.14",
"ecosystem": "npm"
},
{
"name": "cssnano-utils",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "csso",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "cssom",
"direct": false,
"version": "0.3.8",
"ecosystem": "npm"
},
{
"name": "cssom",
"direct": false,
"version": "0.4.4",
"ecosystem": "npm"
},
{
"name": "cssstyle",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "cssstyle",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "currently-unhandled",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "d",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-uri-to-buffer",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "2.0.0",
"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": "3.2.7",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "decamelize-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "decimal.js",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "deep-equal",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "deepmerge",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "default-require-extensions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "define-properties",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "defined",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "degenerator",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "des.js",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "detect-indent",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "detect-indent",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "devtools-protocol",
"direct": false,
"version": "0.0.1581282",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "diff-match-patch",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "dnserrors",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "domelementtype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "domexception",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "domspace",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "dot-prop",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.322",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.20.1",
"ecosystem": "npm"
},
{
"name": "enquirer",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "es-abstract",
"direct": false,
"version": "1.24.1",
"ecosystem": "npm"
},
{
"name": "es-abstract",
"direct": false,
"version": "1.24.2",
"ecosystem": "npm"
},
{
"name": "es-abstract-get",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-iterator-helpers",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es-shim-unscopables",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "es-to-primitive",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-to-primitive",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "es-toolkit",
"direct": false,
"version": "1.47.0",
"ecosystem": "npm"
},
{
"name": "es5-ext",
"direct": false,
"version": "0.10.64",
"ecosystem": "npm"
},
{
"name": "es6-error",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "es6-iterator",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "es6-set",
"direct": false,
"version": "0.1.6",
"ecosystem": "npm"
},
{
"name": "es6-symbol",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "esanimate",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "escodegen",
"direct": false,
"version": "1.14.3",
"ecosystem": "npm"
},
{
"name": "escodegen",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "6.8.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "7.32.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "eslint-compat-utils",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "10.1.8",
"ecosystem": "npm"
},
{
"name": "eslint-import-context",
"direct": false,
"version": "0.1.9",
"ecosystem": "npm"
},
{
"name": "eslint-import-resolver-node",
"direct": false,
"version": "0.3.9",
"ecosystem": "npm"
},
{
"name": "eslint-import-resolver-typescript",
"direct": false,
"version": "3.10.1",
"ecosystem": "npm"
},
{
"name": "eslint-module-utils",
"direct": false,
"version": "2.14.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-es",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-es-x",
"direct": false,
"version": "7.8.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-import",
"direct": false,
"version": "2.32.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-import-x",
"direct": false,
"version": "4.16.2",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-mocha",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-n",
"direct": false,
"version": "15.7.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-n",
"direct": false,
"version": "17.24.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-promise",
"direct": false,
"version": "7.2.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react",
"direct": false,
"version": "7.37.5",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-regexp",
"direct": false,
"version": "3.1.0",
"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-utils",
"direct": false,
"version": "1.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-utils",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-utils",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "2.1.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": "esniff",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "7.3.1",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "espurify",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse-fb",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "event-emitter",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "events-universal",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "ext",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "external-editor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "extract-zip",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-fifo",
"direct": false,
"version": "1.3.2",
"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-string-truncated-width",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "fast-string-width",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "fast-wrap-ansi",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "fd-slicer",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "fill-keys",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "find-cache-dir",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "3.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": "flat",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "2.0.1",
"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": "2.0.2",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "font-family-papandreou",
"direct": false,
"version": "0.2.0-patch2",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "fromentries",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "function.prototype.name",
"direct": false,
"version": "1.1.8",
"ecosystem": "npm"
},
{
"name": "function.prototype.name",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "functional-red-black-tree",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "functions-have-names",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "gather-stream",
"direct": false,
"version": "1.0.0",
"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-own-enumerable-property-symbols",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "get-package-type",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stdin",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "get-symbol-description",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "4.13.7",
"ecosystem": "npm"
},
{
"name": "get-uri",
"direct": false,
"version": "6.0.5",
"ecosystem": "npm"
},
{
"name": "gettemporaryfilepath",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "git-raw-commits",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "global-directory",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "12.4.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "13.24.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "15.15.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "16.5.0",
"ecosystem": "npm"
},
{
"name": "globalthis",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "globrex",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "grapheme-splitter",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "greedy-interval-packer",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-bigints",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-proto",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hasha",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "html-generators",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "html-minifier",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "html-validate",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "html-validate",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "html-validate",
"direct": false,
"version": "8.11.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "httpception",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "httperrors",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "httperrors",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.24",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.5",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "imageinfo",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "3.2.0",
"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": "6.0.0",
"ecosystem": "npm"
},
{
"name": "inquirer",
"direct": false,
"version": "7.3.3",
"ecosystem": "npm"
},
{
"name": "internal-slot",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "ip-address",
"direct": false,
"version": "10.1.0",
"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-bun-module",
"direct": false,
"version": "2.0.0",
"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-core-module",
"direct": false,
"version": "2.16.2",
"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-document.all",
"direct": false,
"version": "1.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-finite",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-generator-function",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-map",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-negative-zero",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-number-object",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-obj",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-obj",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-object",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-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-regex",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-regexp",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-set",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-shared-array-buffer",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "is-string",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-symbol",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-typed-array",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "is-typedarray",
"direct": false,
"version": "1.0.0",
"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-windows",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "iso-639-1",
"direct": false,
"version": "2.1.15",
"ecosystem": "npm"
},
{
"name": "iso-639-1",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-hook",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-processinfo",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-source-maps",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "iterator.prototype",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "js-md4",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "jsdoc-type-pratt-parser",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-merge-patch",
"direct": false,
"version": "0.2.3",
"ecosystem": "npm"
},
{
"name": "json-merge-patch",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "json-parse-better-errors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "json-rpc-2.0",
"direct": false,
"version": "1.7.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": "json-to-ast",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "jsonpointer",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "jsx-ast-utils",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "just-extend",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "kleur",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "kleur",
"direct": false,
"version": "4.1.5",
"ecosystem": "npm"
},
{
"name": "leven",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lilconfig",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "load-json-file",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"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": "lodash",
"direct": false,
"version": "4.17.23",
"ecosystem": "npm"
},
{
"name": "lodash._reinterpolate",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "lodash.assign",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "lodash.clone",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "lodash.defaults",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "lodash.flattendeep",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "lodash.groupby",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "lodash.memoize",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.omit",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "lodash.sortby",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "lodash.template",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "lodash.templatesettings",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "lodash.truncate",
"direct": false,
"version": "4.4.2",
"ecosystem": "npm"
},
{
"name": "lodash.uniq",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "log-symbols",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "loud-rejection",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "lower-case",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.3.5",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "7.18.3",
"ecosystem": "npm"
},
{
"name": "magicpen",
"direct": false,
"version": "6.2.4",
"ecosystem": "npm"
},
{
"name": "magicpen-media",
"direct": false,
"version": "1.5.2",
"ecosystem": "npm"
},
{
"name": "magicpen-media",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "magicpen-prism",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "markdown-escape",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.0.14",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.0.29",
"ecosystem": "npm"
},
{
"name": "mdn-data-papandreou",
"direct": false,
"version": "2.0.10-patch1",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "13.2.0",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "messy",
"direct": false,
"version": "6.17.0",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "2.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-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "minimalistic-assert",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.4",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minimist-options",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mitm-papandreou",
"direct": false,
"version": "1.7.0-patch1",
"ecosystem": "npm"
},
{
"name": "mitt",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "0.5.6",
"ecosystem": "npm"
},
{
"name": "mocha",
"direct": false,
"version": "11.7.5",
"ecosystem": "npm"
},
{
"name": "module-not-found-error",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mutation-server-protocol",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "mutation-testing-elements",
"direct": false,
"version": "3.7.3",
"ecosystem": "npm"
},
{
"name": "mutation-testing-metrics",
"direct": false,
"version": "3.7.3",
"ecosystem": "npm"
},
{
"name": "mutation-testing-report-schema",
"direct": false,
"version": "3.7.3",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "0.0.8",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.16",
"ecosystem": "npm"
},
{
"name": "napi-postinstall",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "neostandard",
"direct": false,
"version": "0.12.2",
"ecosystem": "npm"
},
{
"name": "netmask",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "next-tick",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "nice-try",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "nise",
"direct": false,
"version": "6.1.4",
"ecosystem": "npm"
},
{
"name": "no-case",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "node-exports-info",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "node-preload",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.36",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "normalize-url",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "normalizeurl",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "nth-check",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "nwsapi",
"direct": false,
"version": "2.2.23",
"ecosystem": "npm"
},
{
"name": "nyc",
"direct": false,
"version": "15.1.0",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "object-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.groupby",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "object.values",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "offline-github-changelog",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.8.3",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "os-tmpdir",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "own-keys",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "own-keys",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "1.3.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-locate",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "3.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-map",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "pac-proxy-agent",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "pac-resolver",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "package-hash",
"direct": false,
"version": "4.0.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": "2.1.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse-ms",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "passerror",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "pegjs",
"direct": false,
"version": "0.10.0",
"ecosystem": "npm"
},
{
"name": "pend",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "peowly",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "perfectionist-dfd",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "pkg-up",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-calc",
"direct": false,
"version": "8.2.4",
"ecosystem": "npm"
},
{
"name": "postcss-colormin",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "postcss-convert-values",
"direct": false,
"version": "5.1.3",
"ecosystem": "npm"
},
{
"name": "postcss-discard-comments",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "postcss-discard-duplicates",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-discard-empty",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-discard-overridden",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-merge-longhand",
"direct": false,
"version": "5.1.7",
"ecosystem": "npm"
},
{
"name": "postcss-merge-rules",
"direct": false,
"version": "5.1.4",
"ecosystem": "npm"
},
{
"name": "postcss-minify-font-values",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-minify-gradients",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-minify-params",
"direct": false,
"version": "5.1.4",
"ecosystem": "npm"
},
{
"name": "postcss-minify-selectors",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-charset",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-display-values",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-positions",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-repeat-style",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-string",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-timing-functions",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-unicode",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-url",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-whitespace",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-ordered-values",
"direct": false,
"version": "5.1.3",
"ecosystem": "npm"
},
{
"name": "postcss-reduce-initial",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "postcss-reduce-transforms",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-scss",
"direct": false,
"version": "4.0.9",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "postcss-svgo",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-unique-selectors",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.8.1",
"ecosystem": "npm"
},
{
"name": "pretty-ms",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "prismjs",
"direct": false,
"version": "1.30.0",
"ecosystem": "npm"
},
{
"name": "process-on-spawn",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "progress",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "prompts",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": false,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "proxy-agent",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "proxy-from-env",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "proxyquire",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "psl",
"direct": false,
"version": "1.15.0",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "puppeteer",
"direct": false,
"version": "24.40.0",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.1",
"ecosystem": "npm"
},
{
"name": "querystringify",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "quoted-printable",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "rambda",
"direct": false,
"version": "7.5.0",
"ecosystem": "npm"
},
{
"name": "randombytes",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "read-file-stdin",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "read-pkg-up",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "read-pkg-up",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "redent",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "reduce-css-calc",
"direct": false,
"version": "2.1.8",
"ecosystem": "npm"
},
{
"name": "refa",
"direct": false,
"version": "0.12.1",
"ecosystem": "npm"
},
{
"name": "reflect.getprototypeof",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "regenerator-runtime",
"direct": false,
"version": "0.11.1",
"ecosystem": "npm"
},
{
"name": "regexp-ast-analysis",
"direct": false,
"version": "0.7.1",
"ecosystem": "npm"
},
{
"name": "regexp.prototype.flags",
"direct": false,
"version": "1.5.4",
"ecosystem": "npm"
},
{
"name": "regexpp",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "regexpp",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "relateurl",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "release-zalgo",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "repeat-string",
"direct": false,
"version": "1.6.1",
"ecosystem": "npm"
},
{
"name": "repeating",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "require-main-filename",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "requires-port",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "resemblejs",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.11",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "2.0.0-next.6",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "rfc2047",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "rfc2231",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "2.6.3",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "6.1.3",
"ecosystem": "npm"
},
{
"name": "rrweb-cssom",
"direct": false,
"version": "0.7.1",
"ecosystem": "npm"
},
{
"name": "rrweb-cssom",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "run-async",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "6.6.7",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "7.8.2",
"ecosystem": "npm"
},
{
"name": "safe-array-concat",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "safe-array-concat",
"direct": false,
"version": "1.1.4",
"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": "sax",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "schemes",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "scslre",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.4",
"ecosystem": "npm"
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "set-blocking",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "set-function-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "set-proto",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "1.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": "sift",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sinon",
"direct": false,
"version": "19.0.5",
"ecosystem": "npm"
},
{
"name": "sisteransi",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "smart-buffer",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "socketerrors",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "socks",
"direct": false,
"version": "2.8.7",
"ecosystem": "npm"
},
{
"name": "socks-proxy-agent",
"direct": false,
"version": "8.0.5",
"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": "spawn-wrap",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-correct",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.23",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "stable",
"direct": false,
"version": "0.1.8",
"ecosystem": "npm"
},
{
"name": "stable-hash",
"direct": false,
"version": "0.0.5",
"ecosystem": "npm"
},
{
"name": "stable-hash-x",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "stop-iteration-iterator",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "streamx",
"direct": false,
"version": "2.25.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "3.1.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.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.trim",
"direct": false,
"version": "1.2.11",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimend",
"direct": false,
"version": "1.0.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": "stringify-object",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "5.2.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-bom",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-comments",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-indent",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "stylehacks",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "subset-font",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "svgo",
"direct": false,
"version": "2.8.2",
"ecosystem": "npm"
},
{
"name": "symbol-tree",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "table",
"direct": false,
"version": "5.4.6",
"ecosystem": "npm"
},
{
"name": "table",
"direct": false,
"version": "6.9.0",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "tar-fs",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "tar-stream",
"direct": false,
"version": "3.1.8",
"ecosystem": "npm"
},
{
"name": "teepee",
"direct": false,
"version": "2.31.2",
"ecosystem": "npm"
},
{
"name": "teex",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "terser",
"direct": false,
"version": "5.46.1",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "text-decoder",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "text-table",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "through",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.15",
"ecosystem": "npm"
},
{
"name": "tldts",
"direct": false,
"version": "6.1.86",
"ecosystem": "npm"
},
{
"name": "tldts-core",
"direct": false,
"version": "6.1.86",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.0.33",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "4.1.4",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "trim-newlines",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "truncate-utf8-bytes",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-declaration-location",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "tsconfig-paths",
"direct": false,
"version": "3.15.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tunnel",
"direct": false,
"version": "0.0.6",
"ecosystem": "npm"
},
{
"name": "type",
"direct": false,
"version": "2.7.3",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.20.2",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.21.3",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.5.2",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "typed-array-buffer",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-length",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-offset",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "typed-array-length",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "typed-array-length",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "typed-inject",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "typed-query-selector",
"direct": false,
"version": "2.12.1",
"ecosystem": "npm"
},
{
"name": "typed-rest-client",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "typedarray-to-buffer",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.59.0",
"ecosystem": "npm"
},
{
"name": "uglify-js",
"direct": false,
"version": "3.19.3",
"ecosystem": "npm"
},
{
"name": "ukkonen",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "unbox-primitive",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "underscore",
"direct": false,
"version": "1.13.8",
"ecosystem": "npm"
},
{
"name": "underscore",
"direct": false,
"version": "1.5.2",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.25.0",
"ecosystem": "npm"
},
{
"name": "unexpected",
"direct": false,
"version": "11.15.1",
"ecosystem": "npm"
},
{
"name": "unexpected-bluebird",
"direct": false,
"version": "2.9.34-longstack2",
"ecosystem": "npm"
},
{
"name": "unexpected-check",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "unexpected-messy",
"direct": false,
"version": "8.2.1",
"ecosystem": "npm"
},
{
"name": "unexpected-mitm",
"direct": false,
"version": "12.4.0",
"ecosystem": "npm"
},
{
"name": "unexpected-resemble",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "unexpected-set",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unexpected-sinon",
"direct": false,
"version": "10.11.2",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "unrs-resolver",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "upper-case",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "urijs",
"direct": false,
"version": "1.19.11",
"ecosystem": "npm"
},
{
"name": "url-parse",
"direct": false,
"version": "1.5.10",
"ecosystem": "npm"
},
{
"name": "utf8",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "utf8-byte-length",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "8.3.2",
"ecosystem": "npm"
},
{
"name": "v8-compile-cache",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-license",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "w3c-hr-time",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "wawoff2",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "weapon-regex",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "webdriver-bidi-protocol",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "14.2.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "8.7.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "1.3.1",
"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-module",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.20",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.22",
"ecosystem": "npm"
},
{
"name": "woff2sfnt-sfnt2woff",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "workbox-background-sync",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-broadcast-update",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-build",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-cacheable-response",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-core",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-expiration",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-google-analytics",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-navigation-preload",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-precaching",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-range-requests",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-routing",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-strategies",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-streams",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-sw",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "workbox-window",
"direct": false,
"version": "4.3.1",
"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": "write",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "write-file-stdout",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "7.5.10",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "3.0.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": "y18n",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "1.10.3",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "18.1.3",
"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": "yauzl",
"direct": false,
"version": "2.10.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "yoctocolors",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "3.25.76",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 1228,
"direct_count": 31,
"indirect_count": 1197
}
},
"maintainership": {
"issues": {
"open_prs": 2,
"merged_prs": 149,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 20
},
"bus_factor": 2,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "papandreou",
"commits": 612,
"avatar_url": "https://avatars.githubusercontent.com/u/373545?v=4"
},
{
"type": "User",
"login": "claude",
"commits": 459,
"avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
},
{
"type": "User",
"login": "alexander-turner",
"commits": 158,
"avatar_url": "https://avatars.githubusercontent.com/u/3458070?v=4"
},
{
"type": "User",
"login": "Munter",
"commits": 108,
"avatar_url": "https://avatars.githubusercontent.com/u/331790?v=4"
},
{
"type": "User",
"login": "palindrom615",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/10936496?v=4"
},
{
"type": "User",
"login": "JesseFarebro",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/1377567?v=4"
},
{
"type": "User",
"login": "bjrn",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/151166?v=4"
},
{
"type": "User",
"login": "AlanBreck",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/1199820?v=4"
},
{
"type": "User",
"login": "nlemoine",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/2526939?v=4"
},
{
"type": "User",
"login": "peterbe",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/26739?v=4"
}
],
"contributors_sampled": 12,
"top_contributor_share": 0.454
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"auto-version.yml",
"build-publish-notify.yaml",
"ci.yml",
"claude.yaml",
"dependabot-auto-merge.yaml",
"phone-home.yaml",
"security-vulnerability-scan.yaml",
"template-sync.yaml"
],
"has_docs_dir": false,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": true,
"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": 3,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "13 out of 13 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/12 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 7 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 8,
"reason": "dependency not pinned by hash detected -- score normalized to 8",
"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": "45 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "bd18ac39f6c14ce7eac7b79239b800f3e56b9cca",
"ran_at": "2026-07-30T06:39:07Z",
"aggregate_score": 5,
"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-29T19:55:53Z",
"oldest_open_prs": [
{
"number": 169,
"created_at": "2026-07-22T11:05:36Z",
"last_comment_at": "2026-07-29T11:22:51Z",
"last_comment_author": "github-actions"
},
{
"number": 171,
"created_at": "2026-07-29T19:56:09Z",
"last_comment_at": "2026-07-29T19:56:26Z",
"last_comment_author": "github-actions"
}
],
"last_merged_pr_at": "2026-07-29T19:54:47Z",
"ci_last_conclusion": "FAILURE",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/AlexanderMattTurner/subfont",
"host": "github.com",
"name": "subfont",
"owner": "AlexanderMattTurner"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"security": 54,
"vitality": 82,
"community": 24,
"governance": 65,
"engineering": 54
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 82,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"commits_last_year": 643,
"human_commit_share": 0.98,
"days_since_last_push": 0,
"active_weeks_last_year": 21
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "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": "643 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 643
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 88,
"inputs": {
"releases_count": 52,
"latest_release_tag": "v1.11.7",
"releases_from_tags": true,
"days_since_latest_release": 8,
"mean_days_between_releases": 6.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "52 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 52
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 8 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 8
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~6.7 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 6.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "repository_too_young",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "critical",
"name": "Community & Adoption",
"value": 24,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 0,
"stars": 2,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "2 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 2
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "0 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 0
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": false,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "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": 59,
"inputs": {
"packages": [
"@turntrout/subfont"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 3296
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "3,296 downloads/month across npm",
"points": 46.9,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 3296,
"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": 65,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 12,
"top_contributor_share": 0.454
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 45% of commits",
"points": 12.3,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 45
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "12 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 12
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 7 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 63,
"inputs": {
"merged_prs": 149,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 20
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "149/169 decided PRs merged",
"points": 33.7,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 149,
"decided": 169
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/12 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 44,
"inputs": {
"followers": 4,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "AlexanderMattTurner",
"public_repos": 13,
"account_age_days": 58
},
"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": "4 followers of AlexanderMattTurner",
"points": 5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 4,
"login": "AlexanderMattTurner"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "13 public repos, account ~0 yr old",
"points": 8.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 13
}
},
{
"code": "account_age_years",
"params": {
"years": 0
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@turntrout/subfont"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 8
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 8 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 8
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "54 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 54
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 54,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "8 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 8
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "critical",
"name": "Documentation",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": null,
"has_readme": false,
"has_docs_dir": false,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 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": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 54,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 50,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 5
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "13 out of 13 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/12 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 7 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow 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 8",
"points": 4,
"status": "partial",
"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": "45 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "moderate",
"name": "Dependency advisories",
"note": "Matched the npm:@turntrout/subfont@1.11.7 runtime dependency closure — what installing the published package pulls in — 530 packages. Reachability is not analyzed.",
"notes": [
{
"code": "advisories_scope_published",
"params": {
"package": "npm:@turntrout/subfont@1.11.7",
"assessed": 530
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 69,
"inputs": {
"source": "osv",
"advisories": 5,
"affected_packages": 4,
"assessed_packages": 530,
"unassessed_packages": 0,
"affected_by_severity": "high 3, low 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "4 affected: brace-expansion 1.1.16 (high 7.5), form-data 2.1.4 (high 7.5), html-minifier 4.0.0 (high 7.5), +1 more",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 4,
"packages": "brace-expansion 1.1.16 (high 7.5), form-data 2.1.4 (high 7.5), html-minifier 4.0.0 (high 7.5)"
}
},
{
"code": "advisories_affected_more",
"params": {
"count": 1
}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "3 advisory-carrying package(s) unaddressed past 90 days; oldest published 1367 days ago",
"points": 27.4,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 3,
"oldest": 1367
}
}
],
"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": 530,
"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": 16
},
"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": 82,
"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.98,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 5753
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "CLAUDE.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": "96 of 98 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 96,
"sampled": 98
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 80,
"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": [
"tsconfig.json"
],
"agent_commit_share": 0.22,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.02
},
"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": "tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "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": "22 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 22,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "2 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 2,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 8",
"points": 8,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "good",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"primary_language": "JavaScript",
"largest_source_bytes": 81339,
"source_files_sampled": 116,
"oversized_source_files": 2
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "JavaScript with type-check config (tsconfig.json)",
"points": 27,
"status": "partial",
"details": [
{
"code": "typecheck_config_language",
"params": {
"files": "tsconfig.json",
"language": "JavaScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "2/116 source files over 60KB",
"points": 54.1,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 116,
"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",
"Community profile unavailable"
],
"report_type": "repository",
"generated_at": "2026-07-30T06:39:28.270798Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/AlexanderMattTurner/subfont.svg",
"full_name": "AlexanderMattTurner/subfont",
"license_state": "standard",
"license_spdx": "MIT"
}