Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-22 23:09 UTC

raszi / node-tmp

Temporary file and directory creator for node.js

JavaScriptMIT★ 776 Sterne⑂ 101 Forksseit Sept. 2011Auf GitHub ansehen ↗

raszi/node-tmp erreicht einen Gesundheitsindex von 63 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Community & Adoption (72/100) ab, am schwächsten bei AI Readiness (41/100). Zuletzt vor 56 Tagen aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

63
gesamt / 100
Mittel

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

63
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

KARASZI IstvánPersönliches Konto
61 Follower171 öffentliche Reposseit Apr. 2009@metrictech

Dieses Repository gehört einem persönlichen Konto. Ein Projekt mit nur einem Eigentümer trägt ein höheres Kontinuitätsrisiko als ein organisationsgetragenes.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
npmtmp0.2.7303.459.12340vor 56 Tagentemporarytmptemptempdirtempfiletmpdirtmpfile

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

50Mittel · 22 % des Gesamtindex
Wie die Bewertung erfolgt
18/36Push-Aktualität — letzter Push vor 56 Tagen
3.5/36Commit-Rhythmus — 5/52 Wochen mit Commits
9.7/18Commit-Volumen — 11 Commits im letzten Jahr
4/10OpenSSF Scorecard: Maintained — 5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4
Verwendete Eingangsdaten
commits_last_year11
human_commit_share0,98
days_since_last_push56
active_weeks_last_year5
Wie die Bewertung erfolgt
16.2/27Liefert Releases aus — 42 Versions-Tags (keine GitHub-Releases)
36/36Release-Aktualität — letztes Release vor 56 Tagen
12.6/27Release-Rhythmus — ein Release etwa alle 356,7 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count42
latest_release_tagv0.2.7
releases_from_tagsja
days_since_latest_release56
mean_days_between_releases356,7
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

72Gut · 18 % des Gesamtindex
Wie die Bewertung erfolgt
46.9/60Stars — 776 Stars
16.7/25Forks — 101 Forks
3.3/15Watcher — 5 Watcher
Verwendete Eingangsdaten
forks101
stars776
watchers5
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
7.2/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingnein
has_issue_templateja
has_code_of_conductnein
has_pull_request_templatenein
Wie die Bewertung erfolgt
80/80Downloads pro Monat — 303.459.123 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packagestmp
dependents
ecosystemsnpm
total_downloads
monthly_downloads303.459.123
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Abhängige in der Registry. Die verbleibenden Gewichte wurden renormalisiert.

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

66Mittel · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
8.7/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 61 % der Commits
13.5/13.5Breite der Beitragenden — 35 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 11 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor1
contributors_sampled35
top_contributor_share0,614
Wie die Bewertung erfolgt
46/46.8Issue-Lösungsquote — 98 % der Issues geschlossen
28.6/38.3PR-Annahme — 89/119 entschiedene PRs gemergt
1.5/15OpenSSF Scorecard: Code-Review — Found 2/18 approved changesets -- score normalized to 1
Verwendete Eingangsdaten
merged_prs89
open_issues3
closed_issues183
issue_closed_ratio0,984
closed_unmerged_prs30
Wie die Bewertung erfolgt
10/30Organisatorische Trägerschaft — persönliches (Nutzer-)Konto
0/20Verifizierte Domain — für Nutzerkonten nicht anwendbar
12.9/25Reichweite des Inhabers — 61 Follower von raszi
25/25Kontohistorie — 171 öffentliche Repos, Kontoalter ca. 17 Jahre
Verwendete Eingangsdaten
followers61
owner_typeUser
is_verified
owner_loginraszi
public_repos171
account_age_days6.299
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Verifizierte Domain. Die verbleibenden Gewichte wurden renormalisiert.

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 56 Tagen
20/20Versionshistorie — 40 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagestmp
ecosystemsnpm
any_deprecatednein
min_days_since_publish56

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

71Gut · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 1 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .eslintrc.js
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
4/20OpenSSF Scorecard: CI-Tests — 1 out of 5 merged PRs checked by a CI test -- score normalized to 2
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_configja
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
10/10Topics — 4 Topics
0/10Wiki
Verwendete Eingangsdaten
topicslibrary, nodejs, tempdir, tempfiles
has_wikinein
homepage
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

54Mittel · 16 % des Gesamtindex

Sicherheitslage

42Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — keine Daten
0.5/2.5CI-Tests — 1 out of 5 merged PRs checked by a CI test -- score normalized to 2
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0.8/7.5Code-Review — Found 2/18 approved changesets -- score normalized to 1
2.5/2.5Contributors — project has 11 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
3/7.5Maintained — 5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4
0/5Packaging — keine Daten
1.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 45 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate4,2
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): branch_protection, packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
35/35Direkte Abhängigkeiten ohne bekannte Advisories — keine direkte Abhängigkeit trägt ein bekanntes Advisory
0/25Indirekte Abhängigkeiten ohne bekannte Advisories — transitive Menge in diesem Bereich nicht von Entwicklungs- und Test-Abhängigkeiten trennbar
0/40Keine offenen Advisories — kein Advisory trägt ein Veröffentlichungsdatum
Verwendete Eingangsdaten
sourceosv
advisories55
affected_packages17
assessed_packages299
unassessed_packages0
affected_by_severitycritical 2, high 13, moderate 2
direct_affected_packages0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Indirekte Abhängigkeiten ohne bekannte Advisories, Keine offenen Advisories. Die verbleibenden Gewichte wurden renormalisiert. 299 aufgelöste Abhängigkeiten wurden mit OSV abgeglichen. Dieses Repository veröffentlicht kein Paket, das der Index auflöst; bewertet wurde daher der Abhängigkeitsgraph des Repositorys. Dieser Graph vermischt Entwicklungs- und Test-Pins mit ausgelieferten Abhängigkeiten, daher werden nur die deklarierten Laufzeit-Abhängigkeiten bewertet; transitive Befunde werden als Kontext ausgewiesen und fließen nicht in die Bewertung ein. Erreichbarkeit wird nicht analysiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

41Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
18.5/40Lesbare Commit-Historie — 34 von 98 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,347
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .eslintrc.js
0/11Statische Typprüfung
10/10Reproduzierbare Umgebung — lockfile
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 100
8/8Automatisierte Wartung — 2 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
3/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilespackage-lock.json
has_dockerfilenein
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,02
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — JavaScript ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/35 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageJavaScript
largest_source_bytes25.141
source_files_sampled35
oversized_source_files0

Eckdaten

776GitHub-Sterne
35Mitwirkende
11Commits, letzte 12 Monate
56Tage seit letztem Push
42Releases
1Bus-Faktor
3offene Issues
npmPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 101 ⇿
0Sterne
101Forks
30Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

02040608010010032012-062019-072026-07
Major 0Minor 2Patch 28

Jeder Punkt umfasst 13 Tage.

OpenSSF Scorecard 4.2 / 10
4.2Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-22 23:09 UTC

