mailparser
158 releases measured. Default branch at ccf75ba1, 2026-10-19, 4 files.
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 |
|---|---|---|---|---|
processChunk |
lib/mail-parser.js:988 | 21.4 | 41 | 135 |
<anonymous> |
lib/mail-parser.js:469 | 27.7 | 37 | 91 |
processNode |
lib/mail-parser.js:849 | 32.4 | 25 | 70 |
createNode |
lib/mail-parser.js:748 | 32.7 | 19 | 73 |
exceedsHtmlNestingDepth |
lib/mail-parser.js:154 | 37.9 | 16 | 48 |
exports |
lib/simple-parser.js:5 | 40.9 | 9 | 46 |
textToHtml |
lib/mail-parser.js:1401 | 42.1 | 7 | 43 |
constructor |
lib/mail-parser.js:280 | 42.5 | 3 | 39 |
decodeAddresses |
lib/mail-parser.js:702 | 42.7 | 13 | 35 |
findLinks |
lib/mail-parser.js:1362 | 47.5 | 8 | 25 |
rfc2231ParamNames |
lib/mail-parser.js:89 | 49.4 | 7 | 23 |
parsePriority |
lib/mail-parser.js:661 | 50.1 | 9 | 23 |
reader |
lib/simple-parser.js:53 | 50.4 | 4 | 23 |
processHeaders |
lib/mail-parser.js:467 | 50.4 | 2 | 27 |
getTextContent |
lib/mail-parser.js:845 | 50.6 | 4 | 22 |
Every measured release 158
| Release | Date | Files | Source lines | Functions | MI | Mean CC | P90 CC | Max CC | CC > 10 | CC > 20 |
|---|---|---|---|---|---|---|---|---|---|---|
| v3.9.47 | 2026-10-19 | 4 | 1,339 | 114 | 48.7 | 3.89 | 8 | 41 | 6 | 3 |
| v3.9.46 | 2026-10-18 | 4 | 1,339 | 114 | 48.7 | 3.89 | 8 | 41 | 6 | 3 |
| v3.9.45 | 2026-10-18 | 4 | 1,339 | 114 | 48.7 | 3.89 | 8 | 41 | 6 | 3 |
| v3.9.44 | 2026-10-18 | 4 | 1,339 | 114 | 48.7 | 3.89 | 8 | 41 | 6 | 3 |
| v3.9.43 | 2026-10-18 | 4 | 1,339 | 114 | 48.7 | 3.89 | 8 | 41 | 6 | 3 |
| v3.9.42 | 2026-10-18 | 4 | 1,339 | 114 | 48.7 | 3.89 | 8 | 41 | 6 | 3 |
| v3.9.41 | 2026-10-18 | 4 | 1,339 | 114 | 48.7 | 3.89 | 8 | 41 | 6 | 3 |
| v3.9.40 | 2026-10-16 | 4 | 1,339 | 114 | 48.7 | 3.89 | 8 | 41 | 6 | 3 |
| v3.9.39 | 2026-10-14 | 4 | 1,272 | 112 | 48.9 | 3.76 | 8 | 41 | 6 | 3 |
| v3.9.38 | 2026-10-10 | 4 | 1,272 | 112 | 48.9 | 3.76 | 8 | 41 | 6 | 3 |
| v3.9.37 | 2026-10-08 | 4 | 1,272 | 112 | 48.9 | 3.76 | 8 | 41 | 6 | 3 |
| v3.9.36 | 2026-10-05 | 4 | 1,272 | 112 | 48.9 | 3.76 | 8 | 41 | 6 | 3 |
| v3.9.35 | 2026-10-04 | 4 | 1,272 | 112 | 48.9 | 3.76 | 8 | 41 | 6 | 3 |
| v3.9.34 | 2026-10-03 | 4 | 1,272 | 112 | 48.9 | 3.76 | 8 | 41 | 6 | 3 |
| v3.9.33 | 2026-10-01 | 4 | 1,272 | 112 | 48.9 | 3.76 | 8 | 41 | 6 | 3 |
| v3.9.32 | 2026-09-30 | 4 | 1,266 | 112 | 49.1 | 3.75 | 8 | 40 | 6 | 3 |
| v3.9.31 | 2026-09-28 | 4 | 1,266 | 112 | 49.1 | 3.75 | 8 | 40 | 6 | 3 |
| v3.9.30 | 2026-09-28 | 4 | 1,266 | 112 | 49.1 | 3.75 | 8 | 40 | 6 | 3 |
| v3.9.29 | 2026-09-27 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.28 | 2026-09-15 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.27 | 2026-09-15 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.26 | 2026-09-12 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.25 | 2026-09-11 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.24 | 2026-09-10 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.23 | 2026-09-07 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.22 | 2026-09-06 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.21 | 2026-09-06 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.20 | 2026-09-01 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.19 | 2026-08-31 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.18 | 2026-08-31 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.17 | 2026-08-27 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.16 | 2026-08-24 | 4 | 1,210 | 109 | 49.2 | 3.64 | 8 | 38 | 5 | 3 |
| v3.9.15 | 2026-08-07 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.14 | 2026-07-05 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.13 | 2026-07-05 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.12 | 2026-06-25 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.11 | 2026-06-19 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.10 | 2026-06-15 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.9 | 2026-05-29 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.8 | 2026-04-08 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.7 | 2026-04-08 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.6 | 2026-03-25 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.5 | 2026-03-23 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.4 | 2026-03-09 | 4 | 1,162 | 107 | 49.2 | 3.51 | 7 | 38 | 5 | 3 |
| v3.9.3 | 2026-01-28 | 4 | 1,144 | 106 | 49.5 | 3.48 | 7 | 38 | 5 | 3 |
| v3.9.2 | 2026-01-28 | 4 | 1,142 | 106 | 49.5 | 3.48 | 7 | 38 | 5 | 3 |
| v3.9.1 | 2025-12-11 | 4 | 1,142 | 106 | 49.5 | 3.48 | 7 | 38 | 5 | 3 |
| v3.9.0 | 2025-11-05 | 4 | 1,142 | 106 | 49.5 | 3.48 | 7 | 38 | 5 | 3 |
| v3.7.5 | 2025-10-09 | 4 | 1,142 | 106 | 49.5 | 3.48 | 7 | 38 | 5 | 3 |
| v3.7.4 | 2025-06-29 | 4 | 1,136 | 105 | 49.5 | 3.50 | 7 | 38 | 5 | 3 |
| v3.7.3 | 2025-05-20 | 4 | 1,136 | 105 | 49.5 | 3.50 | 7 | 38 | 5 | 3 |
| v3.7.2 | 2024-11-29 | 4 | 1,136 | 105 | 49.5 | 3.50 | 7 | 38 | 5 | 3 |
| v3.7.1 | 2024-04-25 | 4 | 1,136 | 105 | 49.5 | 3.50 | 7 | 38 | 5 | 3 |
| v3.7.0 | 2024-04-11 | 4 | 1,136 | 105 | 49.5 | 3.50 | 7 | 38 | 5 | 3 |
| v3.6.9 | 2024-02-29 | 4 | 1,133 | 105 | 49.6 | 3.50 | 7 | 37 | 5 | 3 |
| v3.6.8 | 2024-02-29 | 4 | 1,133 | 105 | 49.6 | 3.50 | 7 | 37 | 5 | 3 |
| v3.6.7 | 2024-02-01 | 4 | 1,131 | 105 | 49.7 | 3.49 | 7 | 37 | 5 | 3 |
| v3.6.6 | 2024-01-04 | 4 | 1,131 | 105 | 49.7 | 3.49 | 7 | 37 | 5 | 3 |
| v3.6.5 | 2023-07-01 | 4 | 1,131 | 105 | 49.7 | 3.49 | 7 | 37 | 5 | 3 |
| v3.6.4 | 2023-03-03 | 4 | 1,131 | 105 | 49.7 | 3.48 | 7 | 37 | 5 | 3 |
| v3.6.3 | 2022-12-29 | 4 | 1,129 | 105 | 49.7 | 3.48 | 7 | 37 | 5 | 3 |
| v3.6.2 | 2022-12-15 | 4 | 1,123 | 105 | 49.7 | 3.46 | 7 | 37 | 5 | 3 |
| v3.6.1 | 2022-12-14 | 4 | 1,123 | 105 | 49.7 | 3.46 | 7 | 37 | 5 | 3 |
| v3.6.0 | 2022-12-08 | 4 | 1,123 | 105 | 49.7 | 3.46 | 7 | 37 | 5 | 3 |
| v3.5.0 | 2022-04-28 | 4 | 1,123 | 105 | 49.7 | 3.46 | 7 | 37 | 5 | 3 |
| v3.4.0 | 2021-10-11 | 4 | 1,123 | 105 | 49.7 | 3.46 | 7 | 37 | 5 | 3 |
| v3.3.3 | 2021-10-03 | 4 | 1,127 | 105 | 49.6 | 3.47 | 7 | 37 | 5 | 3 |
| v3.3.2 | 2021-10-01 | 4 | 1,122 | 105 | 49.8 | 3.46 | 7 | 37 | 5 | 3 |
| v3.3.1 | 2021-09-10 | 4 | 1,121 | 105 | 49.8 | 3.46 | 7 | 37 | 5 | 3 |
| v3.3.0 | 2021-08-04 | 4 | 1,121 | 105 | 49.8 | 3.46 | 7 | 37 | 5 | 3 |
| v3.2.0 | 2021-04-02 | 4 | 1,120 | 105 | 49.8 | 3.43 | 7 | 36 | 5 | 3 |
| v3.1.0 | 2021-02-17 | 4 | 1,119 | 105 | 49.9 | 3.42 | 7 | 35 | 5 | 3 |
| v3.0.1 | 2020-11-30 | 4 | 1,112 | 105 | 50.1 | 3.38 | 7 | 35 | 5 | 2 |
| v3.0.0 | 2020-09-07 | 4 | 1,112 | 105 | 50.1 | 3.38 | 7 | 35 | 5 | 2 |
| v2.8.1 | 2020-08-07 | 4 | 1,114 | 105 | 50.1 | 3.37 | 7 | 37 | 4 | 2 |
| v2.8.0 | 2020-07-22 | 4 | 1,114 | 105 | 50.1 | 3.37 | 7 | 37 | 4 | 2 |
| v2.7.7 | 2019-12-06 | 4 | 1,111 | 105 | 50.2 | 3.36 | 7 | 36 | 4 | 2 |
| v2.7.6 | 2019-11-05 | 4 | 1,101 | 105 | 50.4 | 3.32 | 7 | 36 | 4 | 2 |
| v2.7.5 | 2019-10-29 | 4 | 1,101 | 105 | 50.4 | 3.32 | 7 | 36 | 4 | 2 |
| v2.7.4 | 2019-10-28 | 4 | 1,095 | 105 | 50.6 | 3.30 | 7 | 34 | 4 | 2 |
| v2.7.3 | 2019-10-28 | 4 | 1,050 | 101 | 50.3 | 3.35 | 7 | 34 | 4 | 2 |
| v2.7.2 | 2019-10-28 | 4 | 1,053 | 101 | 50.2 | 3.39 | 7 | 34 | 4 | 3 |
| v2.7.1 | 2019-05-07 | 4 | 1,027 | 97 | 50.1 | 3.43 | 7 | 34 | 4 | 3 |
| v2.7.0 | 2019-05-01 | 4 | 1,027 | 97 | 50.1 | 3.43 | 7 | 34 | 4 | 3 |
| v2.6.0 | 2019-03-27 | 4 | 962 | 86 | 49.3 | 3.64 | 7 | 34 | 4 | 3 |
| v2.5.0 | 2019-03-15 | 4 | 962 | 86 | 49.3 | 3.64 | 7 | 34 | 4 | 3 |
| v2.4.3 | 2018-11-16 | 4 | 933 | 83 | 49.5 | 3.67 | 7 | 34 | 4 | 3 |
| v2.4.2 | 2018-11-13 | 4 | 933 | 83 | 49.5 | 3.66 | 7 | 34 | 4 | 3 |
| v2.4.1 | 2018-11-13 | 4 | 929 | 83 | 49.6 | 3.64 | 7 | 34 | 4 | 3 |
| v2.4.0 | 2018-10-23 | 4 | 929 | 83 | 49.6 | 3.64 | 7 | 34 | 4 | 3 |
| v2.3.4 | 2018-09-02 | 4 | 913 | 83 | 50.0 | 3.55 | 7 | 34 | 4 | 3 |
| v2.3.3 | 2018-08-22 | 4 | 909 | 83 | 50.1 | 3.55 | 7 | 34 | 4 | 3 |
| v2.3.2 | 2018-07-24 | 4 | 909 | 83 | 50.1 | 3.54 | 7 | 34 | 4 | 3 |
| v2.3.1 | 2018-07-24 | 4 | 909 | 83 | 50.1 | 3.54 | 7 | 34 | 4 | 3 |
| v2.3.0 | 2018-07-24 | 4 | 909 | 83 | 50.1 | 3.54 | 7 | 34 | 4 | 3 |
| v2.2.0 | 2018-02-08 | 5 | 922 | 83 | 50.2 | 3.55 | 7 | 34 | 4 | 3 |
| v2.1.0 | 2017-10-03 | 5 | 922 | 83 | 50.2 | 3.55 | 7 | 34 | 4 | 3 |
| v2.0.5 | 2017-05-03 | 5 | 820 | 82 | 51.1 | 3.49 | 7 | 34 | 4 | 3 |
| v2.0.4 | 2017-04-17 | 5 | 820 | 81 | 50.9 | 3.52 | 7 | 34 | 4 | 3 |
| v2.0.3 | 2017-04-07 | 5 | 820 | 81 | 50.9 | 3.51 | 7 | 34 | 4 | 3 |
| v2.0.2 | 2017-02-22 | 5 | 820 | 81 | 50.9 | 3.51 | 7 | 34 | 4 | 3 |
| v2.0.1 | 2017-02-03 | 5 | 819 | 81 | 51.0 | 3.49 | 7 | 34 | 4 | 2 |
| v2.0.0 | 2017-02-02 | 5 | 819 | 81 | 51.0 | 3.49 | 7 | 34 | 4 | 2 |
| v0.6.2 | 2017-01-22 | 3 | 1,277 | 60 | 42.4 | 7.35 | 20 | 41 | 13 | 6 |
| v0.6.1 | 2016-07-04 | 3 | 1,272 | 60 | 42.5 | 7.35 | 20 | 41 | 13 | 6 |
| v0.6.0 | 2016-06-02 | 3 | 1,272 | 60 | 42.5 | 7.35 | 20 | 41 | 13 | 6 |
| v0.5.3 | 2015-11-02 | 3 | 1,262 | 60 | 42.8 | 7.30 | 20 | 41 | 13 | 6 |
| v0.5.2 | 2015-07-20 | 3 | 1,262 | 60 | 42.8 | 7.30 | 20 | 41 | 13 | 6 |
| v0.5.1 | 2015-04-30 | 3 | 1,259 | 60 | 42.8 | 7.23 | 20 | 41 | 13 | 6 |
| v0.5.0 | 2015-04-11 | 3 | 1,253 | 60 | 42.8 | 7.22 | 20 | 41 | 13 | 6 |
| v0.4.9 | 2015-02-25 | 3 | 1,253 | 60 | 42.8 | 7.22 | 20 | 41 | 13 | 6 |
| v0.4.8 | 2015-01-14 | 3 | 1,214 | 58 | 42.6 | 7.28 | 22 | 42 | 13 | 6 |
| v0.4.7 | 2015-01-04 | 3 | 1,214 | 58 | 42.6 | 7.28 | 22 | 42 | 13 | 6 |
| v0.4.6 | 2014-08-21 | 3 | 1,209 | 58 | 42.8 | 7.24 | 22 | 41 | 13 | 6 |
| v0.4.5 | 2014-08-07 | 3 | 1,209 | 58 | 42.8 | 7.22 | 22 | 41 | 13 | 6 |
| v0.4.4 | 2014-06-03 | 3 | 1,209 | 58 | 42.8 | 7.22 | 22 | 41 | 13 | 6 |
| v0.4.2 | 2014-04-12 | 3 | 1,137 | 53 | 42.6 | 7.66 | 21 | 41 | 13 | 6 |
| v0.4.1 | 2014-01-20 | 3 | 1,122 | 53 | 42.9 | 7.55 | 20 | 41 | 13 | 5 |
| v0.4.0 | 2013-12-30 | 3 | 1,116 | 53 | 43.1 | 7.49 | 20 | 39 | 13 | 5 |
| v0.3.6 | 2013-05-17 | 3 | 1,097 | 53 | 43.3 | 7.42 | 19 | 39 | 13 | 5 |
| v0.3.5 | 2013-05-10 | 3 | 1,096 | 53 | 43.3 | 7.40 | 19 | 39 | 13 | 5 |
| v0.3.4 | 2013-03-11 | 3 | 1,092 | 53 | 43.4 | 7.38 | 19 | 39 | 13 | 5 |
| v0.3.3 | 2013-03-08 | 3 | 1,083 | 53 | 43.6 | 7.28 | 19 | 36 | 13 | 5 |
| v0.3.2 | 2013-03-08 | 3 | 1,086 | 53 | 43.6 | 7.28 | 19 | 36 | 13 | 5 |
| v0.3.1 | 2013-03-06 | 3 | 1,076 | 53 | 43.9 | 7.21 | 19 | 33 | 13 | 5 |
| v0.3.0 | 2013-02-28 | 3 | 1,076 | 53 | 43.9 | 7.21 | 19 | 33 | 13 | 5 |
| v0.2.33 | 2013-02-14 | 3 | 1,067 | 51 | 43.0 | 7.14 | 19 | 33 | 11 | 5 |
| v0.2.32 | 2013-02-14 | 3 | 1,066 | 51 | 43.0 | 7.14 | 19 | 33 | 11 | 5 |
| v0.2.31 | 2012-11-07 | 3 | 1,063 | 51 | 43.1 | 7.10 | 19 | 33 | 11 | 5 |
| v0.2.30 | 2012-09-24 | 3 | 1,063 | 51 | 43.1 | 7.10 | 19 | 33 | 11 | 5 |
| v0.2.29 | 2012-09-22 | 3 | 1,056 | 51 | 43.2 | 7.06 | 19 | 33 | 11 | 4 |
| v0.2.28 | 2012-09-04 | 3 | 1,055 | 51 | 43.2 | 7.06 | 19 | 33 | 11 | 4 |
| v0.2.26 | 2012-05-04 | 3 | 1,055 | 50 | 43.1 | 7.20 | 19 | 33 | 11 | 4 |
| v0.2.25 | 2012-05-04 | 3 | 1,042 | 49 | 43.0 | 7.24 | 19 | 33 | 11 | 4 |
| v0.2.24 | 2012-04-14 | 3 | 1,033 | 48 | 42.9 | 7.33 | 19 | 33 | 11 | 4 |
| v0.2.23 | 2012-04-13 | 3 | 1,031 | 48 | 43.0 | 7.31 | 19 | 33 | 11 | 4 |
| v0.2.22 | 2012-02-21 | 3 | 1,030 | 47 | 42.8 | 7.45 | 19 | 33 | 11 | 4 |
| v0.2.21 | 2012-01-24 | 4 | 976 | 42 | 42.5 | 7.83 | 19 | 33 | 10 | 4 |
| v0.2.19 | 2012-01-16 | 4 | 971 | 42 | 42.5 | 7.81 | 19 | 33 | 10 | 4 |
| v0.2.18 | 2012-01-13 | 4 | 967 | 42 | 42.6 | 7.79 | 19 | 32 | 10 | 4 |
| v0.2.17 | 2012-01-13 | 4 | 963 | 42 | 42.6 | 7.76 | 19 | 32 | 10 | 4 |
| v0.2.15 | 2012-01-12 | 3 | 928 | 41 | 42.5 | 7.66 | 19 | 32 | 9 | 4 |
| v0.2.14 | 2012-01-11 | 3 | 918 | 41 | 42.8 | 7.66 | 19 | 32 | 9 | 4 |
| v0.2.13 | 2012-01-09 | 3 | 919 | 41 | 42.8 | 7.66 | 19 | 32 | 9 | 4 |
| v0.2.12 | 2012-01-09 | 3 | 913 | 41 | 42.9 | 7.61 | 19 | 32 | 9 | 4 |
| v0.2.11 | 2012-01-09 | 3 | 913 | 41 | 42.9 | 7.61 | 19 | 32 | 9 | 4 |
| v0.2.10 | 2012-01-09 | 3 | 885 | 41 | 43.8 | 7.32 | 19 | 26 | 9 | 4 |
| v0.2.9 | 2012-01-09 | 3 | 885 | 41 | 43.8 | 7.29 | 18 | 26 | 9 | 4 |
| v0.2.8 | 2012-01-08 | 3 | 869 | 40 | 43.7 | 7.20 | 18 | 26 | 9 | 4 |
| v0.2.7 | 2012-01-08 | 3 | 867 | 40 | 43.8 | 7.05 | 18 | 26 | 9 | 4 |
| v0.2.6 | 2012-01-06 | 3 | 863 | 40 | 43.8 | 6.98 | 18 | 26 | 9 | 4 |
| v0.2.4 | 2012-01-05 | 3 | 843 | 38 | 43.5 | 7.13 | 22 | 26 | 8 | 4 |
| v0.2.3 | 2012-01-04 | 3 | 838 | 38 | 43.5 | 7.05 | 22 | 26 | 8 | 4 |
| v0.2.2 | 2012-01-04 | 3 | 838 | 38 | 43.5 | 7.05 | 22 | 26 | 8 | 4 |
| v0.2.0 | 2012-01-04 | 3 | 830 | 38 | 43.5 | 6.97 | 22 | 26 | 8 | 4 |
| v0.1.3 | 2012-01-04 | 4 | 948 | 71 | 45.7 | 4.52 | 9 | 58 | 6 | 2 |
| v0.1.2 | 2011-09-19 | 4 | 915 | 67 | 45.3 | 4.61 | 10 | 59 | 5 | 2 |
| v0.1.1 | 2011-09-14 | 4 | 890 | 66 | 45.2 | 4.61 | 10 | 59 | 5 | 2 |
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.