Öffentliches Register
Software-GesundheitsberichtSchema 0.26.0 · Metriken 1.13.0 · 2026-07-22 02:55 UTC

vkononov / package-audit

Package audit is a patch management tool for deprecated, outdated and vulnerable dependencies.

RubyMIT★ 1 Stern⑂ 1 Forkseit Apr. 2023Auf GitHub ansehen ↗

vkononov/package-audit erreicht einen Gesundheitsindex von 61 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Engineering Quality (86/100) ab, am schwächsten bei Community & Adoption (32/100). Zuletzt vor 5 Tagen aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

61
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.

61
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

Vadim KononovPersönliches Konto
5 Follower16 öffentliche Reposseit Okt. 2012Konoson

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öffentlicht
RubyGemspackage-audit0.8.2-15vor 5 Tagen

Metriken nach Kategorie

Vitalität

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

77Gut · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 5 Tagen
9/36Commit-Rhythmus — 13/52 Wochen mit Commits
13.8/18Commit-Volumen — 33 Commits im letzten Jahr
8/10OpenSSF Scorecard: Maintained — 10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8
Verwendete Eingangsdaten
commits_last_year33
human_commit_share1
days_since_last_push5
active_weeks_last_year13
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 14 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 5 Tagen
19.8/27Release-Rhythmus — ein Release etwa alle 108 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count14
latest_release_tagv0.8.2
releases_from_tagsnein
days_since_latest_release5
mean_days_between_releases108
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?

32Gefährdet · 18 % des Gesamtindex
Wie die Bewertung erfolgt
0/60Stars — 1 Stars
0/25Forks — 1 Forks
0/15Watcher — 1 Watcher
Verwendete Eingangsdaten
forks1
stars1
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonbelow_threshold
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein
Wie die Bewertung erfolgt
44.2/80Downloads gesamt — 17.893 Downloads insgesamt über rubygems
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packagespackage-audit
dependents
ecosystemsrubygems
total_downloads17.893
monthly_downloads
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?

55Mittel · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
0/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 100 % der Commits
1.4/13.5Breite der Beitragenden — 1 Beitragende
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Verwendete Eingangsdaten
bus_factor1
contributors_sampled1
top_contributor_share1
Wie die Bewertung erfolgt
46.8/46.8Issue-Lösungsquote — 100 % der Issues geschlossen
33.5/38.3PR-Annahme — 85/97 entschiedene PRs gemergt
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Verwendete Eingangsdaten
merged_prs85
open_issues0
closed_issues3
issue_closed_ratio1
closed_unmerged_prs12
Wie die Bewertung erfolgt
10/30Organisatorische Trägerschaft — persönliches (Nutzer-)Konto
0/20Verifizierte Domain — für Nutzerkonten nicht anwendbar
5.6/25Reichweite des Inhabers — 5 Follower von vkononov
21/25Kontohistorie — 16 öffentliche Repos, Kontoalter ca. 13 Jahre
Verwendete Eingangsdaten
followers5
owner_typeUser
is_verified
owner_loginvkononov
public_repos16
account_age_days5.016
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 rubygems
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 5 Tagen
20/20Versionshistorie — 15 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagespackage-audit
ecosystemsrubygems
any_deprecatednein
min_days_since_publish5

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

86Exzellent · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .rubocop.yml
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_configja
has_precommit_confignein

Dokumentation

90Exzellent
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://vadimkononov.ca/gems
10/10Repository-Beschreibung
10/10Topics — 2 Topics
0/10Wiki
Verwendete Eingangsdaten
topicspatch-management, ruby-on-rails
has_wikinein
homepagehttps://vadimkononov.ca/gems
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

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

47Gefährdet · 16 % des Gesamtindex

Sicherheitslage

34Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — keine Daten
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
6/7.5Maintained — 10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8
0/5Packaging — keine Daten
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
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 — 134 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate3,4
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
advisories162
affected_packages62
assessed_packages811
unassessed_packages9
affected_by_severitycritical 8, high 27, moderate 21, low 6
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. 811 aufgelöste Abhängigkeiten wurden mit OSV abgeglichen. 9 konnten nicht bewertet werden — keine aufgelöste Version, ein nicht unterstütztes Ökosystem oder außerhalb der ausgewiesenen Paketliste. 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.

39Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
26.7/40Lesbare Commit-Historie — 43 von 86 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,5
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .rubocop.yml
0/11Statische Typprüfung
10/10Reproduzierbare Umgebung — lockfile
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 86
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilesGemfile.lock, package-lock.json, yarn.lock
has_dockerfilenein
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — Ruby ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/71 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageRuby
largest_source_bytes12.754
source_files_sampled71
oversized_source_files0

Eckdaten

1GitHub-Sterne
1Mitwirkende
33Commits, letzte 12 Monate
5Tage seit letztem Push
14Releases
1Bus-Faktor
0offene Issues
RubyGemsPaket-Ökosysteme

Weitere Details

Stern- und Fork-Verlauf 1 ★ / 1 ⇿
1Sterne
1Forks

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.

0001111112024-032024-102025-05

Jeder Punkt umfasst 2 Tage.

OpenSSF Scorecard 3.4 / 10
3.4Gesamtwert

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 02:55 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
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
8Maintained10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8
k. A.Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
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
0Vulnerabilities134 existing vulnerabilities detected
Alle Abhängigkeiten 820

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

