Repository Analysis

apexcharts/apexcharts.js

📊 Interactive JavaScript Charts built on SVG

7.3 Low AI signal View on GitHub
7.3
Adjusted Score
7.3
Raw Score
100%
Time Factor
2026-05-24
Last Push
15,102
Stars
JavaScript
Language
194,387
Lines of Code
1026
Files
275
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 90HIGH 0MEDIUM 143LOW 42

Pattern Findings

275 matches across 5 categories. Click a row to expand file-level details.

Hallucination Indicators90 hits · 900 pts
SeverityFileLineSnippet
CRITICALtests/unit/xaxis-annotations.spec.js71 const line = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js94 const line = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js118 const baseLine = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js140 const offsetLine = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js163 chart.w.globals.dom.baseEl.querySelector('.custom-xaxis-line')
CRITICALtests/unit/xaxis-annotations.spec.js171 const parent = chart.w.globals.dom.baseEl.querySelector('.apexcharts-svg')
CRITICALtests/unit/xaxis-annotations.spec.js205 const rects = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/xaxis-annotations.spec.js227 const rect = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js250 const rect = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js274 chart.w.globals.dom.baseEl.querySelector('.custom-xaxis-rect')
CRITICALtests/unit/xaxis-annotations.spec.js297 const label = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js318 const topLabel = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js336 const bottomLabel = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js369 const label = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js397 const label = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js419 const label = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js441 const group = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js460 const lines = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/xaxis-annotations.spec.js478 const lines = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/xaxis-annotations.spec.js494 const group = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js527 const group = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js561 const group = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js577 const parent = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js610 const line = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/xaxis-annotations.spec.js629 const labels = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/xaxis-annotations.spec.js654 const line = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/annotation-helpers.spec.js66 const xAnno = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/annotation-helpers.spec.js109 const annoEl = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/annotation-helpers.spec.js143 const annoEl = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js42 const marker = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js67 const marker = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js87 const markers = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/points-annotations.spec.js123 const label = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js146 const labels = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/points-annotations.spec.js171 const label = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js204 const group = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js231 const groups = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/points-annotations.spec.js265 const img = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js292 const images = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/points-annotations.spec.js321 const marker = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js343 const parent = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js377 const parent = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/points-annotations.spec.js409 const group = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/yaxis-annotations.spec.js38 const line = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/yaxis-annotations.spec.js62 const el = chart.w.globals.dom.baseEl.querySelector('.my-yaxis-line')
CRITICALtests/unit/yaxis-annotations.spec.js80 const lines = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/yaxis-annotations.spec.js110 const rect = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/yaxis-annotations.spec.js133 const rect = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/yaxis-annotations.spec.js156 const el = chart.w.globals.dom.baseEl.querySelector('.my-yaxis-rect')
CRITICALtests/unit/yaxis-annotations.spec.js176 const rect = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/yaxis-annotations.spec.js213 const label = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/yaxis-annotations.spec.js236 const labels = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/yaxis-annotations.spec.js260 const label = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/yaxis-annotations.spec.js279 const group = chart.w.globals.dom.baseEl.querySelector(
CRITICALtests/unit/annotations.spec.js100 const xAxisAnnotations = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/annotations.spec.js103 const yAxisAnnotations = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/annotations.spec.js118 const annotations = chart.w.globals.dom.baseEl.querySelectorAll(
CRITICALtests/unit/annotations.spec.js150 const images = chart.w.globals.dom.baseEl.querySelectorAll('image')
CRITICALtests/unit/annotations.spec.js172 const images = chart.w.globals.dom.baseEl.querySelectorAll('image')
CRITICALtests/unit/annotations.spec.js198 chart.w.globals.dom.baseEl.querySelectorAll('.apexcharts-text')
30 more matches not shown…
Decorative Section Separators143 hits · 471 pts
SeverityFileLineSnippet
MEDIUMtsconfig.json3 // ── Validation mode (no output files) ─────────────────────────────────────
MEDIUMtsconfig.json9 // ── Strictness — full strict mode ────────────────────
MEDIUMtsconfig.json12 // ── Module resolution ──────────────────────────────────────────────────────
MEDIUMtsconfig.json17 // ── Type resolution ────────────────────────────────────────────────────────
MEDIUMtsconfig.json23 // ── Paths ──────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js20// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js23// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js49// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js51// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js94// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js96// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js159// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js161// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js206// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js208// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js269// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-animation.spec.js271// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-math.spec.js11// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-math.spec.js13// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-math.spec.js93// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-math.spec.js95// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-math.spec.js228// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/svg-math.spec.js230// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js5// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js16// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js30// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js32// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js135// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js137// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js181// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js183// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js250// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js252// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js297// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js302// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js531// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/timescale.spec.js536// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/monotone-cubic.spec.js11// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/monotone-cubic.spec.js13// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/monotone-cubic.spec.js78// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/monotone-cubic.spec.js80// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/monotone-cubic.spec.js131// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/monotone-cubic.spec.js133// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/monotone-cubic.spec.js184// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/monotone-cubic.spec.js186// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js16// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js18// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js103// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js105// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js143// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js145// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js166// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js168// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js241// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/path-morphing.spec.js243// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/scales.spec.js16// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/scales.spec.js18// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/scales.spec.js143// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/scales.spec.js145// ─────────────────────────────────────────────────────────────────────────────
MEDIUMtests/unit/scales.spec.js209// ─────────────────────────────────────────────────────────────────────────────
83 more matches not shown…
Hyper-Verbose Identifiers19 hits · 19 pts
SeverityFileLineSnippet
LOWsamples/vanilla-js/scatter/scatter-datetime.html42 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/vanilla-js/line/syncing-charts.html101 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/vanilla-js/line/brush-charts.html52 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOW…mples/vanilla-js/dashboards/realtime/assets/scripts.js61function generateMinuteWiseTimeSeries(baseval, count, yrange) {
LOW…s/vanilla-js/candlestick/candlestick-parsing-data.html86 function generateSingleCandlestick(
LOWsamples/vue/scatter/scatter-datetime.html44 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/vue/line/syncing-charts.html103 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/vue/line/brush-charts.html54 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/vue/candlestick/candlestick-parsing-data.html88 function generateSingleCandlestick(
LOWsamples/source/scatter/scatter-datetime.xml21function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/source/line/brush-charts.xml31function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/source/line/syncing-charts.xml80function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/source/dashboards/realtime/assets/scripts.js61function generateMinuteWiseTimeSeries(baseval, count, yrange) {
LOWsamples/source/candlestick/candlestick-parsing-data.xml59function generateSingleCandlestick(date, previousClose, minPrice = 120, maxPrice = 180) {
LOWsamples/react/scatter/scatter-datetime.html47 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/react/line/syncing-charts.html106 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/react/line/brush-charts.html57 function generateDayWiseTimeSeries(baseval, count, yrange) {
LOWsamples/react/candlestick/candlestick-parsing-data.html91 function generateSingleCandlestick(
LOWsrc/modules/Series.js97 function iterateOnAllCollapsedSeries(series) {
Over-Commented Block18 hits · 18 pts
SeverityFileLineSnippet
LOWjest.config.js41 // The root directory that Jest should scan for tests and modules within
LOWtests/unit/timescale.spec.js1import TimeScale from '../../src/modules/TimeScale'
LOWtests/e2e/samples.js441// const attrCY = await paths.$$eval('circle', (nodes) =>
LOWsamples/source/radialBar/stroked-gauge.xml61// window.setInterval(function () {
LOW.github/workflows/codeql-analysis.yml1# For most projects, this workflow file will not need changing; you simply need
LOWsrc/types/internal.d.ts441 axisFlags: AxisFlags
LOWsrc/modules/Scales.js181 // gcdStep is a multiple of range because crudeStep is a multiple.
LOWsrc/modules/Scales.js341 // possible products of those factors in order from smallest to biggest,
LOWsrc/modules/CoreUtils.js161
LOWsrc/modules/CoreUtils.js181 // show: false. If the chart is stacked, it's assumed that series 1..4 are
LOWsrc/modules/ZoomPanSelection.js941
LOWsrc/modules/Base.js141 xAxisGroupLabelsHeight: 0,
LOWsrc/modules/settings/Options.js261 },
LOWsrc/modules/settings/Options.js601 shape: 'arc',
LOWsrc/modules/tooltip/Tooltip.js241 // the rest of the glass theme (border, shadow) still applies cleanly.
LOWsrc/modules/tooltip/Utils.js201
LOWsrc/modules/accessibility/KeyboardNavigation.js161 if (!this._isNavEnabled()) return
LOWsrc/modules/accessibility/KeyboardNavigation.js741 ttCtx.tooltipUtil.isInitialSeriesSameLen()
Verbosity Indicators5 hits · 10 pts
SeverityFileLineSnippet
LOWtests/unit/responsive.spec.js177 // Step 1: Activate a breakpoint (viewport < 1024)
LOWtests/unit/responsive.spec.js184 // Step 2: Resize above the breakpoint (viewport > 1024)
LOWtests/unit/responsive.spec.js322 // Step 1: Activate breakpoint
LOWtests/unit/responsive.spec.js328 // Step 2: Simulate series update (user calls updateSeries)
LOWtests/unit/responsive.spec.js331 // Step 3: Resize above breakpoint — config resets but series should be preserved