Registro público
Informe de salud del softwareesquema 0.11.0 · métricas 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 estrellas⑂ 4692 forksdesde ene 2020Ver en GitHub ↗

bevyengine/bevy tiene un índice de salud de 85 sobre 100, lo que lo sitúa en la banda Excelente. Su puntuación más alta es Vitality (100/100) y la más baja, AI Readiness (54/100). Se actualizó por última vez hoy. 11 personas concentran la mayor parte del trabajo reciente.

85
global / 100
Excelente

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

85
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

Titularidad

Bevy EngineOrganización
1545 seguidores22 repositorios públicosdesde ene 2020

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
crates.iobevy0.19.0411.49362hace 26 díasgamedevgamegraphicsenginebevyrenderingguigame-engines
crates.ioerrorsapunta a otro repositorio; no se puntúa0.1.04722hace 331 díaserrorrust-patterns

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

100Excelente · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
36/36Cadencia de commits — 52/52 semanas con commits
18/18Volumen de commits — 2472 commits en el último año
0/10OpenSSF Scorecard: Maintained — sin datos
Datos de entrada utilizados
commits_last_year2472
human_commit_share
days_since_last_push0
active_weeks_last_year52
Cómo se puntúa
27/27Publica versiones — 57 versiones publicadas
36/36Recencia de las versiones — última versión hace 27 días
27/27Cadencia de publicación — una versión cada ~28,5 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count57
latest_release_tagv0.19.0
releases_from_tagsno
days_since_latest_release27
mean_days_between_releases28,5

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

95Excelente · 18% del índice global
Cómo se puntúa
60/60Estrellas — 47.177 estrellas
25/25Forks — 4692 forks
13.9/15Observadores — 312 observadores
Datos de entrada utilizados
forks4692
stars47.177
watchers312
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (Apache-2.0)
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conduct
has_pull_request_template
Cómo se puntúa
74.9/80Descargas mensuales — 411.493 descargas/mes en crates
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagesbevy
dependents
ecosystemscrates
total_downloads6.288.718
monthly_downloads411.493
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

84Bueno · 24% del índice global
Cómo se puntúa
54/54Factor bus — la mitad de los commits recae en 11 contribuyente(s)
19/22.5Distribución de commits — el principal contribuyente firma el 15% de los commits
13.5/13.5Amplitud de contribuyentes — 100 contribuyentes
0/10OpenSSF Scorecard: Contributors — sin datos
Datos de entrada utilizados
bus_factor11
contributors_sampled100
top_contributor_share0,154
Cómo se puntúa
31.5/46.8Resolución de issues — 67% de issues cerradas
23.1/38.3Aceptación de PR — 8400/13.929 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — sin datos
Datos de entrada utilizados
merged_prs8400
open_issues2786
closed_issues5725
issue_closed_ratio0,673
closed_unmerged_prs5529
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
22.9/25Alcance del propietario — 1545 seguidores de bevyengine
21.9/25Trayectoria — 22 repos públicos, cuenta de ~6 años
Datos de entrada utilizados
followers1545
owner_typeOrganization
is_verified
owner_loginbevyengine
public_repos22
account_age_days2369
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en crates
35/35Recencia de publicación — última publicación hace 26 días
20/20Historial de versiones — 62 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesbevy
ecosystemscrates
any_deprecatedno
min_days_since_publish26

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

72Bueno · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 13 flujo(s) de trabajo
24/24Pruebas presentes
0/16Configuración de linter
0/9.6Hooks de pre-commit
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — sin datos
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_configno
has_precommit_configno

Documentación

90Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://bevy.org
10/10Descripción del repositorio
10/10Topics — 6 topics
0/10Wiki
Datos de entrada utilizados
topicsbevy, gamedev, game-engine, open-source, rust, game-development
has_wikino
homepagehttps://bevy.org
has_readme
has_docs_dir
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

73Bueno · 16% del índice global
Cómo se puntúa
30/30Política de seguridad (SECURITY.md)
25/25Configuración de Dependabot
0/25Lockfiles de dependencias — biblioteca publicada — los lockfiles son cosa de las aplicaciones, no se esperan aquí
0/20Flujo de trabajo de CodeQL
Datos de entrada utilizados
sourcefile_signals
lockfilespackage-lock.json
manifestsCargo.toml, benches/Cargo.toml, errors/Cargo.toml
has_codeql_workflowno
has_security_policy
has_dependabot_config
Excluidos de la puntuación (sin datos o no aplicable): Lockfiles de dependencias. Los pesos restantes se han renormalizado.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

54Moderado · 0% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
0/40Historial de commits legible — sin datos
Datos de entrada utilizados
has_llms_txtno
legible_history_share
agent_instruction_files
agent_instruction_max_bytes
Excluidos de la puntuación (sin datos o no aplicable): Historial de commits legible. Los pesos restantes se han renormalizado.
Cómo se puntúa
18/18Arranque con un solo comando — examples/mobile/Makefile, examples/reflection/auto_register_static/Makefile
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — Rust (tipado estático)
10/10Entorno reproducible — lockfile
0/10Práctica demostrada con agentes — sin datos
5/8Mantenimiento automatizado — automatización de dependencias configurada, no observada en los commits muestreados
0/10OpenSSF Scorecard: Pinned-Dependencies — sin datos
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfileno
typed_language
bootstrap_filesexamples/mobile/Makefile, examples/reflection/auto_register_static/Makefile
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share
toolchain_manifests
dependency_bot_commit_share0
Excluidos de la puntuación (sin datos o no aplicable): Práctica demostrada con agentes. Los pesos restantes se han renormalizado.
Cómo se puntúa
45/45Código verificable por tipos — Rust (tipado estático)
53.3/55Tamaños de archivo manejables — 55/1828 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageRust
largest_source_bytes199.146
source_files_sampled1828
oversized_source_files55
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — example, examples
Datos de entrada utilizados
example_dirsexample, examples
has_mcp_signalno
api_schema_files

Datos clave

47.177estrellas de GitHub
100contribuidores
2472commits en los últimos 12 meses
0días desde el último push
57versiones publicadas
11factor bus
2786issues abiertas
crates.ioecosistemas de paquetes

Advertencias de recopilación de datos

  • 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

Más detalle

Dependencias directas 5
RegistroPaqueteRestricción de versiónManifiesto
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
Todas las dependencias 699

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 4 paquetes directos y 695 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

RegistroPaqueteVersiónRelación
crates.iobevy_internaldirecta
crates.iocriteriondirecta
crates.ioseq-macrodirecta
crates.iotracingdirecta
crates.ioaccesskitindirecta
crates.ioaccesskit_winitindirecta
crates.ioandroid-activityindirecta
crates.ioandroid_log-sysindirecta
crates.ioanyhowindirecta
crates.ioapproxindirecta
crates.ioarboardindirecta
crates.ioarghindirecta
crates.ioarrayvecindirecta
crates.ioassert_type_matchindirecta
crates.ioasync-broadcastindirecta
crates.ioasync-channelindirecta
crates.ioasync-executorindirecta
crates.ioasync-fsindirecta
crates.ioasync-ioindirecta
crates.ioasync-lockindirecta
crates.ioasync-taskindirecta
crates.ioatomic-wakerindirecta
crates.ioatomicowindirecta
crates.iobase64indirecta
crates.iobasis-universalindirecta
crates.iobevy-settingsindirecta
crates.iobevy_a11yindirecta
crates.iobevy_androidindirecta
crates.iobevy_animationindirecta
crates.iobevy_animation_macrosindirecta
crates.iobevy_anti_aliasindirecta
crates.iobevy_appindirecta
crates.iobevy_assetindirecta
crates.iobevy_asset_macrosindirecta
crates.iobevy_audioindirecta
crates.iobevy_cameraindirecta
crates.iobevy_camera_controllerindirecta
crates.iobevy_clipboardindirecta
crates.iobevy_colorindirecta
crates.iobevy_core_pipelineindirecta
crates.iobevy_deriveindirecta
crates.iobevy_dev_toolsindirecta
crates.iobevy_diagnosticindirecta
crates.iobevy_dylibindirecta
crates.iobevy_ecsindirecta
crates.iobevy_ecs_macro_logicindirecta
crates.iobevy_ecs_macrosindirecta
crates.iobevy_encase_deriveindirecta
crates.iobevy_feathersindirecta
crates.iobevy_gilrsindirecta
crates.iobevy_gizmosindirecta
crates.iobevy_gizmos_macrosindirecta
crates.iobevy_gizmos_renderindirecta
crates.iobevy_gltfindirecta
crates.iobevy_imageindirecta
crates.iobevy_inputindirecta
crates.iobevy_input_focusindirecta
crates.iobevy_lightindirecta
crates.iobevy_logindirecta
crates.iobevy_macro_utilsindirecta
crates.iobevy_materialindirecta
crates.iobevy_material_macrosindirecta
crates.iobevy_mathindirecta
crates.iobevy_meshindirecta
crates.iobevy_mikktspaceindirecta
crates.iobevy_pbrindirecta
crates.iobevy_pickingindirecta
crates.iobevy_platformindirecta
crates.iobevy_post_processindirecta
crates.iobevy_ptrindirecta
crates.iobevy_reflectindirecta
crates.iobevy_reflect_deriveindirecta
crates.iobevy_remoteindirecta
crates.iobevy_renderindirecta
crates.iobevy_render_macrosindirecta
crates.iobevy_sceneindirecta
crates.iobevy_scene_macrosindirecta
crates.iobevy_shaderindirecta
crates.iobevy_solariindirecta
crates.iobevy_spriteindirecta
crates.iobevy_sprite_renderindirecta
crates.iobevy_stateindirecta
crates.iobevy_state_macrosindirecta
crates.iobevy_tasksindirecta
crates.iobevy_textindirecta
crates.iobevy_timeindirecta
crates.iobevy_transformindirecta
crates.iobevy_uiindirecta
crates.iobevy_ui_renderindirecta
crates.iobevy_ui_widgetsindirecta
crates.iobevy_utilsindirecta
crates.iobevy_windowindirecta
crates.iobevy_winitindirecta
crates.iobevy_world_serializationindirecta
crates.iobitflagsindirecta
crates.iobitvecindirecta
crates.ioblake3indirecta
crates.ioblockingindirecta
crates.iobumpaloindirecta
crates.iobytemuckindirecta
crates.iochacha20indirecta
crates.ioclapindirecta
crates.ioconcurrent-queueindirecta
crates.ioconsole_error_panic_hookindirecta
crates.ioconst-fnv1a-hashindirecta
crates.iocpalindirecta
crates.iocritical-sectionindirecta
crates.iocrossbeam-channelindirecta
crates.iocrossbeam-queueindirecta
crates.ioctrlcindirecta
crates.iocttindirecta
crates.ioddsfileindirecta
crates.ioderive_moreindirecta
crates.iodioxus-devtoolsindirecta
crates.iodisqualifiedindirecta
crates.iodlss_wgpuindirecta
crates.iodowncast-rsindirecta
crates.ioeitherindirecta
crates.ioencaseindirecta
crates.ioencase_derive_implindirecta
crates.ioerased-serdeindirecta
crates.ioevent-listenerindirecta
crates.iofast_image_resizeindirecta
crates.iofixedbitsetindirecta
crates.ioflate2indirecta
crates.iofoldhashindirecta
crates.iofutures-channelindirecta
crates.iofutures-ioindirecta
crates.iofutures-liteindirecta
crates.iofutures-timerindirecta
crates.iofutures-utilindirecta
crates.iogetrandomindirecta
crates.iogilrsindirecta
crates.ioglamindirecta
crates.iogltfindirecta
crates.ioguillotiereindirecta
crates.iohalfindirecta
crates.iohashbrownindirecta
crates.ioheaplessindirecta
crates.iohexasphereindirecta
crates.iohttp-body-utilindirecta
crates.iohyperindirecta
crates.ioimageindirecta
crates.ioindexmapindirecta
crates.iointel_tex_2indirecta
crates.ioinventoryindirecta
crates.ioitertoolsindirecta
crates.iojs-sysindirecta
crates.ioktx2indirecta
crates.iolibmindirecta
crates.iologindirecta
crates.iolz4_flexindirecta
crates.iomeshoptindirecta
crates.iometisindirecta
crates.iomietteindirecta
crates.ionagaindirecta
crates.ionaga_oilindirecta
crates.ionoiseindirecta
crates.iononmaxindirecta
crates.ionotify-debouncer-fullindirecta
crates.iooffset-allocatorindirecta
crates.iopaletteindirecta
crates.ioparleyindirecta
crates.iopbrindirecta
crates.iopercent-encodingindirecta
crates.iopetgraphindirecta
crates.ioportable-atomicindirecta
crates.ioportable-atomic-utilindirecta
crates.iopostcardindirecta
crates.ioproc-macro2indirecta
crates.ioprofilingindirecta
crates.ioproptestindirecta
crates.ioproptest-deriveindirecta
crates.ioquoteindirecta
crates.ioradsortindirecta
crates.iorandindirecta
crates.iorand_distrindirecta
crates.iorange-allocindirecta
crates.ioratatuiindirecta
crates.ioraw-window-handleindirecta
crates.iorayonindirecta
crates.iorectangle-packindirecta
crates.ioregexindirecta
crates.iormp-serdeindirecta
crates.iorodioindirecta
crates.ioronindirecta
crates.ioruzstdindirecta
crates.iosend_wrapperindirecta
crates.ioserdeindirecta
crates.ioserde_jsonindirecta
crates.ioserde_testindirecta
crates.ioserde_ymlindirecta
crates.ioslotmapindirecta
crates.iosmallvecindirecta
crates.iosmol-hyperindirecta
crates.iosmol_strindirecta
crates.iospinindirecta
crates.iostackfutureindirecta
crates.iostatic_assertionsindirecta
crates.iosubsecondindirecta
crates.iosvgindirecta
crates.ioswashindirecta
crates.iosynindirecta
crates.iosys-localeindirecta
crates.iosysinfoindirecta
crates.iotaffyindirecta
crates.ioteraindirecta
crates.iothiserrorindirecta
crates.iothread_localindirecta
crates.iotomlindirecta
crates.iotoml_editindirecta
crates.iotracing-chromeindirecta
crates.iotracing-errorindirecta
crates.iotracing-logindirecta
crates.iotracing-oslogindirecta
crates.iotracing-subscriberindirecta
crates.iotracing-tracyindirecta
crates.iotracing-wasmindirecta
crates.iotracy-clientindirecta
crates.ioui_testindirecta
crates.ioureqindirecta
crates.iouuidindirecta
crates.iovariadics_pleaseindirecta
crates.iowasm-bindgenindirecta
crates.iowasm-bindgen-futuresindirecta
crates.ioweak-tableindirecta
crates.ioweb-sysindirecta
crates.ioweb-taskindirecta
crates.ioweb-timeindirecta
crates.ioweslindirecta
crates.iowgpuindirecta
crates.iowgpu-naga-bridgeindirecta
crates.iowgpu-typesindirecta
crates.iowindows-sysindirecta
crates.iowinitindirecta
crates.iox264indirecta
crates.ioxshellindirecta
crates.iozstdindirecta
npm@babel/code-frame7.27.1indirecta
npm@babel/helper-validator-identifier7.27.1indirecta
npm@esbuild/aix-ppc640.25.10indirecta
npm@esbuild/android-arm0.25.10indirecta
npm@esbuild/android-arm640.25.10indirecta
npm@esbuild/android-x640.25.10indirecta
npm@esbuild/darwin-arm640.25.10indirecta
npm@esbuild/darwin-x640.25.10indirecta
npm@esbuild/freebsd-arm640.25.10indirecta
npm@esbuild/freebsd-x640.25.10indirecta
npm@esbuild/linux-arm0.25.10indirecta
npm@esbuild/linux-arm640.25.10indirecta
npm@esbuild/linux-ia320.25.10indirecta
npm@esbuild/linux-loong640.25.10indirecta
npm@esbuild/linux-mips64el0.25.10indirecta
npm@esbuild/linux-ppc640.25.10indirecta
npm@esbuild/linux-riscv640.25.10indirecta
npm@esbuild/linux-s390x0.25.10indirecta
npm@esbuild/linux-x640.25.10indirecta
npm@esbuild/netbsd-arm640.25.10indirecta
npm@esbuild/netbsd-x640.25.10indirecta
npm@esbuild/openbsd-arm640.25.10indirecta
npm@esbuild/openbsd-x640.25.10indirecta
npm@esbuild/openharmony-arm640.25.10indirecta
npm@esbuild/sunos-x640.25.10indirecta
npm@esbuild/win32-arm640.25.10indirecta
npm@esbuild/win32-ia320.25.10indirecta
npm@esbuild/win32-x640.25.10indirecta
npm@inquirer/ansi1.0.0indirecta
npm@inquirer/checkbox4.2.4indirecta
npm@inquirer/confirm5.1.18indirecta
npm@inquirer/core10.2.2indirecta
npm@inquirer/editor4.2.20indirecta
npm@inquirer/expand4.0.20indirecta
npm@inquirer/external-editor1.0.2indirecta
npm@inquirer/figures1.0.13indirecta
npm@inquirer/input4.2.4indirecta
npm@inquirer/number3.0.20indirecta
npm@inquirer/password4.0.20indirecta
npm@inquirer/prompts7.8.6indirecta
npm@inquirer/rawlist4.1.8indirecta
npm@inquirer/search3.1.3indirecta
npm@inquirer/select4.3.4indirecta
npm@inquirer/type3.0.8indirecta
npm@isaacs/cliui8.0.2indirecta
npm@jest/diff-sequences30.0.1indirecta
npm@jest/expect-utils30.2.0indirecta
npm@jest/get-type30.1.0indirecta
npm@jest/pattern30.0.1indirecta
npm@jest/schemas30.0.5indirecta
npm@jest/types30.2.0indirecta
npm@jridgewell/sourcemap-codec1.5.5indirecta
npm@percy/appium-app2.1.0indirecta
npm@percy/sdk-utils1.31.2indirecta
npm@pkgjs/parseargs0.11.0indirecta
npm@playwright/test1.55.1indirecta
npm@promptbook/utils0.69.5indirecta
npm@puppeteer/browsers2.10.10indirecta
npm@sec-ant/readable-stream0.4.1indirecta
npm@sinclair/typebox0.34.41indirecta
npm@sindresorhus/merge-streams4.0.0indirecta
npm@tootallnate/quickjs-emscripten0.23.0indirecta
npm@types/istanbul-lib-coverage2.0.6indirecta
npm@types/istanbul-lib-report3.0.3indirecta
npm@types/istanbul-reports3.0.4indirecta
npm@types/mocha10.0.10indirecta
npm@types/node20.19.19indirecta
npm@types/normalize-package-data2.4.4indirecta
npm@types/sinonjs__fake-timers8.1.5indirecta
npm@types/stack-utils2.0.3indirecta
npm@types/which2.0.2indirecta
npm@types/ws8.18.1indirecta
npm@types/yargs17.0.33indirecta
npm@types/yargs-parser21.0.3indirecta
npm@types/yauzl2.10.3indirecta
npm@vitest/pretty-format2.1.9indirecta
npm@vitest/pretty-format3.2.4indirecta
npm@vitest/snapshot2.1.9indirecta
npm@vitest/snapshot3.2.4indirecta
npm@wdio/cli9.20.0indirecta
npm@wdio/config9.20.0indirecta
npm@wdio/dot-reporter9.20.0indirecta
npm@wdio/globals9.17.0indirecta
npm@wdio/local-runner9.20.0indirecta
npm@wdio/logger9.18.0indirecta
npm@wdio/mocha-framework9.20.0indirecta
npm@wdio/protocols9.16.2indirecta
npm@wdio/repl9.16.2indirecta
npm@wdio/reporter9.20.0indirecta
npm@wdio/runner9.20.0indirecta
npm@wdio/types9.20.0indirecta
npm@wdio/utils9.20.0indirecta
npm@wdio/xvfb9.20.0indirecta
npm@zip.js/zip.js2.8.6indirecta
npmabort-controller3.0.0indirecta
npmagent-base6.0.2indirecta
npmagent-base7.1.4indirecta
npmansi-colors4.1.3indirecta
npmansi-regex5.0.1indirecta
npmansi-regex6.2.2indirecta
npmansi-styles4.3.0indirecta
npmansi-styles5.2.0indirecta
npmansi-styles6.2.3indirecta
npmanymatch3.1.3indirecta
npmarchiver7.0.1indirecta
npmarchiver-utils5.0.2indirecta
npmargparse2.0.1indirecta
npmaria-query5.3.2indirecta
npmast-types0.13.4indirecta
npmasync3.2.6indirecta
npmasync-exit-hook2.0.1indirecta
npmb4a1.7.3indirecta
npmbalanced-match1.0.2indirecta
npmbare-events2.7.0indirecta
npmbare-fs4.4.5indirecta
npmbare-os3.6.2indirecta
npmbare-path3.0.0indirecta
npmbare-stream2.7.0indirecta
npmbare-url2.2.2indirecta
npmbase64-js1.5.1indirecta
npmbasic-ftp5.0.5indirecta
npmbinary-extensions2.3.0indirecta
npmboolbase1.0.0indirecta
npmbrace-expansion1.1.12indirecta
npmbrace-expansion2.0.2indirecta
npmbraces3.0.3indirecta
npmbrowser-stdout1.3.1indirecta
npmbrowserstack-local1.5.8indirecta
npmbuffer6.0.3indirecta
npmbuffer-crc320.2.13indirecta
npmbuffer-crc321.0.0indirecta
npmcamelcase6.3.0indirecta
npmchalk4.1.2indirecta
npmchalk5.6.2indirecta
npmchardet2.1.0indirecta
npmcheerio1.1.2indirecta
npmcheerio-select2.1.0indirecta
npmchokidar3.6.0indirecta
npmchokidar4.0.3indirecta
npmci-info4.3.0indirecta
npmcli-width4.1.0indirecta
npmcliui7.0.4indirecta
npmcliui8.0.1indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.4indirecta
npmcommander14.0.1indirecta
npmcommander9.5.0indirecta
npmcompress-commons6.0.2indirecta
npmconcat-map0.0.1indirecta
npmcore-util-is1.0.3indirecta
npmcrc-321.2.2indirecta
npmcrc32-stream6.0.0indirecta
npmcreate-wdio9.18.2indirecta
npmcross-spawn7.0.6indirecta
npmcss-select5.2.2indirecta
npmcss-shorthand-properties1.1.2indirecta
npmcss-value0.0.1indirecta
npmcss-what6.2.2indirecta
npmdata-uri-to-buffer4.0.1indirecta
npmdata-uri-to-buffer6.0.2indirecta
npmdebug4.4.3indirecta
npmdecamelize4.0.0indirecta
npmdecamelize6.0.1indirecta
npmdeep-eql5.0.2indirecta
npmdeepmerge-ts7.1.5indirecta
npmdegenerator5.0.1indirecta
npmdiff5.2.0indirecta
npmdiff8.0.2indirecta
npmdom-serializer2.0.0indirecta
npmdomelementtype2.3.0indirecta
npmdomhandler5.0.3indirecta
npmdomutils3.2.2indirecta
npmdotenv17.2.3indirecta
npmduplexer0.1.2indirecta
npmeastasianwidth0.2.0indirecta
npmedge-paths3.0.5indirecta
npmedgedriver6.1.2indirecta
npmejs3.1.10indirecta
npmemoji-regex8.0.0indirecta
npmemoji-regex9.2.2indirecta
npmencoding-sniffer0.2.1indirecta
npmend-of-stream1.4.5indirecta
npmentities4.5.0indirecta
npmentities6.0.1indirecta
npmerror-ex1.3.4indirecta
npmesbuild0.25.10indirecta
npmescalade3.2.0indirecta
npmescape-string-regexp2.0.0indirecta
npmescape-string-regexp4.0.0indirecta
npmescodegen2.1.0indirecta
npmesprima4.0.1indirecta
npmestraverse5.3.0indirecta
npmesutils2.0.3indirecta
npmevent-stream3.3.4indirecta
npmevent-target-shim5.0.1indirecta
npmevents3.3.0indirecta
npmevents-universal1.0.1indirecta
npmexeca9.6.0indirecta
npmexit-hook4.0.0indirecta
npmexpect30.2.0indirecta
npmexpect-webdriverio5.4.3indirecta
npmextract-zip2.0.1indirecta
npmfast-deep-equal2.0.1indirecta
npmfast-fifo1.3.2indirecta
npmfast-xml-parser5.3.0indirecta
npmfd-slicer1.1.0indirecta
npmfetch-blob3.2.0indirecta
npmfigures6.1.0indirecta
npmfilelist1.0.4indirecta
npmfill-range7.1.1indirecta
npmfind-up5.0.0indirecta
npmfind-up6.3.0indirecta
npmflat5.0.2indirecta
npmforeground-child3.3.1indirecta
npmformdata-polyfill4.0.10indirecta
npmfrom0.1.7indirecta
npmfs.realpath1.0.0indirecta
npmfsevents2.3.2indirecta
npmfsevents2.3.3indirecta
npmgeckodriver5.0.0indirecta
npmget-caller-file2.0.5indirecta
npmget-port7.1.0indirecta
npmget-stream5.2.0indirecta
npmget-stream9.0.1indirecta
npmget-tsconfig4.10.1indirecta
npmget-uri6.0.5indirecta
npmglob10.4.5indirecta
npmglob7.2.3indirecta
npmglob8.1.0indirecta
npmglob-parent5.1.2indirecta
npmgraceful-fs4.2.11indirecta
npmgrapheme-splitter1.0.4indirecta
npmhas-flag4.0.0indirecta
npmhe1.2.0indirecta
npmhosted-git-info7.0.2indirecta
npmhosted-git-info8.1.0indirecta
npmhtmlfy0.8.1indirecta
npmhtmlparser210.0.0indirecta
npmhttp-proxy-agent7.0.2indirecta
npmhttps-proxy-agent5.0.1indirecta
npmhttps-proxy-agent7.0.6indirecta
npmhuman-signals8.0.1indirecta
npmiconv-lite0.6.3indirecta
npmiconv-lite0.7.0indirecta
npmieee7541.2.1indirecta
npmimmediate3.0.6indirecta
npmimport-meta-resolve4.2.0indirecta
npminflight1.0.6indirecta
npminherits2.0.4indirecta
npminquirer12.9.6indirecta
npmip-address10.0.1indirecta
npmis-arrayish0.2.1indirecta
npmis-binary-path2.1.0indirecta
npmis-extglob2.1.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-glob4.0.3indirecta
npmis-number7.0.0indirecta
npmis-plain-obj2.1.0indirecta
npmis-plain-obj4.1.0indirecta
npmis-running2.1.0indirecta
npmis-stream2.0.1indirecta
npmis-stream4.0.1indirecta
npmis-unicode-supported0.1.0indirecta
npmis-unicode-supported2.1.0indirecta
npmisarray1.0.0indirecta
npmisexe2.0.0indirecta
npmisexe3.1.1indirecta
npmjackspeak3.4.3indirecta
npmjake10.9.4indirecta
npmjest-diff30.2.0indirecta
npmjest-matcher-utils30.2.0indirecta
npmjest-message-util30.2.0indirecta
npmjest-mock30.2.0indirecta
npmjest-regex-util30.0.1indirecta
npmjest-util30.2.0indirecta
npmjiti2.6.1indirecta
npmjs-tokens4.0.0indirecta
npmjs-yaml4.1.0indirecta
npmjson-parse-even-better-errors3.0.2indirecta
npmjszip3.10.1indirecta
npmlazystream1.0.1indirecta
npmlie3.3.0indirecta
npmlines-and-columns2.0.4indirecta
npmlocate-app2.5.0indirecta
npmlocate-path6.0.0indirecta
npmlocate-path7.2.0indirecta
npmlodash4.17.21indirecta
npmlodash.clonedeep4.5.0indirecta
npmlodash.flattendeep4.4.0indirecta
npmlodash.pickby4.6.0indirecta
npmlodash.union4.6.0indirecta
npmlodash.zip4.2.0indirecta
npmlog-symbols4.1.0indirecta
npmloglevel1.9.2indirecta
npmloglevel-plugin-prefix0.8.4indirecta
npmlru-cache10.4.3indirecta
npmlru-cache7.18.3indirecta
npmmagic-string0.30.19indirecta
npmmap-stream0.1.0indirecta
npmmicromatch4.0.8indirecta
npmminimatch3.1.2indirecta
npmminimatch5.1.6indirecta
npmminimatch9.0.5indirecta
npmminipass7.1.2indirecta
npmmitt3.0.1indirecta
npmmocha10.8.2indirecta
npmms2.1.3indirecta
npmmute-stream2.0.0indirecta
npmnetmask2.0.2indirecta
npmnode-domexception1.0.0indirecta
npmnode-fetch3.3.2indirecta
npmnormalize-package-data6.0.2indirecta
npmnormalize-package-data7.0.1indirecta
npmnormalize-path3.0.0indirecta
npmnpm-run-path6.0.0indirecta
npmnth-check2.1.1indirecta
npmobject-inspect1.13.4indirecta
npmonce1.4.0indirecta
npmp-limit3.1.0indirecta
npmp-limit4.0.0indirecta
npmp-locate5.0.0indirecta
npmp-locate6.0.0indirecta
npmpac-proxy-agent7.2.0indirecta
npmpac-resolver7.0.1indirecta
npmpackage-json-from-dist1.0.1indirecta
npmpako1.0.11indirecta
npmparse-json7.1.1indirecta
npmparse-ms4.0.0indirecta
npmparse57.3.0indirecta
npmparse5-htmlparser2-tree-adapter7.1.0indirecta
npmparse5-parser-stream7.1.2indirecta
npmpath-exists4.0.0indirecta
npmpath-exists5.0.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-key3.1.1indirecta
npmpath-key4.0.0indirecta
npmpath-scurry1.11.1indirecta
npmpathe1.1.2indirecta
npmpathe2.0.3indirecta
npmpause-stream0.0.11indirecta
npmpend1.2.0indirecta
npmpicocolors1.1.1indirecta
npmpicomatch2.3.1indirecta
npmpicomatch4.0.3indirecta
npmplaywright1.55.1indirecta
npmplaywright-core1.55.1indirecta
npmpretty-format30.2.0indirecta
npmpretty-ms9.3.0indirecta
npmprocess0.11.10indirecta
npmprocess-nextick-args2.0.1indirecta
npmprogress2.0.3indirecta
npmproxy-agent6.5.0indirecta
npmproxy-from-env1.1.0indirecta
npmps-tree1.2.0indirecta
npmpump3.0.3indirecta
npmquery-selector-shadow-dom1.0.1indirecta
npmrandombytes2.1.0indirecta
npmreact-is18.3.1indirecta
npmread-pkg8.1.0indirecta
npmread-pkg-up10.1.0indirecta
npmreadable-stream2.3.8indirecta
npmreadable-stream4.7.0indirecta
npmreaddir-glob1.1.3indirecta
npmreaddirp3.6.0indirecta
npmreaddirp4.1.2indirecta
npmrecursive-readdir2.2.3indirecta
npmrequire-directory2.1.1indirecta
npmresolve-pkg-maps1.0.0indirecta
npmresq1.11.0indirecta
npmret0.5.0indirecta
npmrgb2hex0.2.5indirecta
npmrimraf2.5.4indirecta
npmrun-async4.0.6indirecta
npmrxjs7.8.2indirecta
npmsafaridriver1.0.0indirecta
npmsafe-buffer5.1.2indirecta
npmsafe-buffer5.2.1indirecta
npmsafe-regex25.0.0indirecta
npmsafer-buffer2.1.2indirecta
npmsemver7.7.2indirecta
npmserialize-error12.0.0indirecta
npmserialize-javascript6.0.2indirecta
npmsetimmediate1.0.5indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmsignal-exit4.1.0indirecta
npmslash3.0.0indirecta
npmsmart-buffer4.2.0indirecta
npmsocks2.8.7indirecta
npmsocks-proxy-agent8.0.5indirecta
npmsource-map0.6.1indirecta
npmspacetrim0.11.59indirecta
npmspdx-correct3.2.0indirecta
npmspdx-exceptions2.5.0indirecta
npmspdx-expression-parse3.0.1indirecta
npmspdx-license-ids3.0.22indirecta
npmsplit0.3.3indirecta
npmsplit24.2.0indirecta
npmstack-utils2.0.6indirecta
npmstream-buffers3.0.3indirecta
npmstream-combiner0.0.4indirecta
npmstreamx2.23.0indirecta
npmstring-width4.2.3indirecta
npmstring-width5.1.2indirecta
npmstring_decoder1.1.1indirecta
npmstring_decoder1.3.0indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-ansi7.1.2indirecta
npmstrip-final-newline4.0.0indirecta
npmstrip-json-comments3.1.1indirecta
npmstrnum2.1.1indirecta
npmsupports-color7.2.0indirecta
npmsupports-color8.1.1indirecta
npmtar-fs3.1.1indirecta
npmtar-stream3.1.7indirecta
npmtemp-fs0.9.9indirecta
npmtext-decoder1.2.3indirecta
npmthrough2.3.8indirecta
npmtinyrainbow1.2.0indirecta
npmtinyrainbow2.0.0indirecta
npmtmp0.2.5indirecta
npmto-regex-range5.0.1indirecta
npmtslib2.8.1indirecta
npmtsx4.20.6indirecta
npmtype-fest3.13.1indirecta
npmtype-fest4.26.0indirecta
npmtype-fest4.41.0indirecta
npmundici6.22.0indirecta
npmundici7.16.0indirecta
npmundici-types6.21.0indirecta
npmunicorn-magic0.3.0indirecta
npmurlpattern-polyfill10.1.0indirecta
npmuserhome1.0.1indirecta
npmutil-deprecate1.0.2indirecta
npmvalidate-npm-package-license3.0.4indirecta
npmwait-port1.1.0indirecta
npmweb-streams-polyfill3.3.3indirecta
npmwebdriver9.20.0indirecta
npmwebdriverio9.20.0indirecta
npmwhatwg-encoding3.1.1indirecta
npmwhatwg-mimetype4.0.0indirecta
npmwhich2.0.2indirecta
npmwhich5.0.0indirecta
npmworkerpool6.5.1indirecta
npmwrap-ansi6.2.0indirecta
npmwrap-ansi7.0.0indirecta
npmwrap-ansi8.1.0indirecta
npmwrappy1.0.2indirecta
npmws8.18.3indirecta
npmy18n5.0.8indirecta
npmyargs16.2.0indirecta
npmyargs17.7.2indirecta
npmyargs-parser20.2.9indirecta
npmyargs-parser21.1.1indirecta
npmyargs-unparser2.0.0indirecta
npmyauzl2.10.0indirecta
npmyocto-queue0.1.0indirecta
npmyocto-queue1.2.1indirecta
npmyoctocolors2.1.2indirecta
npmyoctocolors-cjs2.1.3indirecta
npmzip-stream6.0.1indirecta
Informe JSON sin procesar legible por máquina
{
  "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"
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.11.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadascrates.io.