Browserify isn't optimal bundling Chart.js because it adds too many internal wrappers, doesn't handle external/global dependencies and doesn't provide a way to generate ESM builds. Therefore, it seems the right choice to switch to rollup, so move all the build process in `rollup.config.js` and make Gulp to execute `rollup -c`. We also had to switch to Terser instead of UglifyJS because this last one contains a breaking bug. Note that tests now use the exact same rollup config as our builds (the minified one) to ensure that the bundling and minification steps don't break anything. Finally, replace the `gulp watch` task by `gulp build --watch` to be consistent with the other `unittest` and `docs` watching syntax.
Developers
Developer features allow extending and enhancing Chart.js in many different ways.
Latest resources
Latest documentation and samples, including unreleased features, are available at:
Development releases
Latest builds are available for testing at:
- http://www.chartjs.org/dist/master/Chart.min.js
- http://www.chartjs.org/dist/master/Chart.bundle.min.js
Note: Development builds are currently only available via HTTP, so in order to include them in JSFiddle or CodePen, you need to access these tools via HTTP as well.
WARNING: Development builds MUST not be used for production purposes or as replacement for CDN.
Browser support
Chart.js offers support for the following browsers:
- Chrome 50+
- Firefox 45+
- Internet Explorer 11
- Edge 14+
- Safari 9+
Browser support for the canvas element is available in all modern & major mobile browsers. CanIUse
Thanks to BrowserStack for allowing our team to test on thousands of browsers.
Previous versions
Version 2 has a completely different API than earlier versions.
Most earlier version options have current equivalents or are the same.
Please use the documentation that is available on chartjs.org for the current version of Chart.js.
Please note - documentation for previous versions are available on the GitHub repo.