12 releases measured. Default branch at d7d02b17, 2026-10-19, 2 files.

Source lines
261
+24.9% in a year
Maintainability index
51.4
+3.7 in a year
Mean CC per function
6.06
Functions with CC > 20
0
of 16
Size

Lines of code, comments and blank lines left out

Maintainability index

Mean over functions, weighted by their lines. Higher is better

Cyclomatic complexity per function

Lower is better

Hard to maintain

Share of functions, and of function code, past the usual limits. Lower is better

Least maintainable functions now

Function Location MI CC Lines
decode src/libqp.ts:79 41.6 13 35
wrapLine src/libqp.ts:179 45.1 12 26
encodeBytes src/libqp.ts:38 45.4 17 24
_encodeSlices src/libqp.ts:365 49.4 7 19
trimUtf8Sequence src/libqp.ts:228 50.7 9 19
_transform src/libqp.ts:312 50.9 7 18
wrap src/libqp.ts:154 56.3 5 12
_flush src/libqp.ts:342 56.4 3 13
constructor src/libqp.ts:293 56.9 4 13
hexValue src/libqp.ts:134 58.0 7 12
_flush src/libqp.ts:433 60.4 2 10
_transform src/libqp.ts:418 60.6 3 9
constructor src/libqp.ts:405 63.7 2 8
encode src/libqp.ts:23 73.9 2 3
toBuffer src/libqp.ts:266 78.1 2 2
Every measured release 12
Release Date Files Source lines Functions MI Mean CC P90 CC Max CC CC > 10 CC > 20
default branch 2026-10-19 2 261 16 51.4 6.06 13 17 3 0
v3.0.1 2026-10-18 2 261 16 51.4 6.06 13 17 3 0
v3.0.0 2026-10-18 2 287 15 47.1 6.47 16 21 3 1
v2.1.3 2026-10-16 1 250 13 46.5 6.69 12 25 3 1
v2.1.2 2026-09-28 1 208 11 47.7 6.36 10 23 1 1
v2.1.1 2024-11-29 1 209 11 47.7 6.27 10 23 1 1
v2.1.0 2024-02-23 1 218 12 48.2 5.83 10 23 1 1
v2.0.1 2022-11-03 1 217 12 48.2 5.83 10 23 1 1
v2.0.0 2022-11-03 1 217 12 48.2 5.83 10 23 1 1
v1.1.0 2015-09-24 1 212 12 48.1 5.83 10 23 1 1
v1.0.0 2015-04-03 1 213 12 48.0 5.83 10 23 1 1
v0.1.1 2014-06-18 1 215 12 47.7 5.92 10 24 1 1
v0.1.0 2014-06-18 1 214 12 47.7 5.92 10 24 1 1
How the numbers are made

Library source only: lib/, src/, workers/, bin/ and top-level source files. Tests, examples, tooling, type declarations and generated or minified files are left out.

Source lines are lines carrying code, with blank lines and comments dropped.

Cyclomatic complexity (CC) counts the independent paths through a function: 1 plus every if, loop, case, catch, ternary, && / || / ??, optional chain and default parameter. Above 10 a function is commonly considered hard to test, above 20 hard to understand.

Maintainability index (MI) is computed per function as max(0, (171 - 5.2 ln(Halstead volume) - 0.23 CC - 16.2 ln(lines)) * 100 / 171), the 0 to 100 scale Visual Studio uses, where below 20 is poor. The repository figure weights each function by its lines. Code outside any function (lookup tables, schemas, declarations) counts toward size only. MI is driven mostly by size, so read it as a trend, not a grade.

A move from JavaScript to TypeScript adds type annotations to every function, which raises the Halstead volume and lowers MI without the logic changing. Expect a step at that release.

Measured Mon, 19 Oct 2026 19:28:19 GMT.