Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"cloudflare-workers",
"javascript",
"nodejs",
"tar",
"typescript",
"tar-gz",
"streams"
],
"is_fork": false,
"size_kb": 101585,
"has_wiki": false,
"homepage": "https://npmjs.com/package/modern-tar",
"languages": {
"JavaScript": 3827,
"TypeScript": 596753
},
"pushed_at": "2026-07-25T16:15:40Z",
"created_at": "2025-09-23T02:31:09Z",
"owner_type": "User",
"updated_at": "2026-07-25T16:15:50Z",
"description": "🗄 Zero dependency streaming tar parser and writer for every JavaScript runtime.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": "ayuhito.com",
"name": "Ayu",
"type": "User",
"login": "ayuhito",
"company": null,
"location": "Tokyo, Japan",
"followers": 91,
"avatar_url": "https://avatars.githubusercontent.com/u/38220115?v=4",
"created_at": "2018-04-09T15:09:28Z",
"is_verified": null,
"public_repos": 61,
"account_age_days": 3029
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.7.7",
"kind": "patch",
"published_at": "2026-07-19T17:47:05Z"
},
{
"tag": "v0.7.6",
"kind": "patch",
"published_at": "2026-03-18T04:08:52Z"
},
{
"tag": "v0.7.5",
"kind": "patch",
"published_at": "2026-02-22T08:54:50Z"
},
{
"tag": "v0.7.4",
"kind": "patch",
"published_at": "2026-02-18T04:25:20Z"
},
{
"tag": "v0.7.3",
"kind": "patch",
"published_at": "2025-12-16T11:30:55Z"
},
{
"tag": "v0.7.2",
"kind": "patch",
"published_at": "2025-11-19T09:36:27Z"
},
{
"tag": "v0.7.1",
"kind": "patch",
"published_at": "2025-11-14T10:03:07Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2025-11-13T06:14:33Z"
},
{
"tag": "v0.6.1",
"kind": "patch",
"published_at": "2025-10-24T03:13:59Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2025-10-23T06:39:17Z"
},
{
"tag": "v0.5.5",
"kind": "patch",
"published_at": "2025-10-22T06:21:55Z"
},
{
"tag": "v0.5.4",
"kind": "patch",
"published_at": "2025-10-16T01:58:39Z"
},
{
"tag": "v0.5.3",
"kind": "patch",
"published_at": "2025-10-14T16:14:18Z"
},
{
"tag": "v0.5.2",
"kind": "patch",
"published_at": "2025-10-14T03:00:00Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2025-10-12T15:01:06Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2025-10-12T09:04:45Z"
},
{
"tag": "v0.4.2",
"kind": "patch",
"published_at": "2025-10-11T03:31:57Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2025-10-09T03:34:53Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2025-10-08T06:46:30Z"
},
{
"tag": "v0.3.5",
"kind": "patch",
"published_at": "2025-10-02T06:31:11Z"
},
{
"tag": "v0.3.4",
"kind": "patch",
"published_at": "2025-09-29T16:33:40Z"
},
{
"tag": "v0.3.3",
"kind": "patch",
"published_at": "2025-09-28T08:45:15Z"
},
{
"tag": "v0.3.2",
"kind": "patch",
"published_at": "2025-09-27T17:25:41Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2025-09-27T17:02:45Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2025-09-27T15:37:19Z"
},
{
"tag": "v0.2.3",
"kind": "patch",
"published_at": "2025-09-26T10:02:42Z"
},
{
"tag": "v0.2.2",
"kind": "patch",
"published_at": "2025-09-26T00:29:46Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2025-09-25T14:17:46Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2025-09-25T07:41:58Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2025-09-24T17:18:47Z"
}
],
"recent_commits": [
{
"oid": "ed468c3aedd5b75c6c1595b6c622d6fefb9b52e4",
"body": "* feat!: use native compression streams\n\nremove the compression helper exports and make web streams compose directly with the platform apis.\n\ncorrect the decoder pair type and document the supported runtimes.\n\n* docs: update usage examples and browser requirements\n\n* ci: use bun for dependency installation",
"is_bot": false,
"headline": "feat!: use native compression streams (#162)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-25T16:15:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9d7805dd2ce5708c6fd855fe4bc6f39055bbd64",
"body": null,
"is_bot": false,
"headline": "perf(tar): skip zero-block scan for normal headers (#161)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-20T03:31:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70bbaa5beca894297ff8c2e6a20edad24975463a",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.7",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-19T17:47:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32c41c81aa86cfc393a2873b6231ababa1f776b6",
"body": "* chore: upgrade dependencies\n\n* fix(ci): add tsdown config loader\n\n* fix(ci): use native tsdown config loader\n\n* chore: prune dependency lockfile\n\n* fix(ci): load tsdown config with unrun\n\n* chore: use default tsdown config loader",
"is_bot": false,
"headline": "chore: upgrade dependencies (#158)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T17:42:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0389dcb57228f4b2f7b2a04a164bfa699558ad22",
"body": null,
"is_bot": false,
"headline": "fix: prevent malformed pax record hangs (#159)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T17:24:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2318f229e2c8bb8519115b4e9a9fba85dde8dfd8",
"body": null,
"is_bot": false,
"headline": "perf(fs): overlap hardlink finalization reads (#157)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T16:33:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6b6198b66561ea7da28a0499cf03512a22e0f9f",
"body": null,
"is_bot": false,
"headline": "perf(fs): validate symlinks concurrently (#156)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T16:30:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d00778717110521d9dd86b049f01aaf4d53cff7",
"body": null,
"is_bot": false,
"headline": "perf(fs): reduce symlink validation overhead (#155)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T10:49:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c75a4c7e71b0890dc24f61139f695b773d582766",
"body": "* perf(fs): streamline hardlink finalization\n\n* refactor(fs): simplify hardlink race coverage\n\n* test(fs): simplify hardlink race fixture",
"is_bot": false,
"headline": "perf(fs): streamline hardlink finalization (#154)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T10:47:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a66113adc162f3eefad25f48033a8463fcc29e8",
"body": "* perf(fs): avoid redundant pack file operations\n\n* fix(fs): reject header-only symlink replacements\n\n* refactor(fs): simplify pack fast paths\n\n* fix(fs): preserve pack error propagation",
"is_bot": false,
"headline": "perf(fs): avoid redundant pack file operations (#153)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T10:43:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45dfa6ed516ea6e949c7e805a717ffc5da3e6890",
"body": "* fix(fs): restore concurrent file opens during unpack\n\n* test(fs): clarify concurrent open lifecycle",
"is_bot": false,
"headline": "fix(fs): restore concurrent file opens during unpack (#152)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T06:16:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32d8fad0f2effca5e8da1a803bbef84650fb58ca",
"body": null,
"is_bot": false,
"headline": "fix(fs): preserve unicode path spelling (#151)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-19T02:24:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b58dff71b521ae87762df6eeadafbb490b674fae",
"body": null,
"is_bot": false,
"headline": "fix(fs): prevent directory packing readdir race (#147)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-18T18:17:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a1abab286b9cfc973226f08fbeacb13487aba1a",
"body": null,
"is_bot": false,
"headline": "fix: preserve tar entry boundaries with PAX metadata (#150)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-18T17:33:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "efb8fd9671ca83226ec8841aa34c8e6631ccda4e",
"body": null,
"is_bot": false,
"headline": "fix(fs): validate symlinks against destination state (#149)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-11T11:40:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9435d0c02c4bce8cd3183e1f391a8a6cf80128a",
"body": null,
"is_bot": false,
"headline": "fix(fs): prevent symlink parent races (#146)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-11T11:39:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14c9ca9cd789c5560307b15e86729a624d1e0d8c",
"body": null,
"is_bot": false,
"headline": "fix: preserve equals signs in PAX values (#145)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-11T11:38:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9c69cea996d0617dcb7acd61344af1dac15a904",
"body": null,
"is_bot": false,
"headline": "fix: cap tar metadata entries (#143)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-05T10:04:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e3a0a8b8dbc0d7633e8f75a0f35e98837458555",
"body": null,
"is_bot": false,
"headline": "fix(fs): reject symlink hardlink targets (#144)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-05T10:03:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2764f7c4b410f18859332c43d4b4f3f78414675",
"body": "* perf(web): speed up buffered unpack\n\n* perf(web): simplify buffered unpack path",
"is_bot": false,
"headline": "perf(web): speed up buffered unpack (#142)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-05T07:44:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94cce408352f2a52d44a8ace6bbfd1d0897746f6",
"body": null,
"is_bot": false,
"headline": "fix(fs): harden unpack parent races (#141)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-05T07:13:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c2fd83f1edbd06c43e4ae3d031e16785e8fdb1e8",
"body": null,
"is_bot": false,
"headline": "fix(fs): reject symlink graph follow overflow (#140)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-05T06:34:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "299037d7ce4d84b74f8b9a38bfd35a400514fa16",
"body": null,
"is_bot": false,
"headline": "fix(fs): validate symlink graph after extraction (#139)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-05T05:54:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4abc1294b23e192a632e7db0b9c5266cf3786190",
"body": "* fix(fs): snapshot caller pack sources\n\n* style: comment",
"is_bot": false,
"headline": "fix(fs): snapshot caller pack sources (#138)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-04T17:47:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10b8d965aa2242fa74f0260ba9a2d2a511934ce4",
"body": "* fix(fs): harden pack against source swaps\n\n* fix(fs): recheck directory type before readdir\n\n* perf(fs): shrink directory recheck output",
"is_bot": false,
"headline": "fix(fs): harden pack against source swaps (#137)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-04T17:30:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad176b1745d35bae8594c6daa8147b23aeee9469",
"body": "* perf(web): skip redundant buffer allocation\n\n* perf(pax): use flag for header check",
"is_bot": false,
"headline": "perf(pax): use flag for header check (#136)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-04T14:29:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad614e56a34ca188ff19393c4ffbbcfb0f0e51e2",
"body": null,
"is_bot": false,
"headline": "perf(web): skip redundant buffer allocation (#135)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-04T14:24:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aa0a19757bc1299c34617d376b071ea3561602ee",
"body": "…134)",
"is_bot": false,
"headline": "fix(path): replace pre-existing link leaves without following them (#…",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-07-04T09:39:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e520dc292a83912d9d8f6cb4ab0a46c19b984a95",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.6",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-03-18T04:09:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "796689db6fb4618efe2eff81a86e7357b26a36c4",
"body": "* chore: upgrade dependencies\n\n* style: update biome",
"is_bot": false,
"headline": "chore: upgrade dependencies (#132)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T13:28:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "732465d5b3242c8ae6aa582b908e86a0795e8705",
"body": null,
"is_bot": false,
"headline": "fix(fs): prevent file sink from following a symlink on unpack (#131)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T12:50:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f4117e3b984c942e30cd00b2386f6a4a49237d3",
"body": "…ir (#130)\n\n* test: add cloudflare workers suite\n\n* fix(unpack): switch from transform stream to readable writable pair\n\n* style: comment",
"is_bot": false,
"headline": "fix(web): switch unpack from transform stream to readable writable pa…",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T12:41:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b231ef39117480d9dd4fb4b0c3564ad3aaf9e664",
"body": null,
"is_bot": false,
"headline": "fix(fs): remove bounded cache on path conflicts (#128)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T04:34:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db55244228c1f6812f213e0eb0f9008fd993f95f",
"body": "* fix(pack): add number boundary checks to size\n\n* fix(pack): remove redundant number check in fs",
"is_bot": false,
"headline": "fix(pack): add number boundary checks to size (#127)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T04:18:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bde8add28f1c75174c420d51166ebf83c599c215",
"body": null,
"is_bot": false,
"headline": "fix(ustar): add size guard to prevent unnecessary split checks (#126)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T03:53:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44336e6d19afecab4359577ca5b9f36591676fed",
"body": null,
"is_bot": false,
"headline": "fix(fs): use actual filepath on filter over target (#125)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T02:54:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2204fff085d5d56f2e3602285c48593765bd60dd",
"body": "* perf(web): increase highwatermark for unpacker\n\n* test(web): update to match highwatermark 2 expectations",
"is_bot": false,
"headline": "perf(web): increase highwatermark for unpacker (#124)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T02:46:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "284e89799345250a70acb82cc055b314ec79cc7e",
"body": null,
"is_bot": false,
"headline": "fix(unpacker): prevent 32 bit overflow on meta header sizes (#123)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T02:25:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98db26c0d3928c0d5e5a26596b6cc946c17b4b56",
"body": null,
"is_bot": false,
"headline": "fix(web): respect backpressure (#122)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-03-15T02:10:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c33dd26121f1544a716d1ab0d5e9fe0505937673",
"body": "* fix(pax): Use byte length instead of char length for USTAR field limit checks\n\n* test(pax): Add multi-byte filename edge case tests for PAX byte length checks\n\n---------\n\nCo-authored-by: Youngjae Shin <sdhkygg@gmail.com>",
"is_bot": false,
"headline": "fix(pax): Fix filename length checking logic (#121)",
"author_name": "Jihyeon Kim (김지현)",
"author_login": "simnalamburt",
"committed_at": "2026-03-14T17:17:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "756493baf89a8195ea5e0d968e8cca4b32ba6627",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.5",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-02-22T08:55:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79e4d4b4e27e300bf96b16df9eb410a7a28fa0bd",
"body": null,
"is_bot": false,
"headline": "fix(options): strip relative hardlink linknames (#118)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-02-22T08:52:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98df8be39ed379b4fdc769cd16eb985628f11866",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.4",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-02-18T04:25:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "857578eed18e24a383726fd00df680cc67b0f0c7",
"body": null,
"is_bot": false,
"headline": "fix(fs): strip sticky bits",
"author_name": "ayuhito",
"author_login": "ayuhito",
"committed_at": "2026-02-18T04:06:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e223bfbfde37e1a41f4e6f371cd7a2155b8949cf",
"body": "* fix(tar): prevent prototype pollution in PAX headers\n\n* style: biome\n\n* style: comment",
"is_bot": false,
"headline": "fix(tar): prevent prototype pollution in PAX headers (#117)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-02-18T03:40:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "76efe5c4a5b91c073b9c2a2fb360276e209da138",
"body": "…./ (#115)\n\n* Fix parsing of archives with directories that have type=FILE name=.../\n\n<https://ftp.okass.net/pub/mirror/minnie.tuhs.org/Distributions/Research/Dennis_v5/v5root.tar.gz>\nhas directory entries with typeflag of \"\" and names that end in /\n\nGNU tar and libarchive understand this\n\nThis patc\n[…]\nb/8d1c9b95f1fbc68f3882ef859d6caf7b701fde7c/libarchive/archive_read_support_format_tar.c#L583\n\n* fix(unpacker): move directory switch\n\n---------\n\nCo-authored-by: наб <nabijaczleweli@nabijaczleweli.xyz>",
"is_bot": false,
"headline": "fix: parsing of archives with directories that have type=FILE name=..…",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-02-17T08:54:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0aae183b2be30648afbdac1386c194cb4ab2925b",
"body": "* Fix parsing of archives with type=link entries with size!=0\n\n http://ftp.okass.net/pub/mirror/minnie.tuhs.org/Distributions/Research/Henry_Spencer_v7/v7.tar.gz\nhas\n usr/sys/h/pk.p^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^\n[…]\n1:20 usr/sys/h/text.h\n\nAdding this detection fixes parsing the archive\n\n* fix(header): remove size zero\n\n* test: add regression case\n\n---------\n\nCo-authored-by: наб <nabijaczleweli@nabijaczleweli.xyz>",
"is_bot": false,
"headline": "Fix parsing of archives with type=link entries with size!=0 (#116)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2026-02-17T08:54:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b7cd92c9912a2f927a5fcf8092dafc98a37196d4",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.3",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-12-16T11:31:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f69f39327fdfcfcde2b7e10d57fbaf8ec2efdd39",
"body": null,
"is_bot": false,
"headline": "refactor(web): rely on unpacker state helper (#112)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-12-16T11:28:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c6bba0f09904259a053a7f2566ee7d3b3aa6b17",
"body": "* test(browser): add playwright tests\n\n* ci(test): add browser job variant\n\n* fix(web): drain instead of cancelling streams",
"is_bot": false,
"headline": "fix(web): discard stream instead of cancelling stream (#111)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-12-16T11:16:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b920feb1437d9b7991d5f34005d7bc540bc5bff6",
"body": "* perf(tar): skip callback when discarding\n\n* perf(unpacker): simplify eof checking in web layer\n\n* perf(error): reuse error const",
"is_bot": false,
"headline": "perf(tar): skip callback when discarding (#110)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-12-13T16:18:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "916e47757b4f78041b1d9217c0cb9b1ca38e11a3",
"body": "* refactor(fs): remove duplicate discard state\n\n* style(tar): use arrow function for one liner",
"is_bot": false,
"headline": "refactor(fs): remove duplicate discard state (#109)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-12-13T12:55:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81db74f3c418eefb223b8b2d57751c25f5dd38e5",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.2",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-11-19T09:37:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f5f376b081c3788b6b75c1a90bd7204c254518f5",
"body": null,
"is_bot": false,
"headline": "fix(cache): add bounds to all caches (#107)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-19T09:07:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "781302fe48bfc264aeaa222d044d7fcb7a714fe4",
"body": null,
"is_bot": false,
"headline": "perf(chunk): reallocate with fresh array with empty queue (#106)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-19T08:23:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34ca944f046f543a947001f851ca907b8014aefb",
"body": null,
"is_bot": false,
"headline": "fix(tar): read octal should handle sizes larger than int32 (#105)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-19T07:15:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5711ae0d0f9fab2aff69d24314c5eb07a3e2b733",
"body": "* perf(normalize): simply skip cache if only ascii to save memory\n\n* fix(unpack): root dir mkdir race condition",
"is_bot": false,
"headline": "fix(unpack): root dir mkdir race condition (#104)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-19T07:02:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebb5f98f00ac5a07c3dba429b25ad8c7bf68bda8",
"body": null,
"is_bot": false,
"headline": "perf(normalize): simply skip cache if only ascii to save memory (#102)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-19T06:57:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cfd9d6cfb1b46c37e4506ce985b94f65322924a",
"body": null,
"is_bot": false,
"headline": "docs(bench): use mitata and add more workloads (#101)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-15T07:26:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "924cdc36f6ddfe087c355f47d59945854bcd5ebc",
"body": "* perf(path): skip ascii normalization\n\n* style(path): use number comparison",
"is_bot": false,
"headline": "perf(path): skip ascii normalization (#100)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-15T04:00:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44d3948c312f09555db2ac024d5121fc4f9f6451",
"body": "* perf(pcache): return strings instead of objects\n\n* Update src/fs/unpack.ts\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
"is_bot": false,
"headline": "perf(pcache): return strings instead of objects (#99)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-15T03:46:55Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "95b6c3a57ad21d98629a9c7a64da54523c4aa52e",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.1",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-11-14T10:03:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6af344151609c2808fb7559fd4c92ecf397dc18b",
"body": null,
"is_bot": false,
"headline": "fix(web): centralize stream cancellation logic (#98)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-14T09:53:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45c6dfd3b15d2f68d0a793606dcd83e6ec24108a",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.0",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-11-13T06:14:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "877d26c05b73ae158ee0a93cf96a524e09a8dd3e",
"body": "* fix(web): decoder should not wait for last chunk\n\n* style: format",
"is_bot": false,
"headline": "fix(web): decoder should not wait for last chunk (#96)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-13T05:07:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0df93d0ca18cdef15ea68396a4db163047138d1",
"body": null,
"is_bot": false,
"headline": "perf: use pull architecture and leaner streams (#95)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-11-13T01:59:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b80a5a7af1397f1c52f9afc3e2e1240c71bbd69d",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.6.1",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-24T03:14:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a20fa3c5011a88c92430e8c1e152a2f0ccac3b72",
"body": null,
"is_bot": false,
"headline": "fix(pack): accept parsed tar entry with data (#93)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-24T02:58:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ec3563b0d6788a4c00fddba71368fd1b2d9c796",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.6.0",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-23T06:39:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7dbb7e4d1fba28d0bdfa773f6d974a4feb846686",
"body": null,
"is_bot": false,
"headline": "fix(web): do not return data on bodyless entries for pack (#92)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-23T06:36:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f8fd79701a56cdd736a763180a1f33c8ab39858",
"body": null,
"is_bot": false,
"headline": "docs: add funding.yml",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-22T09:12:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b090ca1029a79c1d56b0cd8c76366a7592046690",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.5.5",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-22T06:22:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3468f7599fb871eb56bcdc58bcea9fed9bcdbfa",
"body": "* fix(options): handle invalid entries after map\n\n* test: use more consistent unicode across platforms\n\n* test: handle file join on windows\n\n* test: add log for giget core\n\n* fix(unpack): validate directory exists first before creating\n\n* test: clear cases\n\n* test: add giget core reproduction",
"is_bot": false,
"headline": "fix(options): handle invalid entries after map (#90)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-22T06:20:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5e0cf4c2133938b929ffd4c1ca2b1f674d19b14",
"body": null,
"is_bot": false,
"headline": "docs: ignore plans and context",
"author_name": "ayuhito",
"author_login": "ayuhito",
"committed_at": "2025-10-19T05:21:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88168c9bc9e8ffda8ad9b20b3ccdd2f3ea0cfd9e",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.5.4",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-16T01:59:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c4d224a9384541727b2af0570d471182fdcd459",
"body": null,
"is_bot": false,
"headline": "fix(exports): use types versions for old node bundlers (#88)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-16T01:56:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0fd121487616db202a9d2be815241e957d591c2f",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.5.3",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-14T16:14:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9d6302534f64a7d9c7a42a77be00dd7ef5288c8",
"body": "* fix(unpack): strip absolute paths instead of throwing\n\n* test: update cases\n\n* fix(path): centralize all logic\n\n* test: resolve concurrency\n\n* chore: remove redundant logic",
"is_bot": false,
"headline": "fix(unpack): strip absolute paths instead of throwing (#86)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-14T16:12:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9fcef4309023153fe2c10b1de3688ba8e1b1125",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.5.2",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-14T03:00:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07d642358efdee2545b5ed6a4ef6e7de6d8c51b8",
"body": "* fix(unpack): strip trailing slashes\n\n* fix(unpack): catch windows normalize errors\n\n* fix(unpack): let abort controller destroy streams\n\n* style: remove unnecessary",
"is_bot": false,
"headline": "fix(unpack): strip trailing slashes (#85)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-14T02:56:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2be34a3ffe0d60607729c6e77ed4fca7e170379f",
"body": "* fix(unpack): handle self referential hardlinks\n\n* fix(unpack): do not break",
"is_bot": false,
"headline": "fix(unpack): handle self referential hardlinks (#84)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-13T16:33:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1edec772a83249a4df2efece949f164ac0f8b07d",
"body": null,
"is_bot": false,
"headline": "perf(path): simplify unicode cache (#83)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-13T16:06:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc7ab1f96bedfb6b5f022146f1418eed2b717a38",
"body": "* fix(unpack): sanitize windows paths for traversal\n\n* test: update cases\n\n* style: ts",
"is_bot": false,
"headline": "fix(unpack): sanitize windows paths for traversal (#82)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-13T15:32:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a3efc82869392db89617eff948b53464488ea1b",
"body": null,
"is_bot": false,
"headline": "perf(pack): use 512KB read buffer on large files (#81)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-13T12:09:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19d5176f3bca30200239d6dfea8e9a55c8685ae2",
"body": null,
"is_bot": false,
"headline": "fix(pack): apply invalid directory mode on stream source (#80)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-13T11:53:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3dd4ee841ec44344d418ac598adcbf6e945177c",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.5.1",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-12T15:01:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf6182ce8003d1bcb26dba695f1d46af51b44e7a",
"body": "* feat(pack): allow overriding more metadata on tar sources\n\n* test(pack): support windows cases",
"is_bot": false,
"headline": "feat(pack): allow overriding more metadata on tar sources (#78)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-12T14:11:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aed639e65caf82946af32da2e48426f3a8204883",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.5.0",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-12T09:05:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ab8c5e8f40f48ac8edb052d63c05a0e375655c5",
"body": "* feat(pack): new stream source packer\n\n* fix(unpack): handle base 256 bigint numeric headers\n\n* style: lint",
"is_bot": false,
"headline": "fix(unpack): handle base 256 bigint numeric headers (#77)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-12T08:25:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e547ab361ede5ec03faf9267ee0192535725897",
"body": "* feat(pack): new stream source packer\n\n* docs: update references\n\n* test(windows): update permission check\n\n* fix(pack): validate stream source size",
"is_bot": false,
"headline": "feat(pack): new stream source for fs packer (#76)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-12T07:12:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "916a75528a6501692c2dcb4cafaf82da48a4a234",
"body": "* feat(pack): accept node readable\n\n* test: update case",
"is_bot": false,
"headline": "feat(pack): accept node readable (#75)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-11T04:58:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ab5650ac50912d30d988366b37f5d7b327a0963",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.4.2",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-11T03:32:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "641b99a42f94ed7c19dcd6f40c68348a479073b9",
"body": null,
"is_bot": false,
"headline": "perf(unpack): make passthrough hwm match read stream hwm (#74)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-11T02:44:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53482645840103e44ac5658e73288fb6c1029de4",
"body": "* perf(pack): read into buffer for small files\n\n* Update src/fs/pack.ts\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>\n\n* perf(pack): remove unnecessary conversion\n\n* chore: revert buffer from change\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
"is_bot": false,
"headline": "perf(pack): read into buffer for small files (#73)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-11T02:19:02Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "f16e68c53cf60a8fdddf3058c95426718de5ed01",
"body": null,
"is_bot": false,
"headline": "perf(pack): implement concurrent writer (#72)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-11T01:53:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdfcc92bf6b5cb05b57ffbaa79bec4a522c2fab4",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.4.1",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-09T03:35:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6bd6d446413ce61ac7c15bbc5eed88a3f3b96a44",
"body": "* fix(ustar): be more lenient with gnu tar\n\n* style: remove intermediate variables\n\n* style: remove unnecessary checksum parse",
"is_bot": false,
"headline": "fix(ustar): be more lenient with gnu tar (#71)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-09T03:32:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0165e37a3e2ba04749fa72150cfdd77dd03a151",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.4.0",
"author_name": "GitHub Actions [Bot]",
"author_login": "github-actions[bot]",
"committed_at": "2025-10-08T06:46:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc307a51121dce3458743cf47c01e4e1bc1d29ce",
"body": null,
"is_bot": false,
"headline": "fix(pack): prevent unsafe path traversal with deref true (#69)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-08T05:29:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d924e144129c5b8c7c4f73c2436c9d68d4bda4dc",
"body": null,
"is_bot": false,
"headline": "fix(utils): validate chunk is 8 byte aligned to use fast path (#68)",
"author_name": "Ayu",
"author_login": "ayuhito",
"committed_at": "2025-10-08T04:44:21Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 30,
"commits_last_year": 193,
"latest_release_at": "2026-07-19T17:47:05Z",
"latest_release_tag": "v0.7.7",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 14,
"days_since_latest_release": 5,
"mean_days_between_releases": 29.9
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 42,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "modern-tar",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/modern-tar",
"is_deprecated": false,
"latest_version": "0.7.7",
"repository_url": "https://github.com/ayuhito/modern-tar",
"versions_count": 31,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 17581624,
"first_published_at": "2025-09-24T17:13:28.961000Z",
"latest_published_at": "2026-07-19T17:47:38.607000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
}
]
},
"popularity": {
"forks": 7,
"stars": 190,
"watchers": 1,
"fork_history": {
"days": [
{
"date": "2025-09-25",
"count": 1
},
{
"date": "2025-09-26",
"count": 1
},
{
"date": "2025-10-07",
"count": 1
},
{
"date": "2025-11-11",
"count": 1
},
{
"date": "2025-12-12",
"count": 1
},
{
"date": "2026-03-10",
"count": 1
},
{
"date": "2026-03-21",
"count": 1
}
],
"complete": true,
"collected": 7,
"total_forks": 7
},
"star_history": null,
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"benchmarks/tsconfig.json",
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 85367,
"source_files_sampled": 69,
"oversized_source_files": 1,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"benchmarks/package.json",
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "tar",
"direct": false,
"version": "7.5.20",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-r292-9mhp-454m"
],
"fixed_version": "7.5.21",
"advisory_count": 1,
"oldest_advisory_days": 1
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"moderate": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 35,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 6,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "..",
"direct": false,
"version": "0.7.6",
"ecosystem": "npm"
},
{
"name": "@biomejs/biome",
"direct": false,
"version": "2.5.4",
"ecosystem": "npm"
},
{
"name": "@isaacs/fs-minipass",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "26.1.1",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "^26.1.1",
"ecosystem": "npm"
},
{
"name": "@types/tar-fs",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "@types/tar-stream",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "@vitest/browser-playwright",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/coverage-v8",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "b4a",
"direct": false,
"version": "1.7.3",
"ecosystem": "npm"
},
{
"name": "bare-events",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "bare-fs",
"direct": false,
"version": "4.4.5",
"ecosystem": "npm"
},
{
"name": "bare-os",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "bare-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "bare-stream",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "bare-url",
"direct": false,
"version": "2.2.2",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "events-universal",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "fast-fifo",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "miniflare",
"direct": false,
"version": "^4.20260714.0",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "minizlib",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mitata",
"direct": false,
"version": "1.0.34",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "playwright",
"direct": false,
"version": "^1.61.1",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "streamx",
"direct": false,
"version": "2.23.0",
"ecosystem": "npm"
},
{
"name": "tar",
"direct": false,
"version": "7.5.20",
"ecosystem": "npm"
},
{
"name": "tar-fs",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "tar-stream",
"direct": false,
"version": "3.1.7",
"ecosystem": "npm"
},
{
"name": "text-decoder",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "tsdown",
"direct": false,
"version": "^0.22.11",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "^6.0.3",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "unrun",
"direct": false,
"version": "0.2.39",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "^8.1.5",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 41,
"direct_count": 0,
"indirect_count": 41
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 142,
"open_issues": 0,
"closed_ratio": 1,
"closed_issues": 11,
"closed_unmerged_prs": 9
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "ayuhito",
"commits": 164,
"avatar_url": "https://avatars.githubusercontent.com/u/38220115?v=4"
},
{
"type": "User",
"login": "actions-user",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/65916846?v=4"
},
{
"type": "User",
"login": "simnalamburt",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/4435445?v=4"
},
{
"type": "User",
"login": "sxzz",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/6481596?v=4"
}
],
"contributors_sampled": 4,
"top_contributor_share": 0.982
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"release.yml",
"test-publish.yml",
"unit-test.yml"
],
"has_docs_dir": false,
"linter_configs": [
"biome.json"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 3,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "28 out of 28 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 6,
"reason": "project has 2 contributing companies or organizations -- score normalized to 6",
"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": "28 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": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 8,
"reason": "2 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "ed468c3aedd5b75c6c1595b6c622d6fefb9b52e4",
"ran_at": "2026-07-25T16:37:17Z",
"aggregate_score": 4.3,
"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-25T16:16:13Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-25T16:15:38Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/ayuhito/modern-tar",
"host": "github.com",
"name": "modern-tar",
"owner": "ayuhito"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"security": 54,
"vitality": 84,
"community": 60,
"governance": 62,
"engineering": 76
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 84,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"commits_last_year": 193,
"human_commit_share": 0.81,
"days_since_last_push": 0,
"active_weeks_last_year": 14
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "14/52 weeks with commits",
"points": 9.7,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 14
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "193 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 193
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "28 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 30,
"latest_release_tag": "v0.7.7",
"releases_from_tags": false,
"days_since_latest_release": 5,
"mean_days_between_releases": 29.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "30 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 30
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 5 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 5
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~29.9 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 29.9
}
}
],
"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": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 60,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "at_risk",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 43,
"inputs": {
"forks": 7,
"stars": 190,
"watchers": 1,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "190 stars",
"points": 36.9,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 190
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "7 forks",
"points": 6.5,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 7
}
}
],
"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 (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"packages": [
"modern-tar"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 17581624
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "17,581,624 downloads/month across npm",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 17581624,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 62,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 21,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 4,
"top_contributor_share": 0.982
},
"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 98% of commits",
"points": 0.4,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 98
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "4 contributors",
"points": 5.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 4
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 83,
"inputs": {
"merged_prs": 142,
"open_issues": 0,
"closed_issues": 11,
"issue_closed_ratio": 1,
"closed_unmerged_prs": 9
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "100% of issues closed",
"points": 46.8,
"status": "met",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 100
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "142/151 decided PRs merged",
"points": 36,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 142,
"decided": 151
}
}
],
"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": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 61,
"inputs": {
"followers": 91,
"owner_type": "User",
"is_verified": null,
"owner_login": "ayuhito",
"public_repos": 61,
"account_age_days": 3029
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "91 followers of ayuhito",
"points": 14.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 91,
"login": "ayuhito"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "61 public repos, account ~8 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 61
}
},
{
"code": "account_age_years",
"params": {
"years": 8
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"modern-tar"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 5
},
"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 5 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 5
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "31 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 31
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 76,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"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": "biome.json",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "biome.json"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "28 out of 28 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"topics": [
"cloudflare-workers",
"javascript",
"nodejs",
"tar",
"typescript",
"tar-gz",
"streams"
],
"has_wiki": false,
"homepage": "https://npmjs.com/package/modern-tar",
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://npmjs.com/package/modern-tar",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "7 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 7
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 54,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 43,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 4.3
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "28 out of 28 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 1.5,
"status": "partial",
"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": "28 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 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "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): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 35 resolved dependencies against OSV; 6 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 35
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 6
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 35,
"unassessed_packages": 6,
"affected_by_severity": "moderate 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 35,
"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": 24
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 59,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"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": "81 of 81 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 81,
"sampled": 81
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"benchmarks/tsconfig.json",
"tsconfig.json"
],
"agent_commit_share": 0.02,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": "biome.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "biome.json"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "benchmarks/tsconfig.json, tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "benchmarks/tsconfig.json, tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "2 of the last 100 commits agent-authored or agent-credited",
"points": 4,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 2,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 85367,
"source_files_sampled": 69,
"oversized_source_files": 1
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "1/69 source files over 60KB",
"points": 54.2,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 69,
"oversized": 1
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-25T16:37:39.587805Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/ayuhito/modern-tar.svg",
"full_name": "ayuhito/modern-tar",
"license_state": "standard",
"license_spdx": "MIT"
}