公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-23 03:33 UTC

lidaixingchen / brutxui-vue3

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

TypeScript · VueMIT★ 2 星标⑂ 0 复刻始于 2026年5月在 GitHub 上查看 ↗

lidaixingchen/brutxui-vue3 的健康指数为 100 分中的 63 分,处于「中等」区间。 其得分最高的类别是Engineering Quality(90/100),最低的是Community & Adoption(43/100)。 最近一次更新在今天。 近期的大部分工作由 1 位贡献者完成。

63
总分 / 100
中等

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

63
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

历代星辰个人账户
4 关注者16 个公开仓库始于 2022年10月

该仓库由个人账户拥有。相较于组织支持的项目,单一所有者项目的延续性风险更高。

软件包生态系统

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

77良好 · 占总体的 22%
评分方式
36/36推送新近度 — 最近一次推送于 0 天前
8.3/36提交节奏 — 52 周中有 12 周有提交
18/18提交量 — 最近一年 739 次提交
0/10OpenSSF Scorecard:Maintained — project was created within the last 90 days. Please review its contents carefully
所用输入
commits_last_year739
human_commit_share0.99
days_since_last_push0
active_weeks_last_year12

发布纪律

100优秀
评分方式
27/27有发布版本 — 已发布 26 个发布版本
36/36发布时效 — 最近一次发布版本于 5 天前
27/27发布节奏 — 约每 2.2 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count26
latest_release_tagv0.9.5
releases_from_tags
days_since_latest_release5
mean_days_between_releases2.2
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

43存在风险 · 占总体的 18%
评分方式
0/60星标 — 2 个星标
0/25复刻 — 0 个复刻
0/15关注者 — 0 位关注者
所用输入
forks0
stars2
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

77良好
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(MIT)
18/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
6.3/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template
评分方式
51.1/80月度下载量 — npm 合计每月 6,809 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packagesbrutx-ui-vue, brutx-vue
dependents
ecosystemsnpm
total_downloads
monthly_downloads6,809
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

53中等 · 占总体的 24%
评分方式
9/54巴士系数 — 1 位贡献者贡献了半数提交
3.8/22.5提交分布 — 头号贡献者编写了 83% 的提交
2.7/13.5贡献者广度 — 2 位贡献者
0/10OpenSSF Scorecard:Contributors — project has 0 contributing companies or organizations -- score normalized to 0
所用输入
bus_factor1
contributors_sampled2
top_contributor_share0.832
评分方式
0/46.8议题解决 — 没有议题或无数据
38.2/38.3PR 接受 — 已裁定的 PR 中 2/2 已合并
0/15OpenSSF Scorecard:Code-Review — Found 0/29 approved changesets -- score normalized to 0
所用输入
merged_prs2
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
已排除计分(无数据或不适用):议题解决。 其余权重已重新归一化。
评分方式
10/30所有权背书 — 个人(用户)账户
0/20已验证域名 — 不适用于个人账户
5/25所有者影响力 — lidaixingchen 有 4 位关注者
16.5/25既往记录 — 16 个公开仓库,账户约 3 年
所用输入
followers4
owner_typeUser
is_verified
owner_loginlidaixingchen
public_repos16
account_age_days1,378
已排除计分(无数据或不适用):已验证域名。 其余权重已重新归一化。
评分方式
25/25已发布且可解析 — npm 上有 2 个软件包
35/35发布时效 — 最近一次发布于 5 天前
20/20版本历史 — 43 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesbrutx-ui-vue, brutx-vue
ecosystemsnpm
any_deprecated
min_days_since_publish5

工程质量

基础的工程与文档实践是否到位?

90优秀 · 占总体的 20%

工程实践

84良好
评分方式
24/24CI 工作流 — 5 个工作流
24/24存在测试
16/16Linter 配置 — eslint.config.js
0/9.6Pre-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
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

100优秀
评分方式
30/30README
25/25文档目录
15/15文档 / 主页站点 — https://lidaixingchen.github.io/brutxui-vue3/
10/10仓库描述
10/10主题标签 — 15 个主题标签
10/10Wiki
所用输入
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

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

50中等 · 占总体的 16%

安全态势

38存在风险
评分方式
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 — 无数据
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5许可证 — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
0/5Packaging — 无数据
0/5Pinned-Dependencies — 无数据
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 — 无数据
0/7.5Token-Permissions — 无数据
6.8/7.5Vulnerabilities — 1 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate3.8
已排除计分(无数据或不适用):dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions。 其余权重已重新归一化。
评分方式
35/35直接依赖不含已知公告 — 没有直接依赖携带已知公告
0/25间接依赖不含已知公告 — 在此范围内,传递依赖集合无法与开发和测试依赖区分
0/40没有长期未处理的公告 — 没有公告带有发布日期
所用输入
sourceosv
advisories1
affected_packages1
assessed_packages807
unassessed_packages52
affected_by_severityhigh 1
direct_affected_packages0
已排除计分(无数据或不适用):间接依赖不含已知公告, 没有长期未处理的公告。 其余权重已重新归一化。 已将 807 个已解析依赖与 OSV 比对。 有 52 项无法评估——没有已解析的版本、生态系统不受支持,或超出所报告的软件包清单。 该仓库未发布任何索引可解析的软件包,因此改为评估仓库依赖图。该图将开发与测试版本固定同交付的依赖混在一起,因此仅对声明的运行时依赖计分;传递性发现仅作为背景信息列出,不计入评分。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

75良好 · 占总体的 0%
评分方式
45/45代理指令 — .github/copilot-instructions.md, AGENTS.md
0/15机器可读文档(llms.txt)
40/40可读的提交历史 — 99 次人类提交中有 98 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.99
agent_instruction_files.github/copilot-instructions.md, AGENTS.md
agent_instruction_max_bytes11,494
评分方式
0/18一条命令的引导启动
22/22自动化测试
11/11Lint / 格式化配置 — eslint.config.js
11/11静态类型检查 — 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/10可复现环境 — lockfile
2/10已体现的代理实践 — 最近 100 次提交中有 1 次由代理编写或署名代理
8/8自动化维护 — 最近 100 次提交中有 1 次为自动依赖更新
0/10OpenSSF Scorecard:Pinned-Dependencies — 无数据
所用输入
has_nix
has_tests
lockfilespnpm-lock.yaml
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
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
已排除计分(无数据或不适用):OpenSSF Scorecard:Pinned-Dependencies。 其余权重已重新归一化。
评分方式
45/45可类型检查的代码 — TypeScript(静态类型)
55/55可控的文件大小 — 采样的 435 个源文件中有 0 个超过 60KB
所用输入
primary_languageTypeScript
largest_source_bytes55,466
source_files_sampled435
oversized_source_files0

机器可读接口

40存在风险
评分方式
0/40API 模式(OpenAPI/GraphQL/proto)
0/20MCP 服务器
40/40可运行示例 — demos
所用输入
example_dirsdemos
has_mcp_signal
api_schema_files

关键数据

2GitHub 星标
2贡献者
739最近 12 个月提交数
0距最近推送天数
26发布版本数
1巴士系数(bus factor)
0开放议题
npm软件包生态系统数

数据采集警告

  • 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

更多细节

OpenSSF Scorecard 3.8 / 10
3.8综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。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
不适用Dangerous-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
不适用Packagingpackaging workflow not detected
不适用Pinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
不适用Signed-Releasesno releases found
不适用Token-PermissionsNo tokens found
9Vulnerabilities1 existing vulnerabilities detected
直接依赖 13
注册表软件包版本约束清单文件
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
全部依赖 859

来自 GitHub 依赖图的完整解析依赖集合:29 个直接依赖与 830 个间接(传递)软件包。仓库提交锁文件时,传递闭包才是完整的。

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

该仓库未发布可被索引解析的包,因此评估的是其自身的依赖图——共 807 个包,其中也包含从不交付的开发与测试版本固定:1 个存在已知公告,0 个为直接依赖。 有 52 个无法评估——没有已解析的版本、生态系统不受支持,或不在所列包清单之内。

软件包版本关系严重程度公告数修复版本
linkify-it5.0.1间接15.0.2

公告表示依赖图中记录的版本落入某条公告的受影响范围。可达性未经分析,且依赖图包含开发与测试的版本固定——某项发现可能只涉及工具链而非交付的软件。

原始 JSON 报告 机器可读
{
  "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"
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.27.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计npm.