10Binary-Artifactsno binaries found in the repo
k. A.Branch-Protectioninternal 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
2CI-Tests1 out of 5 merged PRs checked by a CI test -- score normalized to 2
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
1Code-ReviewFound 2/18 approved changesets -- score normalized to 1
10Contributorsproject has 11 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
4Maintained5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4
k. A.Packagingpackaging workflow not detected
3Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 3
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities45 existing vulnerabilities detected
Alle Abhängigkeiten 299

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 0 direkte und 299 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
npm@babel/code-frame7.23.5indirekt
npm@babel/helper-validator-identifier7.22.20indirekt
npm@babel/highlight7.23.4indirekt
npmabbrev1.0.9indirekt
npmacorn7.4.1indirekt
npmacorn-jsx5.3.2indirekt
npmagent-base4.2.1indirekt
npmagent-base5.1.1indirekt
npmagentkeepalive4.5.0indirekt
npmaggregate-error3.1.0indirekt
npmajv6.12.6indirekt
npmamdefine1.0.1indirekt
npmansi-colors4.1.1indirekt
npmansi-escapes4.3.2indirekt
npmansi-regex4.1.1indirekt
npmansi-regex5.0.1indirekt
npmansi-styles3.2.1indirekt
npmansi-styles4.3.0indirekt
npmany-promise1.3.0indirekt
npmanymatch3.1.3indirekt
npmaproba1.2.0indirekt
npmargparse1.0.10indirekt
npmargparse2.0.1indirekt
npmastral-regex1.0.0indirekt
npmasync1.5.2indirekt
npmbalanced-match1.0.2indirekt
npmbinary-extensions2.2.0indirekt
npmbrace-expansion1.1.11indirekt
npmbrace-expansion2.0.1indirekt
npmbraces3.0.3indirekt
npmbrowser-stdout1.3.1indirekt
npmcacache14.0.0indirekt
npmcallsites3.1.0indirekt
npmcamelcase5.3.1indirekt
npmcamelcase6.3.0indirekt
npmchalk2.4.2indirekt
npmchalk4.1.2indirekt
npmchardet0.7.0indirekt
npmchokidar3.5.3indirekt
npmchownr1.1.4indirekt
npmchownr2.0.0indirekt
npmclean-stack2.2.0indirekt
npmcli-cursor3.1.0indirekt
npmcli-highlight2.1.11indirekt
npmcli-width3.0.0indirekt
npmcliui5.0.0indirekt
npmcliui7.0.4indirekt
npmcolor-convert1.9.3indirekt
npmcolor-convert2.0.1indirekt
npmcolor-name1.1.3indirekt
npmcolor-name1.1.4indirekt
npmconcat-map0.0.1indirekt
npmcopy-concurrently1.0.5indirekt
npmcore-util-is1.0.3indirekt
npmcross-spawn6.0.5indirekt
npmdebug4.3.4indirekt
npmdecamelize1.2.0indirekt
npmdecamelize4.0.0indirekt
npmdeep-is0.1.4indirekt
npmdiff5.0.0indirekt
npmdoctrine3.0.0indirekt
npmemoji-regex7.0.3indirekt
npmemoji-regex8.0.0indirekt
npmencoding0.1.13indirekt
npmend-of-stream1.4.4indirekt
npmerr-code1.1.2indirekt
npmes6-promise4.2.8indirekt
npmes6-promisify5.0.0indirekt
npmescalade3.1.2indirekt
npmescape-string-regexp1.0.5indirekt
npmescape-string-regexp4.0.0indirekt
npmescodegen1.8.1indirekt
npmeslint6.8.0indirekt
npmeslint-plugin-mocha6.3.0indirekt
npmeslint-scope5.1.1indirekt
npmeslint-utils1.4.3indirekt
npmeslint-utils2.1.0indirekt
npmeslint-visitor-keys1.3.0indirekt
npmespree6.2.1indirekt
npmesprima2.7.3indirekt
npmesprima4.0.1indirekt
npmesquery1.5.0indirekt
npmesrecurse4.3.0indirekt
npmestraverse1.9.3indirekt
npmestraverse4.3.0indirekt
npmestraverse5.3.0indirekt
npmesutils2.0.3indirekt
npmexeca1.0.0indirekt
npmexternal-editor3.1.0indirekt
npmfast-deep-equal3.1.3indirekt
npmfast-json-stable-stringify2.1.0indirekt
npmfast-levenshtein2.0.6indirekt
npmfiggy-pudding3.5.2indirekt
npmfigures3.2.0indirekt
npmfile-entry-cache5.0.1indirekt
npmfill-range7.1.1indirekt
npmfind-up3.0.0indirekt
npmfind-up5.0.0indirekt
npmflat5.0.2indirekt
npmflat-cache2.0.1indirekt
npmflatted2.0.2indirekt
npmfs-minipass2.1.0indirekt
npmfs-write-stream-atomic1.0.10indirekt
npmfs.realpath1.0.0indirekt
npmfsevents2.3.3indirekt
npmfunctional-red-black-tree1.0.1indirekt
npmget-caller-file2.0.5indirekt
npmget-stream4.1.0indirekt
npmglob5.0.15indirekt
npmglob7.2.3indirekt
npmglob8.1.0indirekt
npmglob-parent5.1.2indirekt
npmglobals12.4.0indirekt
npmgraceful-fs4.2.11indirekt
npmhandlebars4.7.8indirekt
npmhas-flag1.0.0indirekt
npmhas-flag3.0.0indirekt
npmhas-flag4.0.0indirekt
npmhe1.2.0indirekt
npmhighlight.js10.7.3indirekt
npmhttp-cache-semantics4.1.1indirekt
npmhttp-proxy-agent3.0.0indirekt
npmhttps-proxy-agent4.0.0indirekt
npmhumanize-ms1.2.1indirekt
npmiconv-lite0.4.24indirekt
npmiconv-lite0.6.3indirekt
npmiferr0.1.5indirekt
npmignore4.0.6indirekt
npmimport-fresh3.3.0indirekt
npmimurmurhash0.1.4indirekt
npmindent-string4.0.0indirekt
npminfer-owner1.0.4indirekt
npminflight1.0.6indirekt
npminherits2.0.4indirekt
npminquirer7.3.3indirekt
npmip1.1.5indirekt
npmis-binary-path2.1.0indirekt
npmis-extglob2.1.1indirekt
npmis-fullwidth-code-point2.0.0indirekt
npmis-fullwidth-code-point3.0.0indirekt
npmis-glob4.0.3indirekt
npmis-lambda1.0.1indirekt
npmis-number7.0.0indirekt
npmis-plain-obj2.1.0indirekt
npmis-stream1.1.0indirekt
npmis-unicode-supported0.1.0indirekt
npmisarray1.0.0indirekt
npmisexe2.0.0indirekt
npmistanbul0.4.5indirekt
npmjs-tokens4.0.0indirekt
npmjs-yaml3.14.1indirekt
npmjs-yaml4.1.0indirekt
npmjson-schema-traverse0.4.1indirekt
npmjson-stable-stringify-without-jsonify1.0.1indirekt
npmlerna-changelog1.0.1indirekt
npmlevn0.3.0indirekt
npmlocate-path3.0.0indirekt
npmlocate-path6.0.0indirekt
npmlodash4.17.21indirekt
npmlog-symbols4.1.0indirekt
npmlru-cache5.1.1indirekt
npmmake-fetch-happen7.1.1indirekt
npmmimic-fn2.1.0indirekt
npmminimatch3.1.2indirekt
npmminimatch5.0.1indirekt
npmminimist1.2.8indirekt
npmminipass3.3.6indirekt
npmminipass5.0.0indirekt
npmminipass-collect1.0.2indirekt
npmminipass-fetch1.4.1indirekt
npmminipass-flush1.0.5indirekt
npmminipass-pipeline1.2.4indirekt
npmminipass-sized1.0.3indirekt
npmminizlib2.1.2indirekt
npmmkdirp0.5.6indirekt
npmmkdirp1.0.4indirekt
npmmocha10.3.0indirekt
npmmove-concurrently1.0.1indirekt
npmms2.1.2indirekt
npmms2.1.3indirekt
npmmute-stream0.0.8indirekt
npmmz2.7.0indirekt
npmnatural-compare1.4.0indirekt
npmneo-async2.6.2indirekt
npmnice-try1.0.5indirekt
npmnopt3.0.6indirekt
npmnormalize-git-url3.0.2indirekt
npmnormalize-path3.0.0indirekt
npmnpm-run-path2.0.2indirekt
npmobject-assign4.1.1indirekt
npmonce1.4.0indirekt
npmonetime5.1.2indirekt
npmoptionator0.8.3indirekt
npmos-tmpdir1.0.2indirekt
npmp-finally1.0.0indirekt
npmp-limit2.3.0indirekt
npmp-limit3.1.0indirekt
npmp-locate3.0.0indirekt
npmp-locate5.0.0indirekt
npmp-map3.0.0indirekt
npmp-try2.2.0indirekt
npmparent-module1.0.1indirekt
npmparse55.1.1indirekt
npmparse56.0.1indirekt
npmparse5-htmlparser2-tree-adapter6.0.1indirekt
npmpath-exists3.0.0indirekt
npmpath-exists4.0.0indirekt
npmpath-is-absolute1.0.1indirekt
npmpath-key2.0.1indirekt
npmpicomatch2.3.1indirekt
npmprelude-ls1.1.2indirekt
npmprocess-nextick-args2.0.1indirekt
npmprogress2.0.3indirekt
npmpromise-inflight1.0.1indirekt
npmpromise-retry1.1.1indirekt
npmpump3.0.0indirekt
npmpunycode2.3.1indirekt
npmramda0.27.2indirekt
npmrandombytes2.1.0indirekt
npmreadable-stream2.3.8indirekt
npmreaddirp3.6.0indirekt
npmregexpp2.0.1indirekt
npmrequire-directory2.1.1indirekt
npmrequire-main-filename2.0.0indirekt
npmresolve1.1.7indirekt
npmresolve-from4.0.0indirekt
npmrestore-cursor3.1.0indirekt
npmretry0.10.1indirekt
npmrimraf2.6.3indirekt
npmrimraf2.7.1indirekt
npmrun-async2.4.1indirekt
npmrun-queue1.0.3indirekt
npmrxjs6.6.7indirekt
npmsafe-buffer5.1.2indirekt
npmsafer-buffer2.1.2indirekt
npmsemver5.7.2indirekt
npmsemver6.3.1indirekt
npmserialize-javascript6.0.0indirekt
npmset-blocking2.0.0indirekt
npmshebang-command1.2.0indirekt
npmshebang-regex1.0.0indirekt
npmsignal-exit3.0.7indirekt
npmslice-ansi2.1.0indirekt
npmsmart-buffer4.2.0indirekt
npmsocks2.3.3indirekt
npmsocks-proxy-agent4.0.2indirekt
npmsource-map0.2.0indirekt
npmsource-map0.6.1indirekt
npmsprintf-js1.0.3indirekt
npmssri7.1.1indirekt
npmstring-width3.1.0indirekt
npmstring-width4.2.3indirekt
npmstring_decoder1.1.1indirekt
npmstrip-ansi5.2.0indirekt
npmstrip-ansi6.0.1indirekt
npmstrip-eof1.0.0indirekt
npmstrip-json-comments3.1.1indirekt
npmsupports-color3.2.3indirekt
npmsupports-color5.5.0indirekt
npmsupports-color7.2.0indirekt
npmsupports-color8.1.1indirekt
npmtable5.4.6indirekt
npmtar6.2.0indirekt
npmtext-table0.2.0indirekt
npmthenify3.3.1indirekt
npmthenify-all1.6.0indirekt
npmthrough2.3.8indirekt
npmtmp0.0.33indirekt
npmto-regex-range5.0.1indirekt
npmtslib1.14.1indirekt
npmtype-check0.3.2indirekt
npmtype-fest0.21.3indirekt
npmtype-fest0.8.1indirekt
npmuglify-js3.17.4indirekt
npmunique-filename1.1.1indirekt
npmunique-slug2.0.2indirekt
npmuri-js4.4.1indirekt
npmutil-deprecate1.0.2indirekt
npmv8-compile-cache2.4.0indirekt
npmwhich1.3.1indirekt
npmwhich-module2.0.1indirekt
npmword-wrap1.2.5indirekt
npmwordwrap1.0.0indirekt
npmworkerpool6.2.1indirekt
npmwrap-ansi5.1.0indirekt
npmwrap-ansi7.0.0indirekt
npmwrappy1.0.2indirekt
npmwrite1.0.3indirekt
npmy18n4.0.3indirekt
npmy18n5.0.8indirekt
npmyallist3.1.1indirekt
npmyallist4.0.0indirekt
npmyargs13.3.2indirekt
npmyargs16.2.0indirekt
npmyargs-parser13.1.2indirekt
npmyargs-parser20.2.4indirekt
npmyargs-parser20.2.9indirekt
npmyargs-unparser2.0.0indirekt
npmyocto-queue0.1.0indirekt
Abhängigkeits-Advisories 17

