Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-23 03:33 UTC

lidaixingchen / brutxui-vue3

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

TypeScript · VueMIT★ 2 stars⑂ 0 forkssince May 2026View on GitHub ↗

lidaixingchen/brutxui-vue3 holds a health index of 63 out of 100, placing it in the Moderate band. It scores highest on Engineering Quality (90/100) and lowest on Community & Adoption (43/100). It was last updated today. A single contributor accounts for most of its recent work.

63
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

63
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

历代星辰Personal account
4 followers16 public repossince Oct 2022

This repository is owned by a personal account. A single-owner project carries more continuity risk than an organization-backed one.

Package ecosystems

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

77Good · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
8.3/36Commit cadence — 12/52 weeks with commits
18/18Commit volume — 739 commits in the last year
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Inputs used
commits_last_year739
human_commit_share0.99
days_since_last_push0
active_weeks_last_year12

Release discipline

100Excellent
How it's scored
27/27Ships releases — 26 releases published
36/36Release recency — latest release 5 days ago
27/27Release cadence — a release every ~2.2 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count26
latest_release_tagv0.9.5
releases_from_tagsno
days_since_latest_release5
mean_days_between_releases2.2
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

43At risk · 18% of overall
How it's scored
0/60Stars — 2 stars
0/25Forks — 0 forks
0/15Watchers — 0 watchers
Inputs used
forks0
stars2
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
18/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductno
has_pull_request_templateyes
How it's scored
51.1/80Monthly downloads — 6,809 downloads/month across npm
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesbrutx-ui-vue, brutx-vue
dependents
ecosystemsnpm
total_downloads
monthly_downloads6,809
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

53Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
3.8/22.5Commit distribution — top contributor authored 83% of commits
2.7/13.5Contributor breadth — 2 contributors
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Inputs used
bus_factor1
contributors_sampled2
top_contributor_share0.832
How it's scored
0/46.8Issue resolution — no issues or no data
38.2/38.3PR acceptance — 2/2 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 0/29 approved changesets -- score normalized to 0
Inputs used
merged_prs2
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.
How it's scored
10/30Ownership backing — personal (user) account
0/20Verified domain — not applicable to user accounts
5/25Owner reach — 4 followers of lidaixingchen
16.5/25Track record — 16 public repos, account ~3 yr old
Inputs used
followers4
owner_typeUser
is_verified
owner_loginlidaixingchen
public_repos16
account_age_days1,378
Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.
How it's scored
25/25Published & resolvable — 2 package(s) on npm
35/35Publish recency — latest publish 5 days ago
20/20Version history — 43 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesbrutx-ui-vue, brutx-vue
ecosystemsnpm
any_deprecatedno
min_days_since_publish5

Engineering Quality

Are baseline engineering and documentation practices in place?

90Excellent · 20% of overall
How it's scored
24/24CI workflows — 5 workflow(s)
24/24Tests present
16/16Linter config — eslint.config.js
0/9.6Pre-commit hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 1 out of 1 merged PRs checked by a CI test -- score normalized to 10
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configyes
has_precommit_configno

Documentation

100Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://lidaixingchen.github.io/brutxui-vue3/
10/10Repository description
10/10Topics — 15 topics
10/10Wiki
Inputs used
topicscomponent, frontend, typescript, uikit, vue, vue3, brutalist, brutalist-ui, component-library, design-system, neo-brutalism, shadcn-ui, tailwindcss, ui-library, vite
has_wikiyes
homepagehttps://lidaixingchen.github.io/brutxui-vue3/
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

50Moderate · 16% of overall
How it's scored
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 — no data
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
0/5Packaging — no data
0/5Pinned-Dependencies — no data
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 — no data
0/7.5Token-Permissions — no data
6.8/7.5Vulnerabilities — 1 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate3.8
Excluded from scoring (no data or not applicable): dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Remaining weights renormalized.
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
0/40No advisories left outstanding — no advisory carries a publication date
Inputs used
sourceosv
advisories1
affected_packages1
assessed_packages807
unassessed_packages52
affected_by_severityhigh 1
direct_affected_packages0
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.

AI Readiness

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.

75Good · 0% of overall
How it's scored
45/45Agent instructions — .github/copilot-instructions.md, AGENTS.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 98 of 99 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.99
agent_instruction_files.github/copilot-instructions.md, AGENTS.md
agent_instruction_max_bytes11,494
How it's scored
0/18One-command bootstrap
22/22Automated tests
11/11Lint / format config — eslint.config.js
11/11Static type checking — 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/10Reproducible environment — lockfile
2/10Demonstrated agent practice — 1 of the last 100 commits agent-authored or agent-credited
8/8Automated maintenance — 1 of the last 100 commits are automated dependency updates
0/10OpenSSF Scorecard: Pinned-Dependencies — no data
Inputs used
has_nixno
has_testsyes
lockfilespnpm-lock.yaml
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configyes
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
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
55/55Manageable file sizes — 0/435 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes55,466
source_files_sampled435
oversized_source_files0
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — demos
Inputs used
example_dirsdemos
has_mcp_signalno
api_schema_files

Key facts

2GitHub stars
2contributors
739commits, last 12 months
0days since last push
26releases
1bus factor
0open issues
npmpackage ecosystems

Data collection 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

More detail

OpenSSF Scorecard 3.8 / 10
3.8aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-23 03:33 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests1 out of 1 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/29 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
n/aDangerous-Workflowno workflows found
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
n/aPackagingpackaging workflow not detected
n/aPinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/aSigned-Releasesno releases found
n/aToken-PermissionsNo tokens found
9Vulnerabilities1 existing vulnerabilities detected
Direct dependencies 13
RegistryPackageVersion constraintManifest
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
All dependencies 859

Full resolved dependency set from the GitHub dependency graph: 29 direct and 830 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

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

This repository publishes no package the index resolves, so its own dependency graph was assessed — 807 packages, which also include development and test pins that never ship: 1 carry known advisories, of which 0 are direct. 52 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

PackageVersionRelationSeverityAdvisoriesFixed in
linkify-it5.0.1indirecthigh15.0.2

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "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"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsnpm.