Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 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 р.Переглянути на GitHub ↗

lidaixingchen/brutxui-vue3 має індекс здоров’я 63 зі 100, що відповідає смузі «Помірний». Найвищий показник — Engineering Quality (90/100), найнижчий — Community & Adoption (43/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконує один учасник.

63
загалом / 100
Помірний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

63
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

历代星辰Особистий обліковий запис
4 підписники16 публічних репозиторіївз жовт. 2022 р.

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
npmbrutx-ui-vue0.9.53 837435 днів томуvuevue3uiui-libraryui-componentscomponentsbrutalismneo-brutalismbrutalistdesign-systemtailwindcsstailwindreka-uitypescriptfrontendaccessibledark-mode
npmbrutx-vue0.8.02 972285 днів томуbrutx-vueclineo-brutalismvuevue3componentstailwindcss

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

77Добрий · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
8.3/36Ритм комітів — 12/52 тижнів із комітами
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
Як обчислюється оцінка
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
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
18/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductні
has_pull_request_templateтак
Як обчислюється оцінка
51.1/80Щомісячні завантаження — 6 809 завантажень/місяць у npm
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Вирішення issue — немає issue або даних
38.2/38.3Прийняття PR — злито 2/2 вирішених PR
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
Виключено з оцінювання (немає даних або не застосовно): Вирішення issue. Залишкові ваги перенормовано.

Власність та опіка

39У зоні ризику
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
5/25Охоплення власника — 4 підписників у lidaixingchen
16.5/25Послужний список — 16 публічних репозиторіїв, вік облікового запису ~3 р.
Використані вхідні дані
followers4
owner_typeUser
is_verified
owner_loginlidaixingchen
public_repos16
account_age_days1 378
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Супровід пакетів

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 2 пакет(ів) у npm
35/35Свіжість публікацій — остання публікація 5 дн. тому
20/20Історія версій — 43 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesbrutx-ui-vue, brutx-vue
ecosystemsnpm
any_deprecatedні
min_days_since_publish5

Інженерна якість

Чи наявні базові інженерні практики та документація?

90Відмінний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 5 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — 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 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза межами звітованого переліку пакетів. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

75Добрий · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — .github/copilot-instructions.md, AGENTS.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 98 з 99 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
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/11Конфігурація лінтера / форматера — 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Підтверджена практика роботи з агентами — 1 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 1 з останніх 100 комітів — автоматичні оновлення залежностей
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Керовані розміри файлів — 0/435 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageTypeScript
largest_source_bytes55 466
source_files_sampled435
oversized_source_files0
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — demos
Використані вхідні дані
example_dirsdemos
has_mcp_signalні
api_schema_files

Ключові факти

2зірок GitHub
2контриб'юторів
739комітів за останні 12 місяців
0днів від останнього пушу
26релізів
1бас-фактор
0відкритих issue
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 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
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.