Skip to content
CAI
Produce a survey ↗Verify a survey

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

CAI band scale
CAI trend line

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

CAI lens gauges

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.

Survey a repository

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.
CAI link cards