Dieses Repository veröffentlicht kein vom Index auflösbares Paket, daher wurde sein eigener Abhängigkeitsgraph bewertet – 299 Pakete, darunter auch Entwicklungs- und Test-Pins, die nie ausgeliefert werden: 17 tragen bekannte Advisories, davon 0 direkte.

PaketVersionBeziehungSchweregradAdvisoriesBehoben in
flatted2.0.2indirektkritisch23.4.2
handlebars4.7.8indirektkritisch84.7.9
brace-expansion1.1.11indirekthoch35.0.7
brace-expansion2.0.1indirekthoch35.0.7
cross-spawn6.0.5indirekthoch17.0.5
ip1.1.5indirekthoch22.0.1
js-yaml3.14.1indirekthoch34.3.0
js-yaml4.1.0indirekthoch34.3.0
lodash4.17.21indirekthoch34.18.0
minimatch3.1.2indirekthoch310.2.3
minimatch5.0.1indirekthoch310.2.3
picomatch2.3.1indirekthoch24.0.4
serialize-javascript6.0.0indirekthoch37.0.5
tar6.2.0indirekthoch127.5.19
tmp0.0.33indirekthoch20.2.6
ajv6.12.6indirektmittel18.18.0
diff5.0.0indirektmittel18.0.3

Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.

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"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.27.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.