• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

naver / billboard.js / 24338443571
94%

Build:
DEFAULT BRANCH: master
Ran 13 Apr 2026 10:29AM UTC
Jobs 3
Files 131
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Apr 2026 10:25AM UTC coverage: 93.76% (+0.01%) from 93.75%
24338443571

push

github

web-flow
Perf wave1 opts (#4130)

* refactor(perf): Apply Wave 1 code-level performance optimizations

- shape: Hoist CURVE_MAP to module level
- class/dom/tooltip: Hoist regex constants to module level
- object: Replace Math spread with manual loop for large arrays
- state: Convert hiddenTargetIds/focusedTargetIds from Array to Set
- data: Update addTargetIds/removeTargetIds for Set API
- color: Reduce triple ids.indexOf() to single lookup
- point: Replace attr("class").indexOf() with classed()
- test: Update specs to use Set API (.has, .size)

* refactor(perf): Apply Wave 2 structural performance optimizations

- shape: Pre-compute prefix sums in getShapeX (avoid slice+reduce per bar)
- data: Replace mergeArray+filter in filterByX with flat double loop
- point: Extract inline .bind() calls to variables in updateCircle

* refactor(perf): Batch circle redraw and add focus-only threshold

- redrawCircle: for standard circle type, replace N-iteration .each()
  loop with two batch D3 filter passes — existing circles animate,
  new circles jump to position directly (preserves no-slide behavior)
- isPointFocusOnly: add opt-in point_focus_only_threshold config;
  auto-enables focus-only mode when total data points exceed threshold

* refactor(perf): Remove point_focus_only_threshold option

Reverts the auto-threshold feature added in the previous commit.
point_focus_only: true already covers the use case explicitly.

* refactor(perf): Counter-based transition IDs, shape offset pre-grouping, class memoization

- getRandom(): replace crypto.getRandomValues TypedArray allocation with
  a simple auto-increment counter; transition names need uniqueness, not
  cryptographic randomness (removes syscall + TypedArray alloc per call)
- getShapeOffset(): pre-build per-series same-stacking-group Map before
  the closure; eliminates .filter() array allocation on every datum
  (O(n*m) per redraw -> O(m) pre-build + O(1) lookup per datum)
- generateClass(): memoize result in state... (continued)

6903 of 7669 branches covered (90.01%)

Branch coverage included in aggregate %.

104 of 105 new or added lines in 15 files covered. (99.05%)

1 existing line in 1 file now uncovered.

8678 of 8949 relevant lines covered (96.97%)

20840.04 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
93.69
0.0% src/ChartInternal/internals/legend.ts

Coverage Regressions

Lines Coverage ∆ File
1
92.71
-0.51% src/ChartInternal/shape/point.ts
Jobs
ID Job ID Ran Files Coverage
1 run-23.x - 24338443571.1 13 Apr 2026 10:29AM UTC 131
93.75
GitHub Action Run
2 run-22.x - 24338443571.2 13 Apr 2026 10:29AM UTC 131
93.75
GitHub Action Run
3 run-24.x - 24338443571.3 13 Apr 2026 10:29AM UTC 131
93.76
GitHub Action Run
Source Files on build 24338443571
  • Tree
  • List 131
  • Changed 11
  • Source Changed 0
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 14b3711a on github
  • Prev Build on master (#24235942512)
  • Next Build on master (#24550161999)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc