Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-23 03:33 UTC

lidaixingchen / brutxui-vue3

新粗野主义风格的Vue3 UI工具包,采用Next.js、Tailwind CSS和shadcn样式组件构建。

TypeScript · VueMIT★ 2 estrellas⑂ 0 forksdesde may 2026Ver en GitHub ↗

lidaixingchen/brutxui-vue3 tiene un índice de salud de 63 sobre 100, lo que lo sitúa en la banda Moderado. Su puntuación más alta es Engineering Quality (90/100) y la más baja, Community & Adoption (43/100). Se actualizó por última vez hoy. Una sola persona concentra la mayor parte del trabajo reciente.

63
global / 100
Moderado

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

63
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

历代星辰Cuenta personal
4 seguidores16 repositorios públicosdesde oct 2022

Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.

Ecosistemas de paquetes

Métricas por categoría

Vitalidad

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

77Bueno · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
8.3/36Cadencia de commits — 12/52 semanas con commits
18/18Volumen de commits — 739 commits en el último año
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Datos de entrada utilizados
commits_last_year739
human_commit_share0,99
days_since_last_push0
active_weeks_last_year12
Cómo se puntúa
27/27Publica versiones — 26 versiones publicadas
36/36Recencia de las versiones — última versión hace 5 días
27/27Cadencia de publicación — una versión cada ~2,2 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count26
latest_release_tagv0.9.5
releases_from_tagsno
days_since_latest_release5
mean_days_between_releases2,2
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

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

43En riesgo · 18% del índice global
Cómo se puntúa
0/60Estrellas — 2 estrellas
0/25Forks — 0 forks
0/15Observadores — 0 observadores
Datos de entrada utilizados
forks0
stars2
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
18/18Guía CONTRIBUTING
0/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_conductno
has_pull_request_template
Cómo se puntúa
51.1/80Descargas mensuales — 6809 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagesbrutx-ui-vue, brutx-vue
dependents
ecosystemsnpm
total_downloads
monthly_downloads6809
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?

53Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
3.8/22.5Distribución de commits — el principal contribuyente firma el 83% de los commits
2.7/13.5Amplitud de contribuyentes — 2 contribuyentes
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Datos de entrada utilizados
bus_factor1
contributors_sampled2
top_contributor_share0,832
Cómo se puntúa
0/46.8Resolución de issues — sin issues o sin datos
38.2/38.3Aceptación de PR — 2/2 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — Found 0/29 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs2
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluidos de la puntuación (sin datos o no aplicable): Resolución de issues. Los pesos restantes se han renormalizado.
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
5/25Alcance del propietario — 4 seguidores de lidaixingchen
16.5/25Trayectoria — 16 repos públicos, cuenta de ~3 años
Datos de entrada utilizados
followers4
owner_typeUser
is_verified
owner_loginlidaixingchen
public_repos16
account_age_days1378
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.
Cómo se puntúa
25/25Publicado y resoluble — 2 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 5 días
20/20Historial de versiones — 43 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesbrutx-ui-vue, brutx-vue
ecosystemsnpm
any_deprecatedno
min_days_since_publish5

Calidad de Ingeniería

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

90Excelente · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 5 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — eslint.config.js
0/9.6Hooks de pre-commit
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 1 out of 1 merged PRs checked by a CI test -- score normalized to 10
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_configno

Documentación

100Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://lidaixingchen.github.io/brutxui-vue3/
10/10Descripción del repositorio
10/10Topics — 15 topics
10/10Wiki
Datos de entrada utilizados
topicscomponent, frontend, typescript, uikit, vue, vue3, brutalist, brutalist-ui, component-library, design-system, neo-brutalism, shadcn-ui, tailwindcss, ui-library, vite
has_wiki
homepagehttps://lidaixingchen.github.io/brutxui-vue3/
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?

50Moderado · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 1 out of 1 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/29 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
0/10Dangerous-Workflow — sin datos
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
0/5Packaging — sin datos
0/5Pinned-Dependencies — sin datos
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — sin datos
6.8/7.5Vulnerabilities — 1 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate3,8
Excluidos de la puntuación (sin datos o no aplicable): dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
0/25Dependencias indirectas libres de avisos conocidos — el conjunto transitivo no es separable de las dependencias de desarrollo y prueba en este alcance
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories1
affected_packages1
assessed_packages807
unassessed_packages52
affected_by_severityhigh 1
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Dependencias indirectas libres de avisos conocidos, Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejaron 807 dependencias resueltas con OSV. 52 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido o fuera de la lista de paquetes informada. Este repositorio no publica ningún paquete que el índice resuelva, por lo que se evaluó en su lugar el grafo de dependencias del repositorio. Ese grafo mezcla fijaciones de desarrollo y prueba con las dependencias distribuidas, de modo que solo se puntúan las dependencias declaradas en tiempo de ejecución; los hallazgos transitivos se informan como contexto y quedan excluidos de la puntuación. No se analiza la alcanzabilidad.

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.

75Bueno · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — .github/copilot-instructions.md, AGENTS.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 98 de 99 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,99
agent_instruction_files.github/copilot-instructions.md, AGENTS.md
agent_instruction_max_bytes11.494
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
11/11Configuración de lint / formato — eslint.config.js
11/11Verificación estática de tipos — apps/docs/tsconfig.json, packages/cli/tsconfig.json, packages/registry/tsconfig.json, packages/shared/tsconfig.json, packages/ui/tsconfig.json, templates/vue-app/tsconfig.json
10/10Entorno reproducible — lockfile
2/10Práctica demostrada con agentes — 1 de los últimos 100 commits con autoría o crédito de agente
8/8Mantenimiento automatizado — 1 de los últimos 100 commits son actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — sin datos
Datos de entrada utilizados
has_nixno
has_tests
lockfilespnpm-lock.yaml
has_dockerfileno
typed_language
bootstrap_files
has_devcontainerno
has_linter_config
typecheck_configsapps/docs/tsconfig.json, packages/cli/tsconfig.json, packages/registry/tsconfig.json, packages/shared/tsconfig.json, packages/ui/tsconfig.json, templates/vue-app/tsconfig.json
agent_commit_share0,01
toolchain_manifests
dependency_bot_commit_share0,01
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Pinned-Dependencies. Los pesos restantes se han renormalizado.
Cómo se puntúa
45/45Código verificable por tipos — TypeScript (tipado estático)
55/55Tamaños de archivo manejables — 0/435 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageTypeScript
largest_source_bytes55.466
source_files_sampled435
oversized_source_files0
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — demos
Datos de entrada utilizados
example_dirsdemos
has_mcp_signalno
api_schema_files

Datos clave

2estrellas de GitHub
2contribuidores
739commits en los últimos 12 meses
0días desde el último push
26versiones publicadas
1factor bus
0issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • deps.dev does not index npm:brutx-ui-vue@0.9.5; advisories assessed against the repository dependency graph instead

Más detalle

OpenSSF Scorecard 3.8 / 10
3.8agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-23 03:33 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests1 out of 1 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/29 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
n/dDangerous-Workflowno workflows found
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
n/dPackagingpackaging workflow not detected
n/dPinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
n/dToken-PermissionsNo tokens found
9Vulnerabilities1 existing vulnerabilities detected
Dependencias directas 13
RegistroPaqueteRestricción de versiónManifiesto
npm@inquirer/prompts^8.5.2packages/cli/package.json
npmchalk^5.3.0packages/cli/package.json
npmcommander^15.0.0packages/cli/package.json
npmdiff^8.0.4packages/cli/package.json
npmes-module-lexer^2.2.0packages/cli/package.json
npmfs-extra^11.3.5packages/cli/package.json
npmjsonc-parser^3.3.1packages/cli/package.json
npmora^9.4.0packages/cli/package.json
npmbrutx-shared-vueworkspace:*packages/registry/package.json
npmclass-variance-authority^0.7.0packages/ui/package.json
npmclsx^2.1.0packages/ui/package.json
npmtailwind-merge^3.6.0packages/ui/package.json
npmvue^3.5.13templates/vue-app/package.json
Todas las dependencias 859

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

