JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 1166,
"has_wiki": true,
"homepage": null,
"languages": {
"JavaScript": 17904
},
"pushed_at": "2026-07-21T14:07:24Z",
"created_at": "2014-04-24T13:47:48Z",
"owner_type": "Organization",
"updated_at": "2026-07-21T14:08:49Z",
"description": "Augmented http.Server, HTTP/HTTPS and multiple ports on the same instance",
"is_archived": false,
"is_disabled": false,
"license_spdx": "ISC",
"default_branch": "master",
"license_spdx_raw": "ISC",
"primary_language": "JavaScript",
"significant_languages": [
"JavaScript"
]
},
"owner": {
"blog": "http://jscommunity.github.io/",
"name": null,
"type": "Organization",
"login": "JsCommunity",
"company": null,
"location": null,
"followers": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/18125369?v=4",
"created_at": "2016-03-28T19:50:28Z",
"is_verified": null,
"public_repos": 33,
"account_age_days": 3775
},
"license": {
"state": "standard",
"spdx_id": "ISC",
"raw_spdx": "ISC",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2026-07-21T14:07:09Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2023-01-11T10:45:02Z"
},
{
"tag": "v0.12.0",
"kind": "minor",
"published_at": "2022-08-09T16:04:40Z"
},
{
"tag": "v0.11.1",
"kind": "patch",
"published_at": "2022-05-29T18:22:26Z"
},
{
"tag": "v0.11.0",
"kind": "minor",
"published_at": "2019-11-26T14:38:13Z"
},
{
"tag": "v0.10.0",
"kind": "minor",
"published_at": "2018-03-27T22:05:08Z"
},
{
"tag": "v0.9.0",
"kind": "minor",
"published_at": "2018-03-13T09:23:32Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2016-11-18T13:20:10Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2016-09-26T23:05:25Z"
},
{
"tag": "v0.6.4",
"kind": "patch",
"published_at": "2016-01-23T11:15:26Z"
},
{
"tag": "v0.6.3",
"kind": "patch",
"published_at": "2016-01-23T11:12:14Z"
},
{
"tag": "v0.6.2",
"kind": "patch",
"published_at": "2016-01-22T23:02:00Z"
},
{
"tag": "v0.6.1",
"kind": "patch",
"published_at": "2016-01-20T12:34:28Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2016-01-20T12:32:15Z"
},
{
"tag": "v0.5.3",
"kind": "patch",
"published_at": "2015-07-16T10:02:32Z"
},
{
"tag": "v0.5.2",
"kind": "patch",
"published_at": "2015-04-22T11:46:48Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2015-03-06T10:55:44Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2015-02-12T10:21:35Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2015-01-27T16:18:36Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2015-01-27T16:10:07Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2014-09-15T13:57:17Z"
},
{
"tag": "v0.2.3",
"kind": "patch",
"published_at": "2014-06-09T13:31:54Z"
},
{
"tag": "v0.2.2",
"kind": "patch",
"published_at": "2014-05-29T13:02:26Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2014-05-22T16:24:32Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2014-05-22T15:57:29Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2014-05-18T22:17:48Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2014-04-24T15:30:03Z"
}
],
"recent_commits": [
{
"oid": "04c8ef8518646278e71df8c24a255e41da46a90b",
"body": null,
"is_bot": false,
"headline": "1.0.1",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T14:07:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f3cf7fc1f2a52130970cbcda23c7089de9c665b",
"body": null,
"is_bot": false,
"headline": "docs: update changelog for 1.0.1",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T14:06:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9ed95ae94ad0b3d3417b1c54ab47a2a6906b4b2",
"body": null,
"is_bot": false,
"headline": "docs: add CHANGELOG.md",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T14:06:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "faa5ba658dd5c05d74d59780ec604f07765ef215",
"body": "- `.listen()` used to call `server.listen(port, hostname)` /\n `server.listen(socket)`, dropping anything else the caller put in\n `opts` (e.g. `backlog`, `exclusive`, `ipv6Only`). A native\n `http.Server#listen()` accepts those through its options object, so\n switch to always calling `server.liste\n[…]\nf()`/`.unref()` returned `undefined` instead of the instance,\n unlike native `server.ref()`/`.unref()` which return the server for\n chaining.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: pass listen options through, return `this` from ref()/unref()",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T14:00:21Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "62a452a1ad0a5b7bba8a5023591fe3a1f5aa52f4",
"body": "Neither package.json's description nor the README ever spelled out\nwhy this library exists: it's meant to be a drop-in `http.Server`\nreplacement that can listen on multiple ports/sockets and mix HTTP,\nHTTPS and HTTP/2 on one instance. Make that explicit up front.\n\nAlso add an API section covering `.\n[…]\ns `.address()`, promise-returning `.listen()`/\n`.close()`, and the split between listen-time promise rejection vs.\npost-listen `error` events).\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: state the library's purpose clearly, document the full API",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:54:36Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4a1c4f8e160a4d408288086dca1f112660a42bc1",
"body": "The design intent of this library is to behave exactly like a native\n`http.Server`, just able to listen on multiple ports/protocols at\nonce. Native servers emit `error` for failures happening once\nlistening (and Node throws if nothing handles it), but this library\nsilently dropped such errors: the u\n[…]\no would signal the same failure twice, and would make a\n`.listen().catch(...)` alone insufficient to avoid an unhandled\n`error` event throwing.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: forward errors happening after a server started listening",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:54:16Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b8d67f05a6e2338e1d94941c529be9a23844287b",
"body": "v4 of both actions still targets a Node runtime GitHub is\ndeprecating, which showed up as a warning annotation on the previous\nrun even though the jobs themselves passed.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: bump actions/checkout and actions/setup-node to v7",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:41:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "f394489e80ad3a422a5e0f174a379148c99928e4",
"body": "tap@21 requires Node \"20 || >=22\" (it depends on uuid's v4()\nimplementation, which reads the global `crypto` that isn't available\nwithout an explicit import on Node 18) - the 18.x job in the first\nCI run failed on `npm test` with \"ReferenceError: crypto is not\ndefined\", not on anything related to this package's own code.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: drop Node 18.x from the test matrix",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:39:35Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "2d892195a187079feb581ec30bd92eed6feef54f",
"body": "- Replace the dead Travis badge with a GitHub Actions one.\n- Drop the `bluebird` import in the first example in favor of native\n `Promise.all`; also fix a missing comma that made that snippet a\n syntax error.\n- Fix a `niceAdresses` typo in the async/await example.\n- Drop the \"Node < 8 needs spdy\" \n[…]\nported consumer needs it.\n- Add the ISC LICENSE file referenced by package.json and the\n README footer but never actually present in the repo.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: fix README examples, add missing LICENSE",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:36:44Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c5357056167c3f510531a88d9e44b6bec9ee7800",
"body": "Travis's free OSS tier has been effectively dead for years, so this\nCI almost certainly hasn't run in a long time. Test on Node\n18/20/22/lts.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: replace Travis CI with GitHub Actions",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:36:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "308681f40ca6ab0ddc069bc9e934300ca228c0c4",
"body": "- Bump eslint, eslint-config-prettier, eslint-plugin-import, prettier,\n tap, and tcp-bind to their latest versions. eslint itself stays on\n the 8.x line and eslint-plugin-n/eslint-plugin-promise stay just\n behind latest, since eslint-config-standard@17 still pins its peer\n deps to ESLint 8 and t\n[…]\nthe `.tap/`/`.nyc_output/` directories tap/nyc generate\n when running tests.\n\n`npm audit`: 24 vulnerabilities (all transitive, dev-only) -> 0.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: update dev dependencies, migrate husky to v9, fix engines field",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:36:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6e5bed1906791768fe943444159c3ac92e757a0a",
"body": "tap dropped the mocha-compat `describe`/`it` shim in v18, so the spec\nnow uses tap's native `t.test()`/`t.skip()`. Along the way, replace\nalmost every `it.todo`/`it.skip` placeholder with real assertions\nagainst actual sockets/servers: listen() over host:port, unix socket,\nand HTTPS (via an injected\n[…]\nhe `.niceAddresses()`\ntest block, which referenced a method that was never implemented in\nindex.js.\n\nStatement coverage goes from ~29% to ~84%.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "test: rewrite spec for tap's current API, cover listen/close/addresses",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:36:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c7f484d15e48d11782c83d966df0d0c232ecbf3f",
"body": "`Server#close()` resolved immediately via `Promise.resolve()` when\nthere were no registered servers, instead of waiting for the `close`\nevent it schedules via `setImmediate`, unlike the has-servers branch\nwhich correctly awaits it through `fromEvent`. Callers could not rely\non the returned promise to mean the server was actually closed.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: wait for the `close` event even when no server is listening",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2026-07-21T13:35:14Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "15dcd420e4807dd6e1dccad0609a2aef795ed9bd",
"body": null,
"is_bot": false,
"headline": "1.0.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2023-01-11T10:45:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "104a66bc812b589eea9f085666b31017cf912b62",
"body": "This is a breaking change because invalid options will now throw.",
"is_bot": false,
"headline": "fix: pass options to http.createServer",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2023-01-11T10:42:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d26bd4ca4473a183decc3320607c7eb4e6b30887",
"body": null,
"is_bot": false,
"headline": "chore: update dev deps",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2023-01-10T17:28:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d9bf740a6ff51b9f5f46fb76873cf1e814cef9a1",
"body": null,
"is_bot": false,
"headline": "0.12.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-08-09T16:04:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "749909395d33b4f4acdf2dea00909c65fe6517a1",
"body": null,
"is_bot": false,
"headline": "chore: update dev deps",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-08-09T16:04:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9436dffb60bb3eb2c320ab7bbca4b8e585dd6b2e",
"body": null,
"is_bot": false,
"headline": "chore: update dev deps",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-06-15T08:10:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e180a70e4a59d412ce841de6dbbcd2a073c12e58",
"body": null,
"is_bot": false,
"headline": "feat: listen on both IPv4 and IPv6 for localhost",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-06-15T08:08:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eaf45f4de576b95c8663ae1d4187f894425f1819",
"body": null,
"is_bot": false,
"headline": "feat: default ports for HTTP and HTTPs",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-06-15T08:06:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2bb9ef860b7ce3c203a7129ec6f37cf47d3e8760",
"body": null,
"is_bot": false,
"headline": "0.11.1",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-05-29T18:22:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d91473b4b5976b650e6255bd69efd0915cdaf71",
"body": null,
"is_bot": false,
"headline": "feat: forward checkExpectation event",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-05-29T18:19:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e832a72ddc4954297c911de9b3c2cc01eedac6ca",
"body": "Some events (e.g. `checkContinue`) are treated specially and we should not blindly add forward listeners to all events.\n\nInstead, the list of listeners for forwarded events is kept synchronised between the wrapper and all servers.",
"is_bot": false,
"headline": "fix: special events handling",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-05-29T18:17:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fc50545dfd26d4c24e3b460a4bb8c224b189dcf",
"body": null,
"is_bot": false,
"headline": "chore: remove lodash dep",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-04-22T10:57:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c3b512c2dd1cba68aec6c607024cacda95be430",
"body": null,
"is_bot": false,
"headline": "test: use tap instead of Jest",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-04-22T10:22:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57dbf2ae7195055b6f2fde9d211c9b818c85b3bd",
"body": null,
"is_bot": false,
"headline": "chore: update dev deps",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-04-22T10:02:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90bd8b0ed0fbcab06326d3859dedebc0a26c4128",
"body": null,
"is_bot": false,
"headline": "chore: update deps",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2022-04-19T13:03:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c599829a03e0f296d819c8fc2e8d7da5564e3ed7",
"body": null,
"is_bot": false,
"headline": "chore: event-to-promise → promise-toolbox/fromEvent",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2021-05-25T12:36:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3779026a9d9d12870bbd1021902aada5bdf7502",
"body": null,
"is_bot": false,
"headline": "fix: don't publish .* files",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2021-05-25T12:33:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21259debdec40a656e9d80365eec5febc927fa1b",
"body": null,
"is_bot": false,
"headline": "chore: update dependencies",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2021-05-25T12:33:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "22dfa223fef33bdb08357ed2b5c48aad723a3f21",
"body": null,
"is_bot": false,
"headline": "chore: update dev deps",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2021-02-02T08:40:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5455bd6904e1dea9a6e12b026a72542c4b7102b",
"body": null,
"is_bot": false,
"headline": "chore(package): ignore /coverage/",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2019-11-26T14:40:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6afac937b88f7ee82ef184caa8c6ecd1a4ff1bd4",
"body": null,
"is_bot": false,
"headline": "0.11.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2019-11-26T14:38:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9ed6ce82075a44b0c26bcdd8663f93b64fc0e73",
"body": null,
"is_bot": false,
"headline": "feat(README): better badges",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2019-11-26T14:36:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f2b11303eb474c523832e64c3898b53d5eeba93",
"body": null,
"is_bot": false,
"headline": "chore: use `Array#forEach` and `lodash/forOwn`",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2019-11-26T14:35:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e30ef0a10af85ea538f952d9aa2a159bd81d7d9",
"body": null,
"is_bot": false,
"headline": "fix(Server#{ref,unref}): proper iteration",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2019-11-26T14:34:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82aa916086cf43985aa2d3eddd3240bc90e9c0aa",
"body": null,
"is_bot": false,
"headline": "feat(Travis): test on latest stable, LTS and Node 8",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2019-11-26T14:26:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "beadd826e8811e7fb31bfaa63bf88aedd2de1022",
"body": null,
"is_bot": false,
"headline": "chore: format with Prettier",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2019-11-26T14:24:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89574346599d2b26109b9b730ad3326b8a98d61f",
"body": null,
"is_bot": false,
"headline": "chore(package): update dependencies",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2019-11-26T14:23:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edb7c72332234f6f7caaee7905051c5e1c198591",
"body": null,
"is_bot": false,
"headline": "0.10.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2018-03-27T22:05:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9f9a6733e1190dce9da402bb751c46aa8cdea42",
"body": null,
"is_bot": false,
"headline": "chore: update dependencies",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2018-03-27T22:00:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e37068e4145d8434f018a673797067757ff53d9e",
"body": null,
"is_bot": false,
"headline": "feat: HTTP2 is opt-in",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2018-03-27T21:59:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34b02d294898df5ebe246860c029ba2a0cb82268",
"body": null,
"is_bot": false,
"headline": "0.9.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2018-03-13T09:23:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da4baa607ecdff1362da437bf40daa438a373d64",
"body": null,
"is_bot": false,
"headline": "fix: run tests correctly",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2018-03-13T09:21:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62d5cc9c578155eac8970fe4ed604c50900e1419",
"body": null,
"is_bot": false,
"headline": "fix: Node 4 compatibility",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2018-03-13T09:21:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "538c9f57ed93a2b25376d1a42faa77348160d8bd",
"body": null,
"is_bot": false,
"headline": "feat: native HTTP2 support for Node >8",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2018-02-18T13:40:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e67d1954de6cebf4871a76485d7ce51134fad349",
"body": null,
"is_bot": false,
"headline": "chore(package): update dependencies",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2018-02-18T12:42:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24cdad5d50827d10c3e05c81a6566f50e6cbd08e",
"body": "https://greenkeeper.io/",
"is_bot": true,
"headline": "fix(package): update event-to-promise to version 0.8.0 (#9)",
"author_name": "greenkeeper[bot]",
"author_login": "greenkeeper[bot]",
"committed_at": "2017-03-01T10:17:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4bb16320ea951b8aff008bf9b89d744623e4779b",
"body": "https://greenkeeper.io/",
"is_bot": true,
"headline": "chore(package): update standard to version 9.0.0 (#8)",
"author_name": "greenkeeper[bot]",
"author_login": "greenkeeper[bot]",
"committed_at": "2017-02-28T23:18:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6698d5bc2443ab0854d908911aa82b48a12118ad",
"body": "https://greenkeeper.io/",
"is_bot": true,
"headline": "chore(package): update jest to version 19.0.0 (#7)",
"author_name": "greenkeeper[bot]",
"author_login": "greenkeeper[bot]",
"committed_at": "2017-02-21T09:52:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c2110078121bb818e067ddde1e69555fe7bb605",
"body": null,
"is_bot": false,
"headline": "chore: add yarn.lock",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2017-01-09T17:07:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a641ad1bf8e10f82e3c35ae7737c5589104052b2",
"body": null,
"is_bot": false,
"headline": "chore(tests): use jest instead of mocha/chai",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2017-01-09T17:05:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "231c3c149691701db3dbb4a2a8c805c2514d9a1f",
"body": null,
"is_bot": false,
"headline": "0.8.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-11-18T13:20:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51af73a28a59cc8de68a3e1f996a938b5233c0d5",
"body": "Fixes #6",
"is_bot": false,
"headline": "feat(listen): support systemdSocket option",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-11-18T13:19:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3820095084e51eb184155fb546ca9f708bb86141",
"body": null,
"is_bot": false,
"headline": "fix(package): fix URLs",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-11-17T17:39:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7db5be6f3f7f20e98800c2647b96db7ab3a9b9a1",
"body": "BREAKING CHANGE: This module no longer supports Node.js 0.10",
"is_bot": false,
"headline": "chore: drop support for Node.js 0.10 (#4)",
"author_name": "Greenkeeper",
"author_login": "greenkeeperio-bot",
"committed_at": "2016-11-01T15:27:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6d889d2853f39cc6a4896e615e99f4b71d7254e",
"body": null,
"is_bot": false,
"headline": "0.7.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-09-26T23:05:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2d18253e1299105c687c38f0c687e31296ba2ba",
"body": null,
"is_bot": false,
"headline": "fix(Server#close): returns promise even when not listening",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-09-26T22:45:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e1a45b671c79cf00227dd217212f4bc2a41f372",
"body": null,
"is_bot": false,
"headline": "feat(Server#close): returns a promise",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-09-26T22:39:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a00b6013afc9d4b0eb31f2437b28aad590a47530",
"body": null,
"is_bot": false,
"headline": "fix(Server#close): execute listener once",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-09-26T22:39:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3bcda2a70474d0c6dbf291bd27b2545b902ff76a",
"body": null,
"is_bot": false,
"headline": "fix(Server#close): this._servers is not an array",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-09-26T22:36:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc059fbbae82c63de871409008d460ef6b5f7fbe",
"body": null,
"is_bot": false,
"headline": "chore(package): use full lodash package",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-09-20T15:42:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7143ccb064af07c9af4453471f5fa95edb9f845f",
"body": null,
"is_bot": false,
"headline": "chore(package): update standard to version 8.1.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-09-20T15:40:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de4101829010399f06ac9909dad478fc2ce0fc72",
"body": null,
"is_bot": false,
"headline": "chore(package): update mocha to version 3.0.2",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-09-20T15:40:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c81eb8c04a96ee31297eb8e9f2416f379b3e2f24",
"body": null,
"is_bot": false,
"headline": "Update deps.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-02-11T12:59:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e182c57db9848bb636e7d082207e00bfddbb9693",
"body": null,
"is_bot": false,
"headline": "0.6.4",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-23T11:15:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7fae803cf86236f92344a87ffe57711a835b3c0a",
"body": null,
"is_bot": false,
"headline": "Remove ES6 syntax (again -_-\").",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-23T11:15:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f255e4016fd7c4f5e16d5cc4027724fa20e995c8",
"body": null,
"is_bot": false,
"headline": "0.6.3",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-23T11:12:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84fda328f2fa74873b011900ea89120ce6aba61d",
"body": null,
"is_bot": false,
"headline": "Support file descriptors (fix #2).",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-23T11:11:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e15d3c7bcfc2eaa60f2fa6542149e3c07439687e",
"body": null,
"is_bot": false,
"headline": "Do not pass options to plain HTTP server.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-23T11:08:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c871fc5a20c0210ce4ddeee1b05fff1b9a903d4e",
"body": null,
"is_bot": false,
"headline": "0.6.2",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-22T23:02:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "822fb69f18b8fc72ff18d83353fb6de2139d7373",
"body": null,
"is_bot": false,
"headline": "Fix: cert instead of certificate.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-22T22:53:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "527d1fd64740516581b8912dc1cc2e2dec9cd7f6",
"body": null,
"is_bot": false,
"headline": "`pfx` and `SNICallback` options also enable HTTPs.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-20T14:30:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a346583b76e39fda6aded224811730d105b8d50d",
"body": null,
"is_bot": false,
"headline": "Typo.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-20T14:11:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7074954488e87a52f713fbfe3c3f1a14607ed82",
"body": null,
"is_bot": false,
"headline": "Forward options to server factories.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-20T14:11:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a58be92e6d20630f2671df7c9f29b3643036664f",
"body": null,
"is_bot": false,
"headline": "0.6.1",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-20T12:34:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3aeaa5c57948a44443e83914ec356ec5ee5e57f9",
"body": null,
"is_bot": false,
"headline": "Update README.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-20T12:33:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "434ae24acff0b4b6dee9b7844a4d3b340fefb0a8",
"body": null,
"is_bot": false,
"headline": "0.6.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-20T12:32:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67dcd09f7ca24c02db94ca835d9eaa9488791e91",
"body": null,
"is_bot": false,
"headline": "Use spdy instead of spdy (fix #1).",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2016-01-20T12:30:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee465f01a5de8c6559037cbcb91c9952bd2e77f1",
"body": null,
"is_bot": false,
"headline": "Throws when neither port not socket is passed to listen().",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-12-21T10:54:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab692f51ec86f7bf147d479b342466700a184e9e",
"body": null,
"is_bot": false,
"headline": "Travis config.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-10-06T11:46:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2de1f7a4d56900277a6a2be0ecb631b0d08f8edd",
"body": null,
"is_bot": false,
"headline": "ES2016 example.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-10-06T11:44:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5622dba89924147f70c1d4997555d62ca3447ce9",
"body": null,
"is_bot": false,
"headline": "Use standard coding style for the README.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-10-06T11:44:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb418d50ce41baed53723410c9c9f632bdc57b36",
"body": null,
"is_bot": false,
"headline": "Support HTTP/2.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-10-06T11:43:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a458908d7cc4d2b043210a32615ba57ea414b9e4",
"body": null,
"is_bot": false,
"headline": "Update deps.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-10-06T11:16:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea6e879277b94891db142e2b4f0b1d76bde334a8",
"body": null,
"is_bot": false,
"headline": "0.5.3",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-07-16T10:02:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dfc20617b3eb2a4fd36495a05c60542bd9ab070",
"body": null,
"is_bot": false,
"headline": "Fix `this` scope when `close()` is called without servers.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-04-26T09:38:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e54749d356c788e266184cc193a912334db6d8b6",
"body": null,
"is_bot": false,
"headline": "0.5.2",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-04-22T11:46:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0250b716a4072324dae8f93e32be346fc066ebcc",
"body": null,
"is_bot": false,
"headline": "Always emit `close` on #close().",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-04-22T11:46:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5825c3722c4f3c6c158e3648cee083ee85fc70f6",
"body": null,
"is_bot": false,
"headline": "Use standard coding style.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-04-22T11:27:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c04efdfa1e152379eb95da2df66103347f7028dc",
"body": null,
"is_bot": false,
"headline": "0.5.1",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-03-06T10:55:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5bb5282949690e23e216fdb098efa91598cd6a82",
"body": null,
"is_bot": false,
"headline": "Fix server closing.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-03-06T10:55:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8143f52cb64206d91b2318ceee0539e13dc15d96",
"body": null,
"is_bot": false,
"headline": "0.5.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-02-12T10:21:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edeffd30a6fa5d781bb009efd1afbc27e8e3969e",
"body": null,
"is_bot": false,
"headline": "Simply return the nice address.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-02-12T10:21:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f4cf8789fa3f7cb07ce3d0a0d3cb425b3647390",
"body": null,
"is_bot": false,
"headline": "0.4.1",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-01-27T16:18:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85d6262342c6f16dd16be79c8b5717b89cbbe03a",
"body": null,
"is_bot": false,
"headline": "Fix niceAddress when hostname is empty.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-01-27T16:17:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a380c7001f0b2411c83ee6e42b48e7928e0c069",
"body": null,
"is_bot": false,
"headline": "0.4.0",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-01-27T16:10:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3a0635c655c0c35b7c098c94f44f7cff3ce7e13",
"body": null,
"is_bot": false,
"headline": "Update event-to-promise.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-01-27T16:09:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2be694ca31921c4d30577e56c9dfd74b2e1d3a26",
"body": null,
"is_bot": false,
"headline": "Minor coding style fixes.",
"author_name": "Julien Fontanet",
"author_login": "julien-f",
"committed_at": "2015-01-27T16:09:07Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 27,
"commits_last_year": 13,
"latest_release_at": "2026-07-21T14:07:09Z",
"latest_release_tag": "v1.0.1",
"releases_from_tags": true,
"days_since_last_push": 8,
"active_weeks_last_year": 1,
"days_since_latest_release": 8,
"mean_days_between_releases": 425.8
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 37,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "http-server-plus",
"exists": true,
"license": "ISC",
"keywords": [
"http",
"https",
"http2",
"server",
"ports"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/http-server-plus",
"is_deprecated": false,
"latest_version": "1.0.1",
"repository_url": "https://github.com/JsCommunity/http-server-plus",
"versions_count": 25,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 3,
"monthly_downloads": 3331,
"first_published_at": "2014-04-24T15:30:43.574000Z",
"latest_published_at": "2026-07-21T14:09:03.751000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 8
}
]
},
"popularity": {
"forks": 0,
"stars": 4,
"watchers": 1,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": null,
"open_issues_and_prs": 3
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 10421,
"source_files_sampled": 4,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 2,
"malicious_count": 0,
"assessed_package": "npm:http-server-plus@1.0.1",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "promise-toolbox",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.21.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "promise-toolbox",
"direct": true,
"version": "0.21.0",
"ecosystem": "npm"
},
{
"name": "@alcalzone/ansi-tokenize",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@base2/pretty-print-object",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@cspotcode/source-map-support",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "8.57.1",
"ecosystem": "npm"
},
{
"name": "@gar/promise-retry",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/config-array",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/object-schema",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "@isaacs/fs-minipass",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@isaacs/ts-node-temp-fork-for-pr-2009",
"direct": false,
"version": "10.9.7",
"ecosystem": "npm"
},
{
"name": "@isaacs/which",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.6",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.9",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@npmcli/agent",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@npmcli/fs",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/git",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@npmcli/installed-package-contents",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/node-gyp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/package-json",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "@npmcli/promise-spawn",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "@npmcli/redact",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/run-script",
"direct": false,
"version": "10.0.4",
"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": "@sigstore/bundle",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@sigstore/core",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "@sigstore/protobuf-specs",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "@sigstore/sign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "@sigstore/tuf",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@sigstore/verify",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@tapjs/after",
"direct": false,
"version": "3.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/after-each",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/asserts",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/before",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/before-each",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/chdir",
"direct": false,
"version": "3.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/config",
"direct": false,
"version": "5.6.4",
"ecosystem": "npm"
},
{
"name": "@tapjs/core",
"direct": false,
"version": "4.5.8",
"ecosystem": "npm"
},
{
"name": "@tapjs/error-serdes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tapjs/filter",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/fixture",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/intercept",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/mock",
"direct": false,
"version": "4.4.8",
"ecosystem": "npm"
},
{
"name": "@tapjs/node-serialize",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/processinfo",
"direct": false,
"version": "3.1.12",
"ecosystem": "npm"
},
{
"name": "@tapjs/reporter",
"direct": false,
"version": "4.4.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/run",
"direct": false,
"version": "4.5.8",
"ecosystem": "npm"
},
{
"name": "@tapjs/snapshot",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/spawn",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/stack",
"direct": false,
"version": "4.3.3",
"ecosystem": "npm"
},
{
"name": "@tapjs/stdin",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/test",
"direct": false,
"version": "4.4.8",
"ecosystem": "npm"
},
{
"name": "@tapjs/typescript",
"direct": false,
"version": "3.5.10",
"ecosystem": "npm"
},
{
"name": "@tapjs/worker",
"direct": false,
"version": "4.3.10",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node14",
"direct": false,
"version": "14.1.8",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node16",
"direct": false,
"version": "16.1.8",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node18",
"direct": false,
"version": "18.2.6",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node20",
"direct": false,
"version": "20.1.9",
"ecosystem": "npm"
},
{
"name": "@tufjs/canonical-json",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@tufjs/models",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-coverage",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@types/json5",
"direct": false,
"version": "0.0.29",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "26.1.1",
"ecosystem": "npm"
},
{
"name": "@typescript/native-preview",
"direct": false,
"version": "7.0.0-dev.20260707.2",
"ecosystem": "npm"
},
{
"name": "@typescript/native-preview-darwin-arm64",
"direct": false,
"version": "7.0.0-dev.20260707.2",
"ecosystem": "npm"
},
{
"name": "@typescript/native-preview-darwin-x64",
"direct": false,
"version": "7.0.0-dev.20260707.2",
"ecosystem": "npm"
},
{
"name": "@typescript/native-preview-linux-arm",
"direct": false,
"version": "7.0.0-dev.20260707.2",
"ecosystem": "npm"
},
{
"name": "@typescript/native-preview-linux-arm64",
"direct": false,
"version": "7.0.0-dev.20260707.2",
"ecosystem": "npm"
},
{
"name": "@typescript/native-preview-linux-x64",
"direct": false,
"version": "7.0.0-dev.20260707.2",
"ecosystem": "npm"
},
{
"name": "@typescript/native-preview-win32-arm64",
"direct": false,
"version": "7.0.0-dev.20260707.2",
"ecosystem": "npm"
},
{
"name": "@typescript/native-preview-win32-x64",
"direct": false,
"version": "7.0.0-dev.20260707.2",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "acorn-walk",
"direct": false,
"version": "8.3.5",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "4.1.3",
"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-includes",
"direct": false,
"version": "3.1.9",
"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": "arraybuffer.prototype.slice",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "async-function",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "async-hook-domain",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "auto-bind",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.16",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "builtin-modules",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "builtins",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "c8",
"direct": false,
"version": "10.1.3",
"ecosystem": "npm"
},
{
"name": "cacache",
"direct": false,
"version": "20.0.4",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cli-boxes",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "cli-truncate",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "code-excerpt",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "colorette",
"direct": false,
"version": "2.0.20",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "13.1.0",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "convert-to-spaces",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"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": "deep-is",
"direct": false,
"version": "0.1.4",
"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": "diff",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "8.0.4",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "3.0.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": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "environment",
"direct": false,
"version": "1.1.0",
"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-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.4",
"ecosystem": "npm"
},
{
"name": "es-toolkit",
"direct": false,
"version": "1.49.0",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "8.57.1",
"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-config-standard",
"direct": false,
"version": "17.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-import-resolver-node",
"direct": false,
"version": "0.3.10",
"ecosystem": "npm"
},
{
"name": "eslint-module-utils",
"direct": false,
"version": "2.14.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-n",
"direct": false,
"version": "16.6.2",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-promise",
"direct": false,
"version": "6.6.0",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "7.2.2",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "events-to-array",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "exponential-backoff",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.15.0",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "fromentries",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "fs-minipass",
"direct": false,
"version": "3.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-loop",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "function.prototype.name",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "functions-have-names",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "generator-function",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "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-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "get-symbol-description",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "4.14.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "13.24.0",
"ecosystem": "npm"
},
{
"name": "globalthis",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "graphemer",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "has-bigints",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-proto",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "9.0.3",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "husky",
"direct": false,
"version": "9.1.7",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.2.4",
"ecosystem": "npm"
},
{
"name": "ignore-walk",
"direct": false,
"version": "8.0.0",
"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": "5.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": "ink",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "internal-slot",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "ip-address",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "is-actual-promise",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "is-array-buffer",
"direct": false,
"version": "3.0.5",
"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-builtin-module",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "is-callable",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.2",
"ecosystem": "npm"
},
{
"name": "is-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-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "is-generator-function",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-in-ci",
"direct": false,
"version": "1.0.0",
"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",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-number-object",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-plain-object",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "is-regex",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-set",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-shared-array-buffer",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "3.0.0",
"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-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": "isarray",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "jsonc-simple-parser",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "jsonparse",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lilconfig",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "lint-staged",
"direct": false,
"version": "15.5.2",
"ecosystem": "npm"
},
{
"name": "listr2",
"direct": false,
"version": "8.3.3",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "log-update",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.2",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "make-error",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "make-fetch-happen",
"direct": false,
"version": "15.0.6",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mimic-function",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "3.3.6",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "minipass-collect",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "minipass-fetch",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "minipass-flush",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "minipass-pipeline",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "minipass-sized",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "minizlib",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "node-exports-info",
"direct": false,
"version": "1.6.2",
"ecosystem": "npm"
},
{
"name": "node-gyp",
"direct": false,
"version": "12.4.0",
"ecosystem": "npm"
},
{
"name": "node-options-to-argv",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "npm-bundled",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "npm-install-checks",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "npm-normalize-package-bin",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "npm-package-arg",
"direct": false,
"version": "13.0.2",
"ecosystem": "npm"
},
{
"name": "npm-packlist",
"direct": false,
"version": "10.0.4",
"ecosystem": "npm"
},
{
"name": "npm-pick-manifest",
"direct": false,
"version": "11.0.3",
"ecosystem": "npm"
},
{
"name": "npm-registry-fetch",
"direct": false,
"version": "19.1.1",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"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": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "opener",
"direct": false,
"version": "1.5.2",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "own-keys",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "pacote",
"direct": false,
"version": "21.5.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "patch-console",
"direct": false,
"version": "2.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": "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": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "pidtree",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "polite-json",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.9.6",
"ecosystem": "npm"
},
{
"name": "prismjs",
"direct": false,
"version": "1.30.0",
"ecosystem": "npm"
},
{
"name": "prismjs-terminal",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "proc-log",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "process-on-spawn",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react-element-to-jsx-string",
"direct": false,
"version": "15.0.0",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "18.1.0",
"ecosystem": "npm"
},
{
"name": "react-reconciler",
"direct": false,
"version": "0.29.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "reflect.getprototypeof",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "regexp.prototype.flags",
"direct": false,
"version": "1.5.4",
"ecosystem": "npm"
},
{
"name": "reghex",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "2.0.0-next.7",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-import",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "rfdc",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "6.1.3",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "safe-array-concat",
"direct": false,
"version": "1.1.4",
"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": "scheduler",
"direct": false,
"version": "0.23.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"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": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sigstore",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "smart-buffer",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "socks",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "socks-proxy-agent",
"direct": false,
"version": "8.0.5",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.23",
"ecosystem": "npm"
},
{
"name": "ssri",
"direct": false,
"version": "13.0.1",
"ecosystem": "npm"
},
{
"name": "stack-utils",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "stop-iteration-iterator",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "string-argv",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "string-length",
"direct": false,
"version": "6.0.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.trim",
"direct": false,
"version": "1.2.11",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimend",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimstart",
"direct": false,
"version": "1.0.8",
"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-final-newline",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "sync-content",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "tap",
"direct": false,
"version": "21.7.4",
"ecosystem": "npm"
},
{
"name": "tap-parser",
"direct": false,
"version": "18.3.4",
"ecosystem": "npm"
},
{
"name": "tap-yaml",
"direct": false,
"version": "4.4.2",
"ecosystem": "npm"
},
{
"name": "tar",
"direct": false,
"version": "7.5.20",
"ecosystem": "npm"
},
{
"name": "tcompare",
"direct": false,
"version": "9.3.2",
"ecosystem": "npm"
},
{
"name": "tcp-bind",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "text-table",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "trivial-deferred",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "tsconfig-paths",
"direct": false,
"version": "3.15.0",
"ecosystem": "npm"
},
{
"name": "tshy",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "tuf-js",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.20.2",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "4.41.0",
"ecosystem": "npm"
},
{
"name": "typed-array-buffer",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-length",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-offset",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "typed-array-length",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "unbox-primitive",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "6.27.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "14.0.1",
"ecosystem": "npm"
},
{
"name": "v8-compile-cache-lib",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "v8-to-istanbul",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-name",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "walk-up-path",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "which-boxed-primitive",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "which-builtin-type",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "which-collection",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.22",
"ecosystem": "npm"
},
{
"name": "widest-line",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.21.1",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "yaml-types",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.3",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "yoga-layout",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 516,
"direct_count": 1,
"indirect_count": 515
}
},
"maintainership": {
"issues": {
"open_prs": 2,
"merged_prs": 4,
"open_issues": 1,
"closed_ratio": 0.75,
"closed_issues": 3,
"closed_unmerged_prs": 12
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "julien-f",
"commits": 118,
"avatar_url": "https://avatars.githubusercontent.com/u/298721?v=4"
},
{
"type": "User",
"login": "greenkeeperio-bot",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/14790466?v=4"
}
],
"contributors_sampled": 2,
"top_contributor_share": 0.992
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml"
],
"has_docs_dir": false,
"linter_configs": [
".eslintrc.js"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": null,
"reason": "no pull request found",
"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/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 3 contributing companies or organizations -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "13 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": 3,
"reason": "dependency not pinned by hash detected -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "no SAST tool detected",
"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": 8,
"reason": "2 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "04c8ef8518646278e71df8c24a255e41da46a90b",
"ran_at": "2026-07-30T00:25:29Z",
"aggregate_score": 4.2,
"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-21T14:07:53Z",
"oldest_open_prs": [
{
"number": 21,
"created_at": "2022-06-04T00:06:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 22,
"created_at": "2023-01-05T03:15:09Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2017-03-01T10:17:24Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 5,
"created_at": "2016-11-17T17:18:37Z",
"last_comment_at": "2016-11-17T17:31:20Z",
"last_comment_author": "julien-f"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/JsCommunity/http-server-plus",
"host": "github.com",
"name": "http-server-plus",
"owner": "JsCommunity"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"security": 54,
"vitality": 56,
"community": 35,
"governance": 53,
"engineering": 73
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 56,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"commits_last_year": 13,
"human_commit_share": 0.97,
"days_since_last_push": 8,
"active_weeks_last_year": 1
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 8 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 8
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "1/52 weeks with commits",
"points": 0.7,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 1
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "13 commits in the last year",
"points": 10.3,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 13
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "13 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": "moderate",
"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": 64,
"inputs": {
"releases_count": 27,
"latest_release_tag": "v1.0.1",
"releases_from_tags": true,
"days_since_latest_release": 8,
"mean_days_between_releases": 425.8
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "27 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 27
}
}
],
"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 ~425.8 days",
"points": 5.4,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 425.8
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 8,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 8 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 8
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 35,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 8,
"inputs": {
"forks": 0,
"stars": 4,
"watchers": 1,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "4 stars",
"points": 7.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 4
}
}
],
"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": "1 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 1
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (ISC)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "ISC"
}
}
],
"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": [
"http-server-plus"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 3331
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "3,331 downloads/month across npm",
"points": 47,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 3331,
"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": 53,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 22,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 2,
"top_contributor_share": 0.992
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 99% of commits",
"points": 0.2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 99
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "2 contributors",
"points": 2.7,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 2
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "at_risk",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 45,
"inputs": {
"merged_prs": 4,
"open_issues": 1,
"closed_issues": 3,
"issue_closed_ratio": 0.75,
"closed_unmerged_prs": 12
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "75% of issues closed",
"points": 35.1,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 75
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "4/16 decided PRs merged",
"points": 9.6,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 4,
"decided": 16
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 59,
"inputs": {
"followers": 5,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "JsCommunity",
"public_repos": 33,
"account_age_days": 3775
},
"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": "5 followers of JsCommunity",
"points": 5.6,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 5,
"login": "JsCommunity"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "33 public repos, account ~10 yr old",
"points": 23.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 33
}
},
{
"code": "account_age_years",
"params": {
"years": 10
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"http-server-plus"
],
"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": "25 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 25
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 73,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_ci_tests"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 88,
"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": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"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": ".eslintrc.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.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": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 54,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"ci_tests",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 42,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 4.2
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "13 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 3",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "no SAST tool detected",
"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": "2 existing vulnerabilities detected",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:http-server-plus@1.0.1 runtime dependency closure — what installing the published package pulls in — 2 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "npm:http-server-plus@1.0.1",
"assessed": 2
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 2,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 2,
"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": 4
},
"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": "at_risk",
"name": "AI Readiness",
"value": 49,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 30,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.567,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "55 of 97 human commits state their intent (structured subject or explanatory body)",
"points": 30.2,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 55,
"sampled": 97
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.1,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.03
},
"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": ".eslintrc.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "10 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 10,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "3 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 3,
"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 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "JavaScript",
"largest_source_bytes": 10421,
"source_files_sampled": 4,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "JavaScript without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "JavaScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/4 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 4,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"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"
],
"report_type": "repository",
"generated_at": "2026-07-30T00:25:35.192552Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/j/JsCommunity/http-server-plus.svg",
"full_name": "JsCommunity/http-server-plus",
"license_state": "standard",
"license_spdx": "ISC"
}