RegistryPaketVersionBeziehung
npm@adobe/css-tools4.3.1indirekt
npm@ampproject/remapping2.2.0indirekt
npm@ampproject/remapping2.3.0indirekt
npm@apollo/client3.12.5indirekt
npm@apollo/client3.14.0indirekt
npm@babel/code-frame7.15.8indirekt
npm@babel/code-frame7.18.6indirekt
npm@babel/code-frame7.27.1indirekt
npm@babel/compat-data7.15.0indirekt
npm@babel/compat-data7.20.14indirekt
npm@babel/compat-data7.28.4indirekt
npm@babel/core7.20.12indirekt
npm@babel/core7.22.0indirekt
npm@babel/core7.22.1indirekt
npm@babel/eslint-parser7.19.1indirekt
npm@babel/generator7.15.8indirekt
npm@babel/generator7.20.14indirekt
npm@babel/generator7.28.3indirekt
npm@babel/helper-annotate-as-pure7.15.4indirekt
npm@babel/helper-annotate-as-pure7.18.6indirekt
npm@babel/helper-builder-binary-assignment-operator-visitor7.18.9indirekt
npm@babel/helper-compilation-targets7.15.4indirekt
npm@babel/helper-compilation-targets7.20.7indirekt
npm@babel/helper-compilation-targets7.27.2indirekt
npm@babel/helper-create-class-features-plugin7.15.4indirekt
npm@babel/helper-create-class-features-plugin7.20.12indirekt
npm@babel/helper-create-regexp-features-plugin7.14.5indirekt
npm@babel/helper-create-regexp-features-plugin7.20.5indirekt
npm@babel/helper-define-polyfill-provider0.2.3indirekt
npm@babel/helper-define-polyfill-provider0.3.3indirekt
npm@babel/helper-environment-visitor7.18.9indirekt
npm@babel/helper-explode-assignable-expression7.18.6indirekt
npm@babel/helper-function-name7.15.4indirekt
npm@babel/helper-function-name7.19.0indirekt
npm@babel/helper-get-function-arity7.15.4indirekt
npm@babel/helper-globals7.28.0indirekt
npm@babel/helper-hoist-variables7.15.4indirekt
npm@babel/helper-hoist-variables7.18.6indirekt
npm@babel/helper-member-expression-to-functions7.15.4indirekt
npm@babel/helper-member-expression-to-functions7.20.7indirekt
npm@babel/helper-module-imports7.15.4indirekt
npm@babel/helper-module-imports7.18.6indirekt
npm@babel/helper-module-imports7.27.1indirekt
npm@babel/helper-module-transforms7.20.11indirekt
npm@babel/helper-module-transforms7.28.3indirekt
npm@babel/helper-optimise-call-expression7.15.4indirekt
npm@babel/helper-optimise-call-expression7.18.6indirekt
npm@babel/helper-plugin-utils7.14.5indirekt
npm@babel/helper-plugin-utils7.20.2indirekt
npm@babel/helper-remap-async-to-generator7.18.9indirekt
npm@babel/helper-replace-supers7.15.4indirekt
npm@babel/helper-replace-supers7.20.7indirekt
npm@babel/helper-simple-access7.20.2indirekt
npm@babel/helper-skip-transparent-expression-wrappers7.20.0indirekt
npm@babel/helper-split-export-declaration7.15.4indirekt
npm@babel/helper-split-export-declaration7.18.6indirekt
npm@babel/helper-string-parser7.19.4indirekt
npm@babel/helper-string-parser7.27.1indirekt
npm@babel/helper-validator-identifier7.15.7indirekt
npm@babel/helper-validator-identifier7.19.1indirekt
npm@babel/helper-validator-identifier7.27.1indirekt
npm@babel/helper-validator-option7.14.5indirekt
npm@babel/helper-validator-option7.18.6indirekt
npm@babel/helper-validator-option7.27.1indirekt
npm@babel/helper-wrap-function7.20.5indirekt
npm@babel/helpers7.20.13indirekt
npm@babel/helpers7.28.4indirekt
npm@babel/highlight7.14.5indirekt
npm@babel/highlight7.18.6indirekt
npm@babel/parser7.15.8indirekt
npm@babel/parser7.20.15indirekt
npm@babel/parser7.28.4indirekt
npm@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression7.18.6indirekt
npm@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining7.20.7indirekt
npm@babel/plugin-proposal-async-generator-functions7.20.7indirekt
npm@babel/plugin-proposal-class-properties7.14.5indirekt
npm@babel/plugin-proposal-class-properties7.18.6indirekt
npm@babel/plugin-proposal-class-static-block7.20.7indirekt
npm@babel/plugin-proposal-dynamic-import7.18.6indirekt
npm@babel/plugin-proposal-export-namespace-from7.18.9indirekt
npm@babel/plugin-proposal-json-strings7.18.6indirekt
npm@babel/plugin-proposal-logical-assignment-operators7.20.7indirekt
npm@babel/plugin-proposal-nullish-coalescing-operator7.18.6indirekt
npm@babel/plugin-proposal-numeric-separator7.18.6indirekt
npm@babel/plugin-proposal-object-rest-spread7.20.7indirekt
npm@babel/plugin-proposal-optional-catch-binding7.18.6indirekt
npm@babel/plugin-proposal-optional-chaining7.20.7indirekt
npm@babel/plugin-proposal-private-methods7.18.6indirekt
npm@babel/plugin-proposal-private-property-in-object7.20.5indirekt
npm@babel/plugin-proposal-unicode-property-regex7.14.5indirekt
npm@babel/plugin-proposal-unicode-property-regex7.18.6indirekt
npm@babel/plugin-syntax-async-generators7.8.4indirekt
npm@babel/plugin-syntax-class-properties7.12.13indirekt
npm@babel/plugin-syntax-class-static-block7.14.5indirekt
npm@babel/plugin-syntax-dynamic-import7.8.3indirekt
npm@babel/plugin-syntax-export-namespace-from7.8.3indirekt
npm@babel/plugin-syntax-import-assertions7.20.0indirekt
npm@babel/plugin-syntax-json-strings7.8.3indirekt
npm@babel/plugin-syntax-jsx7.18.6indirekt
npm@babel/plugin-syntax-logical-assignment-operators7.10.4indirekt
npm@babel/plugin-syntax-nullish-coalescing-operator7.8.3indirekt
npm@babel/plugin-syntax-numeric-separator7.10.4indirekt
npm@babel/plugin-syntax-object-rest-spread7.8.3indirekt
npm@babel/plugin-syntax-optional-catch-binding7.8.3indirekt
npm@babel/plugin-syntax-optional-chaining7.8.3indirekt
npm@babel/plugin-syntax-private-property-in-object7.14.5indirekt
npm@babel/plugin-syntax-top-level-await7.14.5indirekt
npm@babel/plugin-transform-arrow-functions7.20.7indirekt
npm@babel/plugin-transform-async-to-generator7.20.7indirekt
npm@babel/plugin-transform-block-scoped-functions7.18.6indirekt
npm@babel/plugin-transform-block-scoping7.20.15indirekt
npm@babel/plugin-transform-classes7.20.7indirekt
npm@babel/plugin-transform-computed-properties7.20.7indirekt
npm@babel/plugin-transform-destructuring7.20.7indirekt
npm@babel/plugin-transform-dotall-regex7.14.5indirekt
npm@babel/plugin-transform-dotall-regex7.18.6indirekt
npm@babel/plugin-transform-duplicate-keys7.18.9indirekt
npm@babel/plugin-transform-exponentiation-operator7.18.6indirekt
npm@babel/plugin-transform-for-of7.18.8indirekt
npm@babel/plugin-transform-function-name7.18.9indirekt
npm@babel/plugin-transform-literals7.18.9indirekt
npm@babel/plugin-transform-member-expression-literals7.18.6indirekt
npm@babel/plugin-transform-modules-amd7.20.11indirekt
npm@babel/plugin-transform-modules-commonjs7.20.11indirekt
npm@babel/plugin-transform-modules-systemjs7.20.11indirekt
npm@babel/plugin-transform-modules-umd7.18.6indirekt
npm@babel/plugin-transform-named-capturing-groups-regex7.20.5indirekt
npm@babel/plugin-transform-new-target7.18.6indirekt
npm@babel/plugin-transform-object-super7.18.6indirekt
npm@babel/plugin-transform-parameters7.20.7indirekt
npm@babel/plugin-transform-property-literals7.18.6indirekt
npm@babel/plugin-transform-react-display-name7.18.6indirekt
npm@babel/plugin-transform-react-jsx7.20.13indirekt
npm@babel/plugin-transform-react-jsx-development7.18.6indirekt
npm@babel/plugin-transform-react-pure-annotations7.18.6indirekt
npm@babel/plugin-transform-regenerator7.20.5indirekt
npm@babel/plugin-transform-reserved-words7.18.6indirekt
npm@babel/plugin-transform-runtime7.15.8indirekt
npm@babel/plugin-transform-shorthand-properties7.18.6indirekt
npm@babel/plugin-transform-spread7.20.7indirekt
npm@babel/plugin-transform-sticky-regex7.18.6indirekt
npm@babel/plugin-transform-template-literals7.18.9indirekt
npm@babel/plugin-transform-typeof-symbol7.18.9indirekt
npm@babel/plugin-transform-unicode-escapes7.18.10indirekt
npm@babel/plugin-transform-unicode-regex7.18.6indirekt
npm@babel/preset-env7.20.2indirekt
npm@babel/preset-modules0.1.5indirekt
npm@babel/preset-react7.18.6indirekt
npm@babel/runtime7.15.4indirekt
npm@babel/runtime7.20.13indirekt
npm@babel/runtime7.23.1indirekt
npm@babel/template7.15.4indirekt
npm@babel/template7.20.7indirekt
npm@babel/template7.27.2indirekt
npm@babel/traverse7.15.4indirekt
npm@babel/traverse7.20.13indirekt
npm@babel/traverse7.28.4indirekt
npm@babel/types7.15.6indirekt
npm@babel/types7.20.7indirekt
npm@babel/types7.28.4indirekt
npm@discoveryjs/json-ext0.5.7indirekt
npm@eslint/eslintrc1.4.1indirekt
npm@humanwhocodes/config-array0.11.8indirekt
npm@humanwhocodes/module-importer1.0.1indirekt
npm@humanwhocodes/object-schema1.2.1indirekt
npm@jridgewell/gen-mapping0.1.1indirekt
npm@jridgewell/gen-mapping0.3.13indirekt
npm@jridgewell/gen-mapping0.3.2indirekt
npm@jridgewell/resolve-uri3.1.0indirekt
npm@jridgewell/resolve-uri3.1.2indirekt
npm@jridgewell/set-array1.1.2indirekt
npm@jridgewell/source-map0.3.2indirekt
npm@jridgewell/sourcemap-codec1.4.14indirekt
npm@jridgewell/sourcemap-codec1.5.5indirekt
npm@jridgewell/trace-mapping0.3.17indirekt
npm@jridgewell/trace-mapping0.3.31indirekt
npm@leichtgewicht/ip-codec2.0.4indirekt
npm@nicolo-ribaudo/eslint-scope-5-internals5.1.1-v1indirekt
npm@nodelib/fs.scandir2.1.5indirekt
npm@nodelib/fs.stat2.0.5indirekt
npm@nodelib/fs.walk1.2.8indirekt
npm@rails/actiontext6.1.4indirekt
npm@rails/activestorage6.1.4indirekt
npm@rails/ujs6.1.4indirekt
npm@rails/webpacker6.0.0-rc.6indirekt
npm@stripe/terminal-js0.8.0indirekt
npm@testing-library/jest-dom6.0.0indirekt
npm@types/body-parser1.19.2indirekt
npm@types/bonjour3.5.10indirekt
npm@types/connect3.4.35indirekt
npm@types/connect-history-api-fallback1.3.5indirekt
npm@types/eslint8.21.0indirekt
npm@types/eslint-scope3.7.4indirekt
npm@types/estree0.0.51indirekt
npm@types/estree1.0.0indirekt
npm@types/express4.17.16indirekt
npm@types/express-serve-static-core4.17.33indirekt
npm@types/http-proxy1.17.9indirekt
npm@types/json-schema7.0.11indirekt
npm@types/json-schema7.0.9indirekt
npm@types/mime3.0.1indirekt
npm@types/node16.11.4indirekt
npm@types/node18.0.0indirekt
npm@types/parse-json4.0.0indirekt
npm@types/qs6.9.7indirekt
npm@types/range-parser1.2.4indirekt
npm@types/retry0.12.0indirekt
npm@types/serve-index1.9.1indirekt
npm@types/serve-static1.15.0indirekt
npm@types/sockjs0.3.33indirekt
npm@types/ws8.5.4indirekt
npm@webassemblyjs/ast1.11.1indirekt
npm@webassemblyjs/floating-point-hex-parser1.11.1indirekt
npm@webassemblyjs/helper-api-error1.11.1indirekt
npm@webassemblyjs/helper-buffer1.11.1indirekt
npm@webassemblyjs/helper-numbers1.11.1indirekt
npm@webassemblyjs/helper-wasm-bytecode1.11.1indirekt
npm@webassemblyjs/helper-wasm-section1.11.1indirekt
npm@webassemblyjs/ieee7541.11.1indirekt
npm@webassemblyjs/leb1281.11.1indirekt
npm@webassemblyjs/utf81.11.1indirekt
npm@webassemblyjs/wasm-edit1.11.1indirekt
npm@webassemblyjs/wasm-gen1.11.1indirekt
npm@webassemblyjs/wasm-opt1.11.1indirekt
npm@webassemblyjs/wasm-parser1.11.1indirekt
npm@webassemblyjs/wast-printer1.11.1indirekt
npm@webpack-cli/configtest1.2.0indirekt
npm@webpack-cli/configtest2.0.1indirekt
npm@webpack-cli/info1.5.0indirekt
npm@webpack-cli/info2.0.1indirekt
npm@webpack-cli/serve1.7.0indirekt
npm@webpack-cli/serve2.0.1indirekt
npm@xtuc/ieee7541.2.0indirekt
npm@xtuc/long4.2.2indirekt
npmaccepts1.3.7indirekt
npmaccepts1.3.8indirekt
npmacorn8.8.2indirekt
npmacorn-import-assertions1.8.0indirekt
npmacorn-jsx5.3.2indirekt
npmajv6.12.6indirekt
npmajv8.12.0indirekt
npmajv-formats2.1.1indirekt
npmajv-keywords3.5.2indirekt
npmajv-keywords5.1.0indirekt
npmansi-html-community0.0.8indirekt
npmansi-regex5.0.1indirekt
npmansi-styles3.2.1indirekt
npmansi-styles4.3.0indirekt
npmanymatch3.1.2indirekt
npmargparse2.0.1indirekt
npmaria-query5.3.0indirekt
npmarray-flatten1.1.1indirekt
npmarray-flatten2.1.2indirekt
npmarray-includes3.1.4indirekt
npmarray-includes3.1.6indirekt
npmarray.prototype.flatmap1.3.1indirekt
npmarray.prototype.tosorted1.1.1indirekt
npmavailable-typed-arrays1.0.5indirekt
npmbabel-loader8.2.3indirekt
npmbabel-plugin-macros3.1.0indirekt
npmbabel-plugin-polyfill-corejs20.2.2indirekt
npmbabel-plugin-polyfill-corejs20.3.3indirekt
npmbabel-plugin-polyfill-corejs30.2.5indirekt
npmbabel-plugin-polyfill-corejs30.6.0indirekt
npmbabel-plugin-polyfill-regenerator0.2.2indirekt
npmbabel-plugin-polyfill-regenerator0.4.1indirekt
npmbabel-plugin-transform-react-remove-prop-types0.4.24indirekt
npmbalanced-match0.4.2indirekt
npmbalanced-match1.0.2indirekt
npmbaseline-browser-mapping2.8.10indirekt
npmbatch0.6.1indirekt
npmbig.js5.2.2indirekt
npmbinary-extensions2.2.0indirekt
npmbody-parser1.19.2indirekt
npmbody-parser1.20.1indirekt
npmbonjour-service1.1.0indirekt
npmbrace-expansion1.1.11indirekt
npmbraces3.0.2indirekt
npmbrowserslist4.17.4indirekt
npmbrowserslist4.21.5indirekt
npmbrowserslist4.26.3indirekt
npmbuffer-from1.1.2indirekt
npmbytes3.0.0indirekt
npmbytes3.1.2indirekt
npmcall-bind1.0.2indirekt
npmcallsites3.1.0indirekt
npmcaniuse-lite1.0.30001450indirekt
npmcaniuse-lite1.0.30001746indirekt
npmchalk2.4.2indirekt
npmchalk3.0.0indirekt
npmchalk4.1.2indirekt
npmchokidar3.5.3indirekt
npmchrome-trace-event1.0.3indirekt
npmclassnames2.3.1indirekt
npmclone-deep4.0.1indirekt
npmcolor-convert1.9.3indirekt
npmcolor-convert2.0.1indirekt
npmcolor-name1.1.3indirekt
npmcolor-name1.1.4indirekt
npmcolorette2.0.19indirekt
npmcommander2.20.3indirekt
npmcommander7.2.0indirekt
npmcommander9.5.0indirekt
npmcommondir1.0.1indirekt
npmcompilerr11.0.10indirekt
npmcompressible2.0.18indirekt
npmcompression1.7.4indirekt
npmcompression-webpack-plugin9.2.0indirekt
npmconcat-map0.0.1indirekt
npmconnect-history-api-fallback2.0.0indirekt
npmcontent-disposition0.5.4indirekt
npmcontent-type1.0.4indirekt
npmcontent-type1.0.5indirekt
npmconvert-source-map1.8.0indirekt
npmconvert-source-map1.9.0indirekt
npmcookie0.4.2indirekt
npmcookie0.5.0indirekt
npmcookie-signature1.0.6indirekt
npmcore-js2.6.12indirekt
npmcore-js-compat3.18.3indirekt
npmcore-js-compat3.27.2indirekt
npmcore-util-is1.0.3indirekt
npmcosmiconfig7.1.0indirekt
npmcross-spawn7.0.3indirekt
npmcss.escape1.5.1indirekt
npmd3-array1.2.4indirekt
npmd3-collection1.0.7indirekt
npmd3-color1.4.1indirekt
npmd3-format1.4.5indirekt
npmd3-interpolate1.4.0indirekt
npmd3-path1.0.9indirekt
npmd3-scale2.2.2indirekt
npmd3-shape1.3.7indirekt
npmd3-time1.1.0indirekt
npmd3-time-format2.3.0indirekt
npmdashify2.0.0indirekt
npmdebug2.6.9indirekt
npmdebug4.3.2indirekt
npmdebug4.4.3indirekt
npmdecimal.js-light2.5.1indirekt
npmdeep-is0.1.4indirekt
npmdeepmerge4.3.0indirekt
npmdefault-gateway6.0.3indirekt
npmdefine-lazy-prop2.0.0indirekt
npmdefine-properties1.1.3indirekt
npmdefine-properties1.1.4indirekt
npmdepd1.1.2indirekt
npmdepd2.0.0indirekt
npmdeprecated0.0.2indirekt
npmdequal2.0.3indirekt
npmdestroy1.0.4indirekt
npmdestroy1.2.0indirekt
npmdetect-node2.1.0indirekt
npmdns-equal1.0.0indirekt
npmdns-packet5.4.0indirekt
npmdoctrine2.1.0indirekt
npmdoctrine3.0.0indirekt
npmdom-accessibility-api0.5.16indirekt
npmdom-helpers3.4.0indirekt
npmee-first1.1.1indirekt
npmelectron-to-chromium1.3.877indirekt
npmelectron-to-chromium1.4.285indirekt
npmelectron-to-chromium1.5.229indirekt
npmemojis-list3.0.0indirekt
npmencodeurl1.0.2indirekt
npmenhanced-resolve5.12.0indirekt
npmenvinfo7.8.1indirekt
npmerror-ex1.3.2indirekt
npmes-abstract1.19.1indirekt
npmes-abstract1.21.1indirekt
npmes-module-lexer0.9.3indirekt
npmes-set-tostringtag2.0.1indirekt
npmes-shim-unscopables1.0.0indirekt
npmes-to-primitive1.2.1indirekt
npmescalade3.1.1indirekt
npmescalade3.2.0indirekt
npmescape-html1.0.3indirekt
npmescape-string-regexp1.0.5indirekt
npmescape-string-regexp4.0.0indirekt
npmeslint8.33.0indirekt
npmeslint-plugin-react7.32.2indirekt
npmeslint-scope5.1.1indirekt
npmeslint-scope7.1.1indirekt
npmeslint-utils3.0.0indirekt
npmeslint-visitor-keys2.1.0indirekt
npmeslint-visitor-keys3.3.0indirekt
npmespree9.4.1indirekt
npmesquery1.4.0indirekt
npmesrecurse4.3.0indirekt
npmestraverse4.3.0indirekt
npmestraverse5.2.0indirekt
npmestraverse5.3.0indirekt
npmesutils2.0.3indirekt
npmetag1.8.1indirekt
npmeventemitter34.0.7indirekt
npmevents3.3.0indirekt
npmexeca5.1.1indirekt
npmexpress4.17.3indirekt
npmexpress4.18.2indirekt
npmfast-deep-equal3.1.3indirekt
npmfast-json-stable-stringify2.1.0indirekt
npmfast-levenshtein2.0.6indirekt
npmfast-unique-numbers8.0.9indirekt
npmfastest-levenshtein1.0.16indirekt
npmfastq1.15.0indirekt
npmfaye-websocket0.11.4indirekt
npmfile-entry-cache6.0.1indirekt
npmfill-range7.0.1indirekt
npmfinalhandler1.1.2indirekt
npmfinalhandler1.2.0indirekt
npmfind-cache-dir3.3.2indirekt
npmfind-up4.1.0indirekt
npmfind-up5.0.0indirekt
npmflat-cache3.0.4indirekt
npmflatpickr4.6.9indirekt
npmflatted3.2.2indirekt
npmfollow-redirects1.14.4indirekt
npmfor-each0.3.3indirekt
npmforwarded0.2.0indirekt
npmfoundation-sites6.7.5indirekt
npmfresh0.5.2indirekt
npmfs-monkey1.0.3indirekt
npmfs.realpath1.0.0indirekt
npmfsevents2.3.2indirekt
npmfunction-bind1.1.1indirekt
npmfunction.prototype.name1.1.5indirekt
npmfunctions-have-names1.2.3indirekt
npmgensync1.0.0-beta.2indirekt
npmget-intrinsic1.1.1indirekt
npmget-intrinsic1.2.0indirekt
npmget-stream6.0.1indirekt
npmget-symbol-description1.0.0indirekt
npmglob7.2.0indirekt
npmglob7.2.3indirekt
npmglob-parent5.1.2indirekt
npmglob-parent6.0.2indirekt
npmglob-to-regexp0.4.1indirekt
npmglobals11.12.0indirekt
npmglobals13.20.0indirekt
npmglobalthis1.0.3indirekt
npmgoogle-maps-react2.0.6indirekt
npmgopd1.0.1indirekt
npmgraceful-fs4.2.10indirekt
npmgraceful-fs4.2.8indirekt
npmgrapheme-splitter1.0.4indirekt
npmhandle-thing2.0.1indirekt
npmhas1.0.3indirekt
npmhas-bigints1.0.1indirekt
npmhas-bigints1.0.2indirekt
npmhas-flag3.0.0indirekt
npmhas-flag4.0.0indirekt
npmhas-property-descriptors1.0.0indirekt
npmhas-proto1.0.1indirekt
npmhas-symbols1.0.2indirekt
npmhas-symbols1.0.3indirekt
npmhas-tostringtag1.0.0indirekt
npmhpack.js2.1.6indirekt
npmhtml-entities2.3.3indirekt
npmhttp-deceiver1.2.7indirekt
npmhttp-errors1.6.3indirekt
npmhttp-errors1.8.1indirekt
npmhttp-errors2.0.0indirekt
npmhttp-parser-js0.5.3indirekt
npmhttp-proxy1.18.1indirekt
npmhttp-proxy-middleware2.0.6indirekt
npmhuman-signals2.1.0indirekt
npmiconv-lite0.4.24indirekt
npmignore5.2.4indirekt
npmimport-fresh3.3.0indirekt
npmimport-local3.1.0indirekt
npmimurmurhash0.1.4indirekt
npmindefinite-article0.0.2indirekt
npmindent-string4.0.0indirekt
npminflight1.0.6indirekt
npminherits2.0.3indirekt
npminherits2.0.4indirekt
npminternal-slot1.0.3indirekt
npminternal-slot1.0.4indirekt
npminterpret2.2.0indirekt
npminterpret3.1.1indirekt
npmipaddr.js1.9.1indirekt
npmipaddr.js2.0.1indirekt
npmis-array-buffer3.0.1indirekt
npmis-arrayish0.2.1indirekt
npmis-bigint1.0.4indirekt
npmis-binary-path2.1.0indirekt
npmis-boolean-object1.1.2indirekt
npmis-callable1.2.4indirekt
npmis-callable1.2.7indirekt
npmis-core-module2.11.0indirekt
npmis-core-module2.8.0indirekt
npmis-date-object1.0.5indirekt
npmis-docker2.2.1indirekt
npmis-extglob2.1.1indirekt
npmis-glob4.0.3indirekt
npmis-negative-zero2.0.1indirekt
npmis-negative-zero2.0.2indirekt
npmis-number7.0.0indirekt
npmis-number-object1.0.6indirekt
npmis-path-inside3.0.3indirekt
npmis-plain-obj3.0.0indirekt
npmis-plain-object2.0.4indirekt
npmis-regex1.1.4indirekt
npmis-shared-array-buffer1.0.1indirekt
npmis-shared-array-buffer1.0.2indirekt
npmis-stream2.0.1indirekt
npmis-string1.0.7indirekt
npmis-symbol1.0.4indirekt
npmis-typed-array1.1.10indirekt
npmis-weakref1.0.1indirekt
npmis-weakref1.0.2indirekt
npmis-wsl2.2.0indirekt
npmisarray1.0.0indirekt
npmisexe2.0.0indirekt
npmisobject3.0.1indirekt
npmjest29.0.0indirekt
npmjest-worker27.5.1indirekt
npmjquery3.6.3indirekt
npmjs-cookie3.0.1indirekt
npmjs-sdsl4.3.0indirekt
npmjs-tokens4.0.0indirekt
npmjs-tokens8.0.0indirekt
npmjs-tokens8.0.1indirekt
npmjs-yaml4.1.0indirekt
npmjsesc0.5.0indirekt
npmjsesc2.5.2indirekt
npmjsesc3.1.0indirekt
npmjson-parse-even-better-errors2.3.1indirekt
npmjson-schema-traverse0.4.1indirekt
npmjson-schema-traverse1.0.0indirekt
npmjson-stable-stringify-without-jsonify1.0.1indirekt
npmjson51.0.1indirekt
npmjson52.2.3indirekt
npmjsx-ast-utils3.2.1indirekt
npmkind-of6.0.3indirekt
npmlevn0.4.1indirekt
npmlines-and-columns1.2.4indirekt
npmloader-runner4.3.0indirekt
npmloader-utils1.4.0indirekt
npmlocate-path5.0.0indirekt
npmlocate-path6.0.0indirekt
npmlockfile1.0.4indirekt
npmlodash4.17.0indirekt
npmlodash4.17.21indirekt
npmlodash.debounce4.0.8indirekt
npmlodash.get4.4.2indirekt
npmlodash.has4.5.2indirekt
npmlodash.merge4.6.2indirekt
npmlodash.throttle4.1.1indirekt
npmloose-envify1.4.0indirekt
npmlru-cache5.1.1indirekt
npmmake-dir3.1.0indirekt
npmmark.js8.11.1indirekt
npmmath-expression-evaluator1.3.8indirekt
npmmedia-typer0.3.0indirekt
npmmemfs3.4.13indirekt
npmmerge-descriptors1.0.1indirekt
npmmerge-stream2.0.0indirekt
npmmethods1.1.2indirekt
npmmicromatch4.0.5indirekt
npmmime1.6.0indirekt
npmmime-db1.50.0indirekt
npmmime-db1.52.0indirekt
npmmime-types2.1.33indirekt
npmmime-types2.1.35indirekt
npmmimic-fn2.1.0indirekt
npmmin-indent1.0.1indirekt
npmminimalistic-assert1.0.1indirekt
npmminimatch3.0.4indirekt
npmminimatch3.1.2indirekt
npmminimist1.2.5indirekt
npmmoment2.29.4indirekt
npmmotion-ui2.0.4indirekt
npmms2.0.0indirekt
npmms2.1.2indirekt
npmms2.1.3indirekt
npmmulticast-dns7.2.5indirekt
npmnatural-compare1.4.0indirekt
npmnegotiator0.6.2indirekt
npmnegotiator0.6.3indirekt
npmneo-async2.6.2indirekt
npmnode-forge1.3.1indirekt
npmnode-releases2.0.1indirekt
npmnode-releases2.0.21indirekt
npmnode-releases2.0.9indirekt
npmnormal-package1.0.0indirekt
npmnormalize-path3.0.0indirekt
npmnpm-run-path4.0.1indirekt
npmobject-assign4.1.1indirekt
npmobject-inspect1.11.0indirekt
npmobject-inspect1.12.3indirekt
npmobject-keys1.1.1indirekt
npmobject.assign4.1.2indirekt
npmobject.assign4.1.4indirekt
npmobject.entries1.1.6indirekt
npmobject.fromentries2.0.6indirekt
npmobject.hasown1.1.2indirekt
npmobject.values1.1.6indirekt
npmobuf1.1.2indirekt
npmon-finished2.3.0indirekt
npmon-finished2.4.1indirekt
npmon-headers1.0.2indirekt
npmonce1.4.0indirekt
npmonetime5.1.2indirekt
npmopen8.4.0indirekt
npmoptionator0.9.1indirekt
npmp-limit2.3.0indirekt
npmp-limit3.1.0indirekt
npmp-locate4.1.0indirekt
npmp-locate5.0.0indirekt
npmp-retry4.6.2indirekt
npmp-try2.2.0indirekt
npmparent-module1.0.1indirekt
npmparse-json5.2.0indirekt
npmparseurl1.3.3indirekt
npmpath-complete-extname1.0.0indirekt
npmpath-exists4.0.0indirekt
npmpath-is-absolute1.0.1indirekt
npmpath-key3.1.1indirekt
npmpath-parse1.0.7indirekt
npmpath-to-regexp0.1.7indirekt
npmpath-type4.0.0indirekt
npmperformance-now2.1.0indirekt
npmpicocolors1.0.0indirekt
npmpicocolors1.1.1indirekt
npmpicomatch2.3.0indirekt
npmpicomatch2.3.1indirekt
npmpkg-dir4.2.0indirekt
npmpnp-webpack-plugin1.7.0indirekt
npmprelude-ls1.2.1indirekt
npmprocess-nextick-args2.0.1indirekt
npmprop-types15.7.2indirekt
npmprop-types15.8.1indirekt
npmproxy-addr2.0.7indirekt
npmpunycode2.1.1indirekt
npmqs6.11.0indirekt
npmqs6.9.7indirekt
npmqueue-microtask1.2.3indirekt
npmraf3.4.1indirekt
npmrandombytes2.1.0indirekt
npmrange-parser1.2.1indirekt
npmraw-body2.4.3indirekt
npmraw-body2.5.1indirekt
npmreact16.14.0indirekt
npmreact17.0.2indirekt
npmreact18.2.0indirekt
npmreact18.3.1indirekt
npmreact-dom16.14.0indirekt
npmreact-flatpickr3.10.13indirekt
npmreact-is16.13.1indirekt
npmreact-lifecycles-compat3.0.4indirekt
npmreact-notify-toast0.5.1indirekt
npmreact-resize-detector2.3.0indirekt
npmreact-smooth1.0.6indirekt
npmreact-transition-group2.9.0indirekt
npmreact_ujs2.6.1indirekt
npmreadable-stream2.3.7indirekt
npmreadable-stream3.6.0indirekt
npmreaddirp3.6.0indirekt
npmrecharts1.8.5indirekt
npmrecharts-scale0.4.5indirekt
npmrechoir0.7.1indirekt
npmrechoir0.8.0indirekt
npmredent3.0.0indirekt
npmreduce-css-calc1.3.0indirekt
npmreduce-function-call1.0.3indirekt
npmregenerate1.4.2indirekt
npmregenerate-unicode-properties10.1.0indirekt
npmregenerate-unicode-properties9.0.0indirekt
npmregenerator-runtime0.13.11indirekt
npmregenerator-runtime0.13.9indirekt
npmregenerator-runtime0.14.0indirekt
npmregenerator-transform0.15.1indirekt
npmregexp.prototype.flags1.4.3indirekt
npmregexpp3.2.0indirekt
npmregexpu-core4.8.0indirekt
npmregexpu-core5.2.2indirekt
npmregjsgen0.5.2indirekt
npmregjsgen0.7.1indirekt
npmregjsparser0.7.0indirekt
npmregjsparser0.9.1indirekt
npmrequire-from-string2.0.2indirekt
npmrequires-port1.0.0indirekt
npmresize-observer-polyfill1.5.1indirekt
npmresolve1.20.0indirekt
npmresolve1.22.1indirekt
npmresolve2.0.0-next.4indirekt
npmresolve-cwd3.0.0indirekt
npmresolve-from4.0.0indirekt
npmresolve-from5.0.0indirekt
npmretry0.13.1indirekt
npmreusify1.0.4indirekt
npmrimraf3.0.2indirekt
npmrun-parallel1.2.0indirekt
npmsafe-buffer5.1.2indirekt
npmsafe-buffer5.2.1indirekt
npmsafe-regex-test1.0.0indirekt
npmsafer-buffer2.1.2indirekt
npmscheduler0.19.1indirekt
npmschema-utils2.7.1indirekt
npmschema-utils3.1.1indirekt
npmschema-utils4.0.0indirekt
npmselect-hose2.0.0indirekt
npmselfsigned2.1.1indirekt
npmsemver6.3.0indirekt
npmsemver6.3.1indirekt
npmsemver7.0.0indirekt
npmsend0.17.2indirekt
npmsend0.18.0indirekt
npmserialize-javascript6.0.1indirekt
npmserve-index1.9.1indirekt
npmserve-static1.14.2indirekt
npmserve-static1.15.0indirekt
npmsetprototypeof1.1.0indirekt
npmsetprototypeof1.2.0indirekt
npmshallow-clone3.0.1indirekt
npmshebang-command2.0.0indirekt
npmshebang-regex3.0.0indirekt
npmside-channel1.0.4indirekt
npmsignal-exit3.0.7indirekt
npmsignature_pad3.0.0-beta.4indirekt
npmsockjs0.3.24indirekt
npmsource-map0.5.7indirekt
npmsource-map0.6.1indirekt
npmsource-map-support0.5.20indirekt
npmspark-md53.0.2indirekt
npmspdy4.0.2indirekt
npmspdy-transport3.0.0indirekt
npmstatuses1.5.0indirekt
npmstatuses2.0.1indirekt
npmstring.prototype.matchall4.0.8indirekt
npmstring.prototype.trimend1.0.4indirekt
npmstring.prototype.trimend1.0.6indirekt
npmstring.prototype.trimstart1.0.4indirekt
npmstring.prototype.trimstart1.0.6indirekt
npmstring_decoder1.1.1indirekt
npmstring_decoder1.3.0indirekt
npmstrip-ansi6.0.1indirekt
npmstrip-final-newline2.0.0indirekt
npmstrip-indent3.0.0indirekt
npmstrip-json-comments3.1.1indirekt
npmsupports-color5.5.0indirekt
npmsupports-color7.2.0indirekt
npmsupports-color8.1.1indirekt
npmsupports-preserve-symlinks-flag1.0.0indirekt
npmtapable2.2.1indirekt
npmterser5.16.3indirekt
npmterser-webpack-plugin5.3.6indirekt
npmtext-table0.2.0indirekt
npmthunky1.1.0indirekt
npmto-fast-properties2.0.0indirekt
npmto-regex-range5.0.1indirekt
npmtoidentifier1.0.1indirekt
npmtrix1.3.1indirekt
npmts-pnp1.2.0indirekt
npmtslib2.6.2indirekt
npmturbolinks5.2.0indirekt
npmtype-check0.4.0indirekt
npmtype-fest0.20.2indirekt
npmtype-is1.6.18indirekt
npmtyped-array-length1.0.4indirekt
npmunbox-primitive1.0.1indirekt
npmunbox-primitive1.0.2indirekt
npmunicode-canonical-property-names-ecmascript2.0.0indirekt
npmunicode-match-property-ecmascript2.0.0indirekt
npmunicode-match-property-value-ecmascript2.0.0indirekt
npmunicode-match-property-value-ecmascript2.1.0indirekt
npmunicode-property-aliases-ecmascript2.0.0indirekt
npmunpipe1.0.0indirekt
npmupdate-browserslist-db1.0.10indirekt
npmupdate-browserslist-db1.1.3indirekt
npmuri-js4.4.1indirekt
npmutil-deprecate1.0.2indirekt
npmutils-merge1.0.1indirekt
npmuuid8.3.2indirekt
npmvary1.1.2indirekt
npmwatchpack2.4.0indirekt
npmwbuf1.7.3indirekt
npmwebpack5.75.0indirekt
npmwebpack-assets-manifest5.1.0indirekt
npmwebpack-cli4.10.0indirekt
npmwebpack-cli5.0.1indirekt
npmwebpack-dev-middleware5.3.3indirekt
npmwebpack-dev-server4.11.1indirekt
npmwebpack-merge5.8.0indirekt
npmwebpack-sources3.2.3indirekt
npmwebsocket-driver0.7.4indirekt
npmwebsocket-extensions0.1.4indirekt
npmwhat-input5.2.12indirekt
npmwhich2.0.2indirekt
npmwhich-boxed-primitive1.0.2indirekt
npmwhich-typed-array1.1.9indirekt
npmwildcard2.0.0indirekt
npmword-wrap1.2.3indirekt
npmworker-factory7.0.12indirekt
npmwrappy1.0.2indirekt
npmws8.12.0indirekt
npmyallist3.1.1indirekt
npmyaml1.10.2indirekt
npmyocto-queue0.1.0indirekt
RubyGemsbundler-auditindirekt
RubyGemsdeprecated3.0.1indirekt
RubyGemsio-console0.5.2indirekt
RubyGemsio-console0.7.1indirekt
RubyGemsirb1.5.0indirekt
RubyGemsminitestindirekt
RubyGemsminitest5.10.0indirekt
RubyGemsrack2.2.0indirekt
RubyGemsrakeindirekt
RubyGemsreline0.3.0indirekt
RubyGemsreline0.4.2indirekt
RubyGemsrubocopindirekt
RubyGemsrubocop-mdindirekt
RubyGemsrubocop-minitestindirekt
RubyGemsrubocop-performanceindirekt
RubyGemsrubocop-rakeindirekt
RubyGemsthorindirekt
RubyGemsthread_safe0.3.6indirekt
RubyGemstzinfo1.2.1indirekt
RubyGemsyard0.9.26indirekt
Abhängigkeits-Advisories 62

Dieses Repository veröffentlicht kein vom Index auflösbares Paket, daher wurde sein eigener Abhängigkeitsgraph bewertet – 811 Pakete, darunter auch Entwicklungs- und Test-Pins, die nie ausgeliefert werden: 62 tragen bekannte Advisories, davon 0 direkte. 9 konnten nicht bewertet werden – keine aufgelöste Version, ein nicht unterstütztes Ökosystem, oder außerhalb der ausgewiesenen Paketliste.

PaketVersionBeziehungSchweregradAdvisoriesBehoben in
@babel/traverse7.15.4indirektkritisch18.0.0-alpha.4
@babel/traverse7.20.13indirektkritisch18.0.0-alpha.4
flatted3.2.2indirektkritisch23.4.2
loader-utils1.4.0indirektkritisch33.2.1
lodash4.17.0indirektkritisch104.18.0
minimist1.2.5indirektkritisch11.2.6
rack2.2.0indirektkritisch333.2.6
webpack5.75.0indirektkritisch45.104.1
@babel/plugin-transform-modules-systemjs7.20.11indirekthoch18.0.0-alpha.13
body-parser1.19.2indirekthoch22.3.0
body-parser1.20.1indirekthoch22.3.0
brace-expansion1.1.11indirekthoch35.0.7
braces3.0.2indirekthoch13.0.3
cross-spawn7.0.3indirekthoch17.0.5
d3-color1.4.1indirekthoch13.1.0
follow-redirects1.14.4indirekthoch51.16.0
http-proxy-middleware2.0.6indirekthoch44.1.0
js-cookie3.0.1indirekthoch13.0.7
js-yaml4.1.0indirekthoch34.3.0
json51.0.1indirekthoch12.2.2
lodash4.17.21indirekthoch34.18.0
minimatch3.0.4indirekthoch410.2.3
minimatch3.1.2indirekthoch310.2.3
node-forge1.3.1indirekthoch71.4.0
path-to-regexp0.1.7indirekthoch38.0.0
picomatch2.3.0indirekthoch24.0.4
picomatch2.3.1indirekthoch24.0.4
semver6.3.0indirekthoch17.5.2
semver7.0.0indirekthoch17.5.2
serialize-javascript6.0.1indirekthoch37.0.5
tzinfo1.2.1indirekthoch11.2.10
uuid8.3.2indirekthoch113.0.1
webpack-dev-middleware5.3.3indirekthoch17.1.0
websocket-driver0.7.4indirekthoch20.7.5
ws8.12.0indirekthoch38.21.0
@adobe/css-tools4.3.1indirektmittel14.3.2
@babel/helpers7.20.13indirektmittel18.0.0-alpha.17
@babel/runtime7.15.4indirektmittel18.0.0-alpha.17
@babel/runtime7.20.13indirektmittel18.0.0-alpha.17
@babel/runtime7.23.1indirektmittel18.0.0-alpha.17
ajv6.12.6indirektmittel18.18.0
ajv8.12.0indirektmittel18.18.0
express4.17.3indirektmittel25.0.0-beta.3
express4.18.2indirektmittel25.0.0-beta.3
micromatch4.0.5indirektmittel14.0.8
qs6.11.0indirektmittel26.14.2
qs6.9.7indirektmittel26.14.2
send0.17.2indirektmittel10.19.0
send0.18.0indirektmittel10.19.0
serve-static1.14.2indirektmittel12.1.0
serve-static1.15.0indirektmittel12.1.0
trix1.3.1indirektmittel87.1.3.3
webpack-dev-server4.11.1indirektmittel65.2.6
word-wrap1.2.3indirektmittel11.2.4
yaml1.10.2indirektmittel12.8.3
yard0.9.26indirektmittel30.9.44
@babel/core7.20.12indirektniedrig18.0.0-rc.6
@babel/core7.22.0indirektniedrig18.0.0-rc.6
@babel/core7.22.1indirektniedrig18.0.0-rc.6
cookie0.4.2indirektniedrig10.7.0
cookie0.5.0indirektniedrig10.7.0
on-headers1.0.2indirektniedrig11.1.0

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": [
        "patch-management",
        "ruby-on-rails"
      ],
      "is_fork": false,
      "size_kb": 778,
      "has_wiki": false,
      "homepage": "https://vadimkononov.ca/gems",
      "languages": {
        "Ruby": 182367,
        "Shell": 995
      },
      "pushed_at": "2026-07-16T03:26:59Z",
      "created_at": "2023-04-10T15:15:15Z",
      "owner_type": "User",
      "updated_at": "2026-07-16T03:25:09Z",
      "description": "Package audit is a patch management tool for deprecated, outdated and vulnerable dependencies.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Ruby",
      "significant_languages": [
        "Ruby"
      ]
    },
    "owner": {
      "blog": "vadimkononov.ca",
      "name": "Vadim Kononov",
      "type": "User",
      "login": "vkononov",
      "company": "Konoson",
      "location": null,
      "followers": 5,
      "avatar_url": "https://avatars.githubusercontent.com/u/2658606?v=4",
      "created_at": "2012-10-26T16:57:57Z",
      "is_verified": null,
      "public_repos": 16,
      "account_age_days": 5016
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.8.2",
          "kind": "patch",
          "published_at": "2026-07-16T03:26:59Z"
        },
        {
          "tag": "v0.8.1",
          "kind": "patch",
          "published_at": "2026-01-03T06:30:13Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2025-11-29T02:56:11Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2025-10-23T04:03:56Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2025-10-03T05:15:46Z"
        },
        {
          "tag": "v0.6.2",
          "kind": "patch",
          "published_at": "2025-09-14T17:36:52Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2025-07-21T21:59:17Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2024-02-03T21:41:18Z"
        },
        {
          "tag": "v0.5.1",
          "kind": "patch",
          "published_at": "2023-11-22T04:44:48Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2023-11-16T19:10:37Z"
        },
        {
          "tag": "v0.4.1",
          "kind": "patch",
          "published_at": "2023-10-04T21:11:24Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2023-07-11T19:42:52Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2023-07-06T03:39:16Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2023-07-11T19:46:49Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "12672404c36641b3b8875ec50d85d2567c167a6b",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.8.2 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-16T03:25:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "888d1dd9a5c40a7fb90460e73432f9eaae88f49e",
          "body": "Yarn Classic's audit API was retired, so Node vulnerability checks\nstopped returning results and the daily CI failed. Query npm's bulk\nadvisory endpoint from the lockfile instead.",
          "is_bot": false,
          "headline": "Replace broken yarn audit with npm bulk advisories",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-16T03:04:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3497a23aa158b0782dc791643e37889713fc3761",
          "body": "Add Ruby compatibility badges to make the supported version range more\nvisible.",
          "is_bot": false,
          "headline": "Highlight tested Ruby support",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-08T20:51:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d28291116495683363e974dc5ec4a35d76ddc882",
          "body": "The readme's screenshot lives under the docs folder, which was left out\nof the package, so the image was missing wherever the gem was used\noutside the source repo. The docs files are now shipped with the gem.",
          "is_bot": false,
          "headline": "Include the example image in the published gem",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-08T17:57:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e7587ce78dafd83c3f8db43bf12d1124befee59",
          "body": "The console script tried to load a file that does not exist, so it\nfailed to start. It now loads the actual entry point.",
          "is_bot": false,
          "headline": "Fix broken interactive console command",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-08T17:46:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff6739e68e58b897514875841f2f7e17c69caa46",
          "body": "lint script message that wrongly said it was linting Ruby on Rails.",
          "is_bot": false,
          "headline": "Remove stale boilerplate text from tooling",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-08T17:46:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "658353d04241db9e401cf7498aebb0f6780ba945",
          "body": "The report test asserted an exact number of vulnerabilities, but that\ncount comes from the live advisory database and grows over time, so the\ntest broke as new advisories were published. Match any count with a\npattern instead, matching what the Node report test already does, since\nthe test only cares that one package is flagged as vulnerable.",
          "is_bot": false,
          "headline": "Stop hard-coding the vulnerability count in report test",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-07T19:20:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9a25e78ca037962962b14689fe77e0f80f6d238",
          "body": "Replace the exclusion list with an allowlist so the released gem\ncontains just the executable, library code, license, and readme. This\nkeeps tests, tooling, and CI config out of the package even as new\ndevelopment files are added over time.",
          "is_bot": false,
          "headline": "Ship only runtime files in the published gem",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-07T05:09:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa3c08eb37534bd88018b0458d1c65576b8f58c9",
          "body": "Each workflow now ends with one aggregate job that passes only if the\nwhole job set succeeded, giving a stable check name (\"Test\", \"Lint\") to\nrequire in branch protection instead of listing every Ruby version by\nhand, which broke whenever the matrix changed.",
          "is_bot": false,
          "headline": "Add single status checks to summarize CI matrices",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-07-06T20:32:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da3c690402b7d11be94d1d6d01ddfd6463e0ba16",
          "body": "Package only the files needed at runtime by excluding dev and doc\nfiles, and set a minimum nokogiri version so compatibility is\nexplicit. Also point the README diagram at the main branch and\ncorrect the lint job name and message, which still referenced\ntools the project does not use.",
          "is_bot": false,
          "headline": "Slim down packaged gem and tidy project metadata",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-06-30T15:30:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc1497313eeea303e508cd9b4d74531fad3fd83e",
          "body": null,
          "is_bot": false,
          "headline": "Fix broken tests resulting vulnerability count mismatches.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-02-27T22:54:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53a1ffe60f2a2e186b048a8d9a5e68c877215717",
          "body": null,
          "is_bot": false,
          "headline": "Fix a new lint error due to Rubocop rule update.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-02-27T22:43:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f0b17340e4ea95e6cf0ac331748b4cf799d92cf4",
          "body": null,
          "is_bot": false,
          "headline": "Include Ruby v4 in the automated test matrix.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-01-27T05:17:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc48bbd27080cd3c2f66a571a8d14ad1f3323369",
          "body": null,
          "is_bot": false,
          "headline": "Configure GitHub Actions to run the tests daily at midnight.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-01-26T19:18:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed3e74af6236a613794029ee1ce9af7aa73e4e04",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.8.1 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-01-03T06:29:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fca878d17cb3384b04c98d73d4dc28ce22bbbf0e",
          "body": null,
          "is_bot": false,
          "headline": "Fix inconsistent blank lines and spaces in various formats.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2026-01-03T06:16:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2088bb285afd9bbeccb45501be93528d3f41908",
          "body": "In more recent versions, minitest/mock has been extracted to a standalone gem.",
          "is_bot": false,
          "headline": "Explicitly require minitest/mock for Ruby 3.1.0 and above.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-12-30T20:44:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fdab5efce610590c8a74dcf330e48f857d04e79",
          "body": "The outdated and deprecated methods in GemCollection and NodeCollection were not fetching vulnerability info, causing packages to show without their vulnerabilities when using --outdated or --deprecated.",
          "is_bot": false,
          "headline": "Include vulnerability data when filtering by flags.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-12-12T19:47:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16d2884f32026195af924e5113f55b5bd1c5ff39",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.8.0 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-11-29T02:55:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f0390c5b4f42530a4e5093eca7c6f5a6fa6cc40f",
          "body": null,
          "is_bot": false,
          "headline": "Improve the look and feel of the visual report.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-11-29T00:15:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "988e4b5596ace9d346caeef6dcc72abb73cb1be8",
          "body": null,
          "is_bot": false,
          "headline": "Improve README.md with screenshot and update for clarity.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-11-28T22:11:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a36f20c222a62a8d98d1d30ab62853d79e29a8b",
          "body": "Remove the Groups and Risk Explanation columns and add a compact Flags column that shows all applicable risk types at once using ⦗V··⦘, ⦗·O·⦘, ⦗··D⦘ notation. This makes it immediately visible when packages have multiple risks, which was previously hidden. The footer uses matching notation ⦗V⦘ulnerable, ⦗O⦘utdated, ⦗D⦘eprecated as a self-documenting legend.",
          "is_bot": false,
          "headline": "Replace Groups and Risk Explanation columns with Flags.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-11-28T21:01:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3feae8edbb0050dc1df7077641c89509fe0bc95b",
          "body": "Replace subcommands (deprecated, outdated, vulnerable) with boolean flags for a more intuitive and composable interface. Users can now filter packages with --deprecated, --outdated, --vulnerable or exclude them with --skip-deprecated, --skip-outdated, --skip-vulnerable.\n\nPackages with multiple risk \n[…]\nulnerable will still appear when using --skip-outdated because it has a vulnerability.\n\nThis aligns the CLI with common patterns used by npm, bundle, rubocop, and other popular tools in the ecosystem.",
          "is_bot": false,
          "headline": "Refactor CLI to use standard flag-based interface.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-11-28T20:11:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "597945717cd7a6f441fed02a044c01f1745660b7",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.7.1 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-10-23T04:02:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18b0879e0d33fdea4e3c9fcda261749dab124d3d",
          "body": "Properly configure SSL connection with VERIFY_PEER mode and system CA certificates to resolve \"certificate verify failed\" errors. Add error handling for timeout, SSL, and network failures.",
          "is_bot": false,
          "headline": "Fix SSL certificate verification for API calls.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-10-23T03:56:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe63a59b682f47b2e5afcb3fc78e26c9eed18cbf",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.7.0 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-10-03T05:12:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a894a9fabd8bef260b94be64bbd29a47c729e8c",
          "body": "- Skip 404 responses from npm registry (common for private packages)\n- Show \"unknown\" for version dates of private packages\n- Continue processing other packages when private packages are encountered\n- Maintain accurate counts of outdated and deprecated packages",
          "is_bot": false,
          "headline": "Handle private NPM packages gracefully.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-10-03T04:47:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aedba0164b7c26db4f32cb52f0e44e8b9ac58e7b",
          "body": "- Process packages in batches of 10 to control concurrent requests\n- Add exponential backoff with 3 retries for failed requests\n- Set appropriate timeouts and delays to balance speed and reliability\n- Handle network errors gracefully with proper error reporting\n\nThis change significantly improves performance and reliability when checking large numbers of npm packages.",
          "is_bot": false,
          "headline": "Improve NPM registry lookups with rate limiting and retries.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-10-03T01:58:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "785a1e7500a863d27b2466dae0566676e239cdbb",
          "body": null,
          "is_bot": false,
          "headline": "Remove \"known issues\", as they had already been addressed.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-10-03T00:30:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bdd2c866d464e7dec51980301a1a0dd454804610",
          "body": null,
          "is_bot": false,
          "headline": "Upgrade .rubocop.yml to use the new 'plugins' syntax.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-10-03T00:21:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4296bfcb35fd1f585aea2231830caeeac678e17f",
          "body": "The package-audit gem now correctly handles version overrides specified in the resolutions field of package.json. It also supports a wide range of version formats used in modern yarn projects:\n\n- Hyphenated versions (1.2.3-1)\n- Pre-release versions (beta, rc)\n- Development versions with timestamps\n-\n[…]\nURLs with version hashes\n- Scoped packages with npm prefixes\n\nThis ensures accurate version reporting for yarn projects that use these features to manage dependency conflicts and version requirements.",
          "is_bot": false,
          "headline": "Add support for yarn resolutions field and complex version formats.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-10-03T00:13:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5ea4fbb54289f4087c11d43d9dd9631836c5ae6a",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.6.2 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-09-14T17:02:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aba26cd7799f275b78b7940582758d732e05139b",
          "body": "Some gems were displaying placeholder dates instead of actual release dates. Now uses RubyGems API selectively to fetch correct dates while maintaining performance by only making network calls when local data is unreliable.",
          "is_bot": false,
          "headline": "Fix incorrect gem publication dates showing as 1980-01-02.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-09-14T17:02:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a236415e56a088ae6a41e8daa9eedd0cb2150f3a",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.6.1 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-21T21:53:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "441cbd6432fddc12dd3f90b6536e8a142ca7f6d0",
          "body": "Set NODE_NO_WARNINGS=1 when executing yarn audit to prevent DEP0169 warnings from cluttering output while preserving all functionality.",
          "is_bot": false,
          "headline": "Suppress Node.js url.parse warnings from yarn audit.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-17T22:50:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d30a55340a61aa2bbe894ade769a0b5f17bd277e",
          "body": "Handle SocketError and network timeouts gracefully instead of crashing. Show informative warnings when registry.npmjs.org is unreachable while allowing the tool to continue processing other packages.",
          "is_bot": false,
          "headline": "Fix network error handling in npm metadata fetching.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-17T20:43:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cd5c1e4a6d77516c9b95662f9ee0ef9ce456fef",
          "body": "The cleaner will automatically remove packages that are no longer available, or whose versions have changed, as well as sort all packages and technologies alphabetically.",
          "is_bot": false,
          "headline": "Introduce an automated config file cleaner.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-17T20:13:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c0f1aba859a6397423579d98b7ae69f54115650",
          "body": "Previously, the \"For more information about\" disclaimer was only skipped for CSV format. Now it's skipped for any format (CSV, MD) when a format parameter is provided.",
          "is_bot": false,
          "headline": "Skip disclaimer when any format is specified.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-15T01:43:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f059b4074290ed30a7859b0ec2f0024a2b626bb",
          "body": "Local dependencies cannot have published CVEs, so exclude them from\nvulnerability scans to reduce noise and prevent API failures.\n\n- Support Node.js file:, link:, and relative path dependencies\n- Support Ruby path and git source dependencies",
          "is_bot": false,
          "headline": "Filter local dependencies from security audits.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-15T01:31:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c36e33e279a189222ad1f59e12a1d318c9aff613",
          "body": null,
          "is_bot": false,
          "headline": "Change gem author and source code repository url.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-15T01:31:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2330a732b1ed0073e4b4408e71fa385dd018c25d",
          "body": null,
          "is_bot": false,
          "headline": "Add a \"Buy Me a Coffee\" button to README.md. Thank you!",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-14T21:09:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "495af3f33b46a59982d32674025e50b250621680",
          "body": "Removed RBS and Steep due to maintenance burden and broken tooling. Deleted unused files: CHANGELOG and CODE_OF_CONDUCT. Updated Gem dependencies and GitHub Actions to reflect current toolchain. Modified README to reflect repository transfer and ownership changes. Added Ruby 3.4 to the Github test action.",
          "is_bot": false,
          "headline": "Remove RBS, clean up unused files, and update project metadata.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2025-07-14T20:43:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ab853bb68dd5e536c2e2452225fdbcfc8fbffe0",
          "body": null,
          "is_bot": false,
          "headline": "Capitalize the names of all technologies for output only.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2024-03-05T20:51:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e409a24f8626d99019564577dfb382e2bc636bd",
          "body": null,
          "is_bot": false,
          "headline": "Display detected technologies when running the tool.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2024-03-05T20:36:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3dbe6f2010b41f78808d950b6fab7d6a154d13fe",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.6.0 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2024-02-03T21:32:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0788f0984878da16bf08c3c2a986de9c1be381ef",
          "body": null,
          "is_bot": false,
          "headline": "Add markdown format for easy pasting into maintenance logs.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2024-02-02T22:56:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "579e9e9f22583198ebd4c437484509b65100df81",
          "body": "Previously, it was impossible to tell whether an ignored package was deprecated, vulnerable or outdated. Now, the package summary displays ignored package counts for each category.",
          "is_bot": false,
          "headline": "Enhance package summary with ignored counts per category.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2024-02-01T05:42:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03944f78828256ae7b54095f53d6dcd3f4d6e89c",
          "body": null,
          "is_bot": false,
          "headline": "Add support for ruby 2.6 and 3.3.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2024-01-05T19:04:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "663b56a87bc91d3f939cb3c8fec889a9d679064d",
          "body": null,
          "is_bot": false,
          "headline": "Add the number of ignored packages when the report is empty.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2024-01-05T17:26:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4605f9f24c9673d443e7d9b8b0db8cde493a24c8",
          "body": "If there were no outdated, deprecated or vulnerable packages, but there was at least one ignored package, the return could would return 1 instead of 0.",
          "is_bot": false,
          "headline": "Fix an invalid exit code when packages are ignored.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2024-01-05T17:08:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "295d54e9726c2117941219102e740ce907c7eef6",
          "body": null,
          "is_bot": false,
          "headline": "Fix an issue with handling directory paths with spaces.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-23T20:58:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1503bbbacce6fa48245b3fbfe3f3bfad8bf6981",
          "body": "For example, if a package is vulnerable and outdated at the same time, and there is vulnerability exclusion rule, it should only show up on the general report (because there is no outdated exclusion rule), but be excluded from the vulnerability report.",
          "is_bot": false,
          "headline": "Fix an issue that displayed packages ignored by config.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-23T20:33:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58eba08b0f7e4000178ab88c91ca3c9a0f71fa79",
          "body": null,
          "is_bot": false,
          "headline": "Add a default CLI command and remove \"report\" from the CLI.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-23T19:44:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c760b1eaa9561a9ed6a69aa9beefdc56616b5c9c",
          "body": null,
          "is_bot": false,
          "headline": "Improve error messages for missing or invalid directories.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-23T17:31:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aab7742dc8b7c50158ffd95fb3f6cd94cfeba62b",
          "body": "Previously, the following warning would be generated if the installed bundler gem version is older than that within Gemfile.lock:\r\n\r\nEvaluating packages and their dependencies... -Warning: the running version of Bundler (2.1.4) is older than the version that created the lockfile (2.3.8). We suggest you to upgrade to the version that created the lockfile by running `gem install bundler:2.3.8`.",
          "is_bot": false,
          "headline": "Remove Bundler warning about an old bundler gem version.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-23T16:49:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbd1c73169ef16837d587580b8622e8449285bc7",
          "body": null,
          "is_bot": false,
          "headline": "Update missed \"environments\" to \"groups\" in README.md.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-22T04:48:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42804b37214c2555e206a26869271ae2d4adc2da",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.5.1 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-22T04:42:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f967cf191c3ec27b6c900fbe4d5510186ae42dec",
          "body": "Any custom groups that were defined by users in Gemfile were ignored because the script incorrectly assumed that only specific groups were allowed to be defined. As a result, the script returned an incomplete list of dependencies.",
          "is_bot": false,
          "headline": "Fix a bug that hid packages with custom groups.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-21T21:34:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13f147312fd5004740606d5403576160b50a1d9e",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.5.0 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-16T19:00:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5711041171d177bc2ec2e4f99cc888f13744808",
          "body": null,
          "is_bot": false,
          "headline": "Properly rescue from and handle errors within Ruby threads.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-10T03:55:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d2274cee6c161fa391b5d847b1e1c141c787900",
          "body": "Ruby gems are now resolved remotely and instead of locally, which eliminates the annoying requirements to have the gems be installed locally and potentially having to install a new Ruby version and struggle with the installation of gems with native extension.",
          "is_bot": false,
          "headline": "Remove the need to do `bundle install` before Ruby auditing.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-10T03:27:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4a2f325a47689889682fbbbeb49f7813263101e",
          "body": null,
          "is_bot": false,
          "headline": "Change all reports to have the same columns by default.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-08T06:56:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "039a606bc0fc8e79b3fca2826efbcab432223084",
          "body": null,
          "is_bot": false,
          "headline": "Disable spinner output when running automated tests.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-08T06:54:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9145db0d3baab8316691921304f9954575b6673a",
          "body": "Environments now use Strings instead of Symbols to simplify comparisons and to be consistent with other enums.\r\n\r\nEnvironment filtering is currently inefficient, as it only occurs after all package metadata have been retrieved instead of pre-filtering the packages based on environments.",
          "is_bot": false,
          "headline": "Introduce the environment filter within the CLI.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-08T06:15:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "755343e37c9855cda08a925207609aeb692dd192",
          "body": "When specifying a path to another Ruby project while already being in a Ruby project, gems and gem groups were incorrectly loading from the project from where the script was run instead of using the path of the project to be audited, which was caused by a missing Bundler reset statement. This mismatch caused gems to be assigned to incorrect groups or not be assigned to any groups.",
          "is_bot": false,
          "headline": "Fix an issue that produced invalid Bundler spec definitions.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-08T06:09:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0797116cdbdbb38be4d5d92bc03812ffae94b008",
          "body": "Development, test, and other non-production environments are typically not included in production builds, and while there is a theoretical risk that the project could be vulnerable due to vulnerabilities in non-production environments, that risk is extremely low.",
          "is_bot": false,
          "headline": "Cap non-production environment risk to low (was medium).",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-08T03:39:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29b7677a50c88a8b57fa495142b53434ebbcb5c5",
          "body": "The exit code was always 0, instead of returning 0 only when there are no packages in the list.\r\n\r\nThe correct exit code is important for DevOps pipelines.",
          "is_bot": false,
          "headline": "Fix an issue with the gem returning an incorrect exit code.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-02T23:13:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e3e946869b8320feb62ef81b4afafba714f9bf1",
          "body": "Instead of cleaning the console line with `\\r`, the proper way to handle it is to pass enough empty spaces into the console to cover up the message that was previously displayed.",
          "is_bot": false,
          "headline": "Fix na issue with the loading spinner not disappearing.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-11-02T21:55:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "260d5eae5faa8b68c020642611d3d73af41d2ccb",
          "body": null,
          "is_bot": false,
          "headline": "Update copyright information from Vadim Kononov to Tactica.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-10-19T20:28:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a97680a8e3d2437ad2bc1fe55e6c606e0a0a663",
          "body": "The processing spinner indicate will provide feedback to the user that the application has not crashed, and each technology is now processed in a different thread, which dramatically speeds up execution when there is more than one technology within a project.",
          "is_bot": false,
          "headline": "Add loading spinner and multi-threading for each technology.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-10-19T20:25:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e39e6c6dd7eea58560184f8116f8616147617c9e",
          "body": "In rare cases, likely caused by specific versions of other gem dependencies, `Bundler.definition` would point to the wrong Gemfile and produce invalid results. It turns out that before using `Bundler.definition`, Bundler environment needs to be unbundled, and a Gemfile file needs to be specified.",
          "is_bot": false,
          "headline": "Fix a rare issue when using `Bundler.definition`.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-10-16T21:52:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62a5494985c8239c6fa04c1114ff37280f92ba7f",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.4.1 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-10-04T21:02:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "529d3065856e7616c4d2829bd915c9542d7028f8",
          "body": "The previous version of the regex incorrectly looked for exact package names preceded by any character which resulted in false matches (e.g. `react-dom@18.2.0` matched `@types/react-dom@18.2.0`). This resulted in a crash when assuming that npmjs.com API would contain the date for a non-existent version of the package. Now the regex requires that the package name be preceded by a space, a quote, or be placed at the very beginning of the line.",
          "is_bot": false,
          "headline": "Fix a bug with regex used for parsing yarn.lock.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-10-04T20:58:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "639985c432934a37969b5aaccf6b7890b61663bd",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.4.0 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-11T19:42:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9869a1c0ed2f0a4f3b9cab68b4e00805ccc802ab",
          "body": "* The script will now automatically look for `.package-audit.yml` within the project directory.\r\n* The report will always state the number of packages that were ignored.\r\n* Introduce a new option `--include-ignored` to show all packages that are ignored by the configuration file.\r\n* Introduce a `--technology` option to limit the report to only specific technologies.\r\n* When using custom [DIR] to run the report, using the command \"report\" is not longer necessary.",
          "is_bot": false,
          "headline": "Introduce a configuration file to control report options.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-11T19:32:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b781236c916ebd9ac2c16ae3e48b1367fa85bde3",
          "body": null,
          "is_bot": false,
          "headline": "Add Supported Technologies and Known Issues to README.md.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-06T03:58:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9eb66463d723b85375fea23c7b2e894c017b9d8f",
          "body": null,
          "is_bot": false,
          "headline": "Bump gem version to 0.3.0 for a new release.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-05T23:19:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "917e138d5beeefb254b1f8eb74c8b7d650af086b",
          "body": "Previously, `package-audit` could only be run with `bundle exec`. Now, it will be automatically added to $PATH so that it can be run on its own.",
          "is_bot": false,
          "headline": "Add package-audit to $PATH to run without bundle.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-05T23:18:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9d9c56a4f800319babb7187dfd452a62f43771e",
          "body": null,
          "is_bot": false,
          "headline": "Add an automated test for a yarn.lock formatted by npm.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-05T22:47:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a15fa854e3907ac59522cd772335b25f4b5cf939",
          "body": null,
          "is_bot": false,
          "headline": "Change Github workflows to run push only on main.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-05T22:00:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a88e789bbc2fd01c6c06589628575a35bf17a81",
          "body": "Previously, the script could be run only within the current directory, which meant that it has to be included within Gemfile for every project. This is no longer necessary.",
          "is_bot": false,
          "headline": "Add an optional working directory in place of the default.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-05T21:56:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcda1b95d48e466a368af39e12e52fc5542b8278",
          "body": "When npm install is mistakenly used when yarn.lock exists, a slightly\r\ndifferent type of yarn.lock may be generated, which couldn't be parsed\r\nby the previous version of the regex.",
          "is_bot": false,
          "headline": "Add support for alternate formats of yarn.lock.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-07-05T21:06:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5d466a6107d1fe4120ed5c42e4453365aa61ca4",
          "body": "All commands now automatically scan for the existence of \"package.json\" and \"yarn.lock\" and include node modules in the report, if these files are found. \"package-lock.json\" is currently not supported.",
          "is_bot": false,
          "headline": "Add automatic detection of Node dependencies using yarn.",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-05-03T20:29:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe30437f249198f49c0477e13a7f1384c3b629eb",
          "body": "The risk calculator was incorrectly comparing versions by using string comparison, which caused it to think that 0.8.0 was more recent that 0.11.0. Now all comparisons are done using integers.",
          "is_bot": false,
          "headline": "Fix a bug with a version comparator for the risk calculator. (#3)",
          "author_name": "Vadim Kononov",
          "author_login": "vkononov",
          "committed_at": "2023-04-25T21:13:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8f9b9637697002d24828daf0e633d7d733c028f",
          "body": "The report combines three pieces of information: security vulnerabilities, potential deprecations and outdates packages. It is colour-coded so that high risk items are easy to see. The CSV option is also available.",
          "is_bot": false,
          "headline": "Add a command to produce a comprehensive report of packages.",
          "author_name": "Vadim Kononov",
          "author_login": null,
          "committed_at": "2023-04-25T17:33:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef5bfafa4a95103ead8913ece5aebef589bb325c",
          "body": "Outdated gems are detected by parsing and analyzing Gemfile.lock files, and the results can be displayed for all gems, explicit gems only (the ones defined in Gemfile), or implicit only (only the dependencies of those in Gemfile) in one of two formats: pretty or CSV.",
          "is_bot": false,
          "headline": "Implement command to check for outdated Ruby gems.",
          "author_name": "Vadim Kononov",
          "author_login": null,
          "committed_at": "2023-04-13T18:50:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 33,
      "latest_release_at": "2026-07-16T03:26:59Z",
      "latest_release_tag": "v0.8.2",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 13,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 108
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "package-audit",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "rubygems",
          "matches_repo": true,
          "registry_url": "https://rubygems.org/gems/package-audit",
          "is_deprecated": false,
          "latest_version": "0.8.2",
          "repository_url": "https://github.com/vkononov/package-audit",
          "versions_count": 15,
          "total_downloads": 17893,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2023-04-25T17:38:16.245000Z",
          "latest_published_at": "2026-07-16T03:26:55.311000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 1,
      "stars": 1,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2025-05-15",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_forks": 1
      },
      "star_history": {
        "days": [
          {
            "date": "2024-03-01",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_stars": 1
      },
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 12754,
      "source_files_sampled": 71,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Gemfile"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.15.4",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.3,
            "advisory_ids": [
              "GHSA-67hx-6x53-jw92"
            ],
            "fixed_version": "8.0.0-alpha.4",
            "advisory_count": 1,
            "oldest_advisory_days": 1009
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.20.13",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.3,
            "advisory_ids": [
              "GHSA-67hx-6x53-jw92"
            ],
            "fixed_version": "8.0.0-alpha.4",
            "advisory_count": 1,
            "oldest_advisory_days": 1009
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.2.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": 130
          },
          {
            "name": "loader-utils",
            "direct": false,
            "version": "1.4.0",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-3rfm-jhwj-7488",
              "GHSA-76p3-8jx3-jpfq",
              "GHSA-hhq3-ff78-jv3g"
            ],
            "fixed_version": "3.2.1",
            "advisory_count": 3,
            "oldest_advisory_days": 1378
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.0",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-29mw-wpgm-hmr9",
              "GHSA-35jh-r3h4-6jhm",
              "GHSA-4xc9-xhrj-v574",
              "GHSA-f23m-r3pf-42rh",
              "GHSA-fvqr-27wr-82fm",
              "GHSA-jf85-cpcp-j695",
              "GHSA-p6mc-m468-83gw",
              "GHSA-r5fr-rjxr-66jc",
              "GHSA-x5rq-j2xg-h7qm",
              "GHSA-xxjr-mmjv-4gpg"
            ],
            "fixed_version": "4.18.0",
            "advisory_count": 10,
            "oldest_advisory_days": 2917
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.5",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-xvch-5gv4-984h"
            ],
            "fixed_version": "1.2.6",
            "advisory_count": 1,
            "oldest_advisory_days": 1587
          },
          {
            "name": "rack",
            "direct": false,
            "version": "2.2.0",
            "severity": "critical",
            "ecosystem": "rubygems",
            "cvss_score": 10,
            "advisory_ids": [
              "GHSA-22f2-v57c-j9cx",
              "GHSA-3h57-hmj3-gj3p",
              "GHSA-54rr-7fvw-6x8f",
              "GHSA-625h-95r8-8xpm",
              "GHSA-65f5-mfpf-vfhj",
              "GHSA-6xw4-3v39-52mm",
              "GHSA-7g2v-jj9q-g3rg",
              "GHSA-7mqq-6cf9-v2qp",
              "GHSA-7wqh-767x-r66v",
              "GHSA-8cgq-6mh2-7j6v"
            ],
            "fixed_version": "3.2.6",
            "advisory_count": 33,
            "oldest_advisory_days": 2218
          },
          {
            "name": "webpack",
            "direct": false,
            "version": "5.75.0",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-38r7-794h-5758",
              "GHSA-4vvj-4cpr-p986",
              "GHSA-8fgc-7cc6-rx7x",
              "GHSA-hc6q-2mpp-qw7j"
            ],
            "fixed_version": "5.104.1",
            "advisory_count": 4,
            "oldest_advisory_days": 1226
          },
          {
            "name": "@babel/plugin-transform-modules-systemjs",
            "direct": false,
            "version": "7.20.11",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.2,
            "advisory_ids": [
              "GHSA-fv7c-fp4j-7gwp"
            ],
            "fixed_version": "8.0.0-alpha.13",
            "advisory_count": 1,
            "oldest_advisory_days": 74
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "1.19.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-qwcr-r2fm-qrc7",
              "GHSA-v422-hmwv-36x6"
            ],
            "fixed_version": "2.3.0",
            "advisory_count": 2,
            "oldest_advisory_days": 679
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "1.20.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-qwcr-r2fm-qrc7",
              "GHSA-v422-hmwv-36x6"
            ],
            "fixed_version": "2.3.0",
            "advisory_count": 2,
            "oldest_advisory_days": 679
          },
          {
            "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": 407
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-grv7-fg5c-xmjg"
            ],
            "fixed_version": "3.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 798
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.3",
            "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": 620
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "1.4.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-36jr-mh4h-2g58"
            ],
            "fixed_version": "3.1.0",
            "advisory_count": 1,
            "oldest_advisory_days": 1391
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.14.4",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8,
            "advisory_ids": [
              "GHSA-74fj-2j2h-c42q",
              "GHSA-cxjh-pqwp-8mfp",
              "GHSA-jchw-25xp-jwwc",
              "GHSA-pw2r-vq6v-hr8c",
              "GHSA-r4q5-vmmm-2653"
            ],
            "fixed_version": "1.16.0",
            "advisory_count": 5,
            "oldest_advisory_days": 1651
          },
          {
            "name": "http-proxy-middleware",
            "direct": false,
            "version": "2.0.6",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-4www-5p9h-95mh",
              "GHSA-64mm-vxmg-q3vj",
              "GHSA-9gqv-wp59-fq42",
              "GHSA-c7qv-q95q-8v27"
            ],
            "fixed_version": "4.1.0",
            "advisory_count": 4,
            "oldest_advisory_days": 640
          },
          {
            "name": "js-cookie",
            "direct": false,
            "version": "3.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-qjx8-664m-686j"
            ],
            "fixed_version": "3.0.7",
            "advisory_count": 1,
            "oldest_advisory_days": 61
          },
          {
            "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": 249
          },
          {
            "name": "json5",
            "direct": false,
            "version": "1.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.1,
            "advisory_ids": [
              "GHSA-9c47-m6qq-7p4h"
            ],
            "fixed_version": "2.2.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1301
          },
          {
            "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": 181
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.0.4",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj",
              "GHSA-f8q6-p94x-37v3"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 4,
            "oldest_advisory_days": 1372
          },
          {
            "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": 153
          },
          {
            "name": "node-forge",
            "direct": false,
            "version": "1.3.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.6,
            "advisory_ids": [
              "GHSA-2328-f5f3-gj25",
              "GHSA-554w-wpv2-vw27",
              "GHSA-5gfm-wpxj-wjgq",
              "GHSA-5m6q-g25r-mvwx",
              "GHSA-65ch-62r8-g69g",
              "GHSA-ppp5-5v6c-4jwp",
              "GHSA-q67f-28xg-22rw"
            ],
            "fixed_version": "1.4.0",
            "advisory_count": 7,
            "oldest_advisory_days": 237
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "0.1.7",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-37ch-88jc-xwx2",
              "GHSA-9wv6-86v2-598j",
              "GHSA-rhx6-c78j-4q9w"
            ],
            "fixed_version": "8.0.0",
            "advisory_count": 3,
            "oldest_advisory_days": 680
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.0",
            "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": 118
          },
          {
            "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": 118
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-c2qf-rxjj-qqgw"
            ],
            "fixed_version": "7.5.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1126
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.0.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-c2qf-rxjj-qqgw"
            ],
            "fixed_version": "7.5.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1126
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.1",
            "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": 526
          },
          {
            "name": "tzinfo",
            "direct": false,
            "version": "1.2.1",
            "severity": "high",
            "ecosystem": "rubygems",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-5cm2-9h8c-rvfx"
            ],
            "fixed_version": "1.2.10",
            "advisory_count": 1,
            "oldest_advisory_days": 1461
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-w5hq-g745-h8pq"
            ],
            "fixed_version": "13.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 90
          },
          {
            "name": "webpack-dev-middleware",
            "direct": false,
            "version": "5.3.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.4,
            "advisory_ids": [
              "GHSA-wr3j-pwj9-hqq6"
            ],
            "fixed_version": "7.1.0",
            "advisory_count": 1,
            "oldest_advisory_days": 852
          },
          {
            "name": "websocket-driver",
            "direct": false,
            "version": "0.7.4",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-mp7j-qc5w-4988",
              "GHSA-xv26-6w52-cph6"
            ],
            "fixed_version": "0.7.5",
            "advisory_count": 2,
            "oldest_advisory_days": 6
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.12.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3h5v-q93c-6h6q",
              "GHSA-58qx-3vcg-4xpx",
              "GHSA-96hv-2xvq-fx4p"
            ],
            "fixed_version": "8.21.0",
            "advisory_count": 3,
            "oldest_advisory_days": 764
          },
          {
            "name": "@adobe/css-tools",
            "direct": false,
            "version": "4.3.1",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5,
            "advisory_ids": [
              "GHSA-prr3-c3m5-p7q2"
            ],
            "fixed_version": "4.3.2",
            "advisory_count": 1,
            "oldest_advisory_days": 964
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.20.13",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.2,
            "advisory_ids": [
              "GHSA-968p-4wvh-cqc8"
            ],
            "fixed_version": "8.0.0-alpha.17",
            "advisory_count": 1,
            "oldest_advisory_days": 497
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.15.4",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.2,
            "advisory_ids": [
              "GHSA-968p-4wvh-cqc8"
            ],
            "fixed_version": "8.0.0-alpha.17",
            "advisory_count": 1,
            "oldest_advisory_days": 497
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.20.13",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.2,
            "advisory_ids": [
              "GHSA-968p-4wvh-cqc8"
            ],
            "fixed_version": "8.0.0-alpha.17",
            "advisory_count": 1,
            "oldest_advisory_days": 497
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.23.1",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.2,
            "advisory_ids": [
              "GHSA-968p-4wvh-cqc8"
            ],
            "fixed_version": "8.0.0-alpha.17",
            "advisory_count": 1,
            "oldest_advisory_days": 497
          },
          {
            "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": 160
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.12.0",
            "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": 160
          },
          {
            "name": "express",
            "direct": false,
            "version": "4.17.3",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.1,
            "advisory_ids": [
              "GHSA-qw6h-vgh9-j6wx",
              "GHSA-rv95-896h-c2vc"
            ],
            "fixed_version": "5.0.0-beta.3",
            "advisory_count": 2,
            "oldest_advisory_days": 848
          },
          {
            "name": "express",
            "direct": false,
            "version": "4.18.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.1,
            "advisory_ids": [
              "GHSA-qw6h-vgh9-j6wx",
              "GHSA-rv95-896h-c2vc"
            ],
            "fixed_version": "5.0.0-beta.3",
            "advisory_count": 2,
            "oldest_advisory_days": 848
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.5",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-952p-6rrq-rcjv"
            ],
            "fixed_version": "4.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 798
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.11.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-6rw7-vpxm-498p",
              "GHSA-w7fw-mjwx-w883"
            ],
            "fixed_version": "6.14.2",
            "advisory_count": 2,
            "oldest_advisory_days": 203
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.9.7",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-6rw7-vpxm-498p",
              "GHSA-w7fw-mjwx-w883"
            ],
            "fixed_version": "6.14.2",
            "advisory_count": 2,
            "oldest_advisory_days": 203
          },
          {
            "name": "send",
            "direct": false,
            "version": "0.17.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5,
            "advisory_ids": [
              "GHSA-m6fv-jmcg-4jfg"
            ],
            "fixed_version": "0.19.0",
            "advisory_count": 1,
            "oldest_advisory_days": 679
          },
          {
            "name": "send",
            "direct": false,
            "version": "0.18.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5,
            "advisory_ids": [
              "GHSA-m6fv-jmcg-4jfg"
            ],
            "fixed_version": "0.19.0",
            "advisory_count": 1,
            "oldest_advisory_days": 679
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "1.14.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5,
            "advisory_ids": [
              "GHSA-cm22-4g7w-348p"
            ],
            "fixed_version": "2.1.0",
            "advisory_count": 1,
            "oldest_advisory_days": 679
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "1.15.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5,
            "advisory_ids": [
              "GHSA-cm22-4g7w-348p"
            ],
            "fixed_version": "2.1.0",
            "advisory_count": 1,
            "oldest_advisory_days": 679
          },
          {
            "name": "trix",
            "direct": false,
            "version": "1.3.1",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-53p3-c7vp-4mcc",
              "GHSA-6vx4-v2jw-qwqh",
              "GHSA-g9jg-w8vm-g96v",
              "GHSA-j386-3444-qgwg",
              "GHSA-mcrw-746g-9q8h",
              "GHSA-qjqp-xr96-cj99",
              "GHSA-qm2q-9f3q-2vcv",
              "GHSA-qmpg-8xg6-ph5q"
            ],
            "fixed_version": "7.1.3.3",
            "advisory_count": 8,
            "oldest_advisory_days": 805
          },
          {
            "name": "webpack-dev-server",
            "direct": false,
            "version": "4.11.1",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-4v9v-hfq4-rm2v",
              "GHSA-79cf-xcqc-c78w",
              "GHSA-9jgg-88mc-972h",
              "GHSA-f5vj-f2hx-8m93",
              "GHSA-m28w-2pqf-7qgj",
              "GHSA-mx8g-39q3-5c79"
            ],
            "fixed_version": "5.2.6",
            "advisory_count": 6,
            "oldest_advisory_days": 412
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.3",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-j8xg-fqg3-53r7"
            ],
            "fixed_version": "1.2.4",
            "advisory_count": 1,
            "oldest_advisory_days": 1125
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "1.10.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 4.3,
            "advisory_ids": [
              "GHSA-48c2-rrv3-qjmp"
            ],
            "fixed_version": "2.8.3",
            "advisory_count": 1,
            "oldest_advisory_days": 118
          },
          {
            "name": "yard",
            "direct": false,
            "version": "0.9.26",
            "severity": "moderate",
            "ecosystem": "rubygems",
            "cvss_score": 5.4,
            "advisory_ids": [
              "GHSA-3jfp-46x4-xgfj",
              "GHSA-8mq4-9jjh-9xrc",
              "GHSA-pxcc-8665-phx8"
            ],
            "fixed_version": "0.9.44",
            "advisory_count": 3,
            "oldest_advisory_days": 874
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.20.12",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.2,
            "advisory_ids": [
              "GHSA-4x5r-pxfx-6jf8"
            ],
            "fixed_version": "8.0.0-rc.6",
            "advisory_count": 1,
            "oldest_advisory_days": 36
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.22.0",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.2,
            "advisory_ids": [
              "GHSA-4x5r-pxfx-6jf8"
            ],
            "fixed_version": "8.0.0-rc.6",
            "advisory_count": 1,
            "oldest_advisory_days": 36
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.22.1",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.2,
            "advisory_ids": [
              "GHSA-4x5r-pxfx-6jf8"
            ],
            "fixed_version": "8.0.0-rc.6",
            "advisory_count": 1,
            "oldest_advisory_days": 36
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.4.2",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-pxg6-pf52-xh8x"
            ],
            "fixed_version": "0.7.0",
            "advisory_count": 1,
            "oldest_advisory_days": 655
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.5.0",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-pxg6-pf52-xh8x"
            ],
            "fixed_version": "0.7.0",
            "advisory_count": 1,
            "oldest_advisory_days": 655
          },
          {
            "name": "on-headers",
            "direct": false,
            "version": "1.0.2",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.4,
            "advisory_ids": [
              "GHSA-76c9-3jph-rj3q"
            ],
            "fixed_version": "1.1.0",
            "advisory_count": 1,
            "oldest_advisory_days": 369
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 6,
          "high": 27,
          "critical": 8,
          "moderate": 21
        },
        "advisory_count": 162,
        "affected_count": 62,
        "assessed_count": 811,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 9,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "rubygems"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@adobe/css-tools",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ampproject/remapping",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ampproject/remapping",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@apollo/client",
            "direct": false,
            "version": "3.12.5",
            "ecosystem": "npm"
          },
          {
            "name": "@apollo/client",
            "direct": false,
            "version": "3.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.15.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.20.14",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.20.12",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.22.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/eslint-parser",
            "direct": false,
            "version": "7.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.15.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.20.14",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.28.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-annotate-as-pure",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-annotate-as-pure",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-builder-binary-assignment-operator-visitor",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-class-features-plugin",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-class-features-plugin",
            "direct": false,
            "version": "7.20.12",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-regexp-features-plugin",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-regexp-features-plugin",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-define-polyfill-provider",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-define-polyfill-provider",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-environment-visitor",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-explode-assignable-expression",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-function-name",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-function-name",
            "direct": false,
            "version": "7.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-get-function-arity",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-hoist-variables",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-hoist-variables",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-member-expression-to-functions",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-member-expression-to-functions",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.20.11",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.28.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-optimise-call-expression",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-optimise-call-expression",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-remap-async-to-generator",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-replace-supers",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-replace-supers",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-simple-access",
            "direct": false,
            "version": "7.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-skip-transparent-expression-wrappers",
            "direct": false,
            "version": "7.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-split-export-declaration",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-split-export-declaration",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.19.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.15.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-wrap-function",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.20.13",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/highlight",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/highlight",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.15.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.20.15",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-async-generator-functions",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-class-properties",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-class-properties",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-class-static-block",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-dynamic-import",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-export-namespace-from",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-json-strings",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-logical-assignment-operators",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-nullish-coalescing-operator",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-numeric-separator",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-object-rest-spread",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-optional-catch-binding",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-optional-chaining",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-private-methods",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-private-property-in-object",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-unicode-property-regex",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-unicode-property-regex",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-async-generators",
            "direct": false,
            "version": "7.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-class-properties",
            "direct": false,
            "version": "7.12.13",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-class-static-block",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-dynamic-import",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-export-namespace-from",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-assertions",
            "direct": false,
            "version": "7.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-json-strings",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-jsx",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-logical-assignment-operators",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-nullish-coalescing-operator",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-numeric-separator",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-object-rest-spread",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-optional-catch-binding",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-optional-chaining",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-private-property-in-object",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-top-level-await",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-arrow-functions",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-async-to-generator",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-block-scoped-functions",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-block-scoping",
            "direct": false,
            "version": "7.20.15",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-classes",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-computed-properties",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-destructuring",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-dotall-regex",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-dotall-regex",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-duplicate-keys",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-exponentiation-operator",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-for-of",
            "direct": false,
            "version": "7.18.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-function-name",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-literals",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-member-expression-literals",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-amd",
            "direct": false,
            "version": "7.20.11",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-commonjs",
            "direct": false,
            "version": "7.20.11",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-systemjs",
            "direct": false,
            "version": "7.20.11",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-umd",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-named-capturing-groups-regex",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-new-target",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-object-super",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-parameters",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-property-literals",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-display-name",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx",
            "direct": false,
            "version": "7.20.13",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx-development",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-pure-annotations",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-regenerator",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-reserved-words",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-runtime",
            "direct": false,
            "version": "7.15.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-shorthand-properties",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-spread",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-sticky-regex",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-template-literals",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-typeof-symbol",
            "direct": false,
            "version": "7.18.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-unicode-escapes",
            "direct": false,
            "version": "7.18.10",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-unicode-regex",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/preset-env",
            "direct": false,
            "version": "7.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/preset-modules",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/preset-react",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.20.13",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.23.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.20.13",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.15.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.20.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@discoveryjs/json-ext",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.11.8",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/object-schema",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/set-array",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/source-map",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.4.14",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.17",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@leichtgewicht/ip-codec",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@nicolo-ribaudo/eslint-scope-5-internals",
            "direct": false,
            "version": "5.1.1-v1",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@rails/actiontext",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rails/activestorage",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rails/ujs",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rails/webpacker",
            "direct": false,
            "version": "6.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@stripe/terminal-js",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/jest-dom",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/body-parser",
            "direct": false,
            "version": "1.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/bonjour",
            "direct": false,
            "version": "3.5.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/connect",
            "direct": false,
            "version": "3.4.35",
            "ecosystem": "npm"
          },
          {
            "name": "@types/connect-history-api-fallback",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/eslint",
            "direct": false,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/eslint-scope",
            "direct": false,
            "version": "3.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "0.0.51",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express",
            "direct": false,
            "version": "4.17.16",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express-serve-static-core",
            "direct": false,
            "version": "4.17.33",
            "ecosystem": "npm"
          },
          {
            "name": "@types/http-proxy",
            "direct": false,
            "version": "1.17.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mime",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "16.11.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "18.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/parse-json",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/qs",
            "direct": false,
            "version": "6.9.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/range-parser",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/retry",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/serve-index",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/serve-static",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/sockjs",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "8.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/ast",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/floating-point-hex-parser",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-api-error",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-buffer",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-numbers",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-wasm-bytecode",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-wasm-section",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/ieee754",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/leb128",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/utf8",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-edit",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-gen",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-opt",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-parser",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wast-printer",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/configtest",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/configtest",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/info",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/info",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/serve",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/serve",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@xtuc/ieee754",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@xtuc/long",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-import-assertions",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-keywords",
            "direct": false,
            "version": "3.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-keywords",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-html-community",
            "direct": false,
            "version": "0.0.8",
            "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": "anymatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "aria-query",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-flatten",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-flatten",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "array-includes",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "array-includes",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.flatmap",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.tosorted",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "babel-loader",
            "direct": false,
            "version": "8.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-macros",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-corejs2",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-corejs2",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-corejs3",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-corejs3",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-regenerator",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-regenerator",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-transform-react-remove-prop-types",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.8.10",
            "ecosystem": "npm"
          },
          {
            "name": "batch",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "big.js",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "1.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "bonjour-service",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.17.4",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.26.3",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001450",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001746",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "chrome-trace-event",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "classnames",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "clone-deep",
            "direct": false,
            "version": "4.0.1",
            "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": "colorette",
            "direct": false,
            "version": "2.0.19",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "9.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "commondir",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "compilerr",
            "direct": false,
            "version": "11.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "compressible",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "npm"
          },
          {
            "name": "compression",
            "direct": false,
            "version": "1.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "compression-webpack-plugin",
            "direct": false,
            "version": "9.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "connect-history-api-fallback",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "0.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-signature",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "core-js",
            "direct": false,
            "version": "2.6.12",
            "ecosystem": "npm"
          },
          {
            "name": "core-js-compat",
            "direct": false,
            "version": "3.18.3",
            "ecosystem": "npm"
          },
          {
            "name": "core-js-compat",
            "direct": false,
            "version": "3.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "css.escape",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-collection",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-format",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time-format",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "dashify",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "2.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js-light",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "default-gateway",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "define-lazy-prop",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deprecated",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "destroy",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "destroy",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-node",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "dns-equal",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dns-packet",
            "direct": false,
            "version": "5.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dom-accessibility-api",
            "direct": false,
            "version": "0.5.16",
            "ecosystem": "npm"
          },
          {
            "name": "dom-helpers",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.3.877",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.4.285",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.229",
            "ecosystem": "npm"
          },
          {
            "name": "emojis-list",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "envinfo",
            "direct": false,
            "version": "7.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract",
            "direct": false,
            "version": "1.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract",
            "direct": false,
            "version": "1.21.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "0.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-shim-unscopables",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-to-primitive",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "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": "eslint",
            "direct": false,
            "version": "8.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react",
            "direct": false,
            "version": "7.32.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-utils",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "9.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": false,
            "version": "4.17.3",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": false,
            "version": "4.18.2",
            "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": "fast-unique-numbers",
            "direct": false,
            "version": "8.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "fastest-levenshtein",
            "direct": false,
            "version": "1.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "faye-websocket",
            "direct": false,
            "version": "0.11.4",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-cache-dir",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "flatpickr",
            "direct": false,
            "version": "4.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.14.4",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "forwarded",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "foundation-sites",
            "direct": false,
            "version": "6.7.5",
            "ecosystem": "npm"
          },
          {
            "name": "fresh",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs-monkey",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "function.prototype.name",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "functions-have-names",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-symbol-description",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-to-regexp",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "11.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "globalthis",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "google-maps-react",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "grapheme-splitter",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "handle-thing",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "has",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-bigints",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-bigints",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hpack.js",
            "direct": false,
            "version": "2.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "html-entities",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "http-deceiver",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "1.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-parser-js",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy",
            "direct": false,
            "version": "1.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-middleware",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-local",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indefinite-article",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "internal-slot",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "internal-slot",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "interpret",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "interpret",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-array-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-bigint",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-boolean-object",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-date-object",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-negative-zero",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-negative-zero",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number-object",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "is-path-inside",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-object",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-shared-array-buffer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-shared-array-buffer",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-string",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-symbol",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-typed-array",
            "direct": false,
            "version": "1.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "is-weakref",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-weakref",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isobject",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest",
            "direct": false,
            "version": "29.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-worker",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "jquery",
            "direct": false,
            "version": "3.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "js-cookie",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-sdsl",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsx-ast-utils",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "loader-runner",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "loader-utils",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lockfile",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.21",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.debounce",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.get",
            "direct": false,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.has",
            "direct": false,
            "version": "4.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.throttle",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "loose-envify",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mark.js",
            "direct": false,
            "version": "8.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "math-expression-evaluator",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "memfs",
            "direct": false,
            "version": "3.4.13",
            "ecosystem": "npm"
          },
          {
            "name": "merge-descriptors",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "methods",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.50.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.33",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "min-indent",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-assert",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "moment",
            "direct": false,
            "version": "2.29.4",
            "ecosystem": "npm"
          },
          {
            "name": "motion-ui",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "multicast-dns",
            "direct": false,
            "version": "7.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-forge",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "normal-package",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.12.3",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.assign",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "object.assign",
            "direct": false,
            "version": "4.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "object.entries",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "object.fromentries",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "object.hasown",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "object.values",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "obuf",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "on-headers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.1",
            "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": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-retry",
            "direct": false,
            "version": "4.6.2",
            "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": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "path-complete-extname",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "performance-now",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-dir",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pnp-webpack-plugin",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "prop-types",
            "direct": false,
            "version": "15.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "prop-types",
            "direct": false,
            "version": "15.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-addr",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.9.7",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "raf",
            "direct": false,
            "version": "3.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "2.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": false,
            "version": "16.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": false,
            "version": "17.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": false,
            "version": "18.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": false,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": false,
            "version": "16.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-flatpickr",
            "direct": false,
            "version": "3.10.13",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "16.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-lifecycles-compat",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "react-notify-toast",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-resize-detector",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-smooth",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "react-transition-group",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "react_ujs",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "recharts",
            "direct": false,
            "version": "1.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "recharts-scale",
            "direct": false,
            "version": "0.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "rechoir",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "rechoir",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "redent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "reduce-css-calc",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "reduce-function-call",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "regenerate",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "regenerate-unicode-properties",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "regenerate-unicode-properties",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "regenerator-runtime",
            "direct": false,
            "version": "0.13.11",
            "ecosystem": "npm"
          },
          {
            "name": "regenerator-runtime",
            "direct": false,
            "version": "0.13.9",
            "ecosystem": "npm"
          },
          {
            "name": "regenerator-runtime",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "regenerator-transform",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "regexp.prototype.flags",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "regexpp",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "regexpu-core",
            "direct": false,
            "version": "4.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "regexpu-core",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "regjsgen",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "regjsgen",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "regjsparser",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "regjsparser",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "requires-port",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resize-observer-polyfill",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "2.0.0-next.4",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-cwd",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "retry",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex-test",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "select-hose",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "selfsigned",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "0.17.2",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-index",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "1.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shallow-clone",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signature_pad",
            "direct": false,
            "version": "3.0.0-beta.4",
            "ecosystem": "npm"
          },
          {
            "name": "sockjs",
            "direct": false,
            "version": "0.3.24",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.20",
            "ecosystem": "npm"
          },
          {
            "name": "spark-md5",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "spdy",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "spdy-transport",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.matchall",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimend",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimend",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimstart",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimstart",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-indent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "8.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "terser",
            "direct": false,
            "version": "5.16.3",
            "ecosystem": "npm"
          },
          {
            "name": "terser-webpack-plugin",
            "direct": false,
            "version": "5.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "thunky",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "to-fast-properties",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "trix",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-pnp",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "turbolinks",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "1.6.18",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-length",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "unbox-primitive",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unbox-primitive",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-canonical-property-names-ecmascript",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-match-property-ecmascript",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-match-property-value-ecmascript",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-match-property-value-ecmascript",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-property-aliases-ecmascript",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.1.3",
            "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": "utils-merge",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "watchpack",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "wbuf",
            "direct": false,
            "version": "1.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "webpack",
            "direct": false,
            "version": "5.75.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-assets-manifest",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-cli",
            "direct": false,
            "version": "4.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-cli",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-dev-middleware",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-dev-server",
            "direct": false,
            "version": "4.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-merge",
            "direct": false,
            "version": "5.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-sources",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "websocket-driver",
            "direct": false,
            "version": "0.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "websocket-extensions",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "what-input",
            "direct": false,
            "version": "5.2.12",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-boxed-primitive",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-typed-array",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "wildcard",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "worker-factory",
            "direct": false,
            "version": "7.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "1.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bundler-audit",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "deprecated",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "io-console",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "io-console",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "irb",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "minitest",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "minitest",
            "direct": false,
            "version": "5.10.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "rack",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "rake",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "reline",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "reline",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-md",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-minitest",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-performance",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rubocop-rake",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "thor",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "thread_safe",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "rubygems"
          },
          {
            "name": "tzinfo",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "yard",
            "direct": false,
            "version": "0.9.26",
            "ecosystem": "rubygems"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 820,
        "direct_count": 0,
        "indirect_count": 820
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 85,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 3,
        "closed_unmerged_prs": 12
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "vkononov",
          "commits": 84,
          "avatar_url": "https://avatars.githubusercontent.com/u/2658606?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "lint.yml",
        "test.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".rubocop.yml"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Gemfile.lock",
        "package-lock.json",
        "yarn.lock"
      ],
      "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": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 8,
            "reason": "10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "134 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "12672404c36641b3b8875ec50d85d2567c167a6b",
        "ran_at": "2026-07-22T02:55:36Z",
        "aggregate_score": 3.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T01:24:38Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-16T03:25:04Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/vkononov/package-audit",
    "host": "github.com",
    "name": "package-audit",
    "owner": "vkononov"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 61,
      "inputs": {
        "security": 47,
        "vitality": 77,
        "community": 32,
        "governance": 55,
        "engineering": 86
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 77,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 67,
            "inputs": {
              "commits_last_year": 33,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 13
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "13/52 weeks with commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 13
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "33 commits in the last year",
                "points": 13.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 33
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8",
                "points": 8,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 92,
            "inputs": {
              "releases_count": 14,
              "latest_release_tag": "v0.8.2",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 108
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "14 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~108 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 108
                    }
                  }
                ],
                "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": 5,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 5 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 32,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 1,
              "stars": 1,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "below_threshold"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "1 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 55,
            "inputs": {
              "packages": [
                "package-audit"
              ],
              "dependents": null,
              "ecosystems": "rubygems",
              "total_downloads": 17893,
              "monthly_downloads": null
            },
            "components": [
              {
                "key": "total_downloads",
                "name": "Total downloads",
                "detail": "17,893 downloads all-time across rubygems",
                "points": 44.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_total",
                    "params": {
                      "count": 17893,
                      "ecosystems": "rubygems"
                    }
                  }
                ],
                "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": 55,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 13,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "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 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "merged_prs": 85,
              "open_issues": 0,
              "closed_issues": 3,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 12
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "85/97 decided PRs merged",
                "points": 33.5,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 85,
                      "decided": 97
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "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": 46,
            "inputs": {
              "followers": 5,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "vkononov",
              "public_repos": 16,
              "account_age_days": 5016
            },
            "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": "5 followers of vkononov",
                "points": 5.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 5,
                      "login": "vkononov"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "16 public repos, account ~13 yr old",
                "points": 21,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 16
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 13
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "package-audit"
              ],
              "ecosystems": "rubygems",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on rubygems",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "rubygems"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "15 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "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": "excellent",
        "name": "Engineering Quality",
        "value": 86,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "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": ".rubocop.yml",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".rubocop.yml"
                    }
                  }
                ],
                "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": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "patch-management",
                "ruby-on-rails"
              ],
              "has_wiki": false,
              "homepage": "https://vadimkononov.ca/gems",
              "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": "https://vadimkononov.ca/gems",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "2 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Security",
        "value": 47,
        "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": 34,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 3.4
            },
            "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": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8",
                "points": 6,
                "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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "134 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 811 resolved dependencies against OSV; 9 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 811
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 9
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 162,
              "affected_packages": 62,
              "assessed_packages": 811,
              "unassessed_packages": 9,
              "affected_by_severity": "critical 8, high 27, moderate 21, low 6",
              "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": 811,
              "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
              }
            ]
          }
        ],
        "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": 39,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 27,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.5,
              "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": "43 of 86 human commits state their intent (structured subject or explanatory body)",
                "points": 26.7,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 43,
                      "sampled": 86
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 43,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Gemfile.lock",
                "package-lock.json",
                "yarn.lock"
              ],
              "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
            },
            "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": ".rubocop.yml",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".rubocop.yml"
                    }
                  }
                ],
                "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 86",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 86
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Ruby",
              "largest_source_bytes": 12754,
              "source_files_sampled": 71,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Ruby without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Ruby"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/71 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 71,
                      "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": [],
  "report_type": "repository",
  "generated_at": "2026-07-22T02:55:51.133569Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/v/vkononov/package-audit.svg",
  "full_name": "vkononov/package-audit",
  "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.26.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenRubyGems.