Öffentliches Register
Software-GesundheitsberichtSchema 0.11.0 · Metriken 1.13.0 · 2026-07-15 20:55 UTC

bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust

RustApache-2.0★ 47.177 Sterne⑂ 4.692 Forksseit Jan. 2020Auf GitHub ansehen ↗

bevyengine/bevy erreicht einen Gesundheitsindex von 85 von 100 und liegt damit im Bereich Exzellent. Am stärksten schneidet es bei Vitality (100/100) ab, am schwächsten bei AI Readiness (54/100). Zuletzt heute aktualisiert. 11 Mitwirkende tragen den Großteil der jüngsten Arbeit.

85
gesamt / 100
Exzellent

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.

85
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

Bevy EngineOrganisation
1.545 Follower22 öffentliche Reposseit Jan. 2020

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
crates.iobevy0.19.0411.49362vor 26 Tagengamedevgamegraphicsenginebevyrenderingguigame-engines
crates.ioerrorsverweist auf ein anderes Repo — nicht bewertet0.1.04722vor 331 Tagenerrorrust-patterns

Metriken nach Kategorie

Vitalität

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

100Exzellent · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 0 Tagen
36/36Commit-Rhythmus — 52/52 Wochen mit Commits
18/18Commit-Volumen — 2.472 Commits im letzten Jahr
0/10OpenSSF Scorecard: Maintained — keine Daten
Verwendete Eingangsdaten
commits_last_year2.472
human_commit_share
days_since_last_push0
active_weeks_last_year52

Release-Disziplin

100Exzellent
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 57 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 27 Tagen
27/27Release-Rhythmus — ein Release etwa alle 28,5 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count57
latest_release_tagv0.19.0
releases_from_tagsnein
days_since_latest_release27
mean_days_between_releases28,5

Community & Verbreitung

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

95Exzellent · 18 % des Gesamtindex
Wie die Bewertung erfolgt
60/60Stars — 47.177 Stars
25/25Forks — 4.692 Forks
13.9/15Watcher — 312 Watcher
Verwendete Eingangsdaten
forks4.692
stars47.177
watchers312
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (Apache-2.0)
18/18CONTRIBUTING-Leitfaden
13.5/13.5Verhaltenskodex
0/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templatenein
has_code_of_conductja
has_pull_request_templateja
Wie die Bewertung erfolgt
74.9/80Downloads pro Monat — 411.493 Downloads/Monat über crates
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packagesbevy
dependents
ecosystemscrates
total_downloads6.288.718
monthly_downloads411.493
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?

84Gut · 24 % des Gesamtindex
Wie die Bewertung erfolgt
54/54Bus-Faktor — 11 Beitragende decken die Hälfte aller Commits ab
19/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 15 % der Commits
13.5/13.5Breite der Beitragenden — 100 Beitragende
0/10OpenSSF Scorecard: Contributors — keine Daten
Verwendete Eingangsdaten
bus_factor11
contributors_sampled100
top_contributor_share0,154
Wie die Bewertung erfolgt
31.5/46.8Issue-Lösungsquote — 67 % der Issues geschlossen
23.1/38.3PR-Annahme — 8.400/13.929 entschiedene PRs gemergt
0/15OpenSSF Scorecard: Code-Review — keine Daten
Verwendete Eingangsdaten
merged_prs8.400
open_issues2.786
closed_issues5.725
issue_closed_ratio0,673
closed_unmerged_prs5.529
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
22.9/25Reichweite des Inhabers — 1.545 Follower von bevyengine
21.9/25Kontohistorie — 22 öffentliche Repos, Kontoalter ca. 6 Jahre
Verwendete Eingangsdaten
followers1.545
owner_typeOrganization
is_verified
owner_loginbevyengine
public_repos22
account_age_days2.369

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf crates
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 26 Tagen
20/20Versionshistorie — 62 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesbevy
ecosystemscrates
any_deprecatednein
min_days_since_publish26

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

72Gut · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 13 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — keine Daten
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein

Dokumentation

90Exzellent
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://bevy.org
10/10Repository-Beschreibung
10/10Topics — 6 Topics
0/10Wiki
Verwendete Eingangsdaten
topicsbevy, gamedev, game-engine, open-source, rust, game-development
has_wikinein
homepagehttps://bevy.org
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

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

73Gut · 16 % des Gesamtindex
Wie die Bewertung erfolgt
30/30Sicherheitsrichtlinie (SECURITY.md)
25/25Dependabot-Konfiguration
0/25Lockfiles für Abhängigkeiten — veröffentlichte Bibliothek — Lockfiles sind Sache der Anwendung, hier nicht erwartet
0/20CodeQL-Workflow
Verwendete Eingangsdaten
sourcefile_signals
lockfilespackage-lock.json
manifestsCargo.toml, benches/Cargo.toml, errors/Cargo.toml
has_codeql_workflownein
has_security_policyja
has_dependabot_configja
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Lockfiles für Abhängigkeiten. Die verbleibenden Gewichte wurden renormalisiert.

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.

54Mittel · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
0/40Lesbare Commit-Historie — keine Daten
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share
agent_instruction_files
agent_instruction_max_bytes
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Lesbare Commit-Historie. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
18/18Bootstrap mit einem Befehl — examples/mobile/Makefile, examples/reflection/auto_register_static/Makefile
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — Rust (statisch typisiert)
10/10Reproduzierbare Umgebung — lockfile
0/10Belegte Agentenpraxis — keine Daten
5/8Automatisierte Wartung — Abhängigkeits-Automatisierung konfiguriert, in den erfassten Commits nicht beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — keine Daten
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilespackage-lock.json
has_dockerfilenein
typed_languageja
bootstrap_filesexamples/mobile/Makefile, examples/reflection/auto_register_static/Makefile
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share
toolchain_manifests
dependency_bot_commit_share0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Belegte Agentenpraxis. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — Rust (statisch typisiert)
53.3/55Handhabbare Dateigrößen — 55/1.828 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageRust
largest_source_bytes199.146
source_files_sampled1.828
oversized_source_files55
Wie die Bewertung erfolgt
0/40API-Schema (OpenAPI/GraphQL/proto)
0/20MCP-Server
40/40Lauffähige Beispiele — example, examples
Verwendete Eingangsdaten
example_dirsexample, examples
has_mcp_signalnein
api_schema_files

Eckdaten

