chartjs / chartjs-plugin-datalabels

Chart.js plugin to display labels on data elements
https://chartjs-plugin-datalabels.netlify.app
MIT License
863 stars 459 forks source link

Chartjs .js and .cjs are both imported when using chartjs-plugin-datalabels #400

Open AoDev opened 8 months ago

AoDev commented 8 months ago

Summary

Both the .js and .cjs versions of chart.js are imported and bundled when using this plugin.

Libs versions

Description

Both the .js and .cjs versions of chart.js are bundled in my react / typescript app when I use chartjs-plugin-datalabels. The app is bundled with Webpack 5. I verified that this issue does not happen if I don't import it.

The plugin is imported like so:

import {Chart as ChartJS} from 'chart.js'
import ChartDataLabels from 'chartjs-plugin-datalabels'

ChartJS.register(ChartDataLabels)

Note that it is specifically the register(...) line that causes the problem. If I import the plugin but not register it, there is no duplication

Further investigation

I don't know if the problem is chart.js or datalabels so I decided to test with another plugin.

I tried with chartjs-plugin-autocolors and can confirm the duplication issue does not happen.

So, at the moment I decided to write the issue here.

Screenshots

Checked with the BundleAnalyzerPlugin

without chartjs-plugin-datalabels with chartjs-plugin-datalabels
image image
only .js included both .cjs & .js included