RegistroPaqueteVersiónRelación
npm@inquirer/prompts8.5.2directa
npm@inquirer/prompts^8.5.2directa
npmchalk5.6.2directa
npmchalk^5.3.0directa
npmclass-variance-authority0.7.1directa
npmclass-variance-authority^0.7.0directa
npmclsx2.1.1directa
npmclsx^2.1.0directa
npmcommander10.0.0directa
npmcommander15.0.0directa
npmcommander4.0.0directa
npmcommander^15.0.0directa
npmdiff8.0.4directa
npmdiff^8.0.4directa
npmes-module-lexer2.2.0directa
npmes-module-lexer^2.2.0directa
npmfs-extra11.3.5directa
npmfs-extra7.0.1directa
npmfs-extra8.1.0directa
npmfs-extra^11.3.5directa
npmjsonc-parser3.3.1directa
npmjsonc-parser^3.3.1directa
npmora9.4.0directa
npmora^9.4.0directa
npmtailwind-merge3.6.0directa
npmtailwind-merge^3.6.0directa
npmvue3.5.35directa
npmvue^3.5.0directa
npmvue^3.5.13directa
npm@algolia/abtesting1.19.0indirecta
npm@algolia/autocomplete-core1.17.7indirecta
npm@algolia/autocomplete-plugin-algolia-insights1.17.7indirecta
npm@algolia/autocomplete-preset-algolia1.17.7indirecta
npm@algolia/autocomplete-shared1.17.7indirecta
npm@algolia/client-abtesting5.53.0indirecta
npm@algolia/client-analytics5.53.0indirecta
npm@algolia/client-common5.53.0indirecta
npm@algolia/client-insights5.53.0indirecta
npm@algolia/client-personalization5.53.0indirecta
npm@algolia/client-query-suggestions5.53.0indirecta
npm@algolia/client-search5.53.0indirecta
npm@algolia/ingestion1.53.0indirecta
npm@algolia/monitoring1.53.0indirecta
npm@algolia/recommend5.53.0indirecta
npm@algolia/requester-browser-xhr5.53.0indirecta
npm@algolia/requester-fetch5.53.0indirecta
npm@algolia/requester-node-http5.53.0indirecta
npm@asamuzakjp/css-color5.1.11indirecta
npm@asamuzakjp/dom-selector7.1.1indirecta
npm@asamuzakjp/generational-cache1.0.1indirecta
npm@asamuzakjp/nwsapi2.3.9indirecta
npm@babel/helper-string-parser7.29.7indirecta
npm@babel/helper-validator-identifier7.29.7indirecta
npm@babel/parser7.29.7indirecta
npm@babel/runtime7.29.7indirecta
npm@babel/types7.29.7indirecta
npm@bcoe/v8-coverage1.0.2indirecta
npm@blazediff/core1.9.1indirecta
npm@bramus/specificity2.4.2indirecta
npm@changesets/apply-release-plan7.1.1indirecta
npm@changesets/assemble-release-plan6.0.10indirecta
npm@changesets/changelog-git0.2.1indirecta
npm@changesets/cli2.31.1indirecta
npm@changesets/config3.1.4indirecta
npm@changesets/errors0.2.0indirecta
npm@changesets/get-dependents-graph2.1.4indirecta
npm@changesets/get-release-plan4.0.16indirecta
npm@changesets/get-version-range-type0.4.0indirecta
npm@changesets/git3.0.4indirecta
npm@changesets/logger0.1.1indirecta
npm@changesets/parse0.4.3indirecta
npm@changesets/pre2.0.2indirecta
npm@changesets/read0.6.7indirecta
npm@changesets/should-skip-package0.1.2indirecta
npm@changesets/types4.0.1indirecta
npm@changesets/types6.1.0indirecta
npm@changesets/write0.4.0indirecta
npm@csstools/color-helpers6.0.2indirecta
npm@csstools/css-calc3.2.1indirecta
npm@csstools/css-color-parser4.1.1indirecta
npm@csstools/css-parser-algorithms4.0.0indirecta
npm@csstools/css-syntax-patches-for-csstree1.1.4indirecta
npm@csstools/css-tokenizer4.0.0indirecta
npm@docsearch/css3.8.2indirecta
npm@docsearch/js3.8.2indirecta
npm@docsearch/react3.8.2indirecta
npm@emnapi/core1.10.0indirecta
npm@emnapi/core1.11.1indirecta
npm@emnapi/runtime1.10.0indirecta
npm@emnapi/runtime1.11.1indirecta
npm@emnapi/wasi-threads1.2.1indirecta
npm@emnapi/wasi-threads1.2.2indirecta
npm@esbuild/aix-ppc640.25.0indirecta
npm@esbuild/aix-ppc640.28.1indirecta
npm@esbuild/android-arm0.25.0indirecta
npm@esbuild/android-arm0.28.1indirecta
npm@esbuild/android-arm640.25.0indirecta
npm@esbuild/android-arm640.28.1indirecta
npm@esbuild/android-x640.25.0indirecta
npm@esbuild/android-x640.28.1indirecta
npm@esbuild/darwin-arm640.25.0indirecta
npm@esbuild/darwin-arm640.28.1indirecta
npm@esbuild/darwin-x640.25.0indirecta
npm@esbuild/darwin-x640.28.1indirecta
npm@esbuild/freebsd-arm640.25.0indirecta
npm@esbuild/freebsd-arm640.28.1indirecta
npm@esbuild/freebsd-x640.25.0indirecta
npm@esbuild/freebsd-x640.28.1indirecta
npm@esbuild/linux-arm0.25.0indirecta
npm@esbuild/linux-arm0.28.1indirecta
npm@esbuild/linux-arm640.25.0indirecta
npm@esbuild/linux-arm640.28.1indirecta
npm@esbuild/linux-ia320.25.0indirecta
npm@esbuild/linux-ia320.28.1indirecta
npm@esbuild/linux-loong640.25.0indirecta
npm@esbuild/linux-loong640.28.1indirecta
npm@esbuild/linux-mips64el0.25.0indirecta
npm@esbuild/linux-mips64el0.28.1indirecta
npm@esbuild/linux-ppc640.25.0indirecta
npm@esbuild/linux-ppc640.28.1indirecta
npm@esbuild/linux-riscv640.25.0indirecta
npm@esbuild/linux-riscv640.28.1indirecta
npm@esbuild/linux-s390x0.25.0indirecta
npm@esbuild/linux-s390x0.28.1indirecta
npm@esbuild/linux-x640.25.0indirecta
npm@esbuild/linux-x640.28.1indirecta
npm@esbuild/netbsd-arm640.25.0indirecta
npm@esbuild/netbsd-arm640.28.1indirecta
npm@esbuild/netbsd-x640.25.0indirecta
npm@esbuild/netbsd-x640.28.1indirecta
npm@esbuild/openbsd-arm640.25.0indirecta
npm@esbuild/openbsd-arm640.28.1indirecta
npm@esbuild/openbsd-x640.25.0indirecta
npm@esbuild/openbsd-x640.28.1indirecta
npm@esbuild/openharmony-arm640.28.1indirecta
npm@esbuild/sunos-x640.25.0indirecta
npm@esbuild/sunos-x640.28.1indirecta
npm@esbuild/win32-arm640.25.0indirecta
npm@esbuild/win32-arm640.28.1indirecta
npm@esbuild/win32-ia320.25.0indirecta
npm@esbuild/win32-ia320.28.1indirecta
npm@esbuild/win32-x640.25.0indirecta
npm@esbuild/win32-x640.28.1indirecta
npm@eslint-community/eslint-utils4.9.1indirecta
npm@eslint-community/regexpp4.12.2indirecta
npm@eslint/config-array0.23.5indirecta
npm@eslint/config-helpers0.6.0indirecta
npm@eslint/core1.2.1indirecta
npm@eslint/js10.0.1indirecta
npm@eslint/js^10.0.1indirecta
npm@eslint/object-schema3.0.5indirecta
npm@eslint/plugin-kit0.7.2indirecta
npm@exodus/bytes1.15.1indirecta
npm@floating-ui/core1.7.5indirecta
npm@floating-ui/dom1.7.6indirecta
npm@floating-ui/utils0.2.11indirecta
npm@floating-ui/vue1.1.11indirecta
npm@gerrit0/mini-shiki3.23.0indirecta
npm@humanfs/core0.19.2indirecta
npm@humanfs/node0.16.8indirecta
npm@humanfs/types0.15.0indirecta
npm@humanwhocodes/module-importer1.0.1indirecta
npm@humanwhocodes/retry0.4.3indirecta
npm@iconify-json/simple-icons1.2.85indirecta
npm@iconify/types2.0.0indirecta
npm@inquirer/ansi2.0.7indirecta
npm@inquirer/checkbox5.2.1indirecta
npm@inquirer/confirm6.1.1indirecta
npm@inquirer/core11.2.1indirecta
npm@inquirer/editor5.2.2indirecta
npm@inquirer/expand5.1.1indirecta
npm@inquirer/external-editor1.0.2indirecta
npm@inquirer/external-editor3.0.3indirecta
npm@inquirer/figures2.0.7indirecta
npm@inquirer/input5.1.2indirecta
npm@inquirer/number4.1.1indirecta
npm@inquirer/password5.1.1indirecta
npm@inquirer/rawlist5.3.1indirecta
npm@inquirer/search4.2.1indirecta
npm@inquirer/select5.2.1indirecta
npm@inquirer/type4.0.7indirecta
npm@internationalized/date3.12.2indirecta
npm@internationalized/number3.6.7indirecta
npm@isaacs/cliui8.0.2indirecta
npm@jridgewell/gen-mapping0.3.2indirecta
npm@jridgewell/gen-mapping0.3.5indirecta
npm@jridgewell/remapping2.3.5indirecta
npm@jridgewell/resolve-uri3.1.2indirecta
npm@jridgewell/set-array1.2.1indirecta
npm@jridgewell/sourcemap-codec1.4.10indirecta
npm@jridgewell/sourcemap-codec1.4.14indirecta
npm@jridgewell/sourcemap-codec1.5.5indirecta
npm@jridgewell/trace-mapping0.3.31indirecta
npm@lucide/vue1.17.0indirecta
npm@lucide/vue^1.17.0indirecta
npm@manypkg/find-root1.1.0indirecta
npm@manypkg/get-packages1.1.3indirecta
npm@napi-rs/wasm-runtime1.1.4indirecta
npm@napi-rs/wasm-runtime1.1.6indirecta
npm@nodelib/fs.scandir2.1.5indirecta
npm@nodelib/fs.stat2.0.5indirecta
npm@nodelib/fs.walk1.2.8indirecta
npm@one-ini/wasm0.1.1indirecta
npm@oxc-project/types0.133.0indirecta
npm@oxc-project/types0.137.0indirecta
npm@parcel/watcher2.5.1indirecta
npm@parcel/watcher-android-arm642.5.1indirecta
npm@parcel/watcher-darwin-arm642.5.1indirecta
npm@parcel/watcher-darwin-x642.5.1indirecta
npm@parcel/watcher-freebsd-x642.5.1indirecta
npm@parcel/watcher-linux-arm-glibc2.5.1indirecta
npm@parcel/watcher-linux-arm-musl2.5.1indirecta
npm@parcel/watcher-linux-arm64-glibc2.5.1indirecta
npm@parcel/watcher-linux-arm64-musl2.5.1indirecta
npm@parcel/watcher-linux-x64-glibc2.5.1indirecta
npm@parcel/watcher-linux-x64-musl2.5.1indirecta
npm@parcel/watcher-win32-arm642.5.1indirecta
npm@parcel/watcher-win32-ia322.5.1indirecta
npm@parcel/watcher-win32-x642.5.1indirecta
npm@pkgjs/parseargs0.11.0indirecta
npm@playwright/test1.60.0indirecta
npm@playwright/test^1.60.0indirecta
npm@polka/url1.0.0-next.29indirecta
npm@popperjs/core2.11.8indirecta
npm@rolldown/binding-android-arm641.0.3indirecta
npm@rolldown/binding-android-arm641.1.3indirecta
npm@rolldown/binding-darwin-arm641.0.3indirecta
npm@rolldown/binding-darwin-arm641.1.3indirecta
npm@rolldown/binding-darwin-x641.0.3indirecta
npm@rolldown/binding-darwin-x641.1.3indirecta
npm@rolldown/binding-freebsd-x641.0.3indirecta
npm@rolldown/binding-freebsd-x641.1.3indirecta
npm@rolldown/binding-linux-arm-gnueabihf1.0.3indirecta
npm@rolldown/binding-linux-arm-gnueabihf1.1.3indirecta
npm@rolldown/binding-linux-arm64-gnu1.0.3indirecta
npm@rolldown/binding-linux-arm64-gnu1.1.3indirecta
npm@rolldown/binding-linux-arm64-musl1.0.3indirecta
npm@rolldown/binding-linux-arm64-musl1.1.3indirecta
npm@rolldown/binding-linux-ppc64-gnu1.0.3indirecta
npm@rolldown/binding-linux-ppc64-gnu1.1.3indirecta
npm@rolldown/binding-linux-s390x-gnu1.0.3indirecta
npm@rolldown/binding-linux-s390x-gnu1.1.3indirecta
npm@rolldown/binding-linux-x64-gnu1.0.3indirecta
npm@rolldown/binding-linux-x64-gnu1.1.3indirecta
npm@rolldown/binding-linux-x64-musl1.0.3indirecta
npm@rolldown/binding-linux-x64-musl1.1.3indirecta
npm@rolldown/binding-openharmony-arm641.0.3indirecta
npm@rolldown/binding-openharmony-arm641.1.3indirecta
npm@rolldown/binding-wasm32-wasi1.0.3indirecta
npm@rolldown/binding-wasm32-wasi1.1.3indirecta
npm@rolldown/binding-win32-arm64-msvc1.0.3indirecta
npm@rolldown/binding-win32-arm64-msvc1.1.3indirecta
npm@rolldown/binding-win32-x64-msvc1.0.3indirecta
npm@rolldown/binding-win32-x64-msvc1.1.3indirecta
npm@rolldown/pluginutils1.0.1indirecta
npm@rollup/pluginutils5.4.0indirecta
npm@rollup/rollup-android-arm-eabi4.61.0indirecta
npm@rollup/rollup-android-arm644.61.0indirecta
npm@rollup/rollup-darwin-arm644.61.0indirecta
npm@rollup/rollup-darwin-x644.61.0indirecta
npm@rollup/rollup-freebsd-arm644.61.0indirecta
npm@rollup/rollup-freebsd-x644.61.0indirecta
npm@rollup/rollup-linux-arm-gnueabihf4.61.0indirecta
npm@rollup/rollup-linux-arm-musleabihf4.61.0indirecta
npm@rollup/rollup-linux-arm64-gnu4.61.0indirecta
npm@rollup/rollup-linux-arm64-musl4.61.0indirecta
npm@rollup/rollup-linux-loong64-gnu4.61.0indirecta
npm@rollup/rollup-linux-loong64-musl4.61.0indirecta
npm@rollup/rollup-linux-ppc64-gnu4.61.0indirecta
npm@rollup/rollup-linux-ppc64-musl4.61.0indirecta
npm@rollup/rollup-linux-riscv64-gnu4.61.0indirecta
npm@rollup/rollup-linux-riscv64-musl4.61.0indirecta
npm@rollup/rollup-linux-s390x-gnu4.61.0indirecta
npm@rollup/rollup-linux-x64-gnu4.61.0indirecta
npm@rollup/rollup-linux-x64-musl4.61.0indirecta
npm@rollup/rollup-openbsd-x644.61.0indirecta
npm@rollup/rollup-openharmony-arm644.61.0indirecta
npm@rollup/rollup-win32-arm64-msvc4.61.0indirecta
npm@rollup/rollup-win32-ia32-msvc4.61.0indirecta
npm@rollup/rollup-win32-x64-gnu4.61.0indirecta
npm@rollup/rollup-win32-x64-msvc4.61.0indirecta
npm@shikijs/core2.1.0indirecta
npm@shikijs/engine-javascript2.1.0indirecta
npm@shikijs/engine-oniguruma2.1.0indirecta
npm@shikijs/engine-oniguruma3.23.0indirecta
npm@shikijs/langs2.1.0indirecta
npm@shikijs/langs3.23.0indirecta
npm@shikijs/themes2.1.0indirecta
npm@shikijs/themes3.23.0indirecta
npm@shikijs/transformers2.1.0indirecta
npm@shikijs/types2.1.0indirecta
npm@shikijs/types3.23.0indirecta
npm@shikijs/vscode-textmate10.0.2indirecta
npm@size-limit/esbuild12.1.0indirecta
npm@size-limit/esbuild^12.1.0indirecta
npm@size-limit/file12.1.0indirecta
npm@size-limit/file^12.1.0indirecta
npm@standard-schema/spec1.1.0indirecta
npm@swc/helpers0.5.23indirecta
npm@tailwindcss/cli4.3.2indirecta
npm@tailwindcss/cli^4.3.2indirecta
npm@tailwindcss/node4.3.0indirecta
npm@tailwindcss/node4.3.2indirecta
npm@tailwindcss/oxide4.3.0indirecta
npm@tailwindcss/oxide4.3.2indirecta
npm@tailwindcss/oxide-android-arm644.3.0indirecta
npm@tailwindcss/oxide-android-arm644.3.2indirecta
npm@tailwindcss/oxide-darwin-arm644.3.0indirecta
npm@tailwindcss/oxide-darwin-arm644.3.2indirecta
npm@tailwindcss/oxide-darwin-x644.3.0indirecta
npm@tailwindcss/oxide-darwin-x644.3.2indirecta
npm@tailwindcss/oxide-freebsd-x644.3.0indirecta
npm@tailwindcss/oxide-freebsd-x644.3.2indirecta
npm@tailwindcss/oxide-linux-arm-gnueabihf4.3.0indirecta
npm@tailwindcss/oxide-linux-arm-gnueabihf4.3.2indirecta
npm@tailwindcss/oxide-linux-arm64-gnu4.3.0indirecta
npm@tailwindcss/oxide-linux-arm64-gnu4.3.2indirecta
npm@tailwindcss/oxide-linux-arm64-musl4.3.0indirecta
npm@tailwindcss/oxide-linux-arm64-musl4.3.2indirecta
npm@tailwindcss/oxide-linux-x64-gnu4.3.0indirecta
npm@tailwindcss/oxide-linux-x64-gnu4.3.2indirecta
npm@tailwindcss/oxide-linux-x64-musl4.3.0indirecta
npm@tailwindcss/oxide-linux-x64-musl4.3.2indirecta
npm@tailwindcss/oxide-wasm32-wasi4.3.0indirecta
npm@tailwindcss/oxide-wasm32-wasi4.3.2indirecta
npm@tailwindcss/oxide-win32-arm64-msvc4.3.0indirecta
npm@tailwindcss/oxide-win32-arm64-msvc4.3.2indirecta
npm@tailwindcss/oxide-win32-x64-msvc4.3.0indirecta
npm@tailwindcss/oxide-win32-x64-msvc4.3.2indirecta
npm@tailwindcss/vite4.3.0indirecta
npm@tailwindcss/vite^4.3.0indirecta
npm@tanstack/virtual-core3.17.2indirecta
npm@tanstack/vue-virtual3.13.30indirecta
npm@turbo/darwin-642.10.5indirecta
npm@turbo/darwin-arm642.10.5indirecta
npm@turbo/linux-642.10.5indirecta
npm@turbo/linux-arm642.10.5indirecta
npm@turbo/windows-642.10.5indirecta
npm@turbo/windows-arm642.10.5indirecta
npm@tybys/wasm-util0.10.2indirecta
npm@tybys/wasm-util0.10.3indirecta
npm@types/chai5.2.3indirecta
npm@types/deep-eql4.0.2indirecta
npm@types/esrecurse4.3.1indirecta
npm@types/estree1.0.9indirecta
npm@types/fs-extra11.0.4indirecta
npm@types/fs-extra^11.0.4indirecta
npm@types/hast3.0.4indirecta
npm@types/json-schema7.0.15indirecta
npm@types/jsonfile6.1.4indirecta
npm@types/linkify-it5.0.0indirecta
npm@types/lodash4.17.24indirecta
npm@types/markdown-it14.1.2indirecta
npm@types/mdast4.0.4indirecta
npm@types/mdurl2.0.0indirecta
npm@types/node12.7.1indirecta
npm@types/node25.9.1indirecta
npm@types/node^25.9.1indirecta
npm@types/prismjs1.26.6indirecta
npm@types/prismjs^1.26.6indirecta
npm@types/resize-observer-browser0.1.11indirecta
npm@types/unist3.0.3indirecta
npm@types/web-bluetooth0.0.20indirecta
npm@types/web-bluetooth0.0.21indirecta
npm@types/whatwg-mimetype3.0.2indirecta
npm@types/ws8.18.1indirecta
npm@typescript-eslint/eslint-plugin8.60.1indirecta
npm@typescript-eslint/parser8.60.1indirecta
npm@typescript-eslint/project-service8.60.1indirecta
npm@typescript-eslint/scope-manager8.60.1indirecta
npm@typescript-eslint/tsconfig-utils8.60.1indirecta
npm@typescript-eslint/type-utils8.60.1indirecta
npm@typescript-eslint/types8.60.1indirecta
npm@typescript-eslint/typescript-estree8.60.1indirecta
npm@typescript-eslint/utils8.60.1indirecta
npm@typescript-eslint/visitor-keys8.60.1indirecta
npm@ungap/structured-clone1.3.1indirecta
npm@vitejs/plugin-vue5.2.1indirecta
npm@vitejs/plugin-vue6.0.7indirecta
npm@vitejs/plugin-vue^6.0.7indirecta
npm@vitest/browser4.1.10indirecta
npm@vitest/browser^4.1.10indirecta
npm@vitest/browser-playwright4.1.10indirecta
npm@vitest/browser-playwright^4.1.10indirecta
npm@vitest/coverage-v84.1.10indirecta
npm@vitest/coverage-v8^4.1.10indirecta
npm@vitest/expect4.1.10indirecta
npm@vitest/mocker4.1.10indirecta
npm@vitest/pretty-format4.1.10indirecta
npm@vitest/runner4.1.10indirecta
npm@vitest/snapshot4.1.10indirecta
npm@vitest/spy4.1.10indirecta
npm@vitest/utils4.1.10indirecta
npm@volar/language-core2.4.28indirecta
npm@volar/source-map2.4.28indirecta
npm@volar/typescript2.4.28indirecta
npm@vue/compiler-core3.5.35indirecta
npm@vue/compiler-core3.5.39indirecta
npm@vue/compiler-dom3.5.35indirecta
npm@vue/compiler-dom3.5.39indirecta
npm@vue/compiler-sfc3.5.35indirecta
npm@vue/compiler-ssr3.5.35indirecta
npm@vue/compiler-ssr3.5.39indirecta
npm@vue/devtools-api7.7.10indirecta
npm@vue/devtools-kit7.7.10indirecta
npm@vue/devtools-shared7.7.10indirecta
npm@vue/language-core3.3.3indirecta
npm@vue/reactivity3.5.35indirecta
npm@vue/runtime-core3.5.35indirecta
npm@vue/runtime-dom3.5.35indirecta
npm@vue/server-renderer3.5.35indirecta
npm@vue/server-renderer3.5.39indirecta
npm@vue/server-renderer^3.5.39indirecta
npm@vue/shared3.5.35indirecta
npm@vue/shared3.5.39indirecta
npm@vue/test-utils2.4.11indirecta
npm@vue/test-utils^2.4.11indirecta
npm@vueuse/core12.4.0indirecta
npm@vueuse/core14.3.0indirecta
npm@vueuse/integrations12.4.0indirecta
npm@vueuse/metadata12.4.0indirecta
npm@vueuse/metadata14.3.0indirecta
npm@vueuse/shared12.4.0indirecta
npm@vueuse/shared14.3.0indirecta
npmabbrev2.0.0indirecta
npmacorn8.16.0indirecta
npmacorn^8.14.0indirecta
npmacorn-jsx5.3.2indirecta
npmacorn-walk8.3.5indirecta
npmacorn-walk^8.3.1indirecta
npmajv6.15.0indirecta
npmalgoliasearch5.53.0indirecta
npmalien-signals3.2.1indirecta
npmansi-colors4.1.3indirecta
npmansi-regex5.0.1indirecta
npmansi-regex6.2.2indirecta
npmansi-styles4.3.0indirecta
npmansi-styles6.2.3indirecta
npmany-promise1.3.0indirecta
npmargparse1.0.10indirecta
npmargparse2.0.1indirecta
npmaria-hidden1.2.6indirecta
npmarray-union2.1.0indirecta
npmassertion-error2.0.1indirecta
npmast-v8-to-istanbul1.0.3indirecta
npmaxe-core4.12.1indirecta
npmaxe-core^4.12.1indirecta
npmbalanced-match1.0.0indirecta
npmbalanced-match4.0.4indirecta
npmbetter-path-resolve1.0.0indirecta
npmbidi-js1.0.3indirecta
npmbirpc2.3.0indirecta
npmboolbase1.0.0indirecta
npmbrace-expansion2.1.2indirecta
npmbrace-expansion5.0.7indirecta
npmbraces3.0.3indirecta
npmbundle-require5.1.0indirecta
npmbytes-iec3.1.1indirecta
npmcac6.7.14indirecta
npmccount2.0.1indirecta
npmchai6.2.2indirecta
npmcharacter-entities-html42.1.0indirecta
npmcharacter-entities-legacy3.0.0indirecta
npmchardet2.2.0indirecta
npmchokidar4.0.3indirecta
npmcli-cursor5.0.0indirecta
npmcli-spinners3.4.0indirecta
npmcli-width4.1.0indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.4indirecta
npmcomma-separated-tokens2.0.3indirecta
npmcompare-versions6.1.1indirecta
npmconfbox0.1.8indirecta
npmconfbox0.2.4indirecta
npmconfig-chain1.1.13indirecta
npmconsola3.4.2indirecta
npmconvert-source-map2.0.0indirecta
npmcopy-anything4.0.5indirecta
npmcross-spawn7.0.6indirecta
npmcss-tree3.2.1indirecta
npmcssesc3.0.0indirecta
npmcsstype3.2.3indirecta
npmdata-urls7.0.0indirecta
npmdate-fns2.16.1indirecta
npmdate-fns-tz2.0.1indirecta
npmdebug4.4.3indirecta
npmdecimal.js10.6.0indirecta
npmdeep-is0.1.4indirecta
npmdefu6.1.7indirecta
npmdequal2.0.3indirecta
npmdetect-indent6.1.0indirecta
npmdetect-libc1.0.3indirecta
npmdetect-libc2.1.2indirecta
npmdevlop1.1.0indirecta
npmdir-glob3.0.1indirecta
npmeastasianwidth0.2.0indirecta
npmeditorconfig1.0.7indirecta
npmembla-carousel8.6.0indirecta
npmembla-carousel-reactive-utils8.6.0indirecta
npmembla-carousel-vue8.6.0indirecta
npmemoji-regex8.0.0indirecta
npmemoji-regex9.2.2indirecta
npmemoji-regex-xs1.0.0indirecta
npmenhanced-resolve5.21.6indirecta
npmenhanced-resolve5.22.1indirecta
npmenquirer2.4.1indirecta
npmentities4.4.0indirecta
npmentities7.0.1indirecta
npmentities8.0.0indirecta
npmesbuild0.25.0indirecta
npmesbuild0.28.1indirecta
npmescape-string-regexp4.0.0indirecta
npmeslint10.4.1indirecta
npmeslint^10.4.1indirecta
npmeslint-plugin-vue10.9.2indirecta
npmeslint-plugin-vue^10.9.2indirecta
npmeslint-scope9.1.2indirecta
npmeslint-visitor-keys3.4.3indirecta
npmeslint-visitor-keys5.0.1indirecta
npmespree11.2.0indirecta
npmesprima4.0.1indirecta
npmesquery1.7.0indirecta
npmesrecurse4.3.0indirecta
npmestraverse5.3.0indirecta
npmestree-walker2.0.2indirecta
npmestree-walker3.0.3indirecta
npmesutils2.0.3indirecta
npmexpect-type1.4.0indirecta
npmexsolve1.0.8indirecta
npmextendable-error0.1.7indirecta
npmfast-deep-equal3.1.3indirecta
npmfast-glob3.3.3indirecta
npmfast-json-stable-stringify2.1.0indirecta
npmfast-levenshtein2.0.6indirecta
npmfast-string-truncated-width3.0.3indirecta
npmfast-string-width3.0.2indirecta
npmfast-wrap-ansi0.2.2indirecta
npmfastq1.20.1indirecta
npmfdir6.5.0indirecta
npmfile-entry-cache8.0.0indirecta
npmfill-range7.1.1indirecta
npmfind-up4.1.0indirecta
npmfind-up5.0.0indirecta
npmfix-dts-default-cjs-exports1.0.1indirecta
npmflat-cache4.0.0indirecta
npmflatted3.4.2indirecta
npmfocus-trap7.8.0indirecta
npmforeground-child3.1.0indirecta
npmfsevents2.3.2indirecta
npmfsevents2.3.3indirecta
npmget-east-asian-width1.6.0indirecta
npmglob10.5.0indirecta
npmglob-parent5.1.2indirecta
npmglob-parent6.0.2indirecta
npmglobals17.6.0indirecta
npmglobals^17.6.0indirecta
npmglobby11.0.0indirecta
npmgraceful-fs4.2.11indirecta
npmhappy-dom20.9.0indirecta
npmhappy-dom^20.9.0indirecta
npmhas-flag4.0.0indirecta
npmhast-util-to-html9.0.5indirecta
npmhast-util-whitespace3.0.0indirecta
npmhookable5.5.3indirecta
npmhtml-encoding-sniffer6.0.0indirecta
npmhtml-escaper2.0.2indirecta
npmhtml-void-elements3.0.0indirecta
npmhuman-id4.2.0indirecta
npmiconv-lite0.7.2indirecta
npmignore5.3.2indirecta
npmignore7.0.5indirecta
npmimurmurhash0.1.4indirecta
npmini1.3.8indirecta
npmis-extglob2.1.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-glob4.0.3indirecta
npmis-interactive2.0.0indirecta
npmis-number7.0.0indirecta
npmis-potential-custom-element-name1.0.1indirecta
npmis-subdir1.1.1indirecta
npmis-unicode-supported2.1.0indirecta
npmis-what5.5.0indirecta
npmis-windows1.0.2indirecta
npmisexe2.0.0indirecta
npmistanbul-lib-coverage3.2.2indirecta
npmistanbul-lib-report3.0.1indirecta
npmistanbul-reports3.2.0indirecta
npmjackspeak3.1.2indirecta
npmjiti2.7.0indirecta
npmjoycon3.1.1indirecta
npmjs-beautify1.15.4indirecta
npmjs-cookie3.0.8indirecta
npmjs-tokens10.0.0indirecta
npmjs-yaml3.15.0indirecta
npmjs-yaml4.3.0indirecta
npmjsdom29.1.1indirecta
npmjson-buffer3.0.1indirecta
npmjson-schema-traverse0.4.1indirecta
npmjson-stable-stringify-without-jsonify1.0.1indirecta
npmjsonfile4.0.0indirecta
npmjsonfile6.2.1indirecta
npmkeyv4.5.4indirecta
npmkolorist1.8.0indirecta
npmlevn0.4.1indirecta
npmlightningcss1.32.0indirecta
npmlightningcss-android-arm641.32.0indirecta
npmlightningcss-darwin-arm641.32.0indirecta
npmlightningcss-darwin-x641.32.0indirecta
npmlightningcss-freebsd-x641.32.0indirecta
npmlightningcss-linux-arm-gnueabihf1.32.0indirecta
npmlightningcss-linux-arm64-gnu1.32.0indirecta
npmlightningcss-linux-arm64-musl1.32.0indirecta
npmlightningcss-linux-x64-gnu1.32.0indirecta
npmlightningcss-linux-x64-musl1.32.0indirecta
npmlightningcss-win32-arm64-msvc1.32.0indirecta
npmlightningcss-win32-x64-msvc1.32.0indirecta
npmlilconfig3.1.3indirecta
npmlines-and-columns1.2.4indirecta
npmlinkify-it5.0.1indirecta
npmload-tsconfig0.2.5indirecta
npmlocal-pkg1.2.1indirecta
npmlocate-path5.0.0indirecta
npmlocate-path6.0.0indirecta
npmlodash4.18.1indirecta
npmlodash.startcase4.4.0indirecta
npmlog-symbols7.0.1indirecta
npmlru-cache10.2.0indirecta
npmlru-cache11.5.1indirecta
npmlunr2.3.9indirecta
npmmagic-string0.30.21indirecta
npmmagic-string^0.30.17indirecta
npmmagicast0.5.3indirecta
npmmake-dir4.0.0indirecta
npmmark.js8.11.1indirecta
npmmarkdown-it14.2.0indirecta
npmmdast-util-to-hast13.2.1indirecta
npmmdn-data2.27.1indirecta
npmmdurl2.0.0indirecta
npmmerge21.4.1indirecta
npmmicromark-util-character2.0.0indirecta
npmmicromark-util-encode2.0.0indirecta
npmmicromark-util-sanitize-uri2.0.0indirecta
npmmicromark-util-symbol2.0.0indirecta
npmmicromark-util-types2.0.0indirecta
npmmicromatch4.0.8indirecta
npmmimic-function5.0.1indirecta
npmminimatch10.2.5indirecta
npmminimatch9.0.9indirecta
npmminipass7.1.3indirecta
npmminisearch7.2.0indirecta
npmmitt3.0.1indirecta
npmmlly1.8.2indirecta
npmmri1.2.0indirecta
npmmrmime2.0.1indirecta
npmms2.1.3indirecta
npmmuggle-string0.4.1indirecta
npmmute-stream3.0.0indirecta
npmmz2.7.0indirecta
npmnanoid3.3.12indirecta
npmnanoid3.3.15indirecta
npmnanoid5.1.16indirecta
npmnanospinner1.2.2indirecta
npmnatural-compare1.4.0indirecta
npmnode-addon-api7.0.0indirecta
npmnopt7.2.1indirecta
npmnth-check2.1.1indirecta
npmobject-assign4.1.1indirecta
npmobug2.1.1indirecta
npmohash2.0.11indirecta
npmonetime7.0.0indirecta
npmoniguruma-to-es2.3.0indirecta
npmoptionator0.9.4indirecta
npmoutdent0.5.0indirecta
npmp-filter2.1.0indirecta
npmp-limit2.2.0indirecta
npmp-limit3.0.2indirecta
npmp-locate4.1.0indirecta
npmp-locate5.0.0indirecta
npmp-map2.0.0indirecta
npmp-try2.2.0indirecta
npmpackage-json-from-dist1.0.1indirecta
npmpackage-manager-detector0.2.0indirecta
npmparse58.0.1indirecta
npmpath-browserify1.0.1indirecta
npmpath-exists4.0.0indirecta
npmpath-key3.1.1indirecta
npmpath-scurry1.11.1indirecta
npmpath-type4.0.0indirecta
npmpathe2.0.3indirecta
npmperfect-debounce1.0.0indirecta
npmpicocolors1.1.1indirecta
npmpicomatch2.3.2indirecta
npmpicomatch4.0.4indirecta
npmpify4.0.1indirecta
npmpirates4.0.7indirecta
npmpkg-types1.3.1indirecta
npmpkg-types2.3.1indirecta
npmplaywright1.60.0indirecta
npmplaywright-core1.60.0indirecta
npmpngjs7.0.0indirecta
npmpostcss8.5.15indirecta
npmpostcss8.5.16indirecta
npmpostcss-load-config6.0.1indirecta
npmpostcss-selector-parser7.1.1indirecta
npmpreact10.29.2indirecta
npmprelude-ls1.2.1indirecta
npmprettier2.7.1indirecta
npmprismjs1.30.0indirecta
npmproperty-information7.2.0indirecta
npmproto-list1.2.4indirecta
npmpunycode2.3.1indirecta
npmpunycode.js2.3.1indirecta
npmquansync0.2.11indirecta
npmqueue-microtask1.2.3indirecta
npmread-yaml-file1.1.0indirecta
npmreaddirp4.1.2indirecta
npmregex5.1.1indirecta
npmregex-recursion5.1.1indirecta
npmregex-utilities2.3.0indirecta
npmreka-ui2.9.9indirecta
npmreka-ui^2.9.0indirecta
npmrequire-from-string2.0.2indirecta
npmresolve-from5.0.0indirecta
npmrestore-cursor5.1.0indirecta
npmreusify1.1.0indirecta
npmrfdc1.4.1indirecta
npmrimraf5.0.5indirecta
npmrolldown1.0.3indirecta
npmrolldown1.1.3indirecta
npmrollup4.61.0indirecta
npmrun-parallel1.2.0indirecta
npmsafer-buffer2.1.2indirecta
npmsaxes6.0.0indirecta
npmsearch-insights2.17.3indirecta
npmsemver7.8.1indirecta
npmsemver7.8.5indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmshiki2.1.0indirecta
npmsiginfo2.0.0indirecta
npmsignal-exit4.1.0indirecta
npmsirv3.0.2indirecta
npmsize-limit12.1.0indirecta
npmsize-limit^12.1.0indirecta
npmslash3.0.0indirecta
npmsource-map0.7.6indirecta
npmsource-map-js1.2.1indirecta
npmspace-separated-tokens2.0.2indirecta
npmspawndamnit3.0.1indirecta
npmspeakingurl14.0.1indirecta
npmsprintf-js1.0.3indirecta
npmstackback0.0.2indirecta
npmstd-env4.1.0indirecta
npmstdin-discarder0.3.2indirecta
npmstring-width4.2.0indirecta
npmstring-width5.1.2indirecta
npmstring-width8.2.1indirecta
npmstringify-entities4.0.4indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-ansi7.2.0indirecta
npmstrip-bom3.0.0indirecta
npmsucrase3.35.1indirecta
npmsuperjson2.2.6indirecta
npmsupports-color7.2.0indirecta
npmsymbol-tree3.2.4indirecta
npmtabbable6.4.0indirecta
npmtailwindcss4.3.0indirecta
npmtailwindcss4.3.2indirecta
npmtailwindcss^4.3.0indirecta
npmtapable2.3.3indirecta
npmterm-size2.2.1indirecta
npmthenify3.3.1indirecta
npmthenify-all1.6.0indirecta
npmtinybench2.9.0indirecta
npmtinyexec0.3.2indirecta
npmtinyexec1.2.4indirecta
npmtinyglobby0.2.17indirecta
npmtinyrainbow3.1.0indirecta
npmtldts7.4.2indirecta
npmtldts-core7.4.2indirecta
npmto-regex-range5.0.1indirecta
npmtotalist3.0.1indirecta
npmtough-cookie6.0.1indirecta
npmtr466.0.0indirecta
npmtree-kill1.2.2indirecta
npmtrim-lines3.0.1indirecta
npmts-api-utils2.5.0indirecta
npmts-interface-checker0.1.13indirecta
npmtslib2.8.1indirecta
npmtsup8.5.1indirecta
npmtsup^8.0.1indirecta
npmtsx4.22.4indirecta
npmtsx^4.22.4indirecta
npmturbo2.10.5indirecta
npmtype-check0.4.0indirecta
npmtype-fest4.8.3indirecta
npmtypedoc0.28.19indirecta
npmtypedoc^0.28.19indirecta
npmtypedoc-plugin-markdown4.12.0indirecta
npmtypedoc-plugin-markdown^4.12.0indirecta
npmtypescript6.0.3indirecta
npmtypescript^6.0.3indirecta
npmtypescript-eslint8.60.1indirecta
npmtypescript-eslint^8.60.1indirecta
npmuc.micro2.1.0indirecta
npmufo1.6.4indirecta
npmundici7.28.0indirecta
npmundici-types7.24.6indirecta
npmunist-util-is6.0.1indirecta
npmunist-util-position5.0.0indirecta
npmunist-util-stringify-position4.0.0indirecta
npmunist-util-visit5.1.0indirecta
npmunist-util-visit-parents6.0.2indirecta
npmuniversalify0.1.2indirecta
npmuniversalify2.0.1indirecta
npmunplugin2.3.2indirecta
npmunplugin-dts1.0.2indirecta
npmuri-js4.4.1indirecta
npmutil-deprecate1.0.2indirecta
npmv-calendar3.1.2indirecta
npmv-calendar^3.1.0indirecta
npmvee-validate4.15.1indirecta
npmvfile6.0.3indirecta
npmvfile-message4.0.3indirecta
npmvite6.4.3indirecta
npmvite8.0.16indirecta
npmvite8.1.0indirecta
npmvite^8.0.16indirecta
npmvite-plugin-dts5.0.2indirecta
npmvite-plugin-dts^5.0.2indirecta
npmvitepress1.6.4indirecta
npmvitepress^1.6.4indirecta
npmvitest4.1.10indirecta
npmvitest^4.1.10indirecta
npmvscode-uri3.1.0indirecta
npmvue-component-type-helpers3.3.3indirecta
npmvue-demi0.14.10indirecta
npmvue-eslint-parser10.4.1indirecta
npmvue-screen-utils1.0.0-beta.13indirecta
npmvue-tsc3.3.3indirecta
npmvue-tsc^3.3.3indirecta
npmw3c-xmlserializer5.0.0indirecta
npmwebidl-conversions8.0.1indirecta
npmwebpack-virtual-modules0.6.2indirecta
npmwhatwg-mimetype3.0.0indirecta
npmwhatwg-mimetype5.0.0indirecta
npmwhatwg-url16.0.1indirecta
npmwhich2.0.1indirecta
npmwhy-is-node-running2.3.0indirecta
npmword-wrap1.2.5indirecta
npmwrap-ansi7.0.0indirecta
npmwrap-ansi8.1.0indirecta
npmws8.21.0indirecta
npmxml-name-validator4.0.0indirecta
npmxml-name-validator5.0.0indirecta
npmxmlchars2.2.0indirecta
npmyaml2.9.0indirecta
npmyoctocolors2.1.2indirecta
npmzwitch2.0.4indirecta
Avisos de dependencias 1

Este repositorio no publica ningún paquete que el índice resuelva, así que se evaluó su propio grafo de dependencias — 807 paquetes, que incluyen también fijaciones de desarrollo y prueba que nunca se distribuyen: 1 tienen avisos conocidos, de los cuales 0 son directas. 52 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido, o fuera de la lista de paquetes informada.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
linkify-it5.0.1indirectaalta15.0.2

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [
        "component",
        "frontend",
        "typescript",
        "uikit",
        "vue",
        "vue3",
        "brutalist",
        "brutalist-ui",
        "component-library",
        "design-system",
        "neo-brutalism",
        "shadcn-ui",
        "tailwindcss",
        "ui-library",
        "vite"
      ],
      "is_fork": false,
      "size_kb": 13766,
      "has_wiki": true,
      "homepage": "https://lidaixingchen.github.io/brutxui-vue3/",
      "languages": {
        "CSS": 94607,
        "Vue": 1070037,
        "HTML": 1011,
        "Handlebars": 3699,
        "JavaScript": 44791,
        "TypeScript": 2968635
      },
      "pushed_at": "2026-07-22T21:28:33Z",
      "created_at": "2026-05-31T02:29:21Z",
      "owner_type": "User",
      "updated_at": "2026-07-22T21:28:37Z",
      "description": "新粗野主义风格的Vue3 UI工具包,采用Next.js、Tailwind CSS和shadcn样式组件构建。",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript",
        "Vue"
      ]
    },
    "owner": {
      "blog": null,
      "name": "历代星辰",
      "type": "User",
      "login": "lidaixingchen",
      "company": null,
      "location": null,
      "followers": 4,
      "avatar_url": "https://avatars.githubusercontent.com/u/115717776?v=4",
      "created_at": "2022-10-13T13:40:36Z",
      "is_verified": null,
      "public_repos": 16,
      "account_age_days": 1378
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.9.5",
          "kind": "patch",
          "published_at": "2026-07-17T20:05:17Z"
        },
        {
          "tag": "v0.9.4",
          "kind": "patch",
          "published_at": "2026-07-11T19:02:27Z"
        },
        {
          "tag": "v0.9.3",
          "kind": "patch",
          "published_at": "2026-07-08T23:33:54Z"
        },
        {
          "tag": "v0.9.2",
          "kind": "patch",
          "published_at": "2026-07-07T22:36:42Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2026-07-06T10:57:10Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-07-02T22:08:43Z"
        },
        {
          "tag": "v0.8.2",
          "kind": "patch",
          "published_at": "2026-06-30T14:02:16Z"
        },
        {
          "tag": "v0.8.1",
          "kind": "patch",
          "published_at": "2026-06-29T22:31:36Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-06-28T22:29:36Z"
        },
        {
          "tag": "v0.7.8",
          "kind": "patch",
          "published_at": "2026-06-27T21:18:52Z"
        },
        {
          "tag": "v0.7.7",
          "kind": "patch",
          "published_at": "2026-06-27T19:13:08Z"
        },
        {
          "tag": "v0.7.6",
          "kind": "patch",
          "published_at": "2026-06-27T17:17:26Z"
        },
        {
          "tag": "v0.7.5",
          "kind": "patch",
          "published_at": "2026-06-27T14:38:22Z"
        },
        {
          "tag": "v0.7.4",
          "kind": "patch",
          "published_at": "2026-06-27T13:07:08Z"
        },
        {
          "tag": "v0.7.3",
          "kind": "patch",
          "published_at": "2026-06-25T22:05:43Z"
        },
        {
          "tag": "v0.7.2",
          "kind": "patch",
          "published_at": "2026-06-25T21:19:04Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2026-06-25T17:31:40Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-06-25T17:12:51Z"
        },
        {
          "tag": "v0.6.8",
          "kind": "patch",
          "published_at": "2026-06-24T20:55:10Z"
        },
        {
          "tag": "v0.6.7",
          "kind": "patch",
          "published_at": "2026-06-09T16:06:38Z"
        },
        {
          "tag": "v0.6.6",
          "kind": "patch",
          "published_at": "2026-06-08T21:18:11Z"
        },
        {
          "tag": "v0.6.5",
          "kind": "patch",
          "published_at": "2026-06-07T19:58:57Z"
        },
        {
          "tag": "v0.6.4",
          "kind": "patch",
          "published_at": "2026-06-06T17:54:26Z"
        },
        {
          "tag": "v0.6.3",
          "kind": "patch",
          "published_at": "2026-06-06T10:11:05Z"
        },
        {
          "tag": "v0.6.2",
          "kind": "patch",
          "published_at": "2026-06-04T23:31:00Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2026-06-04T21:51:31Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "d9039dc43c049ee374c7589687b5c3fac990b47f",
          "body": "- overrides 新增 brace-expansion ^2.1.2 / ^5.0.7(GHSA-3jxr-9vmj-r5cp\n  指数级展开 DoS,minimatch 9/10 两条传递链)\n- 三处 script 闭合标签正则由 <\\/script\\s*> 改为 <\\/script\\b[^>]*>:\n  HTML 结束标签允许标签名后带空白与被忽略的属性(如 </script\\t\\n bar>),\n  消除 CodeQL js/bad-tag-filter 告警",
          "is_bot": false,
          "headline": "chore(deps): 修复剩余 4 个安全问题",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-22T21:28:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76f690933b71a68444c9cf39f4c16dec2b3af527",
          "body": "vitepress 内置 vite 升级至 6.4.3 后,原 Vite 5 与 Vite 8 类型冲突\n(TS2321 Excessive stack depth)不再出现,残留指令触发 TS2578。",
          "is_bot": false,
          "headline": "fix(docs): 移除失效的 @ts-expect-error 指令修复 CI typecheck",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-20T21:21:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0408432c292097b655946080ff122f03915d7a0",
          "body": "Dependabot(23 个依赖漏洞):\n- pnpm-workspace.yaml 新增 overrides(pnpm 11 不再读取 package.json\n  的 pnpm 字段):undici ^7.28.0 修复 7 个漏洞,ini ^1.3.8 修复原型\n  污染,vitepress>vite ^6.4.3 修复 10 个 vite 漏洞(5.x 无 fs.deny\n  绕过修复版本),tsup/tsx/@size-limit>esbuild ^0.28.1 修复 Windows\n  任意文件读取\n- cli 直接依赖 diff ^7.0.0 升级至 ^8.0.4(jsdiff\n[…]\nodule-specifiers.ts:字符串掩码由正则改为线性\n  单遍扫描器,消除转义引号序列导致的二次方回溯 ReDoS\n- shared/registry/cli 三处 script 闭合标签正则允许 </script > 尾随空白\n- cli/tests/doctor.test.ts:URL 主机名校验由 includes 子串匹配改为\n  new URL().hostname 精确比较",
          "is_bot": false,
          "headline": "chore(deps): 修复 GitHub 安全报告的 28 个问题",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-20T20:41:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d176bcc2b95a066f0bbaca3eed54e07de2372721",
          "body": "1. 新增theme提交scope说明并补充子scope使用建议\n2. 为所有vue示例添加lang=\"ts\"类型支持\n3. 格式化导航示例的组件名称为粗体\n4. 移除文档中废弃的useLocale相关内容\n5. 更新AGENTS.md、RELEASE.md的命令与链接\n6. 简化changelog侧边栏生成函数的多语言逻辑\n7. 为表单、反馈组件示例补充完整类型定义",
          "is_bot": false,
          "headline": "docs: 更新文档规范、示例与配置,移除废弃的useLocale内容",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-18T00:01:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9430fc637a4025449da6aeeae23cc85252a7a663",
          "body": "重构组件开发流程文档,新增开发自检约束与自动生成文件警告,补充脚手架命令、代码规范与文档链接",
          "is_bot": false,
          "headline": "docs: 更新组件开发文档与项目维护指南",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T23:41:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4197de69fd551000b2c41727423e24c2cd85e1bf",
          "body": "1. 更新设计令牌文档的最佳实践,替换为国际化最佳实践内容\n2. 修复layout-nav.md中的本地绝对路径链接为相对路径\n3. 拆分并重构SKILL.md主文档,新增独立的维护约定章节\n4. 新增完整的组件词典与组合式函数词典文档",
          "is_bot": false,
          "headline": "docs: 批量更新文档与新增组件词典、组合式函数词典",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T23:29:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9542faa593683a3decd6f9ce64eb70341fbf2357",
          "body": "- 在 SKILL.md 中补充新粗野极致视觉、微交互动效一致性、SSR 兼容和 I18n 插值防错规范\n\n- 在 layout-nav.md 中补充三栏协同 Dashboard 大页面复合状态流协同模板",
          "is_bot": false,
          "headline": "docs(ui): 新增 AI 技能高阶优化指南与复合区块协同示例",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T23:08:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ce994ae7d75bdaef8b3df9eb462be645bb394e4",
          "body": "- 清理历史遗留版本描述并优化表单类型\n\n- 引入 TS 严格模式和 A11y 最佳实践小节\n\n- 补充 TreeView、Upload、KanbanBoard 复杂业务模板及 Tailwind v4 theme 规范",
          "is_bot": false,
          "headline": "docs(ui): 优化 AI 技能文档与参考指南",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T23:03:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89459924c396d3789ecf57f2054b194b2b00d1d4",
          "body": "- 将 SKILL.md 同步更新至 v0.9.5 最新规范,移除历史版本变迁信息\n\n- 在 AGENTS.md 中新增技能文档维护规范,约定只保留最新 API 与编码规范",
          "is_bot": false,
          "headline": "docs(skills): 更新 brutxui 技能文档与 AGENTS.md 维护约定",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:48:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2f054a48dd10025c278b4f7d16bd8c23da9f09d",
          "body": null,
          "is_bot": false,
          "headline": "docs(changelog): 精简主 CHANGELOG.md 头部描述并同步更新发版初始化头",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:40:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "432ffa2075c9cc364b489b1b826232531a449a32",
          "body": null,
          "is_bot": false,
          "headline": "fix(changelog): 修复脏提交引发的 TypeError 崩溃与切片倒序引发的爆栈风险",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:35:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2573ca3cce65f2421be2b969646b12c5485d4520",
          "body": null,
          "is_bot": false,
          "headline": "fix(changelog): 修复 Windows CRLF 换行替换失效并添加 index.md 缺失兜底机制",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:34:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d437a96d058239b1517e8262f9d08c1a96e44a1",
          "body": null,
          "is_bot": false,
          "headline": "fix(changelog): 修复 fs 引用 ReferenceError 致命 bug 并优化正则与链接兼容性",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:32:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "482f8ce1c15510f28588f005113eb0c1b4a32673",
          "body": null,
          "is_bot": false,
          "headline": "feat(changelog): 实现全自动滑动窗口归档与裁剪逻辑,并同步更新发版规范文档",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:30:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f873419a5e4b3c2a9d2ed07b2caa2d2fce67e518",
          "body": null,
          "is_bot": false,
          "headline": "docs(changelog): 补齐遗漏的历史归档版本 v0.2.2 与 v0.1.1",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:26:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b773eedc6f646a83ffdabefc9f0ff34f27e2995",
          "body": null,
          "is_bot": false,
          "headline": "docs(changelog): 全面重构、精炼并规范化 v0.8.0 至 v0.1.0 之间的所有历史归档日志",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:20:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27ce5edd126913160b32d13f87845ad68f8e84c9",
          "body": "仅更新了CycloneDX格式sbom文件中的序列号为新的uuid值",
          "is_bot": false,
          "headline": "chore(registry): 更新sbom文件的serialNumber",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:11:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dac2c6fc876594ee05a671f9810e2fbb99e3667e",
          "body": null,
          "is_bot": false,
          "headline": "docs(changelog): 补全并精炼 v0.6.8 至 v0.1.0 历史归档更新日志",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T22:10:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2fbb42584bd0700d97671e70e3b3db4801f1990f",
          "body": "- 修改 turbo.json 的 inputs/outputs 配置并优化 validate 输入路径\n\n- 修正 GitHub Actions 缓存路径,引入特异性 Job 缓存 Key 与滚动更新\n\n- 将 packages/cli 对共享包的依赖移动至 devDependencies 并实现混卷打包\n\n- 对齐 packages/registry 的 bench 脚本命令",
          "is_bot": false,
          "headline": "chore(repo): 修复构建缓存、CI/CD流水线与CLI依赖配置",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T21:58:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "656d1f3ae11f228b9991c023cecc07ac6191e8e8",
          "body": "- 纠偏 GitHub Actions 缓存路径并细化 turbo.json 配置以避免缓存误命中\n\n- 为缓存 Key 增加动态滚动与 Job 隔离以提升构建加速稳定性\n\n- 解除 CLI 的 brutx-shared-vue 运行时依赖,并在 tsup 编译中混卷打包以防公网 404\n\n- 修复 docs 包中 v0.9.0.md 的标签闭合错误与 17 处归档文件死链接",
          "is_bot": false,
          "headline": "chore(ci): 重构 Monorepo 构建缓存与 CI/CD 流水线",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T21:48:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e533ffcaa8fa0d29cf5190935f94f21370064ab",
          "body": "中文 nav 链接从 /changelog/ 改为 /guide/changelog,与英文 /en/guide/changelog 保持路径结构一致。原 /changelog/ 路由仍可通过引导页或侧边栏访问。",
          "is_bot": false,
          "headline": "docs(changelog): 统一中英文主导航链接路径结构",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T21:12:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cdd1a21bdba1029b8e5008086b54f83275a90be1",
          "body": "- 中文 nav 添加「更新日志」链接到 /changelog/ 归档索引页\n- 英文 nav 添加「Changelog」链接到 /en/guide/changelog 引导页(英文 locale 无独立归档目录)",
          "is_bot": false,
          "headline": "docs(changelog): 在主导航栏添加更新日志入口",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T21:09:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f0eff9e85b63c9dcec85e504edd938ee731c15f9",
          "body": "- 新增 generate-changelog.mjs 脚本(pnpm changelog / changelog:dry)汇总 conventional commits 生成根 CHANGELOG 段\n- 引入归档机制:根文件仅保留最近 3 个版本完整段落,更早版本归档至 apps/docs/changelog/ 独立文件\n- 重写根 CHANGELOG.md:v0.9.5/v0.9.4/v0.9.3 完整段落 + 17 个归档版本索引\n- VitePress config 添加 generateChangelogSidebar() 自动生成归档侧边栏(按 major 分组)\n- guide/changelog.md 改造为引导页,避免版本内容重复维护\n- RELEASE.md 补充根 CHANGELOG 生成与归档机制章节\n- AGENTS.md 添加 pnpm changelog / changelog:dry 命令与脚本路径",
          "is_bot": false,
          "headline": "docs(changelog): 引入归档机制与根 CHANGELOG 生成脚本",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T20:59:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66727e6ad728d17ac24eed71a1ca68f9e9a3af8f",
          "body": "更新了多个组件的 integrity 校验值、SBOM 文件的哈希与序列号,以及 registry-cache.json 缓存文件,同时为 DataTable 组件新增了固定列 z-index 常量配置",
          "is_bot": false,
          "headline": "chore: 更新组件包的哈希校验值和缓存",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T20:02:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7faf75d2d3867c9863c75aabfcd5278cf5372bfc",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 0.9.5 for ui and 0.8.0 for cli",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:56:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed730ac6a8cef6e1c10531629622711ad411fa44",
          "body": "新增官方和第三方actions分组规则,拆分minor/patch升级PR,单独处理major升级以便评审",
          "is_bot": false,
          "headline": "ci(dependabot): 优化依赖分组策略",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:45:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fea0faec6ccc416874a4b14f78447a9a5016db56",
          "body": "…dates (#2)\n\nBumps the github-actions group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actions/checkout](https://github.com/actions/checkout) | `4.3.1` | `7.0.0` |\n| [pnpm/action-setup](https://github.com/pnpm/action-setup) | `4.3.0` | `6.0.9` |\n| [actions/se\n[…]\nsion-update:semver-major\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "ci(deps): bump the github-actions group across 1 directory with 11 up…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-17T19:42:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9e07480ced479e0e74b67cbd0822e47812c60c6d",
          "body": "补充供应链安全说明与仓库基础设施相关文档,新增GitHub Actions工作流和Dependabot配置的相关说明,规范SHA pin使用方式",
          "is_bot": false,
          "headline": "docs: add supply chain security and repo infra docs",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:40:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e387daeb3dea40585e9d4ef192023b0d9a609989",
          "body": "由于依赖或构建产物变更,更新测试快照里的包完整性哈希值",
          "is_bot": false,
          "headline": "fix(registry tests): 更新快照中的 integrity 校验值",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:28:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5cf76a2fe70c9989f7a08c2f52f1467a3dc62c04",
          "body": "问题:fallback 单例的 mediaQuery 监听器仅通过 beforeunload 清理,组件卸载时不释放;若直接 onUnmounted(destroyFallback) 会破坏多组件共享单例语义(其他组件仍在使用时被销毁)。\n\n方案:引入 fallbackRefCount 引用计数,useTheme() 在组件 setup 上下文中调用时计数 +1 并注册 onUnmounted 清理;计数归零时才调用 destroyFallback 释放 mediaQuery 监听器。非组件上下文(如 effectScope)不参与计数,保持原有行为。\n\n新增 2 项测试:多组件共享时仅最后卸载触发 destroy;先卸载不影响后组件使用。\n\n对应报告:P2 L-2",
          "is_bot": false,
          "headline": "fix(ui/theme): useTheme fallback 引用计数清理",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:19:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "072682fb4c1b09afb7ae9485ea489f4661f2013f",
          "body": "L-10 WW token 不对称:parseFormattedDate 之前仅支持格式化 WW 不支持解析,导致 roundtrip 失败。新增 WW 正则与 token 提取,新增 dateFromISOWeek 函数按 ISO 8601 反推该周周一日期(week 1 为包含当年第一个周四的周,周一可能落在前一年 12 月);新增 6 项测试覆盖 roundtrip 与跨年边界。\n\nL-3 destroy setTimeout 未跟踪:新增 pendingRemoveTimer 跟踪,setTimeout 前清理前一个 timer,符合通用 timer 管理最佳实践。\n\n对应报告:P2 L-10 / L-3",
          "is_bot": false,
          "headline": "fix(ui/lib): date.ts 补全 WW token 解析与 render-imperative timer 跟踪",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:19:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eaa623952ce298e360c0d30fed903eea9a10d316",
          "body": "L-9 warnedColumns 永不重置:watchEffect 中先清除已移除列的 warnedColumns 记录,使列被动态移除再添加后警告能重新触发,避免警告永久静默;新增动态列增删重警告测试。\n\nL-24 魔法数字提取:pageSize:10 改用 DEFAULT_PAGE_SIZE 常量,4 处 zIndex:10 改用新增的 DATA_TABLE_FIXED_COLUMN_Z_INDEX 常量。\n\n对应报告:P2 L-9 / L-24",
          "is_bot": false,
          "headline": "fix(ui/data-table): 重置 warnedColumns 并提取魔法数字",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:18:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec0bcdd3d39bf2375f5086ec04792aaaad97927c",
          "body": "问题:activeItemIndex 在 foundIndex 为 -1 时回退到 0,导致预选值在当前列选项中未找到时错误高亮首项,误导用户。\n\n方案:直接赋值 foundIndex(-1 表示无高亮),与 activeItemIndex 初始值 -1 的语义一致;新增 modelValue 路径未找到时 activeItemIndex 为 -1 的测试。\n\n对应报告:P2 L-7",
          "is_bot": false,
          "headline": "fix(ui/cascader): 预选值未找到时不再错误高亮首项",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:18:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fec2ff2b3490a03915b6d6243df2baa28df288d",
          "body": "L-5 handleClose 并发守卫:新增 isClosing 标志,try/finally 模式防止用户快速触发关闭(如双击关闭按钮)导致 beforeClose 并发执行产生重复 API 调用或状态紊乱。\n\nL-1 initSize 重复 rAF:调用前 cancelAnimationFrame 取消前一个未触发的 rAF,回调内清空 sizeRafId,避免 contentRef 变化时多个 rAF 堆积读取到错误的 bounding rect。\n\n对应报告:P1 L-5 / P2 L-1",
          "is_bot": false,
          "headline": "fix(ui/dialog): handleClose 并发守卫与 initSize rAF 取消",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:18:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e72cb2587d6966c4114af493e7c0f403e4bc789",
          "body": "M-2 FormWizard:watch(modelValue) 中清除当前步骤之后所有 completedSteps/stepErrors,防止用户返回上游修改数据后下游步骤被跳过验证。\n\nM-7 showMessageBox:删除 isZh 字符串比较反模式,新增 dialog.confirm/cancel 到 zh-CN/en locale,统一通过 t() 函数获取按钮文案。\n\nM-13 TreeView:移除 watch(defaultExpanded) 对 expandedIds 的覆盖;defaultExpanded 现仅为非受控初始值,用户手动展开后不被父组件新值覆盖,受控同步请使用 v-model:expanded。\n\n对应报告:P1 M-2 / M-7 / M-13",
          "is_bot": false,
          "headline": "fix(ui): 修复 FormWizard/Dialog/TreeView 三处状态与 i18n 问题",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:18:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24a7c38ccfb76fb069508ddb6e816807bcf177e3",
          "body": "问题:useToast.addToast 内部 setTimeout 自动移除 toast,与 Toast.vue 自身 duration 定时器并存,导致重复触发 removeToast 与状态紊乱。\n\n方案:移除 useToast 内部定时器,由 Toast.vue close 事件触发 removeToast;ToastContainer 增加默认 slot fallback 自动渲染 Toast 列表,使 <ToastContainer /> 简单用法仍可工作。\n\n对应报告:P0 H-1",
          "is_bot": false,
          "headline": "fix(ui/toast): 修复 useToast 与 Toast.vue 双定时器冲突",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T19:18:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ec0ec3c023d61a11b4832f4f9c12091983cd4b3",
          "body": "1. 补全bench-diff.mjs的错误处理注释,说明不直接退出的原因\n2. 新增2026-07-18辅助包bug扫描报告\n3. 新增2026-07-18UI包全面bug扫描报告\n4. 新增BrutxUI Vue3项目架构优化方案v3文档",
          "is_bot": false,
          "headline": "docs: add multiple audit reports and architecture optimization plan",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T18:58:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35a201c5759bb8d8f9f352171b0389b5a995f6cc",
          "body": "- N-1: HomeCodePreview.vue 示例代码 BButton → Button(6 处),与 button/index.ts 实际导出对齐\n- N-2 + L-17: 5 个工作流 44 处 uses 全部 SHA pin + 新增 .github/dependabot.yml 自动维护\n- N-3: scan-phantom-deps.mjs 移除硬编码白名单,改运行时读取 package.json(含 peerDeps)\n- N-4: bench-diff.mjs 用 BenchDiffError + 顶层 try-catch 替代 process.exit(1),输出结构化错误报告",
          "is_bot": false,
          "headline": "fix: 修复根仓库扫描报告 root-scan-2026-07-18 的 5 项发现",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T18:54:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e40d92a13c0aa12a799e3a51df5d05834e0a22e",
          "body": "依据 docs/review/auxiliary-packages-bug-scan-2026-07-18.md 修复 N1-N5:\n\n- cli/project.ts (N1): resolveImportAlias 对 @/lib/ 别名增加非 sharedBase\n  分支,重写到 path.dirname(aliases.utils),与 composables/locales/directives\n  保持对称;修复用户自定义 aliases.utils 脱离 @/lib/utils 形态时跨文件\n  @/lib/<x> 导入断裂问题\n- cli/project.ts (N5): r\n[…]\nvalidate-utils.ts (N2): NON_COMPONENT_DEP_NAMES 删除不存在\n  的 locale-en 条目\n- cli/tests/project.test.ts: 更新 N1 测试断言并新增触发场景测试\n\nN6(extractScriptBlocks 正则限制)已在源码注释文档化,当前不触发,\n迁移到 @vue/compiler-sfc 属独立改造,本轮未处理。",
          "is_bot": false,
          "headline": "fix: 修复辅助包 bug 扫描发现的 5 项问题",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T18:47:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e03694e2a2f37363e98a500fc0b10fb56b8c2aec",
          "body": "将首页统计中的TypeScript占比统计替换为源码掌控度统计,同时更新了多语言配置项和翻译内容",
          "is_bot": false,
          "headline": "chore(home stats): replace typescript stat with source ownership",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T18:15:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "009d23f942d3791975a3b44762bcec7e412d8ad5",
          "body": "问题原因:我们在 config.ts 中使用了 process.env.VERCEL 动态调整 base,但由于 Turborepo 构建任务默认隔离了环境变量,底层的 VitePress 无法读取该变量,造成在 Vercel 部署上 base 仍然解析为了有子路径的版本。\n\n修复方案:在 turbo.json 中将 VERCEL 添加到 build 任务的 env 声明中,透传给构建子进程并作为缓存 Hash 依据。",
          "is_bot": false,
          "headline": "fix(vercel): 在 turbo.json 中透传 VERCEL 环境变量以正确匹配路径缓存",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T18:03:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e21fae29479a73dac6a04cd0406f1fa908ba6f47",
          "body": "问题原因:原配置中 base 硬编码为 /brutxui-vue3/,对于 GitHub Pages 的子路径部署是正确的。但 Vercel 部署在该域名的根路径下,导致浏览器去请求 /brutxui-vue3/assets/... 的资源文件均报 404 错误,使得样式和脚本完全丢失。\n\n修复方案:修改 apps/docs/.vitepress/config.ts,根据 process.env.VERCEL 判断,当在 Vercel 部署时将 base 设为 /,在其他环境保留 /brutxui-vue3/。",
          "is_bot": false,
          "headline": "fix(docs): 动态设置 vitepress 的 base 路径以适配 Vercel 根域名部署",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T11:47:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b56550c4ba4f54d63575bbcb22cb1a86131cc39e",
          "body": "问题原因:Vercel 部署 docs 站点时将 Root Directory 设置为 apps/docs 目录,命令执行和部署收集的相对路径均以 apps/docs 为起点。原本的 outputDirectory 设置为 apps/docs/.vitepress/dist 导致找不到物理路径。\n\n修复方案:将 vercel.json 中的 outputDirectory 修正为相对路径 .vitepress/dist。",
          "is_bot": false,
          "headline": "fix(vercel): 修复 vercel.json 中的 outputDirectory 相对路径",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T11:43:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc1c554c2445c04a5b25cb0c8ba137749db5e5d3",
          "body": "问题原因:Vercel 部署 docs 站点时,其执行命令的 cwd 在子包 apps/docs 目录下,由于该目录下 package.json 不存在 build:docs script,导致报错。\n\n修复方案:在 vercel.json 的 buildCommand 中,在执行 pnpm build:docs 前先 cd ../.. 返回到根目录下执行。",
          "is_bot": false,
          "headline": "fix(vercel): 返回根目录执行 build:docs 解决部署命令找不到的问题",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T11:37:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7245972fbe1a6cd36b287201a7fc10c07830efd",
          "body": "问题原因:\n1. 构建过程中,prebuild 脚本生成了 src/components/*/index.ts、manifest 等 gitignored 衍生文件。但在 turbo.json 中未将其声明在 build 任务 outputs 中,导致远程缓存恢复时丢失了这些文件,使得后续测试任务在导入组件时报 Cannot find module 错误。\n2. docs 构建生成 .vitepress/dist。但由于 outputs 默认只包含 dist/**,导致部署流从缓存恢复时未还原该目录,从而使得 upload-pages-artifact 失败。\n\n修复方案:\n在 turbo.json 的 build 任务 outputs 中,补充 .vitepress/dist/** 路径以及 prebuild 衍生文件的匹配路径,确保它们被 turbo 缓存并还原。",
          "is_bot": false,
          "headline": "build(ci): 修复 turbo.json 缓存输出,解决测试与文档部署资源缺失问题",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-17T11:29:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3294cffbd92263cd91c9cec6c4b3f4589f4fb4b",
          "body": "问题原因:docs 等包在 CI 并行运行 typecheck 时,由于没有配置对依赖项 build 的依赖,导致无法找到 brutx-ui-vue 导出类型。修复方案:在 turbo.json 的 typecheck 任务中配置 dependsOn: ['^build']。",
          "is_bot": false,
          "headline": "ci: 修复 turbo.json 中 typecheck 任务依赖",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T23:39:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "351a20d51eb257f25504165abcffb08de926bb95",
          "body": "问题:CI/Deploy/Publish 工作流耗时过长(CI ~358s、Deploy ~118s、Publish ~280s),存在串行执行、冗余构建、不必要依赖安装等问题。\n\n方案:\n- ci.yml: 拆分单一 job 为 4 个并行 job(quality/test/visual/integration),添加 turbo 本地缓存,Node 24 矩阵仅保留在 test job,动态 fetch-depth\n- deploy-docs.yml: 移除 docs prebuild(turbo dependsOn 已处理依赖顺序),改用 pnpm build:docs,添加 turbo 缓存\n- publish.yml: 移除不必要的 Playwright 安装(test=vitest run 不需要浏览器),添加 turbo 缓存,清理 FORCE_JAVASCRIPT_ACTIONS_TO_NODE24\n- vercel.json: buildCommand 同步改为 pnpm build:docs",
          "is_bot": false,
          "headline": "ci: 优化三套工作流并行化与缓存策略",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T23:26:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b704ff256d9af02db83fd9ad340ff999ec5395db",
          "body": "为视觉回归测试强制指定Inter字体,消除不同系统默认字体差异带来的尺寸偏移,更新spinner的基准快照文件",
          "is_bot": false,
          "headline": "fix(visual-test): 修复跨系统字体差异导致的视觉快照失败",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T22:49:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5343591685ae680bb836a4d789d188a333c5cc23",
          "body": "将DropdownMenu改为DropdownMenuRoot以匹配最新的组件API,修复组件渲染异常问题",
          "is_bot": false,
          "headline": "fix(ui:visual): 修复reka-ui下拉菜单组件命名错误",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T22:28:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "641fc62ec33d79d34b657086760ed3fb91119766",
          "body": "修改了ci和publish工作流中的turbo调用命令,通过pnpm exec来执行turbo,确保使用项目本地的turbo版本",
          "is_bot": false,
          "headline": "ci: 为turbo命令添加pnpm exec前缀",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T22:13:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e986f3cd0128c6ff990c710dbf39e8bb50602ea0",
          "body": "1.  抽离共享的组件索引文件生成逻辑到 shared 包\n2.  移除本地重复的生成代码,改用共享函数\n3.  自动处理 index.ts 桶文件生成,避免循环依赖和CI构建问题\n4.  更新所有注册表文件的注释和哈希值",
          "is_bot": false,
          "headline": "refactor: 重构组件索引生成逻辑,统一实现方式",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T22:06:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "600ef2709254d278792aeb4904cadf07929dcdb3",
          "body": "问题:upload 组件的 5 个源码文件(Upload.vue、UploadFileList.vue、\nUploadFileItem.vue 及 2 个 test)import 类型 from \"./index\",但\nindex.ts 是构建时由 prebuild:component-index 自动生成的,源码阶段\n不存在。\n\nCI 全新 checkout 时 prebuild:scan 先于 prebuild:component-index\n执行,scan 读取 Upload.vue 时尝试解析 \"./index\" import,因文件不\n存在导致 ENOENT,构建失败。\n\n本地之前能通过是因为历史遗留的 index.ts 未被清理,掩盖了问题。\n\n修复:将 \"./index\" 改为 \"./upload-types\"(类型的实际定义位置),\n源码不应依赖构建产物。",
          "is_bot": false,
          "headline": "fix(upload): 修正类型 import 路径,修复 CI 构建失败",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T21:43:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8680c28a25de83e68a53a075d9d62e2cca7def8e",
          "body": "修复方案 V2 验收过程中发现的 6 项问题:\n\n- §5.1 turbo 远程缓存:ci.yml + publish.yml 启用 TURBO_TOKEN\n  /TURBO_TEAM(方案明确禁止未配置远程缓存就上线 turbo)。按 Vercel\n  Remote Cache 标准流程,TURBO_TEAM 改用 vars(团队 slug 非敏感)\n- §3.3 SSR smoke 测试:覆盖从 30 扩展到 195 个,补齐全部 86 个组件\n  + 34 个 composable,分 3 层(简单组件 / provider 嵌套 / wrapper)\n- §4.3 performanc\n[…]\n§5.2 PR 模板修正 vitest-axe 引用为 axe-core(§1.1 已移除 vitest-axe)\n- §2.2 新增迁移指南(中英文):说明 reka-ui 原语不再 re-export,\n  用户须直接安装 reka-ui;VitePress 侧边栏同步\n\n验证:typecheck 通过(exit 0)、SSR 测试 195/195 通过、\ni18n 镜像 106/106 完整",
          "is_bot": false,
          "headline": "fix: 补齐方案 V2 验收遗漏项与 bug",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T21:39:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6d4a9cf54f73732b9fabb0bd18ab80579cf0a3a6",
          "body": "- scripts/check-i18n.mjs: 比对 apps/docs/ 与 apps/docs/en/ 下 .md 文件名集合,零依赖\n\n- package.json: 新增 check:i18n(--report 仅打印)/ check:i18n:strict(缺失即 exit 1)\n\n- ci.yml: 新增 i18n mirror check 步骤(continue-on-error,仅作 PR 评论提示)\n\n当前状态:105/105 完全镜像,无缺失\n\nchore: no-changeset",
          "is_bot": false,
          "headline": "feat(docs): 新增 i18n 镜像校验脚本(§6.1)",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T20:59:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0409f431f159390ca6f65dfdbd6877f579757e63",
          "body": "- pnpm-workspace.yaml: 删除 shamefullyHoist: true\n\n- packages/ui/package.json: 补 brutx-shared-vue devDependency(scripts/generate-styles-tokens.ts 与 prebuild-scan.ts 此前靠 hoist 才能解析)\n\n- scripts/scan-phantom-deps.mjs: 扩展扫描范围到 packages/ui/scripts,同步 DECLARED 集合(brutx-shared-vue/reka-ui/size-limit 系列)\n\n- d\n[…]\n出源根)\n\n- packages/registry/registry/*.json: 重建以纳入 §2.1 新增的 components/ui/*/index.ts(自动生成产物)\n\n验证:pnpm install 通过 / turbo run build 全部通过 / pnpm --filter docs build 通过 / CLI --help 通过\n\nchore: no-changeset",
          "is_bot": false,
          "headline": "build: 移除 shamefullyHoist 显式化包间依赖(§1.4+§5.3)",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T20:57:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5e28af6ef4ea2b50d9b0cce02464d8cfac2ea022",
          "body": "- 删除 scripts/release/check-release.mjs 与 generate-changelog.mjs\n\n- 根 package.json: 移除 release:check/changelog* 脚本,新增 changeset/version-packages/release\n\n- 新增 .changeset/config.json(access=public, commit=true, ignore=[docs])\n\n- publish.yml: release:check → turbo run build test typecheck lint + 未消费 ch\n[…]\nyml: 新增 PR changeset 存在性检查([no-changeset] 显式豁免)\n\n- 新增 .github/PULL_REQUEST_TEMPLATE.md(含 changeset 检查项)\n\n- 同步更新 AGENTS.md / CONTRIBUTING.md / docs/RELEASE.md / 中英文 contributing.md\n\nchore: no-changeset",
          "is_bot": false,
          "headline": "build: 引入 changeset 版本管理替换自研发布脚本(§5.2)",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T20:43:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "86ba7bf9922bf1536718c2667e66674742d07260",
          "body": "- 新增 turbo.json:build/test/test:ssr/typecheck/lint/validate/bench/clean 任务定义,含 inputs/outputs/dependsOn 依赖图\n\n- 根 package.json 脚本从 pnpm -r/pnpm --filter 迁移到 turbo run,删除冗余 build:ui\n\n- CI 工作流迁移到 turbo:pnpm build/typecheck/lint/test/test:ssr 替代串行 pnpm --filter\n\n- 修复 docs demo 的 reka-ui 导入:7 个 demo 文件将 \n[…]\ndocs 添加 reka-ui 依赖\n\n- 远程缓存配置预留(TURBO_TOKEN/TURBO_TEAM env vars 注释在 ci.yml 中,需用户配置 Vercel Remote Cache)\n\n验证:turbo run typecheck(5 包通过)+ turbo run lint(通过)+ turbo run build --filter=brutx-ui-vue(38s 通过)",
          "is_bot": false,
          "headline": "build: 引入 turbo 构建增量编排(§5.1)",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T20:36:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e01aeb9f47f8635135e53385c67321c29dc6e2a9",
          "body": "调整弹窗初始化时的文档和body检查逻辑,先获取文档对象再判断合法性,避免直接非空断言导致的运行时错误,同时简化后续的body调用写法",
          "is_bot": false,
          "headline": "fix(dialog): 修复无文档或无body时的弹窗创建异常",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T20:24:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e80fd3a8de9ecf316e60fe2c7c8bc5bb21a55ac9",
          "body": "P1 完成后实测:lines 80.94%, functions 80.23%, branches 69.32%, statements 79.84%\n\nT3 = max(T2, actual' - 2%) 向下取整到 5 的倍数:lines 75, functions 75, branches 65, statements 75(与 T2 持平,未提升)",
          "is_bot": false,
          "headline": "chore(ui): 记录 coverage 阈值阶段 3 测量数据(§1.5)——T3 与 T2 持平",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T20:23:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6da8a43c3693df52f90dfbe79ca6debb52d35b9b",
          "body": "- §4.1 新增 vitest bench 基准:perf/render.bench.ts(DataTable+TreeView 各 100/1000 项),添加 bench/bench:json 脚本,创建 scripts/bench-diff.mjs PR 对比脚本,创建 .github/workflows/bench.yml CI 工作流(PR 评论发布对比报告,非门禁)\n\n- §4.2 审计 DataTable/TreeView/VirtualScroll/Cascader 的 v-memo/shallowRef/markRaw 使用,输出 docs/audit/perf-audit.md。结论:均合理使用 shallowRef,v-memo 暂不引入(依赖数组复杂,优先用 virtualScroll prop)\n\n- §4.3 更新 performance.md:新增 §7(v-memo/markRaw/shallowRef 取舍指南,含正例反例)和 §8(性能基准数据与回归判定标准)\n\n验证:typecheck + lint + bench 试跑全部通过",
          "is_bot": false,
          "headline": "perf(ui): 运行时性能体系(§4)——bench 基准 + 组件审计 + 最佳实践文档",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T20:13:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f13c3f0321f0184f56dce1139a447b107398d77a",
          "body": "- §3.1 扩展 lib/env.ts:新增 16 个 SSR-safe API(getWindow/getDocument/matchMedia/getLocalStorage/requestAnimationFrame/IntersectionObserver 等),所有 DOM/BOM 访问统一路由通过该层\n\n- §3.2 ESLint 拦截:no-restricted-globals(window/document/navigator 等 15 个)+ no-restricted-syntax(window./globalThis./self. 成员访问),生产代码 error 级,\n[…]\nnfig.ts(node 环境)+ ssr-smoke.test.ts(30 用例:22 组件渲染 + 8 组合式函数 setup),新增 test:ssr 脚本\n\n- 同步更新 useTheme.test.ts / theme-variables.test.ts 的 vi.mock 工厂\n\n验证:typecheck + lint + 3116 单元测试 + 30 SSR smoke 测试全部通过",
          "is_bot": false,
          "headline": "refactor(ui): SSR 兼容性治理(§3)——env.ts 工具层 + lint 拦截 + smoke 测试",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T20:05:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d3a35acdc756bb12caad3f133ad1bdbba809a7fd",
          "body": "- 删除根级 src/*.ts 包装文件(calendar/carousel/dialog 等 13 个),\n  组件子路径现由自动生成的 components/<name>/index.ts 提供\n- 新增 prebuild:component-index 脚本,从 registry-manifest.json 自动\n  生成 86 个组件 index.ts(gitignore 派生产物)\n- 新增 prebuild:exports / postbuild:exports / check:exports 脚本,\n  从 exports-manifest.json 自动生成 package.j\n[…]\n再导出 useCarousel,改用 brutx-ui-vue/useCarousel\n- 同步更新 date-picker.md / carousel.md 文档与 DatePickerDemo.vue\n- smoke-package.mjs:ESM-only 包跳过 CJS 烟雾测试\n- copyStylesPlugin:递归扫描 dist/ 查找 CSS 产物(兼容 assets/ 子目录)",
          "is_bot": false,
          "headline": "refactor(ui): exports 子路径自动化与多入口 ESM 构建(BREAKING)——P1-§2.1",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T19:23:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4c0d7e0404cbbdce881fedc2378c568ac0fece81",
          "body": "落实 ARCHITECTURE_OPTIMIZATION_PLAN_V2 §2.2:直接移除 index.ts 中全部 8 处 reka-ui 值 re-export,组件库不再充当第三方原语代理入口。\n\n被移除的 re-export:Dialog/DialogTrigger/DialogPortal/DialogClose、AlertDialog/AlertDialogTrigger/AlertDialogPortal、Sheet/SheetTrigger/SheetPortal/SheetClose、Popover/PopoverTrigger/PopoverAnchor、Tooltip/\n[…]\n Popover, Tooltip, ... } from 'brutx-ui-vue' 的用户代码需改为直接 import { DialogRoot as Dialog } from 'reka-ui'。reka-ui 仍作为 peerDependencies 保留(组件内部使用),但不出现在公共 API 表面。0.x 阶段在下一个 minor 发版、CHANGELOG 标注 BREAKING。",
          "is_bot": false,
          "headline": "refactor(ui): 移除主入口 reka-ui re-export(BREAKING)",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T18:55:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "90989acc2bb03d73e73944830180ded145bd4fd2",
          "body": "落实 ARCHITECTURE_OPTIMIZATION_PLAN_V2 第 1 章 P0 五项:\n\n§1.1 vitest-axe 兼容性修复:移除 vitest-axe 依赖与 vitest-axe.d.ts,a11y.ts 改用 axe-core 原生 API + 自定义违规详情错误信息,vitest.setup.ts 与 typedoc.json 同步清理。\n\n§1.2 visual 回归基线扩展:visual/App.vue 新增 URLSearchParams query 路由(不引入 vue-router),新增 5 核心组件 × 2 主题 = 10 张基线 PNG,core.s\n[…]\n与字符串字面量),新增 docs/audit/ 三份审计报告,实测 0 phantom deps,P2 移除阶段待动态验证。\n\n§1.5 coverage 阈值提升阶段 2:vitest.config.ts 阈值 60→75(lines/functions/statements)、50→65(branches),按 T2 = max(阶段1, actual - 2%) 向下取整到 5 的倍数推导。",
          "is_bot": false,
          "headline": "chore(ui): 完成 v2 方案 P0 工具链健康度",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T18:38:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "55d4949e9f71102092a1fecc4d8adb2ea51b518e",
          "body": "补充并完善了无障碍测试、视觉回归、体积监控、SSR 治理、性能基准等多个模块的具体实现方案,包括:\n1. 重写 a11y 测试工具,优化错误提示信息\n2. 调整视觉 harness 实现,改用 URLSearchParams 自研 query 解析\n3. 替换 size-limit 构建工具为 esbuild 版本\n4. 补充 shamefullyHoist 移除的审计脚本细节\n5. 扩展 env.ts 工具层,完善 SSR 安全封装\n6. 新增 SSR  smoke 测试用例规范\n7. 改用 vitest bench 替代 tinybench 做性能基准\n8. 调整依赖审计方案,使用 depcheck 检测 phantom dependency\n9. 修正文档中多处细节描述与命令示例",
          "is_bot": false,
          "headline": "docs: update ARCHITECTURE_OPTIMIZATION_PLAN_V2",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T17:52:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5df18faa915fc642674b9b5ca57c2a89945a3df3",
          "body": "通过 try-catch 分别兼容源码开发和打包后的 package.json 相对路径",
          "is_bot": false,
          "headline": "fix(cli): 修复打包后 doctor 命令找不到 package.json 的问题",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T11:56:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66a85dd0b64970c83bc90b7fbdaf93caf1c8e5ba",
          "body": null,
          "is_bot": false,
          "headline": "chore: 新增 .gitattributes 配置文件",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-16T11:43:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1b6392ece95964708d8e9536af75d3a5a2c70df",
          "body": "validate-registry.ts 把 registry-sbom.json 当作普通组件文件处理,导致两个错误:缺失 shadcn \\、未在 index.json 注册。在文件过滤中排除该文件(与 index.json/registry-manifest.json 同处理)。",
          "is_bot": false,
          "headline": "fix(registry): validate 排除 registry-sbom.json 文件",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T21:11:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49bfe64dd159e027cae9b1695152db866805aaaa",
          "body": "大幅修订架构优化计划:vitest-axe 改为直接使用 axe-core 原生 API、visual 回归测试基线扩展、re-export 审计、SSR smoke 测试、性能基准与 DataTable 性能审计、渲染优化(v-memo/shallowRef/markRaw)等。",
          "is_bot": false,
          "headline": "docs: 修订架构优化计划 v2",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T21:05:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7db7b53e1977130d711ec83d11c0f573c522908d",
          "body": "中英双版 cli.md 同步补全:\n\n1. 版本锁定节扩充 4 小节:与 --registry 的交互(仅 GitHub raw URL 生效,否则 REGISTRY_VERSION_UNSUPPORTED)、版本混用 warn 提示、update --across-versions 跨版本约束。\n\n2. doctor 选项表新增 --sbom / --sbom-output。\n\n3. update 选项表新增 --across-versions。\n\n4. 全局选项表新增 --require-signature。\n\n5. 新增《供应链安全:签名与 SBOM》章节:信任公钥配置(BRUTX_REGISTRY_PUBLIC_KEYS)、默认 warn vs 严格模式(--require-signature / BRUTX_REQUIRE_SIGNATURE)、密钥轮换流程、注册表 SBOM(构建时)、项目 SBOM(doctor --sbom)。",
          "is_bot": false,
          "headline": "docs(cli): 补全版本锁定与供应链安全文档——P0-3",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T21:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c1adf6c5dee40e95e3b79f91f06be9544ff1447",
          "body": "doctor 新增 --sbom/--sbom-output flag:读取已安装组件 manifest 生成 CycloneDX 1.5 SBOM(bom-ref 依赖图 + hashes + integrity),默认输出 ./brutx-sbom.json,无组件时报错退出。新增 3 个 doctor --sbom 测试。\n\n签名默认 warn:verifyManifestSignature 失败时默认打印 warn 并返回 false(不阻塞),通过 --require-signature flag 或 BRUTX_REQUIRE_SIGNATURE=1 环境变量激活严格模式(抛 RE\n[…]\n(仿 global-dry-run 模式)。\n\n测试调整:signature.test.ts 原 5 个 throw 用例改为 strict mode + 新增 5 个默认 warn 用例 + key rotation 拆分;registry.test.ts P1-6 集成测试 4 个改 strict + 3 个新增默认 warn;新增 signature-mode.test.ts 13 个用例。",
          "is_bot": false,
          "headline": "feat(cli): doctor --sbom 与签名默认 warn 严格模式——P1-6",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T21:04:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "400928eed5bb2298cd870944a12dbaab6a5db56c",
          "body": "构建时自动生成 registry-sbom.json,包含所有组件与 npm 依赖的 bom-ref 依赖图、integrity 字段(sha256 over bomFormat/specVersion/components)以及 manifestIntegrity 字段绑定对应 manifest。\n\nverify-build 的 diff 排除字段改为按文件区分(FILE_EXCLUDED_FIELDS),将 SBOM 的随机 serialNumber 排除在对照之外。\n\n新增 4 个 SBOM 测试:CycloneDX 1.5 格式、integrity 确定性、内容变更 integrity 不同、computeSbomIntegrity 导出。",
          "is_bot": false,
          "headline": "feat(registry): 新增 CycloneDX 1.5 SBOM 生成——P1-6",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T21:03:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7864ee1698df2da3f42e3960aaaf806d4d463c5e",
          "body": "该提交新增了BrutxUI (Vue 3)项目的v2架构优化方案文档,该方案基于v1已落地成果,针对后续演进方向分工具链健康度、产物治理、SSR兼容、运行时性能、monorepo治理和文档优化六大模块,按风险收益分为P0/P1/P2三阶段逐步落地,同时明确了各模块的现状痛点与落地方案。",
          "is_bot": false,
          "headline": "docs: add v2 architecture optimization plan for BrutxUI Vue3",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T20:28:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9995151b90a30be3e83dc4a2783843666dea0584",
          "body": "1. 新增 RELEASE.md 文档规范 breaking change 迁移指南模板,明确提交标记与落地要求\n2. 在 CLI doctor 命令中新增 monorepo 子包检测提示,引导用户正确在子包执行命令\n3. 更新 AUXILIARY_PACKAGES_IMPROVEMENT_PLAN_V2.md,标记组件迁移引擎与 monorepo 支持项暂缓,并关联已落地的替代方案\n4. 为 workspace 检测功能添加完整单元测试用例",
          "is_bot": false,
          "headline": "docs(cli): 补充 breaking change 迁移规范与 monorepo 提示",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T20:08:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19a85fcdd45c926257660577cffc62632504296b",
          "body": "- AGENTS.md:新增 Registry 包命令小节(build/build:watch/build:verify/build:bench/validate),CLI 工具小节补充 audit.ts/global-dry-run.ts/logger.ts verbose 描述,注册表构建器小节补充 validate-utils.ts 与 deps.dot/deps.json 产物\n\n- apps/docs/guide/cli.md 与 apps/docs/en/guide/cli.md:新增全局选项/全局 dry-run/verbose 等级/审计日志章节(中英文同步)\n\n- packa\n[…]\n\n\n- docs/AUXILIARY_PACKAGES_IMPROVEMENT_PLAN_V2.md:Item 11(registry watch)标记已完成并补落地说明,路线图与 P2 列表同步\n\n- 附带优化:packages/registry/scripts/build-registry.ts watch 模式 debounce timer 清理,避免多次触发堆积与 SIGINT 时资源泄漏",
          "is_bot": false,
          "headline": "docs: 同步 P1-8 与 P2.3 新功能文档",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T19:59:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1c8ea7d3193c7af81f0b9adcfa4278b29b749258",
          "body": "监听 UI 源码变化,增量 rebuild registry JSON,提升组件开发体验。\n\n- build-registry.ts: 把 REGISTRY 改为 let + 导出 reloadRegistry(),watch 时可重新加载\n- 新增 runPrebuildScan():复用 prebuild-scan 逻辑,watch 时更新 registry-manifest.json\n- 新增 runWatch():fs.watch 递归监听 UI 源码目录(components/composables/locales/lib/directives)+ shared/src/compon\n[…]\nwatch flag 或 BRUTX_WATCH=1 环境变量激活\n- package.json 新增 build:watch 脚本\n- cli/index.ts: applyGlobalOptionsFromArgv 改为接收预处理后的 argv(避免重复检测 -v/-vv/-vvv)\n- 新增 10 测试(reloadRegistry + runPrebuildScan 幂等性 + 覆盖配置)",
          "is_bot": false,
          "headline": "feat(registry): registry build watch 模式——P2.3",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T19:47:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d9bc8fcc360ce78d8ac6a9cc2c07ffdf2301103a",
          "body": "新增审计日志、全局 dry-run 开关、verbose 等级,提升 CLI 操作可观测性与安全性。\n\n- 新增 audit.ts:.brutx/audit.log JSONL 审计日志,记录 add/remove/update/diff 的命令/组件/源/integrity/时间戳/成功状态/dry-run 标志;写入失败不阻塞主操作\n- 新增 global-dry-run.ts:BRUTX_DRY_RUN=1 或 --dry-run 全局 flag 激活;mergeDryRun() 合并命令级与全局级 dry-run 标志\n- 扩展 logger.ts:verbose 等级(0-3)支持 \n[…]\ny-run、--verbose-level flag,预解析 -v/-vv/-vvv\n- add/remove/update/diff 接入 withAuditLog() 自动记录成功/失败\n- doctor 新增 checkAuditLog 检查,报告最近 5 条失败记录线索\n- 新增 52 测试(audit 20 + logger-verbose 17 + global-dry-run 15)",
          "is_bot": false,
          "headline": "feat(cli): CLI 操作审计与全局 dry-run——P1-8",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T19:37:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1d39b6ae7f54b981dae149b3ccc64b4f70b1c7d9",
          "body": "- shared: 新增 extractClassifiedModuleSpecifiers,返回 specifier + isTypeOnly + isDynamic\n  - 用 AST 区分 import type { ... } 与值导入;混合导入 (import { type Foo, bar })\n    仍标记为运行时依赖。同一 specifier 多次引用时优先运行时,仅当全部为 type-only 才标记。\n- registry/validate-utils: 用 AST 替换原有正则,避免误报 type-only 跨组件导入\n  - 新增 classifyRegistryIm\n[…]\neps.json\n- .gitignore: 排除 deps.dot 与 deps.json(按需生成)\n- 测试:新增 31 个用例(extractClassifiedModuleSpecifiers 10 + extractRegistryDeps type-only 6 + classifyRegistryImport 7 + buildDependencyGraph/DOT/JSON 8)",
          "is_bot": false,
          "headline": "feat(registry): 依赖分析深化与依赖图导出——P1-7",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T19:22:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a7e36ef5a62f906a3cc8f702dbbce62e678676f5",
          "body": "之前 firstError 恒为 null,REGISTRY_OFFLINE_UNAVAILABLE 丢失根因。\n现在捕获首个 CliError 作为 cause 传播,非 CliError 失败仍保持 cause 为 null。",
          "is_bot": false,
          "headline": "fix(cli): fetchWithSources 离线全失败时保留首个 CliError 作为 cause",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T19:06:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ce99d701b42f9ba2aaf892dfeeda9b624083faa",
          "body": "…TURE_INVALID\n\n新增 signature.ts 集中实现供应链签名验证:\n- verifyManifestSignature:对 manifest.integrity 字段值做 Ed25519 验签(integrity 已绑定 manifest 内容,签名 integrity 即绑定全 manifest)\n- loadTrustedPublicKeys:从 BRUTX_REGISTRY_PUBLIC_KEYS 环境变量加载 JSON 公钥列表 [{keyId, publicKey}]\n- generateEd25519KeyPair + signManifestIntegrity\n[…]\n换场景\n- registry.test.ts(8 个集成):getItem + 签名 manifest 全链路(有效签名/无签名兼容/无公钥跳过/篡改签名/未知 keyId/内容替换/密钥轮换/CliError 实例断言)\n- error-advice.test.ts(3 个):REGISTRY_OFFLINE_UNAVAILABLE + REGISTRY_SIGNATURE_INVALID 建议",
          "is_bot": false,
          "headline": "feat(cli): manifest 签名验签基础设施——P1-6 Ed25519 签名 + 公钥轮换 + REGISTRY_SIGNA…",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T19:02:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b084a173f4790bd8c832250d66fd33565b94ab99",
          "body": "新增 registry-source.ts 集中实现多源解析、认证注入与离线韧性:\n- resolveRegistrySources:override > config.registries > DEFAULT_REGISTRY_URL 优先级解析\n- isOfflineRequested:BRUTX_OFFLINE=1 或 --offline 均激活离线模式\n- buildAuthHeaders:BRUTX_REGISTRY_HEADERS(JSON)覆盖 BRUTX_REGISTRY_TOKEN(Bearer),仅对 http(s):// 源生效\n- fetchWithSources:在线\n[…]\n册 --offline 选项。\n\n新增 38 个测试覆盖 resolveRegistrySources / isOfflineRequested / buildAuthHeaders / fetchWithSources / withOfflineScope / doctor 可达性检查;doctor.test.ts 在 beforeEach mock global.fetch 避免真实网络请求。",
          "is_bot": false,
          "headline": "feat(cli): 多 registry 源与离线韧性——P1-5 离线模式 + auth + reachability",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T18:53:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa876ea542c4cb5a492206fe42b8c65a7853102f",
          "body": "原实现无条件用 `node <npm_execpath> run build` 启动 pnpm,但当脚本\n未通过 pnpm/npm 运行时(npm_execpath 缺失),node 会把 'pnpm' 当作\nJS 模块加载,报 Cannot find module。\n\n修复:当 npm_execpath 存在时走 node 显式执行路径(兼容 Windows);\n否则直接 execFileSync('pnpm', ...),让 shell 在 PATH 中查找 pnpm。",
          "is_bot": false,
          "headline": "fix(registry): verify-build 在 npm_execpath 缺失时回退到 PATH 中的 pnpm",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T18:36:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b92d4263d71631ec9d32c871ed10d4371a03aa81",
          "body": "延续 P0-3 版本治理。update 命令默认跳过 manifest 中显式锁定版本\n(version 字段存在且不为 'latest')的组件,避免擅自改变用户锁定的\ngit ref。新增 --across-versions 选项解锁跨版本更新。\n\n变更:\n- types.ts: UpdateOptions 新增 acrossVersions 字段\n- index.ts: 注册 --across-versions CLI 选项(默认 false)\n- update.ts: 检测 version-pinned 组件,默认跳过并输出锁定列表与解锁提示\n- update.test.ts: 新增 8 项测试覆盖锁定/解锁/混合/全锁定/manifest 缺失场景\n\n验收:update 默认不跨 registry 主版本。",
          "is_bot": false,
          "headline": "feat(cli): update 版本约束——version-pinned 默认锁定 + --across-versions 解锁",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T18:32:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb384228cdff7358263757b43bd27e990f6f85f4",
          "body": "P0-4 任务,让增量构建\"可证伪 + 可测量 + 可维护\":\n\n1. 增量策略文档化(build-registry.ts 顶部注释)\n   明确缓存键要素(CACHE_VERSION + componentInfo + fileMapping +\n   TAILWIND/CSS_VARS + 传递闭包源码原文)、命中条件(三者均满足才复用)、\n   失效触发(改源码/元数据/配置/提升 CACHE_VERSION),让开发者能判断\n   \"改了这个文件会不会触发缓存失效\"。\n\n2. build:verify 脚本(scripts/verify-build.ts)\n   证明\"增量 build\n[…]\ntests 全部通过\n- pnpm --filter brutx-registry-vue build:verify PASSED\n- pnpm --filter brutx-registry-vue build:bench 输出 bench.json\n\n并行构建(方案中标记\"待 bench 数据驱动,必要时降级 P1\")暂不实施,\n等 bench.json 在 CI 中积累数据后再决定是否需要。",
          "is_bot": false,
          "headline": "feat(registry): 构建增量透明化与性能基准——verify/bench/文档化",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T18:13:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f76ae28da2f79df48dcb44ff2d35d9ed7cdff359",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of https://github.com/lidaixingchen/brutxui-vue3",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T18:04:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ff275d1c4e4412bb9f297b636a3df1a273bd32a",
          "body": "P0-3 任务,把 name@version 从隐藏特性升级为契约,修复两个正确性缺陷:\n\n1. resolveDeps 去重键 bug(问题 4)\n   原实现 visited/active Set 以 cleanName 单键去重,组件 A 依赖 button@v1、\n   B 依赖 button@v2 时第二个被静默跳过,导致 v2 依赖树缺失。\n   改为 (cleanName, itemSource) 二元组键——版本信息已隐含在 itemSource 中,\n   同源同名仍去重、跨版本各自解析。不可额外拼 version 进键(会破坏同版本去重)。\n\n2. @version 硬编码\n[…]\n version 字段\n\n测试:\n- registry.test.ts 新增 3 个版本化去重测试(BRUTX_NO_CACHE 隔离)\n- manifest.test.ts 新增 4 个 version 字段测试\n- 现有 fetch mock 补 headers 字段适配 P0-2 缓存层\n\n验证:pnpm --filter brutx-vue typecheck 通过;284 测试全部通过。",
          "is_bot": false,
          "headline": "feat(cli): 组件版本治理体系化——resolveDeps 去重键修复 + 去硬编码 URL + manifest 版本契约",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T18:03:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "363480b92ff8f2b4da179b0041b14aea99ae9f7d",
          "body": "* fix(ui): resolve lint warnings\n\nCo-authored-by: lidaixingchen <115717776+lidaixingchen@users.noreply.github.com>\n\n* fix(ui): 修复 Checkbox 受控模式问题并消除模板空白引入\n\n问题原因:\n\n1. Checkbox.vue 将 checked 默认值设为 false,导致非受控用法(如 <Checkbox />)被强制进入受控模式且锁定为 false,无法切换选中状态。\n\n2. vue/singleline-html-element-content-newlin\n[…]\ncontent-newline 规则,并回滚 Button/Select/DataTableColumnFilter/UploadFileItem 中被该规则强制改动的多行插值。\n\n---------\n\nCo-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix lint warnings in UI package (#1)",
          "author_name": "历代星辰",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T17:58:41Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "30b7e1c734895f2a2e18fe5f38c2a14d99142b5f",
          "body": "P0-2 落地:缓存层从 TTL-only 升级为具备条件请求、并发安全、LRU 上限与版本绑定的完整策略。\n\n- cache.ts 重写:CacheEntry schema 扩展 etag/lastModified/registryVersion;\n  getCachedEntry/setCachedEntry 承载 header 字段;新增 touchCachedEntry 用于\n  304 响应续期;保留旧 getCached/setCache 向后兼容\n- in-flight 去重:进程级 Map<cacheKey, Promise>,同一 key 并发请求共享\n  Promise(并\n[…]\n入缓存(带 header)\n- fetchWithRetry 支持 headers 参数透传条件请求头\n- clearCache 支持 --max-age 参数只清理过期 N 天的条目\n- 新增 cache 子命令:brutx-vue cache clear [--max-age N]\n- 新增 17 个测试覆盖 schema/版本绑定/去重/LRU/clearCache/NO_CACHE\nEOF",
          "is_bot": false,
          "headline": "feat(cli): 缓存层升级——条件请求 + 并发去重 + LRU 上限 + registry 版本绑定",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T17:37:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0adf13819cc228a8a749e6be99c2c1a872e7fd6c",
          "body": "P0-1 落地:manifest 驱动的安装侧可观测性。\n\n- registry build 改字典序遍历 componentNames,让构建顺序成为稳定契约\n- manifest 移除 files 的 .sort(),新增 installedContentHash 字段规避\n  resolveImportAlias 改写磁盘内容导致的 hash 不等\n- doctor 新增三类 manifest 驱动检查:文件一致性、integrity 漂移、\n  registryDependencies 闭环;无 manifest 时降级 legacy scan\n- doctor --fix 支持 RestoreIntegrity(--fix 时触网拉取,失败降级提示\n  update)与 RemoveOrphans(删除孤儿文件)\n- 新增 8 个测试覆盖四类场景 + 文件顺序稳定性反例 + fix 验证\n- 文档补强 v2.2:构建顺序稳定化、manifest 自身完整性校验、二元组语义\n  收紧、URL 重构缓存迁移、多源 fallback 与 @version 交互、diff 排除字段",
          "is_bot": false,
          "headline": "feat(cli): doctor 消费 manifest 实现 integrity 漂移与孤儿检测",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-15T17:28:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ad3df57c599bc216490ae225883bc52a60c13d7",
          "body": "调整了测试中的文件路径断言和导入路径匹配,适配项目内部目录结构的变更,确保测试可以正确验证新的资源文件位置和导入规范",
          "is_bot": false,
          "headline": "test(cli): 更新集成测试用例以匹配新的目录结构",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-13T00:28:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12770131fd2c214892ae58d1949542c884947c34",
          "body": "问题原因:brutx-shared-vue 主 barrel 导出 extractModuleSpecifiers(依赖 typescript),CLI 通过 noExternal 打包时将整个 typescript 编译器嵌入 ESM 输出,导致 typescript 内部 require('fs') 在 ESM 上下文中崩溃\n\n修复方案:将 extractModuleSpecifiers/extractScriptBlocks/scanComponentFiles 移至独立入口 brutx-shared-vue/scan,主 index 不再导出这些函数;CLI 打包时不再引入 typescript;registry builder 和 prebuild scanner 改为从 /scan 入口导入",
          "is_bot": false,
          "headline": "fix(shared): 拆分scan入口隔离typescript依赖",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-13T00:02:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69a9fc42e743a2f4287e7aab342aac5acc5458be",
          "body": "问题原因:CDP Emulation.setEmulatedMedia 在 headless Chromium 中不 reliably 触发 MediaQueryList change 事件,导致 vi.waitFor 超时\n\n修复方案:L2 浏览器测试改为验证真实浏览器媒体查询的初始值读取(L1 无法覆盖),change 事件响应式已由 L1 单元测试 useReducedMotion.test.ts 用 mock matchMedia 覆盖",
          "is_bot": false,
          "headline": "fix(ui): 简化useReducedMotion浏览器测试",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T23:51:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "efc64fc952544ce8f93b7e997ebd46723d59fb70",
          "body": "问题原因:provider: playwright 未作为工厂函数调用(缺少括号),导致 serverFactory 缺失;setup 文件引入 vitest-axe(Node-only createRequire)和 @vue/test-utils(esbuild 预打包丢失 init_shared_esm_bundler),在浏览器环境崩溃\n\n修复方案:playwright() 正确调用;新增浏览器专用 vitest.browser.setup.ts 排除 Node-only 依赖;新增 browser-mount.ts 用 Vue 原生 createApp 替代 @vue/test-utils;用 vi.waitFor 替代 nextTick 等待 CDP 媒体查询变更事件传播;render 函数替代内联 template 避免运行时编译器依赖",
          "is_bot": false,
          "headline": "fix(ui): 修复浏览器测试CI失败",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T23:43:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69106ee5d2aac3fe4ba8d25935a117f89c7e443f",
          "body": "统一升级所有包中的vitest及其配套工具包版本,同步更新pnpm-lock.yaml中的依赖锁定信息,确保所有依赖版本一致兼容。",
          "is_bot": false,
          "headline": "chore: update vitest and related packages to v4.1.10",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T22:06:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6cd490d887dc749aaed335a41e5fa0c45470caa5",
          "body": "切换vitest浏览器测试的playwright提供者配置为直接导入的playwright实例,更新pnpm锁文件中的依赖版本关联信息",
          "is_bot": false,
          "headline": "build(ui): 添加@vitest/browser-playwright依赖并更新配置",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T21:48:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d187affdcd0ca5dc8730345af954211d37db2e8",
          "body": "1.  建立设计令牌单一数据源,通过脚本自动注入样式文件\n2.  移除Tailwind v3兼容测试,统一使用Tailwind v4\n3.  重构CLI集成测试矩阵,简化项目创建逻辑\n4.  更新文档与注释,统一令牌系统说明",
          "is_bot": false,
          "headline": "refactor: 重构设计令牌系统并简化CLI测试矩阵",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T21:38:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e43a4166452e7dc5a66439ee0be2322b43f62ff4",
          "body": "首先,为项目添加了浏览器端测试支持:\n1. 新增vitest.browser.config.ts配置文件,使用playwright作为浏览器测试提供者\n2. 在package.json中添加test:browser脚本命令\n3. 给vite.config.ts新增浏览器测试的exclude规则,分离单元测试和浏览器测试\n4. 新增两个浏览器测试用例文件,测试GlitchText组件和useReducedMotion组合式函数\n5. 重构了preserve-modules-paths工具,使用acorn解析AST来更精准地重写模块导入路径,避免误改字符串和注释中的类似import语句\n6. 更新了pnpm依赖,添加了@vitest/browser、acorn、acorn-walk等必要包\n7. 在github workflows中新增node 22环境下的浏览器测试任务",
          "is_bot": false,
          "headline": "ci(workflow): add browser test job to ci pipeline",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T21:10:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edb335b6fb313b64660b8de102bab2918ac79ebc",
          "body": "1. 移除旧的手动组件映射文件packages/registry/scripts/component-files.ts\n2. 添加sharedBase配置支持,实现共享代码目录统一管理\n3. 新增prebuild:scan脚本,通过AST自动扫描生成registry-manifest.json\n4. 重构所有文档、校验脚本和工具代码,替换COMPONENT_FILES/COMPONENT_REGISTRY为自动清单+元数据模式\n5. 新增extract-module-specifiers和scan-component-files实现依赖自动发现\n6. 调整构建流程,将pnpm build接入prebuild:scan自动生成清单",
          "is_bot": false,
          "headline": "refactor(registry): 重构注册表系统,改用AST自动扫描组件清单",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T20:32:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7fadf0e4be181286a35f287015a5d930eb9e69a0",
          "body": "1. 移除detectTailwindVersion相关代码,CLI默认使用@import方式引入Tailwind\n2. 新增CSS回退覆盖率审计脚本与CI检查流程\n3. 重构主题配置,将组件样式配置移入shared包\n4. 清理注册表组件冗余的Tailwind主题配置\n5. 补充useReducedMotion测试文件注释",
          "is_bot": false,
          "headline": "refactor: 简化Tailwind版本检测并统一样式注入逻辑",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T19:39:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc38499ed0e5261ba767cb28ab39401296bdc717",
          "body": null,
          "is_bot": false,
          "headline": "docs(docs): 新增项目架构优化设计方案",
          "author_name": "lidaixingchen",
          "author_login": "lidaixingchen",
          "committed_at": "2026-07-12T14:42:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 26,
      "commits_last_year": 739,
      "latest_release_at": "2026-07-17T20:05:17Z",
      "latest_release_tag": "v0.9.5",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 12,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 2.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 71,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "brutx-ui-vue",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "vue",
            "vue3",
            "ui",
            "ui-library",
            "ui-components",
            "components",
            "brutalism",
            "neo-brutalism",
            "brutalist",
            "design-system",
            "tailwindcss",
            "tailwind",
            "reka-ui",
            "typescript",
            "frontend",
            "accessible",
            "dark-mode"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/brutx-ui-vue",
          "is_deprecated": false,
          "latest_version": "0.9.5",
          "repository_url": "https://github.com/lidaixingchen/brutxui-vue3",
          "versions_count": 43,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 3837,
          "first_published_at": "2026-06-01T03:19:46.068000Z",
          "latest_published_at": "2026-07-17T20:05:06.808000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        },
        {
          "name": "brutx-vue",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "brutx-vue",
            "cli",
            "neo-brutalism",
            "vue",
            "vue3",
            "components",
            "tailwindcss"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/brutx-vue",
          "is_deprecated": false,
          "latest_version": "0.8.0",
          "repository_url": "https://github.com/lidaixingchen/brutxui-vue3",
          "versions_count": 28,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 2972,
          "first_published_at": "2026-06-01T22:13:39.187000Z",
          "latest_published_at": "2026-07-17T20:05:14.016000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 2,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "demos"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "apps/docs/tsconfig.json",
        "packages/cli/tsconfig.json",
        "packages/registry/tsconfig.json",
        "packages/shared/tsconfig.json",
        "packages/ui/tsconfig.json",
        "templates/vue-app/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 55466,
      "source_files_sampled": 435,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        ".github/copilot-instructions.md",
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 11494
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-v245-v573-v5vm"
            ],
            "fixed_version": "5.0.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 1
        },
        "advisory_count": 1,
        "affected_count": 1,
        "assessed_count": 807,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 52,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@inquirer/prompts",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.5.2"
        },
        {
          "name": "chalk",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.0"
        },
        {
          "name": "commander",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^15.0.0"
        },
        {
          "name": "diff",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.0.4"
        },
        {
          "name": "es-module-lexer",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.2.0"
        },
        {
          "name": "fs-extra",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.3.5"
        },
        {
          "name": "jsonc-parser",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.3.1"
        },
        {
          "name": "ora",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.4.0"
        },
        {
          "name": "brutx-shared-vue",
          "manifest": "packages/registry/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "class-variance-authority",
          "manifest": "packages/ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.7.0"
        },
        {
          "name": "clsx",
          "manifest": "packages/ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.0"
        },
        {
          "name": "tailwind-merge",
          "manifest": "packages/ui/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.6.0"
        },
        {
          "name": "vue",
          "manifest": "templates/vue-app/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.5.13"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@inquirer/prompts",
            "direct": true,
            "version": "8.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/prompts",
            "direct": true,
            "version": "^8.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "^5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "class-variance-authority",
            "direct": true,
            "version": "0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "class-variance-authority",
            "direct": true,
            "version": "^0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": true,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": true,
            "version": "^2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "15.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "^15.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": true,
            "version": "8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": true,
            "version": "^8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": true,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": true,
            "version": "^2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": true,
            "version": "11.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": true,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": true,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": true,
            "version": "^11.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "jsonc-parser",
            "direct": true,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonc-parser",
            "direct": true,
            "version": "^3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "ora",
            "direct": true,
            "version": "9.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "ora",
            "direct": true,
            "version": "^9.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tailwind-merge",
            "direct": true,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tailwind-merge",
            "direct": true,
            "version": "^3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "^3.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "^3.5.13",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/abtesting",
            "direct": false,
            "version": "1.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-core",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-plugin-algolia-insights",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-preset-algolia",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-shared",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-abtesting",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-analytics",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-common",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-insights",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-personalization",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-query-suggestions",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-search",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/ingestion",
            "direct": false,
            "version": "1.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/monitoring",
            "direct": false,
            "version": "1.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/recommend",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-browser-xhr",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-fetch",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-node-http",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/css-color",
            "direct": false,
            "version": "5.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/dom-selector",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/generational-cache",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/nwsapi",
            "direct": false,
            "version": "2.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@blazediff/core",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bramus/specificity",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/apply-release-plan",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/assemble-release-plan",
            "direct": false,
            "version": "6.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/changelog-git",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/cli",
            "direct": false,
            "version": "2.31.1",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/config",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/errors",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/get-dependents-graph",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/get-release-plan",
            "direct": false,
            "version": "4.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/get-version-range-type",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/git",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/logger",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/parse",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/pre",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/read",
            "direct": false,
            "version": "0.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/should-skip-package",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/types",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/types",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/write",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/color-helpers",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-calc",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-parser-algorithms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-syntax-patches-for-csstree",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/css",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/js",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/react",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.23.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "^10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "@exodus/bytes",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/core",
            "direct": false,
            "version": "1.7.5",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/dom",
            "direct": false,
            "version": "1.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/utils",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/vue",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@gerrit0/mini-shiki",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.8",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/types",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify-json/simple-icons",
            "direct": false,
            "version": "1.2.85",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/types",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/ansi",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/checkbox",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/confirm",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/core",
            "direct": false,
            "version": "11.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/editor",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/expand",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/external-editor",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/external-editor",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/figures",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/input",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/number",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/password",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/rawlist",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/search",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/select",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/type",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@internationalized/date",
            "direct": false,
            "version": "3.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@internationalized/number",
            "direct": false,
            "version": "3.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/set-array",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.4.10",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.4.14",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@lucide/vue",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@lucide/vue",
            "direct": false,
            "version": "^1.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@manypkg/find-root",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@manypkg/get-packages",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@one-ini/wasm",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.133.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.137.0",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-android-arm64",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-darwin-arm64",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-darwin-x64",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-freebsd-x64",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm-glibc",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm-musl",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm64-glibc",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm64-musl",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-x64-glibc",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-x64-musl",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-arm64",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-ia32",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-x64",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@playwright/test",
            "direct": false,
            "version": "1.60.0",
            "ecosystem": "npm"
          },
          {
            "name": "@playwright/test",
            "direct": false,
            "version": "^1.60.0",
            "ecosystem": "npm"
          },
          {
            "name": "@polka/url",
            "direct": false,
            "version": "1.0.0-next.29",
            "ecosystem": "npm"
          },
          {
            "name": "@popperjs/core",
            "direct": false,
            "version": "2.11.8",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "5.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/core",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-javascript",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/transformers",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/vscode-textmate",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@size-limit/esbuild",
            "direct": false,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@size-limit/esbuild",
            "direct": false,
            "version": "^12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@size-limit/file",
            "direct": false,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@size-limit/file",
            "direct": false,
            "version": "^12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/helpers",
            "direct": false,
            "version": "0.5.23",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/cli",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/cli",
            "direct": false,
            "version": "^4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/node",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/node",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-android-arm64",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-android-arm64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-arm64",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-arm64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-x64",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-x64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-freebsd-x64",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-freebsd-x64",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-gnu",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-gnu",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-musl",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-musl",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-gnu",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-gnu",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-musl",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-musl",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-wasm32-wasi",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-wasm32-wasi",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-arm64-msvc",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-arm64-msvc",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-x64-msvc",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-x64-msvc",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/vite",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/vite",
            "direct": false,
            "version": "^4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/virtual-core",
            "direct": false,
            "version": "3.17.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/vue-virtual",
            "direct": false,
            "version": "3.13.30",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/darwin-64",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/darwin-arm64",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/linux-64",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/linux-arm64",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/windows-64",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/windows-arm64",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/esrecurse",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/fs-extra",
            "direct": false,
            "version": "11.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/fs-extra",
            "direct": false,
            "version": "^11.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsonfile",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/lodash",
            "direct": false,
            "version": "4.17.24",
            "ecosystem": "npm"
          },
          {
            "name": "@types/markdown-it",
            "direct": false,
            "version": "14.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "12.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "25.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "^25.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prismjs",
            "direct": false,
            "version": "1.26.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prismjs",
            "direct": false,
            "version": "^1.26.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/resize-observer-browser",
            "direct": false,
            "version": "0.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/web-bluetooth",
            "direct": false,
            "version": "0.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "@types/web-bluetooth",
            "direct": false,
            "version": "0.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "@types/whatwg-mimetype",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "8.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "6.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "^6.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/browser",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/browser",
            "direct": false,
            "version": "^4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/browser-playwright",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/browser-playwright",
            "direct": false,
            "version": "^4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "^4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/language-core",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/source-map",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/typescript",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "7.7.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "7.7.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "7.7.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/language-core",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "^3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/test-utils",
            "direct": false,
            "version": "2.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/test-utils",
            "direct": false,
            "version": "^2.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/core",
            "direct": false,
            "version": "12.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/core",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/integrations",
            "direct": false,
            "version": "12.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/metadata",
            "direct": false,
            "version": "12.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/metadata",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/shared",
            "direct": false,
            "version": "12.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/shared",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "^8.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "8.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "^8.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "algoliasearch",
            "direct": false,
            "version": "5.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "alien-signals",
            "direct": false,
            "version": "3.2.1",
            "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": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "any-promise",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "aria-hidden",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-v8-to-istanbul",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "axe-core",
            "direct": false,
            "version": "4.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "axe-core",
            "direct": false,
            "version": "^4.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "better-path-resolve",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bidi-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-require",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bytes-iec",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "ccount",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-html4",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-legacy",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-spinners",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-width",
            "direct": false,
            "version": "4.1.0",
            "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": "comma-separated-tokens",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "compare-versions",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "config-chain",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "consola",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "copy-anything",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "cssesc",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "date-fns",
            "direct": false,
            "version": "2.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "date-fns-tz",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "defu",
            "direct": false,
            "version": "6.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-indent",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "devlop",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "editorconfig",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "embla-carousel",
            "direct": false,
            "version": "8.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "embla-carousel-reactive-utils",
            "direct": false,
            "version": "8.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "embla-carousel-vue",
            "direct": false,
            "version": "8.6.0",
            "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": "emoji-regex-xs",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.21.6",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.22.1",
            "ecosystem": "npm"
          },
          {
            "name": "enquirer",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "^10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-vue",
            "direct": false,
            "version": "10.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-vue",
            "direct": false,
            "version": "^10.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "exsolve",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "extendable-error",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-string-truncated-width",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-string-width",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-wrap-ansi",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fix-dts-default-cjs-exports",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "focus-trap",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "17.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "^17.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "happy-dom",
            "direct": false,
            "version": "20.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "happy-dom",
            "direct": false,
            "version": "^20.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-html",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-whitespace",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hookable",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "html-void-elements",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "human-id",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "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-interactive",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-potential-custom-element-name",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-subdir",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-what",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-windows",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "joycon",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-beautify",
            "direct": false,
            "version": "1.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "js-cookie",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "29.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "kolorist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lilconfig",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "load-tsconfig",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "local-pkg",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.startcase",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "lunr",
            "direct": false,
            "version": "2.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "^0.30.17",
            "ecosystem": "npm"
          },
          {
            "name": "magicast",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mark.js",
            "direct": false,
            "version": "8.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "14.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "13.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-symbol",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-types",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-function",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "minisearch",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "mri",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mrmime",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "muggle-string",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mz",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.15",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "5.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "nanospinner",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "7.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ohash",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "oniguruma-to-es",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "outdent",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-filter",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "package-manager-detector",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pirates",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.60.0",
            "ecosystem": "npm"
          },
          {
            "name": "playwright-core",
            "direct": false,
            "version": "1.60.0",
            "ecosystem": "npm"
          },
          {
            "name": "pngjs",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.16",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-load-config",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "preact",
            "direct": false,
            "version": "10.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "prismjs",
            "direct": false,
            "version": "1.30.0",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "proto-list",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode.js",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "quansync",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "read-yaml-file",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "regex-recursion",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "regex-utilities",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "reka-ui",
            "direct": false,
            "version": "2.9.9",
            "ecosystem": "npm"
          },
          {
            "name": "reka-ui",
            "direct": false,
            "version": "^2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "search-insights",
            "direct": false,
            "version": "2.17.3",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.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": "shiki",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "sirv",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "size-limit",
            "direct": false,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "size-limit",
            "direct": false,
            "version": "^12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "spawndamnit",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "speakingurl",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "stdin-discarder",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "8.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "stringify-entities",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "sucrase",
            "direct": false,
            "version": "3.35.1",
            "ecosystem": "npm"
          },
          {
            "name": "superjson",
            "direct": false,
            "version": "2.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tabbable",
            "direct": false,
            "version": "6.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "^4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "term-size",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify-all",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "7.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "7.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "totalist",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tree-kill",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "trim-lines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-interface-checker",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsup",
            "direct": false,
            "version": "8.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsup",
            "direct": false,
            "version": "^8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.22.4",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "^4.22.4",
            "ecosystem": "npm"
          },
          {
            "name": "turbo",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "4.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "typedoc",
            "direct": false,
            "version": "0.28.19",
            "ecosystem": "npm"
          },
          {
            "name": "typedoc",
            "direct": false,
            "version": "^0.28.19",
            "ecosystem": "npm"
          },
          {
            "name": "typedoc-plugin-markdown",
            "direct": false,
            "version": "4.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "typedoc-plugin-markdown",
            "direct": false,
            "version": "^4.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "^8.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.24.6",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-dts",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "v-calendar",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "v-calendar",
            "direct": false,
            "version": "^3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vee-validate",
            "direct": false,
            "version": "4.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "6.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "^8.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-dts",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-dts",
            "direct": false,
            "version": "^5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress",
            "direct": false,
            "version": "^1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "^4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue-component-type-helpers",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "vue-demi",
            "direct": false,
            "version": "0.14.10",
            "ecosystem": "npm"
          },
          {
            "name": "vue-eslint-parser",
            "direct": false,
            "version": "10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "vue-screen-utils",
            "direct": false,
            "version": "1.0.0-beta.13",
            "ecosystem": "npm"
          },
          {
            "name": "vue-tsc",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "vue-tsc",
            "direct": false,
            "version": "^3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-virtual-modules",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "16.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "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": "ws",
            "direct": false,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlchars",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "yoctocolors",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "zwitch",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 859,
        "direct_count": 29,
        "indirect_count": 830
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 2,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "lidaixingchen",
          "commits": 614,
          "avatar_url": "https://avatars.githubusercontent.com/u/115717776?v=4"
        },
        {
          "type": "User",
          "login": "dev-snake",
          "commits": 124,
          "avatar_url": "https://avatars.githubusercontent.com/u/121596451?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.832
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "bench.yml",
        "ci.yml",
        "deploy-docs.yml",
        "publish.yml",
        "update-visual-baselines.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "eslint.config.js"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "pnpm-lock.yaml"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/29 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 9,
            "reason": "1 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "d9039dc43c049ee374c7589687b5c3fac990b47f",
        "ran_at": "2026-07-23T03:33:02Z",
        "aggregate_score": 3.8,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T21:30:41Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-17T19:42:00Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/lidaixingchen/brutxui-vue3",
    "host": "github.com",
    "name": "brutxui-vue3",
    "owner": "lidaixingchen"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 63,
      "inputs": {
        "security": 50,
        "vitality": 77,
        "community": 43,
        "governance": 53,
        "engineering": 90
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 77,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "commits_last_year": 739,
              "human_commit_share": 0.99,
              "days_since_last_push": 0,
              "active_weeks_last_year": 12
            },
            "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": "12/52 weeks with commits",
                "points": 8.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 12
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "739 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 739
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 26,
              "latest_release_tag": "v0.9.5",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 2.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "26 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 26
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~2.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 2.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "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": "at_risk",
        "name": "Community & Adoption",
        "value": 43,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 2,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "2 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "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 (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 64,
            "inputs": {
              "packages": [
                "brutx-ui-vue",
                "brutx-vue"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 6809
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "6,809 downloads/month across npm",
                "points": 51.1,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 6809,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 53,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 16,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.832
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 83% of commits",
                "points": 3.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 83
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "merged_prs": 2,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "2/2 decided PRs merged",
                "points": 38.2,
                "status": "met",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 2,
                      "decided": 2
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/29 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 39,
            "inputs": {
              "followers": 4,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "lidaixingchen",
              "public_repos": 16,
              "account_age_days": 1378
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "4 followers of lidaixingchen",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 4,
                      "login": "lidaixingchen"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "16 public repos, account ~3 yr old",
                "points": 16.5,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 16
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 3
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "brutx-ui-vue",
                "brutx-vue"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "43 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 43
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 90,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "5 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "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": "eslint.config.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.js"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "component",
                "frontend",
                "typescript",
                "uikit",
                "vue",
                "vue3",
                "brutalist",
                "brutalist-ui",
                "component-library",
                "design-system",
                "neo-brutalism",
                "shadcn-ui",
                "tailwindcss",
                "ui-library",
                "vite"
              ],
              "has_wiki": true,
              "homepage": "https://lidaixingchen.github.io/brutxui-vue3/",
              "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://lidaixingchen.github.io/brutxui-vue3/",
                "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": "15 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 50,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 38,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 3.8
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/29 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "1 existing vulnerabilities detected",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 807 resolved dependencies against OSV; 52 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 807
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 52
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 1,
              "affected_packages": 1,
              "assessed_packages": 807,
              "unassessed_packages": 52,
              "affected_by_severity": "high 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 807,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 1
            },
            "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": "good",
        "name": "AI Readiness",
        "value": 75,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.99,
              "agent_instruction_files": [
                ".github/copilot-instructions.md",
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 11494
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".github/copilot-instructions.md, AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".github/copilot-instructions.md, AGENTS.md"
                    }
                  }
                ],
                "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": "98 of 99 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 98,
                      "sampled": 99
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 71,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "apps/docs/tsconfig.json",
                "packages/cli/tsconfig.json",
                "packages/registry/tsconfig.json",
                "packages/shared/tsconfig.json",
                "packages/ui/tsconfig.json",
                "templates/vue-app/tsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.01
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": "eslint.config.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "apps/docs/tsconfig.json, packages/cli/tsconfig.json, packages/registry/tsconfig.json, packages/shared/tsconfig.json, packages/ui/tsconfig.json, templates/vue-app/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "apps/docs/tsconfig.json, packages/cli/tsconfig.json, packages/registry/tsconfig.json, packages/shared/tsconfig.json, packages/ui/tsconfig.json, templates/vue-app/tsconfig.json"
                    }
                  }
                ],
                "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": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "1 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "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": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 55466,
              "source_files_sampled": 435,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/435 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 435,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "demos"
              ],
              "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": "demos",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "demos"
                    }
                  }
                ],
                "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": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "deps.dev does not index npm:brutx-ui-vue@0.9.5; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-23T03:33:09.533623Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/lidaixingchen/brutxui-vue3.svg",
  "full_name": "lidaixingchen/brutxui-vue3",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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.27.0 — metodología completa · wiki de métricas.

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