JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [
"library",
"nodejs",
"tempdir",
"tempfiles"
],
"is_fork": false,
"size_kb": 1501,
"has_wiki": false,
"homepage": null,
"languages": {
"Shell": 667,
"JavaScript": 75282
},
"pushed_at": "2026-05-27T15:47:49Z",
"created_at": "2011-09-02T10:39:43Z",
"owner_type": "User",
"updated_at": "2026-07-21T06:36:19Z",
"description": "Temporary file and directory creator for node.js",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "JavaScript",
"significant_languages": [
"JavaScript"
]
},
"owner": {
"blog": "https://function-artisans.com/",
"name": "KARASZI István",
"type": "User",
"login": "raszi",
"company": "@metrictech",
"location": "Budapest, Hungary, Europe",
"followers": 61,
"avatar_url": "https://avatars.githubusercontent.com/u/76983?v=4",
"created_at": "2009-04-23T12:42:26Z",
"is_verified": null,
"public_repos": 171,
"account_age_days": 6299
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.2.7",
"kind": "patch",
"published_at": "2026-05-27T15:45:48Z"
},
{
"tag": "v0.2.6",
"kind": "patch",
"published_at": "2026-05-26T19:31:03Z"
},
{
"tag": "v0.2.5",
"kind": "patch",
"published_at": "2025-08-08T21:21:18Z"
},
{
"tag": "v0.2.4",
"kind": "patch",
"published_at": "2025-08-06T07:38:10Z"
},
{
"tag": "v0.2.3",
"kind": "patch",
"published_at": "2024-02-29T02:44:15Z"
},
{
"tag": "v0.2.2",
"kind": "patch",
"published_at": "2024-02-28T03:17:06Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2020-04-28T20:50:29Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2020-04-25T10:22:56Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2019-03-20T20:55:06Z"
},
{
"tag": "v0.0.33",
"kind": "patch",
"published_at": "2017-08-12T09:27:57Z"
},
{
"tag": "v0.0.32",
"kind": "patch",
"published_at": "2017-03-24T17:24:57Z"
},
{
"tag": "v0.0.31",
"kind": "patch",
"published_at": "2016-11-21T12:39:37Z"
},
{
"tag": "v0.0.30",
"kind": "patch",
"published_at": "2016-11-01T21:22:09Z"
},
{
"tag": "v0.0.29",
"kind": "patch",
"published_at": "2016-09-18T13:04:26Z"
},
{
"tag": "v0.0.28",
"kind": "patch",
"published_at": "2015-09-27T20:45:12Z"
},
{
"tag": "v0.0.27",
"kind": "patch",
"published_at": "2015-08-14T22:12:23Z"
},
{
"tag": "v0.0.26",
"kind": "patch",
"published_at": "2015-05-12T07:40:05Z"
},
{
"tag": "v0.0.25",
"kind": "patch",
"published_at": "2015-03-01T12:18:22Z"
},
{
"tag": "v0.0.24",
"kind": "patch",
"published_at": "2014-07-11T16:10:25Z"
},
{
"tag": "v0.0.23",
"kind": "patch",
"published_at": "2013-12-03T22:27:59Z"
},
{
"tag": "v0.0.22",
"kind": "patch",
"published_at": "2013-11-29T14:41:31Z"
},
{
"tag": "v0.0.21",
"kind": "patch",
"published_at": "2013-08-07T09:59:17Z"
},
{
"tag": "v0.0.20",
"kind": "patch",
"published_at": "2013-06-01T20:03:47Z"
},
{
"tag": "v0.0.19",
"kind": "patch",
"published_at": "2013-04-22T05:29:35Z"
},
{
"tag": "v0.0.18",
"kind": "patch",
"published_at": "2013-04-19T18:30:22Z"
},
{
"tag": "v0.0.17",
"kind": "patch",
"published_at": "2013-04-09T13:41:24Z"
},
{
"tag": "v0.0.16",
"kind": "patch",
"published_at": "2012-11-22T14:28:53Z"
},
{
"tag": "v0.0.15",
"kind": "patch",
"published_at": "2012-10-13T10:14:07Z"
},
{
"tag": "v0.0.14",
"kind": "patch",
"published_at": "2012-08-26T18:51:10Z"
},
{
"tag": "v0.0.13",
"kind": "patch",
"published_at": "2012-06-27T09:12:39Z"
},
{
"tag": "v0.0.12",
"kind": "patch",
"published_at": "2011-10-21T12:08:40Z"
},
{
"tag": "v0.0.11",
"kind": "patch",
"published_at": "2011-09-07T11:35:57Z"
},
{
"tag": "v0.0.10",
"kind": "patch",
"published_at": "2011-09-05T13:31:55Z"
},
{
"tag": "v0.0.9",
"kind": "patch",
"published_at": "2011-09-05T13:05:08Z"
},
{
"tag": "v0.0.8",
"kind": "patch",
"published_at": "2011-09-05T12:51:16Z"
},
{
"tag": "v0.0.7",
"kind": "patch",
"published_at": "2011-09-03T18:45:33Z"
},
{
"tag": "v0.0.6",
"kind": "patch",
"published_at": "2011-09-03T15:50:33Z"
},
{
"tag": "v0.0.5",
"kind": "patch",
"published_at": "2011-09-02T13:23:39Z"
},
{
"tag": "v0.0.4",
"kind": "patch",
"published_at": "2011-09-02T13:21:42Z"
},
{
"tag": "v0.0.3",
"kind": "patch",
"published_at": "2011-09-02T12:44:51Z"
},
{
"tag": "v0.0.2",
"kind": "patch",
"published_at": "2011-09-02T12:36:46Z"
},
{
"tag": "v0.0.1",
"kind": "patch",
"published_at": "2011-09-02T12:26:18Z"
}
],
"recent_commits": [
{
"oid": "8ea1f37d75c67569e0f151448330d52f7babf211",
"body": null,
"is_bot": false,
"headline": "Bump up the version",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2026-05-27T15:45:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f24f788a356b5d45c9bec894632bd4931338153",
"body": "Reject non-string prefix, postfix, template",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2026-05-27T12:43:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce787f37aaacccad921ae90990c9da33481fe59c",
"body": "The relative-value guard in `_assertPath` calls `.includes('..')` directly on\nthe user-supplied value. When the value is an Array the call checks element\nequality (so `['../escape'].includes('..')` is false), and when the value is\nan arbitrary object a duck-typed `includes` returning false defeats t\n[…]\nyped\nobject, and primitive (number) inputs across `fileSync`, `dirSync`, and\n`tmpNameSync`, and asserts that valid string inputs are still accepted.\n\nSigned-off-by: tonghuaroot <tonghuaroot@gmail.com>",
"is_bot": false,
"headline": "Reject non-string prefix, postfix, template",
"author_name": "tonghuaroot",
"author_login": "tonghuaroot",
"committed_at": "2026-05-27T12:30:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "41f71598d03f104a67e0448a7cb9bd4efcdd5980",
"body": null,
"is_bot": false,
"headline": "Bump up the version",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2026-05-26T19:31:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "efa4a06f24374797ae32ab2b6ae39b7a611ae429",
"body": "fix: check for relative values",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2026-05-12T12:38:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ef2728ce0211b8110b2033dfe62eaf030341acf",
"body": null,
"is_bot": false,
"headline": "Check for relative values",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2026-04-06T16:46:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d2fe387f3f91b13830b9182faa02c3231ea8258",
"body": null,
"is_bot": false,
"headline": "Bump up the version",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-08-08T21:21:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e16282879e5d0554fe824e1ab3df724847e91183",
"body": "Fix use of tmp.dir() with `dir` option",
"is_bot": false,
"headline": "Merge pull request #309 from fflorent/fix-tmp-dir-with-dir",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-08-08T21:19:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b847d2f1a42b625c26149f4a2029ed00a1edf90b",
"body": null,
"is_bot": false,
"headline": "Fix use of tmp.dir() with `dir` option",
"author_name": "fflorent",
"author_login": "fflorent",
"committed_at": "2025-08-07T17:53:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08fa3abac32b621506512724b28b56b9c4a95846",
"body": null,
"is_bot": false,
"headline": "Update version",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-08-06T07:38:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cf4ec54180a77a2a95dc1941efa1659774c8787",
"body": "fix: GHSA-52f5-9888-hmc6",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-08-06T07:22:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "188b25e529496e37adaf1a1d9dccb40019a08b1b",
"body": null,
"is_bot": false,
"headline": "Fix GHSA-52f5-9888-hmc6",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-04-19T21:15:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "73b9fe45bbb40157acdfab8126dd0911de91c8fa",
"body": null,
"is_bot": false,
"headline": "Add test case for GHSA-52f5-9888-hmc6",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-04-19T21:15:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8e2f29a7575352e49e4882a836aab4bd2ec927f",
"body": null,
"is_bot": false,
"headline": "Remove broken tests",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-04-19T21:15:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2892a027b4d2d3a25d1d08a398bc108a0200857f",
"body": null,
"is_bot": false,
"headline": "Remove outdated URL",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-04-18T19:34:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f5923182461a89e9de5a7a09c75f410a76979ae7",
"body": null,
"is_bot": false,
"headline": "Reformat package.json",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-04-15T23:50:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "995ac8cc45867b44babdf232a1ab0a3bb1d25d95",
"body": "Bump braces from 3.0.2 to 3.0.3",
"is_bot": false,
"headline": "Merge pull request #301 from raszi/dependabot/npm_and_yarn/braces-3.0.3",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2025-04-07T15:17:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "caa758d7b55783c1e9abcb34695fdb9a812c30b7",
"body": "Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.\n- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: braces\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump braces from 3.0.2 to 3.0.3",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-07-21T19:32:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f0b2525ed6f6a977ea0cc272d4903d9d2216059",
"body": "feat: release v0.2.3",
"is_bot": false,
"headline": "Merge pull request #297 from raszi/feat/release-v0.2.3",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-29T02:44:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "998eec5efa53bbf41b93b69e1a183591248d2c2c",
"body": null,
"is_bot": false,
"headline": "Fix formatting",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-29T02:42:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a82d1f73c2a2452814d68c48a38d788d09dfb8e",
"body": null,
"is_bot": false,
"headline": "Add .tool-versions",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-29T02:42:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4057ffa0c39fa0543fb0a0647b50ebf51ab116be",
"body": null,
"is_bot": false,
"headline": "Update changelog",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-29T02:41:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4aba61eb4074c9d9a2075d6fcaf30926fe2e6c3a",
"body": null,
"is_bot": false,
"headline": "Ignore .env",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-29T02:41:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "062efbbf014e3a3d851419fd283c0b5471d4d6bd",
"body": null,
"is_bot": false,
"headline": "Add a small note about the compatibility",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-29T02:41:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8f7d78b84ffb95039ceb79dda9b7482a73c51a2",
"body": null,
"is_bot": false,
"headline": "Update version",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-29T02:41:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ed89d53398ad563eddcedbe21fd56487a723d34",
"body": "Use fs.rm() instead of rimraf",
"is_bot": false,
"headline": "Merge pull request #296 from kevinoid/drop-rimraf",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-29T02:04:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eafb034cd5de41b24c5d7d235c9f3dc850506a3c",
"body": "A regression occurred in 0.2.2 which can be reproduced using:\n\n```js\nconst assert = require('assert');\nconst tmp = require('tmp');\ntmp.dir({ unsafeCleanup: true }, (err, path, cleanup) => {\n assert.ifError(err);\n cleanup(assert.ifError);\n});\n```\nThis works with 0.2.1. With 0.2.2 it fails with:\n\n \n[…]\nates the nodejs engine version to 14.14, when `fs.rm()` was\nadded.\n\nFixes: 00bb5b282faa (\"Update rimraf and drop old Node compatibility\")\nFixes: #295\nSigned-off-by: Kevin Locke <kevin@kevinlocke.name>",
"is_bot": false,
"headline": "Use fs.rm() instead of rimraf",
"author_name": "Kevin Locke",
"author_login": "kevinoid",
"committed_at": "2024-02-29T01:46:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9fcf3cea17199db1171b85e34750b6479d6c50d0",
"body": "chore: update version",
"is_bot": false,
"headline": "Merge pull request #294 from raszi/fix/update-version",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-28T03:17:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e5f154f2957467915d9eaf44315bc90df0fca92",
"body": null,
"is_bot": false,
"headline": "Update version",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-28T02:59:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9958e21e89a18fe150df70dca449a861de2f69dc",
"body": null,
"is_bot": false,
"headline": "Update Changelog",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-28T02:58:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93854c2980249d904c7cf025f185bb90ffec088e",
"body": "chore: upgrade rimraf to fix transitive vulnerability",
"is_bot": false,
"headline": "Merge pull request #293 from raszi/fix/rimraf",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-28T02:56:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04371f35909df9b554a6336215c678b01978e393",
"body": null,
"is_bot": false,
"headline": "Add 20.x to the CI",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-28T02:50:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e498d91fc0f379f926ef0bb98c206b3074c393c4",
"body": null,
"is_bot": false,
"headline": "Drop Node v12 compatibility",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-28T02:40:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00bb5b282faadfd45a4e76d3e05591ab42c71027",
"body": null,
"is_bot": false,
"headline": "Update rimraf and drop old Node compatibility",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2024-02-28T02:40:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aab7312cd615c75765efaa09470eedc3aa5b727d",
"body": "…ocha-5.0.2\n\nBump flat and mocha",
"is_bot": false,
"headline": "Merge pull request #283 from raszi/dependabot/npm_and_yarn/flat-and-m…",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2023-08-09T14:31:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5643de35520b005b3de5f744aaaa2f987005045c",
"body": "Fix badges",
"is_bot": false,
"headline": "Merge pull request #288 from dnicolson/patch-1",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2023-08-09T14:29:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0f7f436fb750a4086ea86f1cdb6fd8d47a8136a",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Dave Nicolson",
"author_login": "dnicolson",
"committed_at": "2023-05-03T19:14:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a81a17cb96f48090da7e0bf270213a6d5a1da0b",
"body": "Bumps [flat](https://github.com/hughsk/flat) to 5.0.2 and updates ancestor dependency [mocha](https://github.com/mochajs/mocha). These dependencies need to be updated together.\n\n\nUpdates `flat` from 4.1.1 to 5.0.2\n- [Release notes](https://github.com/hughsk/flat/releases)\n- [Commits](https://github.\n[…]\n)\n\n---\nupdated-dependencies:\n- dependency-name: flat\n dependency-type: indirect\n- dependency-name: mocha\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump flat and mocha",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2022-12-30T23:44:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "da3bc1ac9a7880def4a3129c4f8bfe96a63bf99c",
"body": null,
"is_bot": false,
"headline": "update docs",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T20:37:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "15d0692cc6bf7ea9eb74defde429e75757e3260d",
"body": null,
"is_bot": false,
"headline": "update readme",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T20:37:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6be356b4f982e26a5615879cf4d582523e2d069",
"body": "update docs",
"is_bot": false,
"headline": "update note on previously undocumented breaking changes",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T20:10:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31bf774c711910dfa7cd5029391abc73980284e1",
"body": null,
"is_bot": false,
"headline": "update changelog",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T19:54:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da08266901a298ed5751c367ee7a64f99de2228f",
"body": null,
"is_bot": false,
"headline": "update docs",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T19:08:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2160076a854379d86cacfcd4f2e68ef8d4d787f4",
"body": null,
"is_bot": false,
"headline": "fix info on previously undocumented breaking changes",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T19:02:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c492308d7a1835980b6891ae778fe82aca74238e",
"body": null,
"is_bot": false,
"headline": "add info on previously undocumented breaking changes",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T19:01:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c9196cbdd22b8a29f16636842f9f86c63cd2738",
"body": null,
"is_bot": false,
"headline": "add compatibility information on v0.2.2",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T18:51:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "541b198f7aefe3cdac8aacbb48c578c62fe5c163",
"body": null,
"is_bot": false,
"headline": "switching to github actions",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T18:47:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c31bbb3b749ed91fafe76f3213ca900bfaab103",
"body": null,
"is_bot": false,
"headline": "add data parameter to writeFileSync call",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T18:45:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "455cbd30a150971715c86a536645e5f72505cae3",
"body": null,
"is_bot": false,
"headline": "fix matrix in ci workflow",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T18:31:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "970bf34b8564689f6c28462ae9d27cba1a42a2e8",
"body": null,
"is_bot": false,
"headline": "add windows-latest to ci workflow",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T18:25:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0dac212832a153781d1c4416b4277167627480da",
"body": null,
"is_bot": false,
"headline": "remove package-lock.json from gitignore",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T18:19:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "848fdceff47e73a095e64d1697b226b2294c2a5b",
"body": null,
"is_bot": false,
"headline": "add package-lock.json as it is required for github actions",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T18:18:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edbe950c7057423de0b3ad0aa5c346052214395a",
"body": "add ci build workflow",
"is_bot": false,
"headline": "Create node.js.yml",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2022-08-26T18:14:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16cad4d9b9f90f300180f3cd80934ddab8077ff1",
"body": "…raceful-cleanup\n\nFix #266",
"is_bot": false,
"headline": "Merge pull request #279 from raszi/266-change-readmemd-reference-of-g…",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2022-08-26T17:41:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d766aef29d8f802d3bf8b40a86f5cc2e1ce3bf0f",
"body": "…entation",
"is_bot": false,
"headline": "fix #266: move paragraph on graceful cleanup to the head of the docum…",
"author_name": "silkentrance",
"author_login": "silkentrance",
"committed_at": "2022-08-26T17:38:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c2d3f296e2931165a8a55ebdb6e6ea9203618e5",
"body": "…-name\n\nfix #268: Revert \"fix #246: remove any double quotes or single quotes…",
"is_bot": false,
"headline": "Merge pull request #278 from mbargiel/feature/fix-268-revert-sanitize…",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2022-08-26T17:27:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a831713743a1e370ebcda62f0709fdda9c0dd9d6",
"body": null,
"is_bot": false,
"headline": "Adjust #246 regression tests into #268 regression tests",
"author_name": "Maxime Bargiel",
"author_login": "mbargiel",
"committed_at": "2022-08-26T13:28:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fbc65be22e50ab50cdc162350f6148f67942e64f",
"body": "… from os.tmpdir also sanitize dir option, the template option and the name option\"\n\nThis reverts commit c8823e549280e11697a510184a69b63bf5bfef7a.\n\nSingle quotes must not be removed from paths because they are valid (even if hard to use)\non all OSes. Double quotes are only disallowed on Windows, but tmp should not change any\narg it gets; instead, it should rely on the underlying fs API to fail with an error\nthat the user needs to fix.",
"is_bot": false,
"headline": "fix #268: Revert \"fix #246: remove any double quotes or single quotes…",
"author_name": "Maxime Bargiel",
"author_login": "mbargiel",
"committed_at": "2022-08-23T16:09:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e96f4d1546a6a1d8d7d73da20206e242b4b8a8f",
"body": "Update README.md",
"is_bot": false,
"headline": "Merge pull request #271 from robertoaceves/patch-1",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2021-07-31T19:38:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1bd5f2a63879b04971a306477495e3858b27321a",
"body": "Remove mention of paths in the `template` option description.",
"is_bot": false,
"headline": "Update README.md",
"author_name": "robertoaceves",
"author_login": "robertoaceves",
"committed_at": "2021-07-30T13:29:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ae22ed2d56c10d425a66e99fe8bc10c925442e6",
"body": null,
"is_bot": false,
"headline": "update changelog",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-04-28T20:50:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "598a36f2efbf99e91ce51534e0733dd608183047",
"body": "fix #250: introduce tmpdir option for overriding the system tmp dir",
"is_bot": false,
"headline": "Merge pull request #252 from raszi/gh-250",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-04-28T20:47:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b51e90248cef684a38803304c7e8dc68b1d06e2",
"body": null,
"is_bot": false,
"headline": "fix #250: introduce tmpdir option for overriding the system tmp dir",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-04-28T20:39:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3fde7ecc69606666bd8338d39a438afd7b50ba0c",
"body": "fix #191: generate changelog from pull requests using lerna-changelog",
"is_bot": false,
"headline": "Merge pull request #253 from raszi/gh-191",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-04-28T20:31:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "113651eef42fbd39666d6a519483faa56e7aa346",
"body": null,
"is_bot": false,
"headline": "fix #191: generate changelog from pull requests using lerna-changelog",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-04-28T20:22:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16acc7afc40476c87c39a70c549adb5dcaae43b8",
"body": null,
"is_bot": false,
"headline": "0.2.0",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2020-04-25T10:22:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6465b0665b9d7a788460386a1d9b04870d72532",
"body": "feat: stabilize tmp for v0.2.0 release",
"is_bot": false,
"headline": "Merge pull request #234 from raszi/gh-233",
"author_name": "KARASZI István",
"author_login": "raszi",
"committed_at": "2020-04-09T09:10:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8823e549280e11697a510184a69b63bf5bfef7a",
"body": "…so sanitize dir option, the template option and the name option",
"is_bot": false,
"headline": "fix #246: remove any double quotes or single quotes from os.tmpdir al…",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-04-08T19:09:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7028f27802ce9f9b44a77aad2324b3759b24ed1",
"body": null,
"is_bot": false,
"headline": "cleanup code",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-04-08T17:58:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c80c6d7071243f3d04255f08b23dbf4bb50cd05",
"body": null,
"is_bot": false,
"headline": "regression - tmp name included a trailing hyphen if no postfix was given",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-08T00:09:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5110e949f8156a847c8944c9e83fd51a8679c8cc",
"body": "…ually returns",
"is_bot": false,
"headline": "fix regression - os.constants.errno are different from what WIN32 act…",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-08T00:04:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "486205bf697301ad21e4f2eeea68d0ad35b750c3",
"body": "replace var by const",
"is_bot": false,
"headline": "fix #240",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-07T23:31:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0664e9aca875de003fb14dd09100196788e0c497",
"body": null,
"is_bot": false,
"headline": "code cleanup - better error handling",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-07T23:17:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a144b4d6a6a55ff15c47b6e62a1efdd7cbe2a1f",
"body": "…d errno",
"is_bot": false,
"headline": "code cleanup - remove documentation on old node version error code an…",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-07T23:07:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5cfca269787019df3c8756bd20ed5164ca8845ad",
"body": null,
"is_bot": false,
"headline": "limit minimum node version to v8.17.0 - otherwise eslint will fail",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-07T23:03:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be9df6f3a4150ac5cfcea33f222e99b89afb2bdb",
"body": "…private functions to the back of the module",
"is_bot": false,
"headline": "code cleanup - prefix private functions with an underscore, move all …",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-07T23:02:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3c3ab8592941b3e363224f18f7a19539805c172",
"body": null,
"is_bot": false,
"headline": "code cleanup - replace var by let or const",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-07T22:51:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba70579b9cd29c70e04f6485184676242351c081",
"body": null,
"is_bot": false,
"headline": "code cleanup - remove reference to process.bindings",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-07T22:48:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ee5bdd590a0351c3db7d18fc82968bfe11fe7d9",
"body": null,
"is_bot": false,
"headline": "fix #156 #207 #218 #176 #236 #237 #238",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-07T22:27:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9500e10f83b0158ec83b2b3cc140ac0438d89741",
"body": null,
"is_bot": false,
"headline": "update jsdoc",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-04T23:40:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1746331df649527b765d9dfefc13b88fd23e410c",
"body": null,
"is_bot": false,
"headline": "update jsdoc",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T14:28:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b63cb5879ad557ea4856d96c604d74afa6acd6d4",
"body": "…iptor, similar to tmp.fileSync",
"is_bot": false,
"headline": "fix #213 tmp.file must not unlink file when discarding the file descr…",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T14:27:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5195a26b3ee54607a40b09953fd1f0d8b6575a11",
"body": null,
"is_bot": false,
"headline": "add contributors to package.json",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T13:44:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bcb43a0b9109b053334d4a59b86dcc8fed1dbd4b",
"body": null,
"is_bot": false,
"headline": "update documentation",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T13:41:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "327eb83b61f3149f8d07b88d7b4cc55b1c469928",
"body": null,
"is_bot": false,
"headline": "include node v13 in builds",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T13:20:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3005fced86226fc2995379f2c6029362293573d",
"body": null,
"is_bot": false,
"headline": "update jsdoc",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T13:17:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78c72efbea53593301a5a61257a873dcc71bafcb",
"body": null,
"is_bot": false,
"headline": "fix tests, remove obsolete tests, add missing SIGINT handlers",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T13:14:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05d1b4371ab804069eaf7e9cf0d69f4b41c06995",
"body": null,
"is_bot": false,
"headline": "update jsdoc",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T12:45:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19febe21d9a7d20142bb54860d5da04fd5965af9",
"body": null,
"is_bot": false,
"headline": "remove SIGINT listener, simplify EXIT listener",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T12:45:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b77436f2821d9fe3c1502c30eb6f7c042edc454",
"body": null,
"is_bot": false,
"headline": "add changelog",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T12:42:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29642fceeb319a09f8a5be448142e6a9050b30f2",
"body": null,
"is_bot": false,
"headline": "update jsdoc",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-02-03T12:42:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61f9a7ddda5d183ca790a214ee5981ef470ddb33",
"body": "fix #230: regression after fix for #197",
"is_bot": false,
"headline": "Merge pull request #231 from raszi/gh-230",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-29T19:59:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3aba7d88d7bca600c77928d3f5e92fc3ce602911",
"body": "…c or rmdirSync during garbage collection and not use a next parameter",
"is_bot": false,
"headline": "fix #230: regression after fix for #197 - must call either rimraf.syn…",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-29T19:52:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "562b8f7bb8a99026dba2ecc2d3c6ced5382db441",
"body": "fix #212: enable direct name option test",
"is_bot": false,
"headline": "Merge pull request #226 from raszi/gh-212",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-27T20:37:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "247c6d7ea810dda83d4068d79f0c4ade2a0fc7c6",
"body": null,
"is_bot": false,
"headline": "fix #212: enable direct name option test",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-27T20:22:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec35e59cafd06782c3ee4a38d2f8be2fe1812b9d",
"body": "fix #211: existing tests must clean up after themselves",
"is_bot": false,
"headline": "Merge pull request #225 from raszi/gh-211",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-27T20:17:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6de7196feb4aefaf7e36261d086f1b3a8fe86146",
"body": null,
"is_bot": false,
"headline": "fix #211: existing tests must clean up after themselves",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-27T20:05:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ffd5091c129c46e9c9516ebf2cb1969acdc2fa9",
"body": "fix #217: name tests must tmpName",
"is_bot": false,
"headline": "Merge pull request #224 from raszi/gh-217",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-27T19:59:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd82b3f45cd6ab6df5000e1ff0e1e3f1a0b6b081",
"body": null,
"is_bot": false,
"headline": "fix #217: name tests must tmpName",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-27T19:31:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb412d60c442bdb08ae3ce7469d32697aa69ac1e",
"body": "fix #214: refactor tests and lib",
"is_bot": false,
"headline": "Merge pull request #223 from raszi/gh-214",
"author_name": "Carsten Klein",
"author_login": "silkentrance",
"committed_at": "2020-01-27T19:22:08Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 42,
"commits_last_year": 11,
"latest_release_at": "2026-05-27T15:45:48Z",
"latest_release_tag": "v0.2.7",
"releases_from_tags": true,
"days_since_last_push": 56,
"active_weeks_last_year": 5,
"days_since_latest_release": 56,
"mean_days_between_releases": 356.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 42,
"has_issue_template": true,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "tmp",
"exists": true,
"license": "MIT",
"keywords": [
"temporary",
"tmp",
"temp",
"tempdir",
"tempfile",
"tmpdir",
"tmpfile"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/tmp",
"is_deprecated": false,
"latest_version": "0.2.7",
"repository_url": "https://github.com/raszi/node-tmp",
"versions_count": 40,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 303459123,
"first_published_at": "2011-09-02T12:30:13.534000Z",
"latest_published_at": "2026-05-27T15:47:18.009000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 56
}
]
},
"popularity": {
"forks": 101,
"stars": 776,
"watchers": 5,
"fork_history": {
"days": [
{
"date": "2012-06-26",
"count": 1
},
{
"date": "2012-07-07",
"count": 1
},
{
"date": "2012-08-23",
"count": 1
},
{
"date": "2013-06-20",
"count": 1
},
{
"date": "2013-08-06",
"count": 1
},
{
"date": "2013-11-22",
"count": 1
},
{
"date": "2013-11-29",
"count": 1
},
{
"date": "2013-12-02",
"count": 1
},
{
"date": "2014-03-25",
"count": 1
},
{
"date": "2014-04-28",
"count": 1
},
{
"date": "2014-05-16",
"count": 1
},
{
"date": "2014-07-03",
"count": 1
},
{
"date": "2014-08-29",
"count": 1
},
{
"date": "2014-09-10",
"count": 1
},
{
"date": "2014-12-08",
"count": 1
},
{
"date": "2014-12-30",
"count": 1
},
{
"date": "2015-03-03",
"count": 1
},
{
"date": "2015-03-27",
"count": 1
},
{
"date": "2015-05-23",
"count": 1
},
{
"date": "2015-08-10",
"count": 1
},
{
"date": "2015-08-17",
"count": 1
},
{
"date": "2015-08-21",
"count": 1
},
{
"date": "2015-09-15",
"count": 1
},
{
"date": "2015-09-18",
"count": 1
},
{
"date": "2015-09-24",
"count": 1
},
{
"date": "2015-09-25",
"count": 1
},
{
"date": "2015-10-18",
"count": 1
},
{
"date": "2015-10-22",
"count": 1
},
{
"date": "2015-10-25",
"count": 1
},
{
"date": "2015-11-05",
"count": 1
},
{
"date": "2015-12-16",
"count": 1
},
{
"date": "2016-02-03",
"count": 1
},
{
"date": "2016-02-17",
"count": 1
},
{
"date": "2016-02-23",
"count": 1
},
{
"date": "2016-02-24",
"count": 1
},
{
"date": "2016-03-07",
"count": 1
},
{
"date": "2016-03-13",
"count": 1
},
{
"date": "2016-05-04",
"count": 1
},
{
"date": "2016-05-12",
"count": 1
},
{
"date": "2016-06-08",
"count": 1
},
{
"date": "2016-07-09",
"count": 1
},
{
"date": "2016-07-22",
"count": 1
},
{
"date": "2016-08-10",
"count": 1
},
{
"date": "2016-09-05",
"count": 1
},
{
"date": "2016-09-14",
"count": 1
},
{
"date": "2016-10-10",
"count": 1
},
{
"date": "2016-10-26",
"count": 1
},
{
"date": "2016-10-31",
"count": 1
},
{
"date": "2017-01-01",
"count": 1
},
{
"date": "2017-03-07",
"count": 1
},
{
"date": "2017-05-04",
"count": 1
},
{
"date": "2017-06-03",
"count": 1
},
{
"date": "2017-06-22",
"count": 1
},
{
"date": "2017-12-20",
"count": 1
},
{
"date": "2018-01-27",
"count": 1
},
{
"date": "2018-05-03",
"count": 1
},
{
"date": "2018-05-10",
"count": 1
},
{
"date": "2018-08-01",
"count": 1
},
{
"date": "2018-08-10",
"count": 1
},
{
"date": "2018-08-15",
"count": 1
},
{
"date": "2018-12-31",
"count": 1
},
{
"date": "2019-01-10",
"count": 1
},
{
"date": "2019-03-24",
"count": 1
},
{
"date": "2019-03-28",
"count": 1
},
{
"date": "2019-07-13",
"count": 1
},
{
"date": "2019-09-11",
"count": 1
},
{
"date": "2019-10-11",
"count": 1
},
{
"date": "2019-10-15",
"count": 1
},
{
"date": "2020-04-09",
"count": 1
},
{
"date": "2020-04-27",
"count": 1
},
{
"date": "2020-07-01",
"count": 1
},
{
"date": "2020-07-08",
"count": 1
},
{
"date": "2020-07-20",
"count": 1
},
{
"date": "2020-10-23",
"count": 1
},
{
"date": "2020-10-28",
"count": 1
},
{
"date": "2021-04-28",
"count": 1
},
{
"date": "2021-06-22",
"count": 1
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2022-01-07",
"count": 1
},
{
"date": "2022-01-20",
"count": 1
},
{
"date": "2022-03-10",
"count": 1
},
{
"date": "2022-03-12",
"count": 1
},
{
"date": "2022-04-08",
"count": 1
},
{
"date": "2022-08-03",
"count": 1
},
{
"date": "2022-08-23",
"count": 1
},
{
"date": "2022-10-28",
"count": 1
},
{
"date": "2023-03-20",
"count": 1
},
{
"date": "2024-01-07",
"count": 1
},
{
"date": "2024-02-28",
"count": 1
},
{
"date": "2024-06-10",
"count": 1
},
{
"date": "2024-10-10",
"count": 1
},
{
"date": "2025-04-14",
"count": 1
},
{
"date": "2025-04-30",
"count": 1
},
{
"date": "2025-08-07",
"count": 1
},
{
"date": "2025-08-12",
"count": 1
},
{
"date": "2025-12-01",
"count": 1
},
{
"date": "2026-04-09",
"count": 1
},
{
"date": "2026-05-29",
"count": 1
},
{
"date": "2026-06-04",
"count": 1
},
{
"date": "2026-07-21",
"count": 1
}
],
"complete": true,
"collected": 100,
"total_forks": 101
},
"star_history": null,
"open_issues_and_prs": 11
},
"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": [],
"toolchain_manifests": [],
"largest_source_bytes": 25141,
"source_files_sampled": 35,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "flatted",
"direct": false,
"version": "2.0.2",
"severity": "critical",
"ecosystem": "npm",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-25h7-pfq9-p65f",
"GHSA-rf6f-7fwh-wjgh"
],
"fixed_version": "3.4.2",
"advisory_count": 2,
"oldest_advisory_days": 131
},
{
"name": "handlebars",
"direct": false,
"version": "4.7.8",
"severity": "critical",
"ecosystem": "npm",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-2qvq-rjwj-gvw9",
"GHSA-2w6w-674q-4c4q",
"GHSA-3mfm-83xf-c92r",
"GHSA-442j-39wm-28r2",
"GHSA-7rx3-28cr-v5wh",
"GHSA-9cx6-37pm-9jff",
"GHSA-xhpv-hc6g-r9c6",
"GHSA-xjpj-3mr7-gcpf"
],
"fixed_version": "4.7.9",
"advisory_count": 8,
"oldest_advisory_days": 118
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.11",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-f886-m6hf-6m8v",
"GHSA-v6h2-p8h4-qcjw"
],
"fixed_version": "5.0.7",
"advisory_count": 3,
"oldest_advisory_days": 408
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-f886-m6hf-6m8v",
"GHSA-v6h2-p8h4-qcjw"
],
"fixed_version": "5.0.7",
"advisory_count": 3,
"oldest_advisory_days": 408
},
{
"name": "cross-spawn",
"direct": false,
"version": "6.0.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3xgq-45jj-v275"
],
"fixed_version": "7.0.5",
"advisory_count": 1,
"oldest_advisory_days": 621
},
{
"name": "ip",
"direct": false,
"version": "1.1.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-2p57-rm9w-gvfp",
"GHSA-78xj-cgh5-2h22"
],
"fixed_version": "2.0.1",
"advisory_count": 2,
"oldest_advisory_days": 895
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68",
"GHSA-mh29-5h37-fv8m"
],
"fixed_version": "4.3.0",
"advisory_count": 3,
"oldest_advisory_days": 250
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68",
"GHSA-mh29-5h37-fv8m"
],
"fixed_version": "4.3.0",
"advisory_count": 3,
"oldest_advisory_days": 250
},
{
"name": "lodash",
"direct": false,
"version": "4.17.21",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-f23m-r3pf-42rh",
"GHSA-r5fr-rjxr-66jc",
"GHSA-xxjr-mmjv-4gpg"
],
"fixed_version": "4.18.0",
"advisory_count": 3,
"oldest_advisory_days": 182
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-23c5-xmqv-rm74",
"GHSA-3ppc-4f35-3m26",
"GHSA-7r86-cg39-jmmj"
],
"fixed_version": "10.2.3",
"advisory_count": 3,
"oldest_advisory_days": 154
},
{
"name": "minimatch",
"direct": false,
"version": "5.0.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-23c5-xmqv-rm74",
"GHSA-3ppc-4f35-3m26",
"GHSA-7r86-cg39-jmmj"
],
"fixed_version": "10.2.3",
"advisory_count": 3,
"oldest_advisory_days": 154
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3v7f-55p6-f55p",
"GHSA-c2c7-rcm5-vvqj"
],
"fixed_version": "4.0.4",
"advisory_count": 2,
"oldest_advisory_days": 119
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-5c6j-r48x-rmvq",
"GHSA-76p7-773f-r4q5",
"GHSA-qj8w-gfj5-8c6v"
],
"fixed_version": "7.0.5",
"advisory_count": 3,
"oldest_advisory_days": 527
},
{
"name": "tar",
"direct": false,
"version": "6.2.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.8,
"advisory_ids": [
"GHSA-23hp-3jrh-7fpw",
"GHSA-34x7-hfp2-rc4v",
"GHSA-83g3-92jg-28cx",
"GHSA-8qq5-rm4j-mr97",
"GHSA-8x88-c5mf-7j5w",
"GHSA-9ppj-qmqm-q256",
"GHSA-f5x3-32g6-xq36",
"GHSA-gvwx-54wh-qm9j",
"GHSA-qffp-2rhf-9h96",
"GHSA-r6q2-hw4h-h46w"
],
"fixed_version": "7.5.19",
"advisory_count": 12,
"oldest_advisory_days": 852
},
{
"name": "tmp",
"direct": false,
"version": "0.0.33",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52f5-9888-hmc6",
"GHSA-ph9p-34f9-6g65"
],
"fixed_version": "0.2.6",
"advisory_count": 2,
"oldest_advisory_days": 350
},
{
"name": "ajv",
"direct": false,
"version": "6.12.6",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-2g4f-4pwh-qvx6"
],
"fixed_version": "8.18.0",
"advisory_count": 1,
"oldest_advisory_days": 161
},
{
"name": "diff",
"direct": false,
"version": "5.0.0",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-73rr-hh4g-fpgx"
],
"fixed_version": "8.0.3",
"advisory_count": 1,
"oldest_advisory_days": 189
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 13,
"critical": 2,
"moderate": 2
},
"advisory_count": 55,
"affected_count": 17,
"assessed_count": 299,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.23.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.22.20",
"ecosystem": "npm"
},
{
"name": "@babel/highlight",
"direct": false,
"version": "7.23.4",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "7.4.1",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "agentkeepalive",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.12.6",
"ecosystem": "npm"
},
{
"name": "amdefine",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-colors",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "aproba",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "astral-regex",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "async",
"direct": false,
"version": "1.5.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.11",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browser-stdout",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "cacache",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chardet",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.5.3",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "cli-highlight",
"direct": false,
"version": "2.1.11",
"ecosystem": "npm"
},
{
"name": "cli-width",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "1.9.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "copy-concurrently",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "core-util-is",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "6.0.5",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.3.4",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "encoding",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.4",
"ecosystem": "npm"
},
{
"name": "err-code",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "es6-promise",
"direct": false,
"version": "4.2.8",
"ecosystem": "npm"
},
{
"name": "es6-promisify",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "escodegen",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "6.8.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-mocha",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "eslint-utils",
"direct": false,
"version": "1.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-utils",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "2.7.3",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "1.9.3",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "external-editor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "figgy-pudding",
"direct": false,
"version": "3.5.2",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "flat",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "fs-minipass",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fs-write-stream-atomic",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "functional-red-black-tree",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "5.0.15",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "12.4.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "handlebars",
"direct": false,
"version": "4.7.8",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "highlight.js",
"direct": false,
"version": "10.7.3",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "humanize-ms",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.24",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "iferr",
"direct": false,
"version": "0.1.5",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "infer-owner",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "inquirer",
"direct": false,
"version": "7.3.3",
"ecosystem": "npm"
},
{
"name": "ip",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-lambda",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul",
"direct": false,
"version": "0.4.5",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.1",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.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": "lerna-changelog",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.17.21",
"ecosystem": "npm"
},
{
"name": "log-symbols",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "make-fetch-happen",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "5.0.1",
"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": "5.0.0",
"ecosystem": "npm"
},
{
"name": "minipass-collect",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "minipass-fetch",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "minipass-flush",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "minipass-pipeline",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "minipass-sized",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "minizlib",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "0.5.6",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "mocha",
"direct": false,
"version": "10.3.0",
"ecosystem": "npm"
},
{
"name": "move-concurrently",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "0.0.8",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "neo-async",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "nice-try",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "normalize-git-url",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.8.3",
"ecosystem": "npm"
},
{
"name": "os-tmpdir",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "p-finally",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "parse5-htmlparser2-tree-adapter",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "process-nextick-args",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "progress",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "promise-inflight",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "promise-retry",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "ramda",
"direct": false,
"version": "0.27.2",
"ecosystem": "npm"
},
{
"name": "randombytes",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "regexpp",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-main-filename",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "retry",
"direct": false,
"version": "0.10.1",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "2.6.3",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "2.7.1",
"ecosystem": "npm"
},
{
"name": "run-async",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "run-queue",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "6.6.7",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "set-blocking",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "smart-buffer",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "socks",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "socks-proxy-agent",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "ssri",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-eof",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "table",
"direct": false,
"version": "5.4.6",
"ecosystem": "npm"
},
{
"name": "tar",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "text-table",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "through",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.0.33",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.21.3",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "uglify-js",
"direct": false,
"version": "3.17.4",
"ecosystem": "npm"
},
{
"name": "unique-filename",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "unique-slug",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "v8-compile-cache",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "which-module",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wordwrap",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "workerpool",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "write",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "13.3.2",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "16.2.0",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "13.1.2",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.4",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.9",
"ecosystem": "npm"
},
{
"name": "yargs-unparser",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 299,
"direct_count": 0,
"indirect_count": 299
}
},
"maintainership": {
"issues": {
"open_prs": 8,
"merged_prs": 89,
"open_issues": 3,
"closed_ratio": 0.984,
"closed_issues": 183,
"closed_unmerged_prs": 30
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "raszi",
"commits": 278,
"avatar_url": "https://avatars.githubusercontent.com/u/76983?v=4"
},
{
"type": "User",
"login": "silkentrance",
"commits": 117,
"avatar_url": "https://avatars.githubusercontent.com/u/6068824?v=4"
},
{
"type": "User",
"login": "voltrevo",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/9291586?v=4"
},
{
"type": "User",
"login": "binki",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/82626?v=4"
},
{
"type": "User",
"login": "joscha",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/188038?v=4"
},
{
"type": "User",
"login": "foxel",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/1551926?v=4"
},
{
"type": "User",
"login": "Ari-H",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/23119847?v=4"
},
{
"type": "User",
"login": "wibblymat",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/393358?v=4"
},
{
"type": "User",
"login": "mcollina",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/52195?v=4"
},
{
"type": "User",
"login": "mbargiel",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/1649118?v=4"
}
],
"contributors_sampled": 35,
"top_contributor_share": 0.614
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"node.js.yml"
],
"has_docs_dir": true,
"linter_configs": [
".eslintrc.js"
],
"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": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 2,
"reason": "1 out of 5 merged PRs checked by a CI test -- score normalized to 2",
"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": 1,
"reason": "Found 2/18 approved changesets -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 11 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 4,
"reason": "5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4",
"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": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "45 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "8ea1f37d75c67569e0f151448330d52f7babf211",
"ran_at": "2026-07-22T23:09:05Z",
"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-05-27T15:48:51Z",
"oldest_open_prs": [
{
"number": 281,
"created_at": "2022-08-28T14:35:50Z",
"last_comment_at": "2024-06-10T13:53:52Z",
"last_comment_author": "raszi"
},
{
"number": 300,
"created_at": "2024-06-10T23:34:16Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 304,
"created_at": "2024-10-10T10:26:41Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 306,
"created_at": "2025-08-06T07:23:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 307,
"created_at": "2025-08-06T07:23:25Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 308,
"created_at": "2025-08-06T20:39:11Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 312,
"created_at": "2025-11-21T21:37:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 313,
"created_at": "2026-01-21T23:03:12Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2025-08-08T21:19:55Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 298,
"created_at": "2024-06-02T09:39:21Z",
"last_comment_at": "2024-06-24T08:10:47Z",
"last_comment_author": "raszi"
},
{
"number": 310,
"created_at": "2025-08-10T23:03:02Z",
"last_comment_at": "2025-08-21T08:41:36Z",
"last_comment_author": "agrohs"
},
{
"number": 311,
"created_at": "2025-10-28T21:39:50Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/raszi/node-tmp",
"host": "github.com",
"name": "node-tmp",
"owner": "raszi"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"security": 54,
"vitality": 50,
"community": 72,
"governance": 66,
"engineering": 71
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 50,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "at_risk",
"name": "Development activity",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"commits_last_year": 11,
"human_commit_share": 0.98,
"days_since_last_push": 56,
"active_weeks_last_year": 5
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 56 days ago",
"points": 18,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 56
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "5/52 weeks with commits",
"points": 3.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 5
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "11 commits in the last year",
"points": 9.7,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 11
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4",
"points": 4,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "good",
"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": 72,
"inputs": {
"releases_count": 42,
"latest_release_tag": "v0.2.7",
"releases_from_tags": true,
"days_since_latest_release": 56,
"mean_days_between_releases": 356.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "42 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 42
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 56 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 56
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~356.7 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 356.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "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": 56,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 56 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 56
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 72,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 67,
"inputs": {
"forks": 101,
"stars": 776,
"watchers": 5,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "776 stars",
"points": 46.9,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 776
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "101 forks",
"points": 16.7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 101
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "5 watchers",
"points": 3.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 5
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": true,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 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": 7.2,
"status": "met",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "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": [
"tmp"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 303459123
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "303,459,123 downloads/month across npm",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 303459123,
"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": 66,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 41,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 35,
"top_contributor_share": 0.614
},
"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 61% of commits",
"points": 8.7,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 61
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "35 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 35
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 11 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"merged_prs": 89,
"open_issues": 3,
"closed_issues": 183,
"issue_closed_ratio": 0.984,
"closed_unmerged_prs": 30
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "98% of issues closed",
"points": 46,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 98
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "89/119 decided PRs merged",
"points": 28.6,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 89,
"decided": 119
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 2/18 approved changesets -- score normalized to 1",
"points": 1.5,
"status": "partial",
"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": 60,
"inputs": {
"followers": 61,
"owner_type": "User",
"is_verified": null,
"owner_login": "raszi",
"public_repos": 171,
"account_age_days": 6299
},
"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": "61 followers of raszi",
"points": 12.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 61,
"login": "raszi"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "171 public repos, account ~17 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 171
}
},
{
"code": "account_age_years",
"params": {
"years": 17
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"tmp"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 56
},
"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 56 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 56
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "40 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 40
}
}
],
"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": 71,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 68,
"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": "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": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "1 out of 5 merged PRs checked by a CI test -- score normalized to 2",
"points": 4,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"topics": [
"library",
"nodejs",
"tempdir",
"tempfiles"
],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"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": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "4 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 4
}
}
],
"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): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "1 out of 5 merged PRs checked by a CI test -- score normalized to 2",
"points": 0.5,
"status": "partial",
"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 2/18 approved changesets -- score normalized to 1",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 11 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4",
"points": 3,
"status": "partial",
"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": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "45 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "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 299 resolved dependencies against OSV. 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": 299
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 55,
"affected_packages": 17,
"assessed_packages": 299,
"unassessed_packages": 0,
"affected_by_severity": "critical 2, high 13, moderate 2",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 299,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 14
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 41,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 18,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.347,
"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": "34 of 98 human commits state their intent (structured subject or explanatory body)",
"points": 18.5,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 34,
"sampled": 98
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.02
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".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": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "2 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 2,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 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": 25141,
"source_files_sampled": 35,
"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/35 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 35,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-22T23:09:30.101331Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/r/raszi/node-tmp.svg",
"full_name": "raszi/node-tmp",
"license_state": "standard",
"license_spdx": "MIT"
}