chartjs/Chart.js
Chart.js is a JavaScript library for rendering interactive charts, now modernized with a TypeScript codebase and ES Module support. It provides a modular architecture with separate controllers, elements, and plugins, enabling flexible integration into various environments including Node.js and React. The system includes comprehensive type definitions and automated testing to ensure visual and functional correctness across all chart types.
52.8
Adequate · 2 August 2026
35k
lines of production code
JavaScript
with TypeScript
4
bus factor · 539 authors in all
3
measurements over time
How it got here
2013–2018 · TypeScript and ES module migration
The project underwent a comprehensive modernization of its build system, architecture, and module structure. Core components were refactored into ES6 classes and TypeScript, while the codebase was reorganized into a modular, tree-shakeable structure with explicit ESM/CJS exports. This period also involved extensive test coverage expansion to validate the new rendering and animation logic.
21 changes
2019–2020 · Test coverage expansion and TypeScript migration
This period focused on significantly expanding the test suite for chart controllers, scales, and plugins, while simultaneously migrating the internal helper modules to TypeScript. The work also included refactoring the platform abstraction into modular ES modules and automating release and documentation deployment processes.
22 changes
2021 · Test coverage expansion
This period was dominated by the addition of extensive test fixtures across the codebase, covering chart controllers, plugins, and core scale behaviors. A new auto-registering entry point was also introduced to simplify library usage. The work focused on verifying rendering logic and edge cases for various chart types and configuration options.
20 changes
2022–2025 · ESM and TypeScript migration
This period focused on modernizing the codebase by refactoring the filler plugin and restructuring entry points to support ESM and UMD builds. Comprehensive TypeScript type definitions were introduced and validated through extensive integration and unit tests across Node.js, React, and browser environments.
14 changes
Survey your own repository
chartjs/Chart.js was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.
About this page
- The description of this project is derived from its own commit history, not from its README.
- The score is its highest published measurement, taken on 2 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit cb02e1d207 — the exact code this score is about.
- Scored under rubric rubric-2026.08.18. Score the same commit under that rubric and you get the same number.