Skip to content

chore(deps): update dependency apexcharts to v5.10.4#936

Merged
keithamus merged 1 commit intomainfrom
renovate/minor-5.10-dependencies
Mar 23, 2026
Merged

chore(deps): update dependency apexcharts to v5.10.4#936
keithamus merged 1 commit intomainfrom
renovate/minor-5.10-dependencies

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Mar 23, 2026

This PR contains the following updates:

Package Change Age Confidence
apexcharts (source) 5.9.05.10.4 age confidence

Release Notes

apexcharts/apexcharts.js (apexcharts)

v5.10.4: 💎 Version 5.10.4

Compare Source

What's New
  • CSS variable colors — Pass 'var(--my-color)' directly as a chart color. Swap your entire palette at runtime with a single CSS attribute change. (#​5185) Thanks to @​codecalm
  • New locales — Bulgarian (bg) and Romanian (ro) added. Serbian, Swedish, and Ukrainian locale files were also renamed to their correct ISO codes (sr, sv, uk). (#​5186) Thanks to @​gabriele-v
Bug Fixes
  • Datetime x-axis ticks — Several edge cases fixed: the first tick was missing when a range started exactly on a minute or second boundary; charts spanning midnight showed wrong dates; short-month rollovers (e.g. Feb 28 → Mar 1) were off by a day.
  • Screen reader duplicate label — Charts were announcing their title twice. (#​5183)
Performance
  • Faster updatesupdateOptions() and updateSeries() no longer rebuild internal modules
    from scratch on every call, reducing re-render overhead on dashboards with frequent data
    refreshes. Large datasets also benefit from automatic LTTB downsampling.
Type Safety (JSDoc refactor)

All ~97 JavaScript source files in src/ have been hardened with a JSDoc-first type safety strategy: TypeScript validates the source via checkJs: true without requiring a migration to .ts files. npm run typecheck now passes with zero errors under full strict: true.

What changed:

  • 34 real bugs found and fixed during type checking: wrong property names, dead arguments at call sites, deprecated IE11 APIs, mismatched JSDoc parameter names, variable type reuse, and missing return statements.

v5.10.3: 💎 Version 5.10.3

Compare Source

Bug Fixes
  • SSR: Bar/column charts rendered duplicate elements in renderToString() (1b4bcb1f)

    SSRElement.appendChild and insertBefore were unconditionally pushing the
    child onto the children array without checking whether the child already had a
    parent. Because Bar.js creates elDataLabelsWrap, elGoalsMarkers, and
    elBarShadows once per series but calls elSeries.add() on every data-point
    iteration, the SSR virtual DOM accumulated N×N bar paths and datalabel groups
    instead of N. The fix mirrors standard browser DOM move semantics: if a node
    already has a parent it is detached from that parent before being appended.
    This affects both appendChild and insertBefore.

v5.10.2: 💎 Version 5.10.2

Compare Source

Bug Fixes
  • Tree-shaking: ESM entry points were incorrectly eliminated by bundlers

    dist/*.esm.js and dist/features/*.esm.js were missing from the
    sideEffects field in package.json. Bundlers such as Webpack and Rollup
    treat files not listed as having side effects as safe to drop when they are
    not explicitly imported, which caused chart type and feature registrations to
    be silently tree-shaken away in production builds. Adding both glob patterns
    ensures the self-registering ESM bundles are always retained.

v5.10.1: 💎 Version 5.10.1

Compare Source

Bug Fixes
Chart Registry Survives Duplicate Module Instances

Problem: When a bundler (Vite, webpack, etc.) accidentally creates two separate copies of the ApexCharts module - for example when mixing CJS and ESM imports, or when optimizeDeps is not configured - ApexCharts.use() would write to one module's registry while the chart renderer read from another. The chart type was effectively never registered, causing a runtime error.

Fix: The chart type registry is now stored on globalThis.__apexcharts_registry__ instead of a module-local variable. All module instances share a single registry on the global object, so registration is never silently lost regardless of how many module copies the bundler created.

This is a defense-in-depth fix. For best results, configure your bundler to deduplicate ApexCharts (Vite: add apexcharts to optimizeDeps.include). The globalThis registry ensures the library degrades gracefully even when deduplication is not configured.

v5.10.0: 💎 Version 5.10.0

Compare Source

New Features

Per-Type Modular Entry Points

Every public chart type now has its own dedicated entry point matching the chart.type string you already use in config. Previously, users needed to know the internal grouping (e.g. apexcharts/heatmap for treemap charts); now you import by the exact type name.

New entry points:

Import Chart type(s) registered
apexcharts/line line
apexcharts/area area
apexcharts/scatter scatter
apexcharts/bubble bubble
apexcharts/rangeArea rangeArea
apexcharts/bar bar
apexcharts/column bar (column mode)
apexcharts/rangeBar rangeBar
apexcharts/candlestick candlestick
apexcharts/boxPlot boxPlot
apexcharts/pie pie
apexcharts/donut donut
apexcharts/polarArea polarArea
apexcharts/radialBar radialBar
apexcharts/radar radar
apexcharts/heatmap heatmap
apexcharts/treemap treemap (new standalone entry)

Example:

import ApexCharts from 'apexcharts/core'
import 'apexcharts/scatter'    // instead of 'apexcharts/line'
import 'apexcharts/donut'      // instead of 'apexcharts/pie'
import 'apexcharts/treemap'    // instead of 'apexcharts/heatmap'
import 'apexcharts/features/legend'

The old grouped entry points (apexcharts/pie, apexcharts/heatmap, apexcharts/radial, etc.) continue to work and register all their previous types — no breaking changes.


Improvements
Better Error Message for Unregistered Chart Types

When a chart type is not registered (common with tree-shaken builds), the error message now includes a specific hint about Vite's module deduplication as the most likely root cause, and how to fix it via optimizeDeps.include in vite.config.


dist/ File Structure

dist/
├── apexcharts.js              # UMD bundle (development)
├── apexcharts.min.js          # UMD bundle (minified)
├── apexcharts.esm.js          # ES module — full bundle (all chart types + features)
├── apexcharts.common.js       # CommonJS — full bundle
├── apexcharts.css             # Default styles
├── apexcharts-legend.css      # Legend styles
│
├── core.esm.js                # ES module — bare core (no chart types, no features)
├── core.common.js             # CommonJS — bare core
│
├── line.esm.js / line.common.js
├── area.esm.js / area.common.js
├── scatter.esm.js / scatter.common.js
├── bubble.esm.js / bubble.common.js
├── rangeArea.esm.js / rangeArea.common.js
├── bar.esm.js / bar.common.js
├── column.esm.js / column.common.js
├── rangeBar.esm.js / rangeBar.common.js
├── candlestick.esm.js / candlestick.common.js
├── boxPlot.esm.js / boxPlot.common.js
├── pie.esm.js / pie.common.js
├── donut.esm.js / donut.common.js
├── polarArea.esm.js / polarArea.common.js
├── radialBar.esm.js / radialBar.common.js
├── radar.esm.js / radar.common.js
├── heatmap.esm.js / heatmap.common.js
├── treemap.esm.js / treemap.common.js    # new in v5.10.0
│
├── features/
│   ├── all.esm.js / all.common.js
│   ├── annotations.esm.js / annotations.common.js
│   ├── exports.esm.js / exports.common.js
│   ├── toolbar.esm.js / toolbar.common.js
│   ├── legend.esm.js / legend.common.js
│   └── keyboard.esm.js / keyboard.common.js
│
└── locales/                   # i18n locale JSON files (ar, de, es, fr, ja, zh-cn, ...)

Configuration

📅 Schedule: Branch creation - "before 9am on monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from keithamus as a code owner March 23, 2026 02:30
Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All CI jobs have passed. Approving. (Build jobs were skipped - no Rust files changed)

@keithamus keithamus merged commit 9655e96 into main Mar 23, 2026
12 checks passed
@keithamus keithamus deleted the renovate/minor-5.10-dependencies branch March 23, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant