RepoTrust

Leaderboard github.com

beizhedenglong/rough-charts

📈 A responsive, composable react charting library with a hand-drawn style.

  • View repository ↗
  • TypeScript
  • ★ 1,547
  • commit 74b0724d6b2b
  • scored 2026-11-13
  • scoring prov-4+qual-2+sec-2

AI provenance

0%

none-detected

Confidence
54%
Coverage
100%

Estimated share of AI-generated code. Explicit attribution is a lower bound.

Code quality

37/100

poor

Confidence
90%
Coverage
100%

Complexity, duplication, lint density, tests, CI, docs and review process.

Security

53/100

weak

Confidence
85%
Coverage
100%

Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 0 none-detected 54% 100%
Code quality 37 poor 90% 100%
Security 53 weak 85% 100%

AI provenance

No AI attribution or AI-consistent velocity signals detected.

  • Explicitly attributed share (lower bound): 0.0%
  • Unattributed share in AI-consistent velocity bursts: 0.0%
  • Estimated AI-generated share: 0.0%
Month Lines added Attributed to AI
2019-10 3,792 0%
2020-03 4 0%
2020-05 127 0%

AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.

Code quality

Code quality is poor: test-to-source ratio 0.00, no CI test run detected; 0% of function code in complex or long functions; 14% duplicated lines. Weakest area: type safety.

Area Score
Complexity (lizard) 100
Duplication 43
Code smells (Opengrep) 3
Tests and CI 15
Documentation 65
Type safety 0
Process (Scorecard review/maintenance) 0
  • Functions: 159; mean complexity 1.8, 90th percentile 4; 0 complex and 0 long functions
  • Duplicated lines: 14.0% of 1,979 compared
  • Tests: 0 test lines for 2,949 source lines (ratio 0.00); CI test commands: none detected; 0% of recent source commits also change tests
  • Docs missing or thin: contributing, changelog

Security

Security posture is weak: 326 known vulnerabilities in 143 dependencies; 3 high-severity workflow issues. Weakest area: dependencies.

Area Score
Secrets (gitleaks, tree + history) 100
Static analysis (Opengrep) 89
Vulnerable dependencies (OSV) 0
CI workflows (zizmor) 52
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard 29
  • Known vulnerabilities: 326 in 143 packages (critical 29, high 148, medium 120, low 18)

  • Posture checks passed: none; missing: security policy, dependency updates, signed commits, lockfiles

  • OpenSSF Scorecard aggregate: 2.8/10 (published 2026-11-09)

Top findings

Severity Finding Location
critical osv/GHSA-67hx-6x53-jw92: @babel/traverse@7.12.1 (npm) is affected by GHSA-67hx-6x53-jw92 yarn.lock
critical osv/GHSA-cpq7-6gpm-g9rc: cipher-base@1.0.4 (npm) is affected by GHSA-cpq7-6gpm-g9rc yarn.lock
critical osv/GHSA-phwq-j96m-2c2q: ejs@2.7.4 (npm) is affected by GHSA-phwq-j96m-2c2q yarn.lock
critical osv/GHSA-vjh7-7g9h-fjfh: elliptic@6.5.3 (npm) is affected by GHSA-vjh7-7g9h-fjfh yarn.lock
critical osv/GHSA-6h5x-7c5m-7cr7: eventsource@1.0.7 (npm) is affected by GHSA-6h5x-7c5m-7cr7 yarn.lock
critical osv/GHSA-fjxv-7rqg-78g4: form-data@2.3.3 (npm) is affected by GHSA-fjxv-7rqg-78g4 yarn.lock
critical osv/GHSA-2w6w-674q-4c4q: handlebars@4.7.6 (npm) is affected by GHSA-2w6w-674q-4c4q yarn.lock
critical osv/GHSA-765h-qjxv-5f44: handlebars@4.7.6 (npm) is affected by GHSA-765h-qjxv-5f44 yarn.lock
critical osv/GHSA-8r5x-fm3f-whwj: handlebars@4.7.6 (npm) is affected by GHSA-8r5x-fm3f-whwj yarn.lock
critical osv/GHSA-f2jv-r9rf-7988: handlebars@4.7.6 (npm) is affected by GHSA-f2jv-r9rf-7988 yarn.lock
critical osv/GHSA-p8wg-vrv2-v86f: handlebars@4.7.6 (npm) is affected by GHSA-p8wg-vrv2-v86f yarn.lock
critical osv/GHSA-896r-f27r-55mw: json-schema@0.2.3 (npm) is affected by GHSA-896r-f27r-55mw yarn.lock
critical osv/GHSA-76p3-8jx3-jpfq: loader-utils@1.2.3 (npm) is affected by GHSA-76p3-8jx3-jpfq yarn.lock
critical osv/GHSA-76p3-8jx3-jpfq: loader-utils@1.4.0 (npm) is affected by GHSA-76p3-8jx3-jpfq yarn.lock
critical osv/GHSA-76p3-8jx3-jpfq: loader-utils@2.0.0 (npm) is affected by GHSA-76p3-8jx3-jpfq yarn.lock
critical osv/GHSA-r6rj-9ch6-g264: merge-deep@3.0.2 (npm) is affected by GHSA-r6rj-9ch6-g264 yarn.lock
critical osv/GHSA-xvch-5gv4-984h: minimist@1.2.5 (npm) is affected by GHSA-xvch-5gv4-984h yarn.lock
critical osv/GHSA-92xj-mqp7-vmcj: node-forge@0.7.6 (npm) is affected by GHSA-92xj-mqp7-vmcj yarn.lock
critical osv/GHSA-7f3x-x4pr-wqhj: parse-url@5.0.2 (npm) is affected by GHSA-7f3x-x4pr-wqhj yarn.lock
critical osv/GHSA-j9fq-vwqv-2fm2: parse-url@5.0.2 (npm) is affected by GHSA-j9fq-vwqv-2fm2 yarn.lock
critical osv/GHSA-h7cp-r72f-jxh6: pbkdf2@3.1.1 (npm) is affected by GHSA-h7cp-r72f-jxh6 yarn.lock
critical osv/GHSA-v62p-rq8g-8h59: pbkdf2@3.1.1 (npm) is affected by GHSA-v62p-rq8g-8h59 yarn.lock
critical osv/GHSA-jqcg-44mw-7w3h: proxy-addr@2.0.6 (npm) is affected by GHSA-jqcg-44mw-7w3h yarn.lock
critical osv/GHSA-95m3-7q98-8xr5: sha.js@2.4.11 (npm) is affected by GHSA-95m3-7q98-8xr5 yarn.lock
critical osv/GHSA-g4rg-993r-mgx7: shell-quote@1.7.2 (npm) is affected by GHSA-g4rg-993r-mgx7 yarn.lock

Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.

Repository profile

  • Source lines: 2,949; test lines: 0
Language Lines
TypeScript 2,787
JavaScript 162

Embed a badge

Maintainers can show these in a README. Badges update when the repository is re-scored.

[![RepoTrust ai](https://repotrust.synapticcyber.com/badge/github.com/beizhedenglong/rough-charts/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/beizhedenglong/rough-charts/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/beizhedenglong/rough-charts/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/beizhedenglong/rough-charts/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/beizhedenglong/rough-charts/security.svg)](https://repotrust.synapticcyber.com/r/github.com/beizhedenglong/rough-charts/)