47.177GitHub-Sterne
100Mitwirkende
2.472Commits, letzte 12 Monate
0Tage seit letztem Push
57Releases
11Bus-Faktor
2.786offene Issues
crates.ioPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Could not fetch crates package 'benches' from its registry
  • crates package 'errors' points at a different repository (https://github.com/seanmonstar/errors); excluded from ecosystem scoring
  • OpenSSF Scorecard timed out after 240s; skipping Scorecard checks

Weitere Details

Direkte Abhängigkeiten 5
RegistryPaketVersionsvorgabeManifest
crates.iobevy_internal0.20.0-devCargo.toml
crates.iotracing0.1Cargo.toml
crates.iocriterion0.8.0benches/Cargo.toml
crates.ioseq-macro0.3.6benches/Cargo.toml
crates.iobevyerrors/Cargo.toml
Alle Abhängigkeiten 699

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

RegistryPaketVersionBeziehung
crates.iobevy_internaldirekt
crates.iocriteriondirekt
crates.ioseq-macrodirekt
crates.iotracingdirekt
crates.ioaccesskitindirekt
crates.ioaccesskit_winitindirekt
crates.ioandroid-activityindirekt
crates.ioandroid_log-sysindirekt
crates.ioanyhowindirekt
crates.ioapproxindirekt
crates.ioarboardindirekt
crates.ioarghindirekt
crates.ioarrayvecindirekt
crates.ioassert_type_matchindirekt
crates.ioasync-broadcastindirekt
crates.ioasync-channelindirekt
crates.ioasync-executorindirekt
crates.ioasync-fsindirekt
crates.ioasync-ioindirekt
crates.ioasync-lockindirekt
crates.ioasync-taskindirekt
crates.ioatomic-wakerindirekt
crates.ioatomicowindirekt
crates.iobase64indirekt
crates.iobasis-universalindirekt
crates.iobevy-settingsindirekt
crates.iobevy_a11yindirekt
crates.iobevy_androidindirekt
crates.iobevy_animationindirekt
crates.iobevy_animation_macrosindirekt
crates.iobevy_anti_aliasindirekt
crates.iobevy_appindirekt
crates.iobevy_assetindirekt
crates.iobevy_asset_macrosindirekt
crates.iobevy_audioindirekt
crates.iobevy_cameraindirekt
crates.iobevy_camera_controllerindirekt
crates.iobevy_clipboardindirekt
crates.iobevy_colorindirekt
crates.iobevy_core_pipelineindirekt
crates.iobevy_deriveindirekt
crates.iobevy_dev_toolsindirekt
crates.iobevy_diagnosticindirekt
crates.iobevy_dylibindirekt
crates.iobevy_ecsindirekt
crates.iobevy_ecs_macro_logicindirekt
crates.iobevy_ecs_macrosindirekt
crates.iobevy_encase_deriveindirekt
crates.iobevy_feathersindirekt
crates.iobevy_gilrsindirekt
crates.iobevy_gizmosindirekt
crates.iobevy_gizmos_macrosindirekt
crates.iobevy_gizmos_renderindirekt
crates.iobevy_gltfindirekt
crates.iobevy_imageindirekt
crates.iobevy_inputindirekt
crates.iobevy_input_focusindirekt
crates.iobevy_lightindirekt
crates.iobevy_logindirekt
crates.iobevy_macro_utilsindirekt
crates.iobevy_materialindirekt
crates.iobevy_material_macrosindirekt
crates.iobevy_mathindirekt
crates.iobevy_meshindirekt
crates.iobevy_mikktspaceindirekt
crates.iobevy_pbrindirekt
crates.iobevy_pickingindirekt
crates.iobevy_platformindirekt
crates.iobevy_post_processindirekt
crates.iobevy_ptrindirekt
crates.iobevy_reflectindirekt
crates.iobevy_reflect_deriveindirekt
crates.iobevy_remoteindirekt
crates.iobevy_renderindirekt
crates.iobevy_render_macrosindirekt
crates.iobevy_sceneindirekt
crates.iobevy_scene_macrosindirekt
crates.iobevy_shaderindirekt
crates.iobevy_solariindirekt
crates.iobevy_spriteindirekt
crates.iobevy_sprite_renderindirekt
crates.iobevy_stateindirekt
crates.iobevy_state_macrosindirekt
crates.iobevy_tasksindirekt
crates.iobevy_textindirekt
crates.iobevy_timeindirekt
crates.iobevy_transformindirekt
crates.iobevy_uiindirekt
crates.iobevy_ui_renderindirekt
crates.iobevy_ui_widgetsindirekt
crates.iobevy_utilsindirekt
crates.iobevy_windowindirekt
crates.iobevy_winitindirekt
crates.iobevy_world_serializationindirekt
crates.iobitflagsindirekt
crates.iobitvecindirekt
crates.ioblake3indirekt
crates.ioblockingindirekt
crates.iobumpaloindirekt
crates.iobytemuckindirekt
crates.iochacha20indirekt
crates.ioclapindirekt
crates.ioconcurrent-queueindirekt
crates.ioconsole_error_panic_hookindirekt
crates.ioconst-fnv1a-hashindirekt
crates.iocpalindirekt
crates.iocritical-sectionindirekt
crates.iocrossbeam-channelindirekt
crates.iocrossbeam-queueindirekt
crates.ioctrlcindirekt
crates.iocttindirekt
crates.ioddsfileindirekt
crates.ioderive_moreindirekt
crates.iodioxus-devtoolsindirekt
crates.iodisqualifiedindirekt
crates.iodlss_wgpuindirekt
crates.iodowncast-rsindirekt
crates.ioeitherindirekt
crates.ioencaseindirekt
crates.ioencase_derive_implindirekt
crates.ioerased-serdeindirekt
crates.ioevent-listenerindirekt
crates.iofast_image_resizeindirekt
crates.iofixedbitsetindirekt
crates.ioflate2indirekt
crates.iofoldhashindirekt
crates.iofutures-channelindirekt
crates.iofutures-ioindirekt
crates.iofutures-liteindirekt
crates.iofutures-timerindirekt
crates.iofutures-utilindirekt
crates.iogetrandomindirekt
crates.iogilrsindirekt
crates.ioglamindirekt
crates.iogltfindirekt
crates.ioguillotiereindirekt
crates.iohalfindirekt
crates.iohashbrownindirekt
crates.ioheaplessindirekt
crates.iohexasphereindirekt
crates.iohttp-body-utilindirekt
crates.iohyperindirekt
crates.ioimageindirekt
crates.ioindexmapindirekt
crates.iointel_tex_2indirekt
crates.ioinventoryindirekt
crates.ioitertoolsindirekt
crates.iojs-sysindirekt
crates.ioktx2indirekt
crates.iolibmindirekt
crates.iologindirekt
crates.iolz4_flexindirekt
crates.iomeshoptindirekt
crates.iometisindirekt
crates.iomietteindirekt
crates.ionagaindirekt
crates.ionaga_oilindirekt
crates.ionoiseindirekt
crates.iononmaxindirekt
crates.ionotify-debouncer-fullindirekt
crates.iooffset-allocatorindirekt
crates.iopaletteindirekt
crates.ioparleyindirekt
crates.iopbrindirekt
crates.iopercent-encodingindirekt
crates.iopetgraphindirekt
crates.ioportable-atomicindirekt
crates.ioportable-atomic-utilindirekt
crates.iopostcardindirekt
crates.ioproc-macro2indirekt
crates.ioprofilingindirekt
crates.ioproptestindirekt
crates.ioproptest-deriveindirekt
crates.ioquoteindirekt
crates.ioradsortindirekt
crates.iorandindirekt
crates.iorand_distrindirekt
crates.iorange-allocindirekt
crates.ioratatuiindirekt
crates.ioraw-window-handleindirekt
crates.iorayonindirekt
crates.iorectangle-packindirekt
crates.ioregexindirekt
crates.iormp-serdeindirekt
crates.iorodioindirekt
crates.ioronindirekt
crates.ioruzstdindirekt
crates.iosend_wrapperindirekt
crates.ioserdeindirekt
crates.ioserde_jsonindirekt
crates.ioserde_testindirekt
crates.ioserde_ymlindirekt
crates.ioslotmapindirekt
crates.iosmallvecindirekt
crates.iosmol-hyperindirekt
crates.iosmol_strindirekt
crates.iospinindirekt
crates.iostackfutureindirekt
crates.iostatic_assertionsindirekt
crates.iosubsecondindirekt
crates.iosvgindirekt
crates.ioswashindirekt
crates.iosynindirekt
crates.iosys-localeindirekt
crates.iosysinfoindirekt
crates.iotaffyindirekt
crates.ioteraindirekt
crates.iothiserrorindirekt
crates.iothread_localindirekt
crates.iotomlindirekt
crates.iotoml_editindirekt
crates.iotracing-chromeindirekt
crates.iotracing-errorindirekt
crates.iotracing-logindirekt
crates.iotracing-oslogindirekt
crates.iotracing-subscriberindirekt
crates.iotracing-tracyindirekt
crates.iotracing-wasmindirekt
crates.iotracy-clientindirekt
crates.ioui_testindirekt
crates.ioureqindirekt
crates.iouuidindirekt
crates.iovariadics_pleaseindirekt
crates.iowasm-bindgenindirekt
crates.iowasm-bindgen-futuresindirekt
crates.ioweak-tableindirekt
crates.ioweb-sysindirekt
crates.ioweb-taskindirekt
crates.ioweb-timeindirekt
crates.ioweslindirekt
crates.iowgpuindirekt
crates.iowgpu-naga-bridgeindirekt
crates.iowgpu-typesindirekt
crates.iowindows-sysindirekt
crates.iowinitindirekt
crates.iox264indirekt
crates.ioxshellindirekt
crates.iozstdindirekt
npm@babel/code-frame7.27.1indirekt
npm@babel/helper-validator-identifier7.27.1indirekt
npm@esbuild/aix-ppc640.25.10indirekt
npm@esbuild/android-arm0.25.10indirekt
npm@esbuild/android-arm640.25.10indirekt
npm@esbuild/android-x640.25.10indirekt
npm@esbuild/darwin-arm640.25.10indirekt
npm@esbuild/darwin-x640.25.10indirekt
npm@esbuild/freebsd-arm640.25.10indirekt
npm@esbuild/freebsd-x640.25.10indirekt
npm@esbuild/linux-arm0.25.10indirekt
npm@esbuild/linux-arm640.25.10indirekt
npm@esbuild/linux-ia320.25.10indirekt
npm@esbuild/linux-loong640.25.10indirekt
npm@esbuild/linux-mips64el0.25.10indirekt
npm@esbuild/linux-ppc640.25.10indirekt
npm@esbuild/linux-riscv640.25.10indirekt
npm@esbuild/linux-s390x0.25.10indirekt
npm@esbuild/linux-x640.25.10indirekt
npm@esbuild/netbsd-arm640.25.10indirekt
npm@esbuild/netbsd-x640.25.10indirekt
npm@esbuild/openbsd-arm640.25.10indirekt
npm@esbuild/openbsd-x640.25.10indirekt
npm@esbuild/openharmony-arm640.25.10indirekt
npm@esbuild/sunos-x640.25.10indirekt
npm@esbuild/win32-arm640.25.10indirekt
npm@esbuild/win32-ia320.25.10indirekt
npm@esbuild/win32-x640.25.10indirekt
npm@inquirer/ansi1.0.0indirekt
npm@inquirer/checkbox4.2.4indirekt
npm@inquirer/confirm5.1.18indirekt
npm@inquirer/core10.2.2indirekt
npm@inquirer/editor4.2.20indirekt
npm@inquirer/expand4.0.20indirekt
npm@inquirer/external-editor1.0.2indirekt
npm@inquirer/figures1.0.13indirekt
npm@inquirer/input4.2.4indirekt
npm@inquirer/number3.0.20indirekt
npm@inquirer/password4.0.20indirekt
npm@inquirer/prompts7.8.6indirekt
npm@inquirer/rawlist4.1.8indirekt
npm@inquirer/search3.1.3indirekt
npm@inquirer/select4.3.4indirekt
npm@inquirer/type3.0.8indirekt
npm@isaacs/cliui8.0.2indirekt
npm@jest/diff-sequences30.0.1indirekt
npm@jest/expect-utils30.2.0indirekt
npm@jest/get-type30.1.0indirekt
npm@jest/pattern30.0.1indirekt
npm@jest/schemas30.0.5indirekt
npm@jest/types30.2.0indirekt
npm@jridgewell/sourcemap-codec1.5.5indirekt
npm@percy/appium-app2.1.0indirekt
npm@percy/sdk-utils1.31.2indirekt
npm@pkgjs/parseargs0.11.0indirekt
npm@playwright/test1.55.1indirekt
npm@promptbook/utils0.69.5indirekt
npm@puppeteer/browsers2.10.10indirekt
npm@sec-ant/readable-stream0.4.1indirekt
npm@sinclair/typebox0.34.41indirekt
npm@sindresorhus/merge-streams4.0.0indirekt
npm@tootallnate/quickjs-emscripten0.23.0indirekt
npm@types/istanbul-lib-coverage2.0.6indirekt
npm@types/istanbul-lib-report3.0.3indirekt
npm@types/istanbul-reports3.0.4indirekt
npm@types/mocha10.0.10indirekt
npm@types/node20.19.19indirekt
npm@types/normalize-package-data2.4.4indirekt
npm@types/sinonjs__fake-timers8.1.5indirekt
npm@types/stack-utils2.0.3indirekt
npm@types/which2.0.2indirekt
npm@types/ws8.18.1indirekt
npm@types/yargs17.0.33indirekt
npm@types/yargs-parser21.0.3indirekt
npm@types/yauzl2.10.3indirekt
npm@vitest/pretty-format2.1.9indirekt
npm@vitest/pretty-format3.2.4indirekt
npm@vitest/snapshot2.1.9indirekt
npm@vitest/snapshot3.2.4indirekt
npm@wdio/cli9.20.0indirekt
npm@wdio/config9.20.0indirekt
npm@wdio/dot-reporter9.20.0indirekt
npm@wdio/globals9.17.0indirekt
npm@wdio/local-runner9.20.0indirekt
npm@wdio/logger9.18.0indirekt
npm@wdio/mocha-framework9.20.0indirekt
npm@wdio/protocols9.16.2indirekt
npm@wdio/repl9.16.2indirekt
npm@wdio/reporter9.20.0indirekt
npm@wdio/runner9.20.0indirekt
npm@wdio/types9.20.0indirekt
npm@wdio/utils9.20.0indirekt
npm@wdio/xvfb9.20.0indirekt
npm@zip.js/zip.js2.8.6indirekt
npmabort-controller3.0.0indirekt
npmagent-base6.0.2indirekt
npmagent-base7.1.4indirekt
npmansi-colors4.1.3indirekt
npmansi-regex5.0.1indirekt
npmansi-regex6.2.2indirekt
npmansi-styles4.3.0indirekt
npmansi-styles5.2.0indirekt
npmansi-styles6.2.3indirekt
npmanymatch3.1.3indirekt
npmarchiver7.0.1indirekt
npmarchiver-utils5.0.2indirekt
npmargparse2.0.1indirekt
npmaria-query5.3.2indirekt
npmast-types0.13.4indirekt
npmasync3.2.6indirekt
npmasync-exit-hook2.0.1indirekt
npmb4a1.7.3indirekt
npmbalanced-match1.0.2indirekt
npmbare-events2.7.0indirekt
npmbare-fs4.4.5indirekt
npmbare-os3.6.2indirekt
npmbare-path3.0.0indirekt
npmbare-stream2.7.0indirekt
npmbare-url2.2.2indirekt
npmbase64-js1.5.1indirekt
npmbasic-ftp5.0.5indirekt
npmbinary-extensions2.3.0indirekt
npmboolbase1.0.0indirekt
npmbrace-expansion1.1.12indirekt
npmbrace-expansion2.0.2indirekt
npmbraces3.0.3indirekt
npmbrowser-stdout1.3.1indirekt
npmbrowserstack-local1.5.8indirekt
npmbuffer6.0.3indirekt
npmbuffer-crc320.2.13indirekt
npmbuffer-crc321.0.0indirekt
npmcamelcase6.3.0indirekt
npmchalk4.1.2indirekt
npmchalk5.6.2indirekt
npmchardet2.1.0indirekt
npmcheerio1.1.2indirekt
npmcheerio-select2.1.0indirekt
npmchokidar3.6.0indirekt
npmchokidar4.0.3indirekt
npmci-info4.3.0indirekt
npmcli-width4.1.0indirekt
npmcliui7.0.4indirekt
npmcliui8.0.1indirekt
npmcolor-convert2.0.1indirekt
npmcolor-name1.1.4indirekt
npmcommander14.0.1indirekt
npmcommander9.5.0indirekt
npmcompress-commons6.0.2indirekt
npmconcat-map0.0.1indirekt
npmcore-util-is1.0.3indirekt
npmcrc-321.2.2indirekt
npmcrc32-stream6.0.0indirekt
npmcreate-wdio9.18.2indirekt
npmcross-spawn7.0.6indirekt
npmcss-select5.2.2indirekt
npmcss-shorthand-properties1.1.2indirekt
npmcss-value0.0.1indirekt
npmcss-what6.2.2indirekt
npmdata-uri-to-buffer4.0.1indirekt
npmdata-uri-to-buffer6.0.2indirekt
npmdebug4.4.3indirekt
npmdecamelize4.0.0indirekt
npmdecamelize6.0.1indirekt
npmdeep-eql5.0.2indirekt
npmdeepmerge-ts7.1.5indirekt
npmdegenerator5.0.1indirekt
npmdiff5.2.0indirekt
npmdiff8.0.2indirekt
npmdom-serializer2.0.0indirekt
npmdomelementtype2.3.0indirekt
npmdomhandler5.0.3indirekt
npmdomutils3.2.2indirekt
npmdotenv17.2.3indirekt
npmduplexer0.1.2indirekt
npmeastasianwidth0.2.0indirekt
npmedge-paths3.0.5indirekt
npmedgedriver6.1.2indirekt
npmejs3.1.10indirekt
npmemoji-regex8.0.0indirekt
npmemoji-regex9.2.2indirekt
npmencoding-sniffer0.2.1indirekt
npmend-of-stream1.4.5indirekt
npmentities4.5.0indirekt
npmentities6.0.1indirekt
npmerror-ex1.3.4indirekt
npmesbuild0.25.10indirekt
npmescalade3.2.0indirekt
npmescape-string-regexp2.0.0indirekt
npmescape-string-regexp4.0.0indirekt
npmescodegen2.1.0indirekt
npmesprima4.0.1indirekt
npmestraverse5.3.0indirekt
npmesutils2.0.3indirekt
npmevent-stream3.3.4indirekt
npmevent-target-shim5.0.1indirekt
npmevents3.3.0indirekt
npmevents-universal1.0.1indirekt
npmexeca9.6.0indirekt
npmexit-hook4.0.0indirekt
npmexpect30.2.0indirekt
npmexpect-webdriverio5.4.3indirekt
npmextract-zip2.0.1indirekt
npmfast-deep-equal2.0.1indirekt
npmfast-fifo1.3.2indirekt
npmfast-xml-parser5.3.0indirekt
npmfd-slicer1.1.0indirekt
npmfetch-blob3.2.0indirekt
npmfigures6.1.0indirekt
npmfilelist1.0.4indirekt
npmfill-range7.1.1indirekt
npmfind-up5.0.0indirekt
npmfind-up6.3.0indirekt
npmflat5.0.2indirekt
npmforeground-child3.3.1indirekt
npmformdata-polyfill4.0.10indirekt
npmfrom0.1.7indirekt
npmfs.realpath1.0.0indirekt
npmfsevents2.3.2indirekt
npmfsevents2.3.3indirekt
npmgeckodriver5.0.0indirekt
npmget-caller-file2.0.5indirekt
npmget-port7.1.0indirekt
npmget-stream5.2.0indirekt
npmget-stream9.0.1indirekt
npmget-tsconfig4.10.1indirekt
npmget-uri6.0.5indirekt
npmglob10.4.5indirekt
npmglob7.2.3indirekt
npmglob8.1.0indirekt
npmglob-parent5.1.2indirekt
npmgraceful-fs4.2.11indirekt
npmgrapheme-splitter1.0.4indirekt
npmhas-flag4.0.0indirekt
npmhe1.2.0indirekt
npmhosted-git-info7.0.2indirekt
npmhosted-git-info8.1.0indirekt
npmhtmlfy0.8.1indirekt
npmhtmlparser210.0.0indirekt
npmhttp-proxy-agent7.0.2indirekt
npmhttps-proxy-agent5.0.1indirekt
npmhttps-proxy-agent7.0.6indirekt
npmhuman-signals8.0.1indirekt
npmiconv-lite0.6.3indirekt
npmiconv-lite0.7.0indirekt
npmieee7541.2.1indirekt
npmimmediate3.0.6indirekt
npmimport-meta-resolve4.2.0indirekt
npminflight1.0.6indirekt
npminherits2.0.4indirekt
npminquirer12.9.6indirekt
npmip-address10.0.1indirekt
npmis-arrayish0.2.1indirekt
npmis-binary-path2.1.0indirekt
npmis-extglob2.1.1indirekt
npmis-fullwidth-code-point3.0.0indirekt
npmis-glob4.0.3indirekt
npmis-number7.0.0indirekt
npmis-plain-obj2.1.0indirekt
npmis-plain-obj4.1.0indirekt
npmis-running2.1.0indirekt
npmis-stream2.0.1indirekt
npmis-stream4.0.1indirekt
npmis-unicode-supported0.1.0indirekt
npmis-unicode-supported2.1.0indirekt
npmisarray1.0.0indirekt
npmisexe2.0.0indirekt
npmisexe3.1.1indirekt
npmjackspeak3.4.3indirekt
npmjake10.9.4indirekt
npmjest-diff30.2.0indirekt
npmjest-matcher-utils30.2.0indirekt
npmjest-message-util30.2.0indirekt
npmjest-mock30.2.0indirekt
npmjest-regex-util30.0.1indirekt
npmjest-util30.2.0indirekt
npmjiti2.6.1indirekt
npmjs-tokens4.0.0indirekt
npmjs-yaml4.1.0indirekt
npmjson-parse-even-better-errors3.0.2indirekt
npmjszip3.10.1indirekt
npmlazystream1.0.1indirekt
npmlie3.3.0indirekt
npmlines-and-columns2.0.4indirekt
npmlocate-app2.5.0indirekt
npmlocate-path6.0.0indirekt
npmlocate-path7.2.0indirekt
npmlodash4.17.21indirekt
npmlodash.clonedeep4.5.0indirekt
npmlodash.flattendeep4.4.0indirekt
npmlodash.pickby4.6.0indirekt
npmlodash.union4.6.0indirekt
npmlodash.zip4.2.0indirekt
npmlog-symbols4.1.0indirekt
npmloglevel1.9.2indirekt
npmloglevel-plugin-prefix0.8.4indirekt
npmlru-cache10.4.3indirekt
npmlru-cache7.18.3indirekt
npmmagic-string0.30.19indirekt
npmmap-stream0.1.0indirekt
npmmicromatch4.0.8indirekt
npmminimatch3.1.2indirekt
npmminimatch5.1.6indirekt
npmminimatch9.0.5indirekt
npmminipass7.1.2indirekt
npmmitt3.0.1indirekt
npmmocha10.8.2indirekt
npmms2.1.3indirekt
npmmute-stream2.0.0indirekt
npmnetmask2.0.2indirekt
npmnode-domexception1.0.0indirekt
npmnode-fetch3.3.2indirekt
npmnormalize-package-data6.0.2indirekt
npmnormalize-package-data7.0.1indirekt
npmnormalize-path3.0.0indirekt
npmnpm-run-path6.0.0indirekt
npmnth-check2.1.1indirekt
npmobject-inspect1.13.4indirekt
npmonce1.4.0indirekt
npmp-limit3.1.0indirekt
npmp-limit4.0.0indirekt
npmp-locate5.0.0indirekt
npmp-locate6.0.0indirekt
npmpac-proxy-agent7.2.0indirekt
npmpac-resolver7.0.1indirekt
npmpackage-json-from-dist1.0.1indirekt
npmpako1.0.11indirekt
npmparse-json7.1.1indirekt
npmparse-ms4.0.0indirekt
npmparse57.3.0indirekt
npmparse5-htmlparser2-tree-adapter7.1.0indirekt
npmparse5-parser-stream7.1.2indirekt
npmpath-exists4.0.0indirekt
npmpath-exists5.0.0indirekt
npmpath-is-absolute1.0.1indirekt
npmpath-key3.1.1indirekt
npmpath-key4.0.0indirekt
npmpath-scurry1.11.1indirekt
npmpathe1.1.2indirekt
npmpathe2.0.3indirekt
npmpause-stream0.0.11indirekt
npmpend1.2.0indirekt
npmpicocolors1.1.1indirekt
npmpicomatch2.3.1indirekt
npmpicomatch4.0.3indirekt
npmplaywright1.55.1indirekt
npmplaywright-core1.55.1indirekt
npmpretty-format30.2.0indirekt
npmpretty-ms9.3.0indirekt
npmprocess0.11.10indirekt
npmprocess-nextick-args2.0.1indirekt
npmprogress2.0.3indirekt
npmproxy-agent6.5.0indirekt
npmproxy-from-env1.1.0indirekt
npmps-tree1.2.0indirekt
npmpump3.0.3indirekt
npmquery-selector-shadow-dom1.0.1indirekt
npmrandombytes2.1.0indirekt
npmreact-is18.3.1indirekt
npmread-pkg8.1.0indirekt
npmread-pkg-up10.1.0indirekt
npmreadable-stream2.3.8indirekt
npmreadable-stream4.7.0indirekt
npmreaddir-glob1.1.3indirekt
npmreaddirp3.6.0indirekt
npmreaddirp4.1.2indirekt
npmrecursive-readdir2.2.3indirekt
npmrequire-directory2.1.1indirekt
npmresolve-pkg-maps1.0.0indirekt
npmresq1.11.0indirekt
npmret0.5.0indirekt
npmrgb2hex0.2.5indirekt
npmrimraf2.5.4indirekt
npmrun-async4.0.6indirekt
npmrxjs7.8.2indirekt
npmsafaridriver1.0.0indirekt
npmsafe-buffer5.1.2indirekt
npmsafe-buffer5.2.1indirekt
npmsafe-regex25.0.0indirekt
npmsafer-buffer2.1.2indirekt
npmsemver7.7.2indirekt
npmserialize-error12.0.0indirekt
npmserialize-javascript6.0.2indirekt
npmsetimmediate1.0.5indirekt
npmshebang-command2.0.0indirekt
npmshebang-regex3.0.0indirekt
npmsignal-exit4.1.0indirekt
npmslash3.0.0indirekt
npmsmart-buffer4.2.0indirekt
npmsocks2.8.7indirekt
npmsocks-proxy-agent8.0.5indirekt
npmsource-map0.6.1indirekt
npmspacetrim0.11.59indirekt
npmspdx-correct3.2.0indirekt
npmspdx-exceptions2.5.0indirekt
npmspdx-expression-parse3.0.1indirekt
npmspdx-license-ids3.0.22indirekt
npmsplit0.3.3indirekt
npmsplit24.2.0indirekt
npmstack-utils2.0.6indirekt
npmstream-buffers3.0.3indirekt
npmstream-combiner0.0.4indirekt
npmstreamx2.23.0indirekt
npmstring-width4.2.3indirekt
npmstring-width5.1.2indirekt
npmstring_decoder1.1.1indirekt
npmstring_decoder1.3.0indirekt
npmstrip-ansi6.0.1indirekt
npmstrip-ansi7.1.2indirekt
npmstrip-final-newline4.0.0indirekt
npmstrip-json-comments3.1.1indirekt
npmstrnum2.1.1indirekt
npmsupports-color7.2.0indirekt
npmsupports-color8.1.1indirekt
npmtar-fs3.1.1indirekt
npmtar-stream3.1.7indirekt
npmtemp-fs0.9.9indirekt
npmtext-decoder1.2.3indirekt
npmthrough2.3.8indirekt
npmtinyrainbow1.2.0indirekt
npmtinyrainbow2.0.0indirekt
npmtmp0.2.5indirekt
npmto-regex-range5.0.1indirekt
npmtslib2.8.1indirekt
npmtsx4.20.6indirekt
npmtype-fest3.13.1indirekt
npmtype-fest4.26.0indirekt
npmtype-fest4.41.0indirekt
npmundici6.22.0indirekt
npmundici7.16.0indirekt
npmundici-types6.21.0indirekt
npmunicorn-magic0.3.0indirekt
npmurlpattern-polyfill10.1.0indirekt
npmuserhome1.0.1indirekt
npmutil-deprecate1.0.2indirekt
npmvalidate-npm-package-license3.0.4indirekt
npmwait-port1.1.0indirekt
npmweb-streams-polyfill3.3.3indirekt
npmwebdriver9.20.0indirekt
npmwebdriverio9.20.0indirekt
npmwhatwg-encoding3.1.1indirekt
npmwhatwg-mimetype4.0.0indirekt
npmwhich2.0.2indirekt
npmwhich5.0.0indirekt
npmworkerpool6.5.1indirekt
npmwrap-ansi6.2.0indirekt
npmwrap-ansi7.0.0indirekt
npmwrap-ansi8.1.0indirekt
npmwrappy1.0.2indirekt
npmws8.18.3indirekt
npmy18n5.0.8indirekt
npmyargs16.2.0indirekt
npmyargs17.7.2indirekt
npmyargs-parser20.2.9indirekt
npmyargs-parser21.1.1indirekt
npmyargs-unparser2.0.0indirekt
npmyauzl2.10.0indirekt
npmyocto-queue0.1.0indirekt
npmyocto-queue1.2.1indirekt
npmyoctocolors2.1.2indirekt
npmyoctocolors-cjs2.1.3indirekt
npmzip-stream6.0.1indirekt
JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "bevy",
        "gamedev",
        "game-engine",
        "open-source",
        "rust",
        "game-development"
      ],
      "is_fork": false,
      "size_kb": 170556,
      "has_wiki": false,
      "homepage": "https://bevy.org",
      "languages": {
        "GLSL": 2115,
        "HTML": 6903,
        "Rust": 18678431,
        "WGSL": 1098877,
        "Mermaid": 2125,
        "Go Template": 13271
      },
      "pushed_at": "2026-07-15T20:44:32Z",
      "created_at": "2020-01-18T21:13:55Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-15T20:12:38Z",
      "description": "A refreshingly simple data-driven game engine built in Rust",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "primary_language": "Rust",
      "significant_languages": [
        "Rust"
      ]
    },
    "owner": {
      "blog": "https://bevy.org",
      "name": "Bevy Engine",
      "type": "Organization",
      "login": "bevyengine",
      "company": null,
      "followers": 1545,
      "avatar_url": "https://avatars.githubusercontent.com/u/60047606?v=4",
      "created_at": "2020-01-18T21:01:54Z",
      "is_verified": null,
      "public_repos": 22,
      "account_age_days": 2369
    },
    "activity": {
      "releases_count": 57,
      "commits_last_year": 2472,
      "latest_release_at": "2026-06-18T01:25:13Z",
      "latest_release_tag": "v0.19.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 52,
      "days_since_latest_release": 27,
      "mean_days_between_releases": 28.5
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 100,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "bevy",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "gamedev",
            "game",
            "graphics",
            "engine",
            "bevy",
            "rendering",
            "graphics",
            "gui",
            "game-engines"
          ],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/bevy",
          "is_deprecated": false,
          "latest_version": "0.19.0",
          "repository_url": "https://github.com/bevyengine/bevy",
          "versions_count": 62,
          "total_downloads": 6288718,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 411493,
          "first_published_at": "2020-01-18T21:24:29.350534Z",
          "latest_published_at": "2026-06-19T20:17:40.255818Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 26
        },
        {
          "name": "errors",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "error",
            "rust-patterns"
          ],
          "ecosystem": "crates",
          "matches_repo": false,
          "registry_url": "https://crates.io/crates/errors",
          "is_deprecated": false,
          "latest_version": "0.1.0",
          "repository_url": "https://github.com/seanmonstar/errors",
          "versions_count": 2,
          "total_downloads": 27665,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 472,
          "first_published_at": "2019-05-01T06:00:05.662074Z",
          "latest_published_at": "2025-08-18T13:14:22.949056Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 331
        }
      ]
    },
    "popularity": {
      "forks": 4692,
      "stars": 47177,
      "watchers": 312,
      "open_issues_and_prs": 3306
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "example",
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "examples/mobile/Makefile",
        "examples/reflection/auto_register_static/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "largest_source_bytes": 199146,
      "source_files_sampled": 1828,
      "oversized_source_files": 55,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Cargo.toml",
        "benches/Cargo.toml",
        "errors/Cargo.toml"
      ],
      "ecosystems": [
        "crates"
      ],
      "dependencies": [
        {
          "name": "bevy_internal",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.20.0-dev"
        },
        {
          "name": "tracing",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.1"
        },
        {
          "name": "criterion",
          "manifest": "benches/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.8.0"
        },
        {
          "name": "seq-macro",
          "manifest": "benches/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.3.6"
        },
        {
          "name": "bevy",
          "manifest": "errors/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "bevy_internal",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "criterion",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "seq-macro",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "accesskit",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "accesskit_winit",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "android-activity",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "android_log-sys",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "anyhow",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "approx",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "arboard",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "argh",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "arrayvec",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "assert_type_match",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-broadcast",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-channel",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-executor",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-fs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-io",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-lock",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-task",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "atomic-waker",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "atomicow",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "base64",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "basis-universal",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy-settings",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_a11y",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_android",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_animation",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_animation_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_anti_alias",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_app",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_asset",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_asset_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_audio",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_camera",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_camera_controller",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_clipboard",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_color",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_core_pipeline",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_derive",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_dev_tools",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_diagnostic",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_dylib",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_ecs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_ecs_macro_logic",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_ecs_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_encase_derive",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_feathers",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_gilrs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_gizmos",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_gizmos_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_gizmos_render",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_gltf",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_image",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_input",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_input_focus",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_light",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_log",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_macro_utils",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_material",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_material_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_math",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_mesh",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_mikktspace",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_pbr",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_picking",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_platform",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_post_process",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_ptr",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_reflect",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_reflect_derive",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_remote",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_render",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_render_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_scene",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_scene_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_shader",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_solari",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_sprite",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_sprite_render",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_state",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_state_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_tasks",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_text",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_time",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_transform",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_ui",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_ui_render",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_ui_widgets",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_utils",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_window",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_winit",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bevy_world_serialization",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bitflags",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bitvec",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "blake3",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "blocking",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bumpalo",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "bytemuck",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "chacha20",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "clap",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "concurrent-queue",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "console_error_panic_hook",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "const-fnv1a-hash",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "cpal",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "critical-section",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-channel",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-queue",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ctrlc",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ctt",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ddsfile",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "derive_more",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dioxus-devtools",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "disqualified",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dlss_wgpu",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "downcast-rs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "either",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "encase",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "encase_derive_impl",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "erased-serde",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "event-listener",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "fast_image_resize",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "fixedbitset",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "flate2",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "foldhash",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures-channel",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures-io",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures-lite",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures-timer",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures-util",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "gilrs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "glam",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "gltf",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "guillotiere",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "half",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "heapless",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "hexasphere",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "http-body-util",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "hyper",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "image",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "intel_tex_2",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "inventory",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "js-sys",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ktx2",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "libm",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "lz4_flex",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "meshopt",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "metis",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "miette",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "naga",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "naga_oil",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "noise",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "nonmax",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "notify-debouncer-full",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "offset-allocator",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "palette",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "parley",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pbr",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "percent-encoding",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "petgraph",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic-util",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "postcard",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro2",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "profiling",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "proptest",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "proptest-derive",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "radsort",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rand_distr",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "range-alloc",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ratatui",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "raw-window-handle",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rayon",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rectangle-pack",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "regex",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rmp-serde",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rodio",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ron",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ruzstd",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "send_wrapper",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde_json",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde_test",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde_yml",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "slotmap",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "smallvec",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "smol-hyper",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "smol_str",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "spin",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "stackfuture",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "static_assertions",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "subsecond",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "svg",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "swash",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "sys-locale",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "sysinfo",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "taffy",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tera",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "thread_local",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "toml",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "toml_edit",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-chrome",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-error",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-log",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-oslog",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-subscriber",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-tracy",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-wasm",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracy-client",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ui_test",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ureq",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "variadics_please",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-futures",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "weak-table",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "web-sys",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "web-task",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "web-time",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "wesl",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "wgpu",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-naga-bridge",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "wgpu-types",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "winit",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "x264",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "xshell",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "zstd",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/ansi",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/checkbox",
            "direct": false,
            "version": "4.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/confirm",
            "direct": false,
            "version": "5.1.18",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/core",
            "direct": false,
            "version": "10.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/editor",
            "direct": false,
            "version": "4.2.20",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/expand",
            "direct": false,
            "version": "4.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/external-editor",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/figures",
            "direct": false,
            "version": "1.0.13",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/input",
            "direct": false,
            "version": "4.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/number",
            "direct": false,
            "version": "3.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/password",
            "direct": false,
            "version": "4.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/prompts",
            "direct": false,
            "version": "7.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/rawlist",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/search",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/select",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/type",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/diff-sequences",
            "direct": false,
            "version": "30.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/expect-utils",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/get-type",
            "direct": false,
            "version": "30.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/pattern",
            "direct": false,
            "version": "30.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/schemas",
            "direct": false,
            "version": "30.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/types",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@percy/appium-app",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@percy/sdk-utils",
            "direct": false,
            "version": "1.31.2",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@playwright/test",
            "direct": false,
            "version": "1.55.1",
            "ecosystem": "npm"
          },
          {
            "name": "@promptbook/utils",
            "direct": false,
            "version": "0.69.5",
            "ecosystem": "npm"
          },
          {
            "name": "@puppeteer/browsers",
            "direct": false,
            "version": "2.10.10",
            "ecosystem": "npm"
          },
          {
            "name": "@sec-ant/readable-stream",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinclair/typebox",
            "direct": false,
            "version": "0.34.41",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/merge-streams",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tootallnate/quickjs-emscripten",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-lib-coverage",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-lib-report",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-reports",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mocha",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.19.19",
            "ecosystem": "npm"
          },
          {
            "name": "@types/normalize-package-data",
            "direct": false,
            "version": "2.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/sinonjs__fake-timers",
            "direct": false,
            "version": "8.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/stack-utils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "8.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs",
            "direct": false,
            "version": "17.0.33",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs-parser",
            "direct": false,
            "version": "21.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yauzl",
            "direct": false,
            "version": "2.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/cli",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/config",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/dot-reporter",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/globals",
            "direct": false,
            "version": "9.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/local-runner",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/logger",
            "direct": false,
            "version": "9.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/mocha-framework",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/protocols",
            "direct": false,
            "version": "9.16.2",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/repl",
            "direct": false,
            "version": "9.16.2",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/reporter",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/runner",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/types",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/utils",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@wdio/xvfb",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@zip.js/zip.js",
            "direct": false,
            "version": "2.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "abort-controller",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-colors",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "archiver",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "archiver-utils",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "aria-query",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types",
            "direct": false,
            "version": "0.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "async-exit-hook",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "b4a",
            "direct": false,
            "version": "1.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "bare-events",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "bare-fs",
            "direct": false,
            "version": "4.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "bare-os",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "bare-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bare-stream",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "bare-url",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "basic-ftp",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browser-stdout",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserstack-local",
            "direct": false,
            "version": "1.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cheerio",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "cheerio-select",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ci-info",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-width",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "9.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "compress-commons",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "crc-32",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "crc32-stream",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-wdio",
            "direct": false,
            "version": "9.18.2",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "css-select",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "css-shorthand-properties",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "css-value",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "css-what",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "data-uri-to-buffer",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "data-uri-to-buffer",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "deep-eql",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge-ts",
            "direct": false,
            "version": "7.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "degenerator",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "dom-serializer",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "domelementtype",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "domhandler",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "domutils",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "dotenv",
            "direct": false,
            "version": "17.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "edge-paths",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "edgedriver",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ejs",
            "direct": false,
            "version": "3.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "encoding-sniffer",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.25.10",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escodegen",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "event-stream",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "event-target-shim",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "events-universal",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "9.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "exit-hook",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "expect",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "expect-webdriverio",
            "direct": false,
            "version": "5.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "extract-zip",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-fifo",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-xml-parser",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fd-slicer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fetch-blob",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "filelist",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "formdata-polyfill",
            "direct": false,
            "version": "4.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "from",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "geckodriver",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-port",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-tsconfig",
            "direct": false,
            "version": "4.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-uri",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "grapheme-splitter",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "htmlfy",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "htmlparser2",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "immediate",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "import-meta-resolve",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "inquirer",
            "direct": false,
            "version": "12.9.6",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-running",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "jake",
            "direct": false,
            "version": "10.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "jest-diff",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-matcher-utils",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-message-util",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-mock",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-regex-util",
            "direct": false,
            "version": "30.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest-util",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "jszip",
            "direct": false,
            "version": "3.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "lazystream",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lie",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "locate-app",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.21",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.clonedeep",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.flattendeep",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.pickby",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.union",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.zip",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "loglevel",
            "direct": false,
            "version": "1.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "loglevel-plugin-prefix",
            "direct": false,
            "version": "0.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "7.18.3",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.19",
            "ecosystem": "npm"
          },
          {
            "name": "map-stream",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mocha",
            "direct": false,
            "version": "10.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "netmask",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-domexception",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pac-proxy-agent",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pac-resolver",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-ms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5-htmlparser2-tree-adapter",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5-parser-stream",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pause-stream",
            "direct": false,
            "version": "0.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "pend",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.55.1",
            "ecosystem": "npm"
          },
          {
            "name": "playwright-core",
            "direct": false,
            "version": "1.55.1",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "30.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-ms",
            "direct": false,
            "version": "9.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-agent",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ps-tree",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "query-selector-shadow-dom",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg-up",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdir-glob",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "recursive-readdir",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-pkg-maps",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resq",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "ret",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "rgb2hex",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "2.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "run-async",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "7.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "safaridriver",
            "direct": false,
            "version": "1.0.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-regex2",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-error",
            "direct": false,
            "version": "12.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "setimmediate",
            "direct": false,
            "version": "1.0.5",
            "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": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "smart-buffer",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "socks",
            "direct": false,
            "version": "2.8.7",
            "ecosystem": "npm"
          },
          {
            "name": "socks-proxy-agent",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "spacetrim",
            "direct": false,
            "version": "0.11.59",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.22",
            "ecosystem": "npm"
          },
          {
            "name": "split",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "split2",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "stack-utils",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "stream-buffers",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner",
            "direct": false,
            "version": "0.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "streamx",
            "direct": false,
            "version": "2.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string_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-ansi",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "strnum",
            "direct": false,
            "version": "2.1.1",
            "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": "tar-fs",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "temp-fs",
            "direct": false,
            "version": "0.9.9",
            "ecosystem": "npm"
          },
          {
            "name": "text-decoder",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.20.6",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "3.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "4.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "4.41.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "6.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicorn-magic",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "urlpattern-polyfill",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "userhome",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "wait-port",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "web-streams-polyfill",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "webdriver",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "webdriverio",
            "direct": false,
            "version": "9.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-encoding",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "workerpool",
            "direct": false,
            "version": "6.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.18.3",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-unparser",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yauzl",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "yoctocolors",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "yoctocolors-cjs",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "zip-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 699,
        "direct_count": 4,
        "indirect_count": 695
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 520,
        "merged_prs": 8400,
        "open_issues": 2786,
        "closed_ratio": 0.673,
        "closed_issues": 5725,
        "closed_unmerged_prs": 5529
      },
      "bus_factor": 11,
      "top_contributors": [
        {
          "type": "User",
          "login": "cart",
          "commits": 1273,
          "avatar_url": "https://avatars.githubusercontent.com/u/2694663?u=0c899e4b49bab67aac554b7cb283014a0fb2880e&v=4"
        },
        {
          "type": "User",
          "login": "mockersf",
          "commits": 704,
          "avatar_url": "https://avatars.githubusercontent.com/u/8672791?u=6350847888b0006d335bc98ca32a5359389d26b5&v=4"
        },
        {
          "type": "User",
          "login": "ickshonpe",
          "commits": 520,
          "avatar_url": "https://avatars.githubusercontent.com/u/27962798?u=8b77689d6acbd96bbb28a07aa879f6a36ad9b4af&v=4"
        },
        {
          "type": "User",
          "login": "atlv24",
          "commits": 272,
          "avatar_url": "https://avatars.githubusercontent.com/u/11307157?u=cf0fafcdb8fadc75c2f570b1ac6a14787acaa0ac&v=4"
        },
        {
          "type": "User",
          "login": "alice-i-cecile",
          "commits": 244,
          "avatar_url": "https://avatars.githubusercontent.com/u/3579909?u=2e8c07f1ed658d3d7902ef07fc294dd4b38724e1&v=4"
        },
        {
          "type": "User",
          "login": "rparrett",
          "commits": 222,
          "avatar_url": "https://avatars.githubusercontent.com/u/200550?u=d323ca325cdee48ad5fb00560431eeae67f465f6&v=4"
        },
        {
          "type": "Bot",
          "login": "dependabot[bot]",
          "commits": 200,
          "avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4"
        },
        {
          "type": "User",
          "login": "pcwalton",
          "commits": 193,
          "avatar_url": "https://avatars.githubusercontent.com/u/157897?u=fab8268f5338550918b6e4379bb3ac6f6dce67c6&v=4"
        },
        {
          "type": "User",
          "login": "JMS55",
          "commits": 185,
          "avatar_url": "https://avatars.githubusercontent.com/u/47158642?u=d1f119fb6ea2bf61cac1ba746b70689c27bcd950&v=4"
        },
        {
          "type": "User",
          "login": "joseph-gio",
          "commits": 179,
          "avatar_url": "https://avatars.githubusercontent.com/u/21144246?u=b40f1056dc0e20e6059ba84c371b7faa32a8ef96&v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.154
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "action-on-PR-labeled.yml",
        "ci-comment-failures.yml",
        "ci.yml",
        "dependencies.yml",
        "docs.yml",
        "example-run-report.yml",
        "example-run.yml",
        "post-release.yml",
        "security-static-analysis.yml",
        "send-screenshots-to-pixeleagle.yml",
        "update-caches.yml",
        "validation-jobs.yml",
        "welcome.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": null,
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/bevyengine/bevy",
    "host": "github.com",
    "name": "bevy",
    "owner": "bevyengine"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 85,
      "inputs": {
        "security": 73,
        "vitality": 100,
        "community": 95,
        "governance": 84,
        "engineering": 72
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 100,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "commits_last_year": 2472,
              "human_commit_share": null,
              "days_since_last_push": 0,
              "active_weeks_last_year": 52
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "52/52 weeks with commits",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 52
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "2472 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 2472
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "releases_count": 57,
              "latest_release_tag": "v0.19.0",
              "releases_from_tags": false,
              "days_since_latest_release": 27,
              "mean_days_between_releases": 28.5
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "57 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 57
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 27 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 27
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~28.5 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 28.5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "OpenSSF Scorecard unavailable",
                "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": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "no_commit_sample",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 95,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "forks": 4692,
              "stars": 47177,
              "watchers": 312,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "47,177 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 47177
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "4,692 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 4692
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "312 watchers",
                "points": 13.9,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 312
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "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": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 94,
            "inputs": {
              "packages": [
                "bevy"
              ],
              "dependents": null,
              "ecosystems": "crates",
              "total_downloads": 6288718,
              "monthly_downloads": 411493
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "411,493 downloads/month across crates",
                "points": 74.9,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 411493,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "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": "good",
        "name": "Sustainability & Governance",
        "value": 84,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "bus_factor": 11,
              "contributors_sampled": 100,
              "top_contributor_share": 0.154
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "11 contributor(s) cover half of all commits",
                "points": 54,
                "status": "met",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 15% of commits",
                "points": 19,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 15
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "merged_prs": 8400,
              "open_issues": 2786,
              "closed_issues": 5725,
              "issue_closed_ratio": 0.673,
              "closed_unmerged_prs": 5529
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "67% of issues closed",
                "points": 31.5,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 67
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "8400/13929 decided PRs merged",
                "points": 23.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 8400,
                      "decided": 13929
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "followers": 1545,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "bevyengine",
              "public_repos": 22,
              "account_age_days": 2369
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "1,545 followers of bevyengine",
                "points": 22.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1545,
                      "login": "bevyengine"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "22 public repos, account ~6 yr old",
                "points": 21.9,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 22
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 6
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "bevy"
              ],
              "ecosystems": "crates",
              "any_deprecated": false,
              "min_days_since_publish": 26
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on crates",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 26 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 26
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "62 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 62
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 72,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "13 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "bevy",
                "gamedev",
                "game-engine",
                "open-source",
                "rust",
                "game-development"
              ],
              "has_wiki": false,
              "homepage": "https://bevy.org",
              "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://bevy.org",
                "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": "6 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "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": "good",
        "name": "Security",
        "value": 73,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "good",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dependency_lockfiles"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 73,
            "inputs": {
              "source": "file_signals",
              "lockfiles": [
                "package-lock.json"
              ],
              "manifests": [
                "Cargo.toml",
                "benches/Cargo.toml",
                "errors/Cargo.toml"
              ],
              "has_codeql_workflow": false,
              "has_security_policy": true,
              "has_dependabot_config": true
            },
            "components": [
              {
                "key": "security_policy_security_md",
                "name": "Security policy (SECURITY.md)",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "dependabot_config",
                "name": "Dependabot config",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "dependency_lockfiles",
                "name": "Dependency lockfiles",
                "detail": "published library — lockfiles are an application concern, not expected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "lockfiles_not_expected",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "codeql_workflow",
                "name": "CodeQL workflow",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 3
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 54,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": "Excluded from scoring (no data or not applicable): Legible commit history. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "legible_commit_history"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": null,
              "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": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): Demonstrated agent practice. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "demonstrated_agent_practice"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 82,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [
                "examples/mobile/Makefile",
                "examples/reflection/auto_register_static/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": null,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "examples/mobile/Makefile, examples/reflection/auto_register_static/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples/mobile/Makefile, examples/reflection/auto_register_static/Makefile"
                    }
                  }
                ],
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Rust (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "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 data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "dependency automation configured, none observed in the sampled commits",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "dependency_bot_config_only",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "OpenSSF Scorecard unavailable",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "primary_language": "Rust",
              "largest_source_bytes": 199146,
              "source_files_sampled": 1828,
              "oversized_source_files": 55
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Rust (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "55/1828 source files over 60KB",
                "points": 53.3,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1828,
                      "oversized": 55
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "example",
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "example, examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "example, examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Could not fetch crates package 'benches' from its registry",
    "crates package 'errors' points at a different repository (https://github.com/seanmonstar/errors); excluded from ecosystem scoring",
    "OpenSSF Scorecard timed out after 240s; skipping Scorecard checks"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-15T20:55:14.454272Z",
  "schema_version": "0.11.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/bevyengine/bevy.svg",
  "full_name": "bevyengine/bevy",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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.11.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikencrates.io.