nodemailer
298 releases measured. Default branch at 1d36a5e2, 2026-10-19, 36 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 |
|---|---|---|---|---|
nmfetch |
src/fetch/index.ts:144 | 21.3 | 43 | 131 |
_setEnvelope |
src/smtp-connection/index.ts:1933 | 26.1 | 36 | 89 |
_handleAddress |
src/addressparser/index.ts:778 | 27.1 | 37 | 85 |
checkChar |
src/addressparser/index.ts:1090 | 27.3 | 46 | 78 |
login |
src/smtp-connection/index.ts:1095 | 27.7 | 29 | 92 |
buildHeaderParam |
src/mime-funcs/index.ts:311 | 30.1 | 20 | 90 |
_stripAddressComments |
src/addressparser/index.ts:547 | 30.3 | 31 | 77 |
<anonymous> |
src/mime-node/index.ts:881 | 30.5 | 29 | 74 |
_collectAddressParts |
src/addressparser/index.ts:655 | 31.2 | 28 | 71 |
resolveHostname |
src/shared/index.ts:294 | 32.3 | 20 | 73 |
wrap |
src/qp/index.ts:78 | 32.4 | 24 | 65 |
parseHeaderValue |
src/mime-funcs/index.ts:477 | 32.6 | 20 | 77 |
send |
src/sendmail-transport/index.ts:105 | 32.8 | 12 | 75 |
<anonymous> |
src/fetch/index.ts:364 | 33.3 | 21 | 64 |
<anonymous> |
src/mail-composer/index.ts:271 | 33.6 | 28 | 59 |
Every measured release 298
| Release | Date | Files | Source lines | Functions | MI | Mean CC | P90 CC | Max CC | CC > 10 | CC > 20 |
|---|---|---|---|---|---|---|---|---|---|---|
| default branch | 2026-10-19 | 36 | 13,178 | 781 | 49.1 | 4.14 | 10 | 46 | 77 | 17 |
| v10.1.7 | 2026-10-18 | 36 | 13,358 | 781 | 48.9 | 4.14 | 10 | 46 | 77 | 17 |
| v10.1.6 | 2026-10-18 | 36 | 13,355 | 780 | 48.9 | 4.15 | 10 | 46 | 77 | 17 |
| v10.1.5 | 2026-10-18 | 36 | 13,349 | 778 | 48.6 | 4.15 | 10 | 68 | 76 | 16 |
| v10.1.4 | 2026-10-18 | 36 | 13,276 | 773 | 48.6 | 4.15 | 10 | 74 | 75 | 16 |
| v10.1.3 | 2026-10-18 | 36 | 13,117 | 767 | 48.8 | 4.09 | 10 | 63 | 74 | 15 |
| v10.1.2 | 2026-10-16 | 36 | 13,091 | 768 | 48.8 | 4.07 | 10 | 63 | 74 | 15 |
| v10.1.1 | 2026-10-14 | 36 | 13,022 | 762 | 48.9 | 4.06 | 10 | 63 | 72 | 15 |
| v10.1.0 | 2026-10-10 | 36 | 13,017 | 761 | 48.9 | 4.06 | 10 | 63 | 72 | 15 |
| v10.0.16 | 2026-10-07 | 36 | 12,522 | 701 | 48.7 | 4.11 | 10 | 63 | 69 | 15 |
| v10.0.15 | 2026-10-05 | 36 | 12,518 | 701 | 48.7 | 4.10 | 10 | 63 | 69 | 15 |
| v10.0.14 | 2026-10-03 | 36 | 12,519 | 701 | 48.7 | 4.10 | 10 | 63 | 69 | 15 |
| v10.0.13 | 2026-09-30 | 36 | 12,444 | 691 | 48.6 | 4.12 | 11 | 63 | 70 | 15 |
| v10.0.12 | 2026-09-28 | 36 | 12,371 | 689 | 48.8 | 4.09 | 11 | 57 | 69 | 14 |
| v10.0.11 | 2026-09-27 | 36 | 12,309 | 686 | 49.0 | 4.08 | 10 | 57 | 66 | 13 |
| v10.0.10 | 2026-09-14 | 36 | 12,106 | 684 | 49.0 | 4.08 | 10 | 57 | 66 | 13 |
| v10.0.9 | 2026-09-12 | 36 | 12,081 | 682 | 49.0 | 4.08 | 10 | 57 | 65 | 13 |
| v10.0.8 | 2026-09-11 | 36 | 12,065 | 681 | 49.0 | 4.08 | 10 | 49 | 65 | 14 |
| v10.0.7 | 2026-09-11 | 36 | 12,064 | 681 | 49.0 | 4.08 | 10 | 49 | 65 | 14 |
| v10.0.6 | 2026-09-11 | 36 | 12,061 | 680 | 49.0 | 4.08 | 10 | 49 | 65 | 14 |
| v10.0.5 | 2026-09-11 | 36 | 11,988 | 677 | 49.1 | 4.03 | 10 | 47 | 63 | 13 |
| v10.0.4 | 2026-09-11 | 36 | 11,982 | 677 | 49.1 | 4.03 | 10 | 46 | 63 | 13 |
| v10.0.3 | 2026-09-10 | 36 | 11,972 | 677 | 49.1 | 4.03 | 10 | 46 | 62 | 13 |
| v10.0.2 | 2026-09-09 | 36 | 11,968 | 677 | 49.2 | 4.02 | 10 | 46 | 61 | 13 |
| v10.0.1 | 2026-09-07 | 36 | 11,931 | 677 | 49.2 | 4.01 | 10 | 46 | 60 | 13 |
| v10.0.0 | 2026-09-04 | 36 | 11,937 | 677 | 49.2 | 4.01 | 10 | 46 | 60 | 13 |
| v9.1.1 | 2026-09-01 | 36 | 10,591 | 672 | 49.5 | 4.06 | 10 | 46 | 58 | 15 |
| v9.1.0 | 2026-08-31 | 36 | 10,564 | 670 | 49.5 | 4.05 | 10 | 46 | 58 | 15 |
| v9.0.6 | 2026-08-27 | 36 | 10,508 | 670 | 49.5 | 4.03 | 10 | 43 | 58 | 15 |
| v9.0.5 | 2026-08-07 | 35 | 10,384 | 657 | 49.6 | 4.06 | 10 | 43 | 56 | 15 |
| v9.0.4 | 2026-08-04 | 35 | 10,328 | 647 | 49.5 | 4.09 | 10 | 41 | 56 | 15 |
| v9.0.3 | 2026-06-30 | 35 | 10,327 | 647 | 49.5 | 4.09 | 10 | 41 | 56 | 16 |
| v9.0.2 | 2026-06-30 | 35 | 10,316 | 646 | 49.5 | 4.09 | 10 | 41 | 56 | 16 |
| v9.0.1 | 2026-06-17 | 35 | 10,256 | 639 | 49.6 | 4.09 | 10 | 41 | 55 | 15 |
| v9.0.0 | 2026-06-14 | 35 | 10,252 | 639 | 49.6 | 4.09 | 10 | 41 | 55 | 15 |
| v8.0.11 | 2026-06-10 | 34 | 10,151 | 633 | 49.6 | 4.07 | 10 | 41 | 53 | 15 |
| v8.0.10 | 2026-05-29 | 34 | 10,103 | 629 | 49.6 | 4.07 | 10 | 41 | 53 | 14 |
| v8.0.9 | 2026-05-26 | 34 | 10,097 | 628 | 49.6 | 4.07 | 10 | 41 | 53 | 14 |
| v8.0.8 | 2026-05-23 | 34 | 10,065 | 626 | 49.6 | 4.07 | 10 | 41 | 53 | 14 |
| v8.0.7 | 2026-04-27 | 34 | 10,021 | 623 | 49.6 | 4.07 | 10 | 41 | 53 | 14 |
| v8.0.6 | 2026-04-24 | 34 | 10,017 | 623 | 49.6 | 4.07 | 10 | 41 | 53 | 14 |
| v8.0.5 | 2026-04-07 | 34 | 10,019 | 623 | 49.6 | 4.07 | 10 | 41 | 53 | 14 |
| v8.0.4 | 2026-03-25 | 34 | 10,012 | 622 | 49.6 | 4.07 | 10 | 41 | 53 | 14 |
| v8.0.3 | 2026-03-18 | 34 | 10,009 | 622 | 49.6 | 4.07 | 10 | 41 | 53 | 14 |
| v8.0.2 | 2026-03-09 | 34 | 10,242 | 650 | 49.6 | 3.98 | 9 | 43 | 51 | 14 |
| v8.0.1 | 2026-02-07 | 34 | 10,234 | 650 | 49.7 | 3.96 | 9 | 43 | 50 | 14 |
| v8.0.0 | 2026-02-04 | 34 | 10,232 | 649 | 49.7 | 3.97 | 9 | 43 | 50 | 14 |
| v7.0.13 | 2026-01-27 | 33 | 10,129 | 645 | 49.7 | 3.97 | 9 | 43 | 50 | 14 |
| v7.0.12 | 2025-12-22 | 33 | 10,124 | 645 | 49.7 | 3.97 | 9 | 43 | 50 | 14 |
| v7.0.11 | 2025-11-26 | 33 | 10,102 | 645 | 49.8 | 3.96 | 9 | 43 | 50 | 14 |
| v7.0.10 | 2025-10-23 | 33 | 10,097 | 645 | 49.8 | 3.96 | 9 | 43 | 50 | 14 |
| v7.0.9 | 2025-10-07 | 33 | 10,088 | 645 | 49.8 | 3.95 | 9 | 43 | 50 | 14 |
| v7.0.8 | 2025-10-07 | 33 | 10,088 | 645 | 49.8 | 3.95 | 9 | 43 | 50 | 14 |
| v7.0.7 | 2025-10-05 | 33 | 10,077 | 644 | 49.9 | 3.96 | 9 | 43 | 50 | 14 |
| v7.0.6 | 2025-08-30 | 33 | 9,960 | 641 | 50.1 | 3.95 | 9 | 41 | 48 | 14 |
| v7.0.5 | 2025-07-07 | 33 | 9,888 | 640 | 50.3 | 3.93 | 9 | 41 | 46 | 14 |
| v7.0.4 | 2025-06-29 | 33 | 9,888 | 640 | 50.3 | 3.93 | 9 | 41 | 46 | 14 |
| v7.0.3 | 2025-05-08 | 33 | 9,882 | 639 | 50.3 | 3.93 | 9 | 41 | 46 | 14 |
| v7.0.2 | 2025-05-04 | 33 | 9,874 | 639 | 50.3 | 3.93 | 9 | 41 | 46 | 14 |
| v7.0.1 | 2025-05-04 | 33 | 9,869 | 639 | 50.3 | 3.92 | 9 | 41 | 46 | 14 |
| v7.0.0 | 2025-05-03 | 33 | 9,868 | 638 | 50.3 | 3.93 | 9 | 41 | 46 | 14 |
| v6.10.1 | 2025-04-13 | 33 | 9,943 | 646 | 50.4 | 3.93 | 9 | 41 | 46 | 14 |
| v6.10.0 | 2025-01-23 | 33 | 9,943 | 646 | 50.4 | 3.93 | 9 | 41 | 46 | 14 |
| v6.9.16 | 2024-10-28 | 33 | 9,942 | 646 | 50.4 | 3.93 | 9 | 41 | 46 | 14 |
| v6.9.15 | 2024-09-03 | 33 | 9,934 | 646 | 50.4 | 3.92 | 9 | 41 | 46 | 14 |
| v6.9.14 | 2024-06-19 | 33 | 9,925 | 646 | 50.4 | 3.92 | 9 | 41 | 46 | 14 |
| v6.9.13 | 2024-03-20 | 33 | 9,920 | 646 | 50.4 | 3.91 | 9 | 41 | 46 | 14 |
| v6.9.12 | 2024-03-08 | 33 | 9,913 | 646 | 50.5 | 3.91 | 9 | 41 | 46 | 14 |
| v6.9.11 | 2024-02-29 | 33 | 9,913 | 646 | 50.5 | 3.91 | 9 | 41 | 46 | 14 |
| v6.9.10 | 2024-02-22 | 33 | 9,906 | 646 | 50.5 | 3.90 | 9 | 41 | 46 | 14 |
| v6.9.9 | 2024-02-01 | 33 | 9,864 | 646 | 50.5 | 3.89 | 9 | 41 | 45 | 14 |
| v6.9.8 | 2023-12-30 | 33 | 9,862 | 646 | 50.5 | 3.89 | 9 | 41 | 45 | 14 |
| v6.9.7 | 2023-10-22 | 32 | 9,643 | 632 | 50.6 | 3.88 | 9 | 41 | 43 | 14 |
| v6.9.6 | 2023-10-09 | 32 | 9,643 | 632 | 50.6 | 3.88 | 9 | 41 | 43 | 14 |
| v6.9.5 | 2023-09-06 | 32 | 9,637 | 632 | 50.6 | 3.87 | 9 | 41 | 43 | 14 |
| v6.9.4 | 2023-07-19 | 33 | 9,721 | 640 | 50.7 | 3.85 | 9 | 41 | 43 | 14 |
| v6.9.3 | 2023-05-29 | 33 | 9,721 | 640 | 50.7 | 3.85 | 9 | 41 | 43 | 14 |
| v6.9.2 | 2023-05-11 | 33 | 9,707 | 640 | 50.7 | 3.84 | 9 | 41 | 43 | 14 |
| v6.9.1 | 2023-01-27 | 33 | 9,695 | 640 | 50.7 | 3.84 | 9 | 41 | 43 | 14 |
| v6.9.0 | 2023-01-12 | 33 | 9,692 | 640 | 50.7 | 3.84 | 9 | 41 | 43 | 13 |
| v6.8.0 | 2022-09-28 | 33 | 9,681 | 638 | 50.8 | 3.83 | 9 | 41 | 43 | 13 |
| v6.7.8 | 2022-08-11 | 33 | 9,677 | 638 | 50.8 | 3.83 | 9 | 41 | 41 | 13 |
| v6.7.7 | 2022-07-06 | 33 | 9,677 | 638 | 50.8 | 3.83 | 9 | 41 | 41 | 13 |
| v6.7.6 | 2022-06-30 | 33 | 9,652 | 637 | 50.8 | 3.82 | 9 | 41 | 40 | 13 |
| v6.7.5 | 2022-05-04 | 33 | 9,640 | 637 | 50.8 | 3.81 | 9 | 41 | 40 | 13 |
| v6.7.4 | 2022-04-28 | 33 | 9,640 | 637 | 50.8 | 3.81 | 9 | 41 | 40 | 13 |
| v6.7.3 | 2022-03-21 | 33 | 9,626 | 634 | 50.8 | 3.82 | 9 | 41 | 39 | 13 |
| v6.7.2 | 2021-11-26 | 33 | 9,626 | 634 | 50.8 | 3.82 | 9 | 41 | 39 | 13 |
| v6.7.1 | 2021-11-15 | 33 | 9,622 | 634 | 50.8 | 3.81 | 9 | 41 | 39 | 13 |
| v6.7.0 | 2021-10-11 | 33 | 9,622 | 634 | 50.8 | 3.81 | 9 | 41 | 39 | 13 |
| v6.6.5 | 2021-09-23 | 33 | 9,552 | 633 | 50.9 | 3.81 | 9 | 41 | 39 | 13 |
| v6.6.4 | 2021-09-23 | 33 | 9,550 | 631 | 50.9 | 3.82 | 9 | 41 | 39 | 13 |
| v6.6.3 | 2021-07-14 | 33 | 9,540 | 629 | 50.9 | 3.82 | 9 | 41 | 39 | 13 |
| v6.6.1 | 2021-05-23 | 33 | 9,520 | 629 | 50.9 | 3.82 | 9 | 41 | 39 | 13 |
| v6.6.0 | 2021-04-28 | 33 | 9,505 | 629 | 51.0 | 3.81 | 9 | 41 | 39 | 13 |
| v6.5.0 | 2021-02-26 | 33 | 9,490 | 630 | 51.0 | 3.80 | 9 | 41 | 39 | 13 |
| v6.4.18 | 2021-02-11 | 33 | 9,467 | 625 | 50.9 | 3.80 | 9 | 41 | 39 | 13 |
| v6.4.17 | 2020-12-11 | 33 | 9,467 | 625 | 50.9 | 3.80 | 9 | 41 | 39 | 13 |
| v6.4.16 | 2020-11-12 | 33 | 9,467 | 625 | 50.9 | 3.81 | 9 | 43 | 39 | 13 |
| v6.4.15 | 2020-11-06 | 33 | 9,509 | 624 | 50.9 | 3.81 | 9 | 43 | 38 | 13 |
| v6.4.14 | 2020-10-14 | 33 | 9,509 | 624 | 50.9 | 3.81 | 9 | 43 | 38 | 13 |
| v6.4.13 | 2020-10-02 | 33 | 9,509 | 624 | 50.9 | 3.81 | 9 | 43 | 38 | 13 |
| v6.4.12 | 2020-09-30 | 33 | 9,508 | 624 | 50.9 | 3.81 | 9 | 43 | 38 | 13 |
| v6.4.11 | 2020-07-29 | 33 | 9,507 | 624 | 50.9 | 3.80 | 9 | 43 | 38 | 12 |
| v6.4.10 | 2020-06-17 | 33 | 9,494 | 623 | 50.9 | 3.81 | 9 | 43 | 38 | 12 |
| v6.4.8 | 2020-05-28 | 33 | 9,503 | 624 | 50.9 | 3.80 | 9 | 43 | 38 | 12 |
| v6.4.7 | 2020-05-28 | 33 | 9,481 | 621 | 50.9 | 3.81 | 9 | 43 | 38 | 12 |
| v6.4.6 | 2020-03-20 | 33 | 9,489 | 621 | 50.8 | 3.82 | 9 | 51 | 38 | 12 |
| v6.4.5 | 2020-03-10 | 33 | 9,489 | 621 | 50.8 | 3.82 | 9 | 51 | 38 | 12 |
| v6.4.4 | 2020-03-01 | 32 | 9,441 | 617 | 50.8 | 3.83 | 9 | 51 | 38 | 12 |
| v6.4.3 | 2020-02-22 | 32 | 9,441 | 617 | 50.8 | 3.82 | 9 | 51 | 38 | 12 |
| v6.4.2 | 2019-12-11 | 32 | 9,405 | 614 | 50.8 | 3.82 | 9 | 51 | 38 | 12 |
| v6.4.1 | 2019-12-07 | 32 | 9,405 | 614 | 50.8 | 3.82 | 9 | 51 | 38 | 12 |
| v6.4.0 | 2019-12-04 | 32 | 9,399 | 614 | 50.8 | 3.82 | 9 | 51 | 38 | 12 |
| v6.3.1 | 2019-10-09 | 32 | 9,402 | 614 | 50.8 | 3.81 | 9 | 51 | 38 | 12 |
| v6.3.0 | 2019-07-14 | 32 | 9,409 | 614 | 50.8 | 3.80 | 8 | 51 | 38 | 12 |
| v6.2.1 | 2019-05-27 | 32 | 9,408 | 614 | 50.8 | 3.80 | 8 | 51 | 38 | 12 |
| v6.2.0 | 2019-05-24 | 32 | 9,408 | 614 | 50.8 | 3.80 | 8 | 51 | 38 | 12 |
| v6.1.1 | 2019-04-20 | 32 | 9,393 | 612 | 50.8 | 3.81 | 8 | 51 | 38 | 12 |
| v6.1.0 | 2019-04-06 | 32 | 9,393 | 612 | 50.8 | 3.81 | 8 | 51 | 38 | 12 |
| v6.0.0 | 2019-03-25 | 32 | 9,381 | 612 | 50.9 | 3.79 | 8 | 42 | 38 | 12 |
| v5.1.1 | 2019-01-09 | 32 | 9,378 | 617 | 50.9 | 3.77 | 8 | 42 | 38 | 12 |
| v5.1.0 | 2019-01-09 | 32 | 9,375 | 617 | 50.9 | 3.76 | 8 | 42 | 38 | 12 |
| v5.0.1 | 2019-01-08 | 32 | 9,347 | 615 | 51.0 | 3.77 | 8 | 42 | 38 | 12 |
| v5.0.0 | 2018-12-28 | 32 | 9,292 | 610 | 51.0 | 3.78 | 8 | 42 | 38 | 12 |
| v4.7.0 | 2018-11-19 | 32 | 9,069 | 593 | 51.0 | 3.78 | 8 | 42 | 39 | 12 |
| v4.6.8 | 2018-08-15 | 32 | 9,027 | 591 | 51.0 | 3.78 | 8 | 42 | 38 | 12 |
| v4.6.7 | 2018-06-15 | 32 | 9,026 | 591 | 51.0 | 3.78 | 8 | 42 | 38 | 12 |
| v4.6.6 | 2018-06-10 | 32 | 9,025 | 591 | 51.0 | 3.77 | 8 | 42 | 38 | 12 |
| v4.6.5 | 2018-05-23 | 32 | 9,016 | 591 | 51.0 | 3.77 | 8 | 42 | 38 | 12 |
| v4.6.4 | 2018-03-31 | 32 | 9,015 | 591 | 51.0 | 3.77 | 8 | 42 | 38 | 12 |
| v4.6.3 | 2018-03-13 | 32 | 9,013 | 591 | 51.0 | 3.77 | 8 | 42 | 38 | 12 |
| v4.6.2 | 2018-03-06 | 32 | 9,013 | 591 | 51.0 | 3.77 | 8 | 42 | 38 | 12 |
| v4.6.1 | 2018-03-06 | 32 | 9,011 | 591 | 51.0 | 3.77 | 8 | 42 | 38 | 12 |
| v4.6.0 | 2018-02-22 | 32 | 8,985 | 590 | 51.1 | 3.76 | 8 | 42 | 38 | 12 |
| v4.5.0 | 2018-02-21 | 32 | 8,968 | 589 | 51.1 | 3.76 | 8 | 42 | 38 | 12 |
| v4.4.2 | 2018-01-20 | 32 | 8,955 | 589 | 51.1 | 3.75 | 8 | 42 | 38 | 11 |
| v4.4.1 | 2017-12-08 | 32 | 8,944 | 589 | 51.2 | 3.75 | 8 | 42 | 38 | 11 |
| v4.4.0 | 2017-11-10 | 32 | 8,938 | 590 | 51.3 | 3.74 | 8 | 42 | 37 | 10 |
| v4.3.1 | 2017-10-25 | 32 | 8,938 | 590 | 51.3 | 3.74 | 8 | 42 | 37 | 10 |
| v4.3.0 | 2017-10-23 | 32 | 8,927 | 590 | 51.3 | 3.73 | 8 | 42 | 37 | 10 |
| v4.2.0 | 2017-10-13 | 32 | 8,891 | 585 | 51.2 | 3.73 | 8 | 42 | 36 | 10 |
| v4.1.3 | 2017-10-06 | 32 | 8,766 | 585 | 51.5 | 3.73 | 8 | 42 | 35 | 10 |
| v4.1.2 | 2017-10-03 | 32 | 8,764 | 585 | 51.5 | 3.73 | 8 | 42 | 35 | 10 |
| v4.1.1 | 2017-09-25 | 32 | 8,764 | 585 | 51.5 | 3.73 | 8 | 42 | 35 | 10 |
| v4.1.0 | 2017-08-28 | 32 | 8,754 | 585 | 51.5 | 3.71 | 8 | 42 | 35 | 10 |
| v4.0.1 | 2017-04-13 | 32 | 8,626 | 577 | 51.9 | 3.72 | 8 | 42 | 35 | 10 |
| v4.0.0 | 2017-04-06 | 32 | 8,621 | 577 | 51.9 | 3.72 | 8 | 42 | 35 | 10 |
| v3.1.8 | 2017-03-21 | 32 | 8,621 | 577 | 51.9 | 3.72 | 8 | 42 | 35 | 10 |
| v3.1.7 | 2017-03-14 | 32 | 8,621 | 577 | 51.9 | 3.72 | 8 | 42 | 35 | 10 |
| v3.1.6 | 2017-03-14 | 32 | 8,619 | 577 | 51.9 | 3.71 | 8 | 42 | 35 | 10 |
| v3.1.5 | 2017-03-08 | 32 | 8,618 | 577 | 51.9 | 3.71 | 8 | 42 | 35 | 10 |
| v3.1.4 | 2017-02-26 | 32 | 8,617 | 577 | 51.9 | 3.71 | 8 | 42 | 35 | 10 |
| v3.1.3 | 2017-02-17 | 31 | 8,585 | 573 | 51.9 | 3.73 | 8 | 42 | 35 | 10 |
| v3.1.2 | 2017-02-17 | 31 | 8,564 | 570 | 51.8 | 3.73 | 8 | 42 | 35 | 10 |
| v3.1.1 | 2017-02-15 | 31 | 8,518 | 565 | 51.9 | 3.76 | 8 | 42 | 35 | 10 |
| v3.1.0 | 2017-02-13 | 31 | 8,498 | 563 | 51.9 | 3.76 | 8 | 42 | 35 | 10 |
| v3.0.2 | 2017-02-04 | 29 | 8,168 | 525 | 51.6 | 3.80 | 9 | 42 | 34 | 10 |
| v3.0.1 | 2017-02-03 | 29 | 8,168 | 525 | 51.6 | 3.80 | 9 | 42 | 34 | 10 |
| v3.0.0 | 2017-01-31 | 29 | 8,168 | 525 | 51.6 | 3.80 | 9 | 42 | 34 | 10 |
| v2.7.2 | 2017-01-22 | 3 | 480 | 54 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.7.1 | 2017-01-22 | 3 | 480 | 54 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.7.0 | 2016-12-08 | 3 | 480 | 54 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.6.4 | 2016-09-21 | 3 | 480 | 54 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.6.3 | 2016-09-21 | 3 | 480 | 54 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.6.2 | 2016-09-21 | 3 | 480 | 54 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.6.1 | 2016-09-21 | 3 | 480 | 54 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.6.0 | 2016-09-05 | 3 | 480 | 54 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.5.0 | 2016-07-08 | 3 | 474 | 53 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.4.2 | 2016-05-25 | 3 | 474 | 53 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.4.1 | 2016-05-12 | 3 | 474 | 53 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.4.0 | 2016-05-11 | 3 | 474 | 53 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.3.2 | 2016-04-11 | 3 | 473 | 53 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.3.0 | 2016-03-03 | 3 | 473 | 53 | 56.9 | 2.96 | 6 | 16 | 1 | 0 |
| v2.2.1 | 2016-02-20 | 2 | 318 | 42 | 59.6 | 2.71 | 5 | 10 | 0 | 0 |
| v2.2.0 | 2016-02-18 | 2 | 318 | 42 | 59.6 | 2.71 | 5 | 10 | 0 | 0 |
| v2.1.0 | 2016-02-01 | 2 | 273 | 35 | 59.5 | 2.71 | 6 | 10 | 0 | 0 |
| v2.0.0 | 2016-01-11 | 1 | 171 | 18 | 56.7 | 3.17 | 8 | 10 | 0 | 0 |
| v1.11.0 | 2015-12-28 | 1 | 240 | 25 | 55.9 | 3.48 | 7 | 22 | 1 | 1 |
| v1.10.0 | 2015-11-13 | 1 | 237 | 25 | 56.1 | 3.40 | 7 | 22 | 1 | 1 |
| v1.9.0 | 2015-11-09 | 1 | 225 | 23 | 55.8 | 3.39 | 7 | 22 | 1 | 1 |
| v1.8.0 | 2015-10-08 | 1 | 200 | 19 | 55.9 | 3.63 | 8 | 20 | 1 | 0 |
| v1.7.0 | 2015-10-06 | 1 | 185 | 19 | 57.3 | 3.42 | 5 | 20 | 1 | 0 |
| v1.6.0 | 2015-10-05 | 1 | 169 | 18 | 58.7 | 3.50 | 5 | 20 | 1 | 0 |
| v1.5.0 | 2015-09-24 | 1 | 169 | 18 | 58.7 | 3.50 | 5 | 20 | 1 | 0 |
| v1.4.0 | 2015-06-27 | 2 | 450 | 38 | 52.6 | 4.84 | 13 | 26 | 6 | 1 |
| v1.3.4 | 2015-04-15 | 2 | 440 | 38 | 53.2 | 4.63 | 13 | 20 | 6 | 0 |
| v1.3.3 | 2015-04-15 | 2 | 440 | 38 | 53.2 | 4.63 | 13 | 20 | 6 | 0 |
| v1.3.2 | 2015-03-09 | 2 | 440 | 38 | 53.2 | 4.63 | 13 | 20 | 6 | 0 |
| v1.3.1 | 2015-02-18 | 2 | 440 | 38 | 53.2 | 4.63 | 13 | 20 | 6 | 0 |
| v1.3.0 | 2014-09-12 | 2 | 439 | 38 | 53.3 | 4.63 | 13 | 20 | 6 | 0 |
| v1.2.2 | 2014-09-05 | 2 | 439 | 38 | 53.3 | 4.63 | 13 | 20 | 6 | 0 |
| v1.2.1 | 2014-08-21 | 2 | 406 | 36 | 54.0 | 4.33 | 13 | 18 | 6 | 0 |
| v1.2.0 | 2014-08-18 | 2 | 406 | 36 | 54.0 | 4.33 | 13 | 18 | 6 | 0 |
| v1.1.2 | 2014-08-18 | 2 | 393 | 36 | 54.7 | 4.14 | 12 | 16 | 4 | 0 |
| v1.1.1 | 2014-07-30 | 2 | 382 | 36 | 55.3 | 3.94 | 10 | 16 | 3 | 0 |
| v1.1.0 | 2014-07-29 | 2 | 382 | 36 | 55.3 | 3.94 | 10 | 16 | 3 | 0 |
| v1.0.4 | 2014-07-23 | 2 | 332 | 32 | 54.8 | 3.88 | 10 | 16 | 3 | 0 |
| v1.0.3 | 2014-07-16 | 2 | 330 | 32 | 54.8 | 3.81 | 10 | 16 | 3 | 0 |
| v1.0.2 | 2014-07-16 | 2 | 329 | 32 | 54.8 | 3.81 | 10 | 16 | 3 | 0 |
| v1.0.1 | 2014-07-15 | 2 | 329 | 32 | 54.8 | 3.81 | 10 | 16 | 3 | 0 |
| v1.0.0 | 2014-07-15 | 2 | 323 | 31 | 54.6 | 3.87 | 10 | 16 | 3 | 0 |
| v0.7.1 | 2014-07-09 | 11 | 962 | 90 | 58.3 | 3.04 | 7 | 26 | 2 | 1 |
| v0.7.0 | 2014-06-17 | 11 | 959 | 89 | 58.2 | 3.07 | 8 | 26 | 2 | 1 |
| v0.6.5 | 2014-05-15 | 11 | 1,034 | 96 | 57.8 | 3.00 | 7 | 26 | 2 | 1 |
| v0.6.4 | 2014-05-13 | 11 | 1,031 | 96 | 57.8 | 2.99 | 7 | 26 | 2 | 1 |
| v0.6.3 | 2014-04-16 | 11 | 1,024 | 96 | 57.8 | 2.99 | 7 | 26 | 2 | 1 |
| v0.6.2 | 2014-04-09 | 11 | 1,024 | 96 | 57.8 | 2.99 | 7 | 26 | 2 | 1 |
| v0.6.1 | 2014-02-26 | 11 | 1,013 | 96 | 57.9 | 2.96 | 7 | 26 | 2 | 1 |
| v0.6.0 | 2013-12-30 | 11 | 1,016 | 95 | 57.8 | 2.98 | 7 | 26 | 2 | 1 |
| v0.5.15 | 2013-12-13 | 10 | 904 | 85 | 57.8 | 3.02 | 7 | 26 | 2 | 1 |
| v0.5.14 | 2013-12-05 | 10 | 869 | 80 | 57.5 | 3.05 | 7 | 26 | 2 | 1 |
| v0.5.13 | 2013-12-03 | 10 | 862 | 80 | 57.7 | 3.04 | 7 | 26 | 2 | 1 |
| v0.5.12 | 2013-12-01 | 10 | 862 | 80 | 57.7 | 3.01 | 7 | 26 | 1 | 1 |
| v0.5.11 | 2013-11-28 | 10 | 887 | 82 | 57.0 | 2.89 | 6 | 26 | 1 | 1 |
| v0.5.9 | 2013-11-25 | 10 | 879 | 80 | 56.8 | 2.94 | 6 | 26 | 1 | 1 |
| v0.5.8 | 2013-11-22 | 10 | 875 | 80 | 56.9 | 2.93 | 6 | 26 | 1 | 1 |
| v0.5.7 | 2013-11-18 | 9 | 834 | 73 | 56.4 | 3.03 | 6 | 26 | 1 | 1 |
| v0.5.6 | 2013-11-15 | 9 | 823 | 71 | 56.2 | 3.08 | 6 | 26 | 1 | 1 |
| v0.5.5 | 2013-10-30 | 9 | 820 | 71 | 56.2 | 3.11 | 6 | 26 | 1 | 1 |
| v0.5.4 | 2013-10-29 | 9 | 823 | 70 | 56.1 | 3.06 | 6 | 26 | 1 | 1 |
| v0.5.3 | 2013-10-03 | 9 | 803 | 70 | 56.1 | 3.04 | 6 | 26 | 1 | 1 |
| v0.5.2 | 2013-07-25 | 9 | 798 | 70 | 56.2 | 3.01 | 6 | 26 | 1 | 1 |
| v0.5.1 | 2013-07-25 | 9 | 791 | 69 | 56.2 | 3.00 | 6 | 26 | 1 | 1 |
| v0.5.0 | 2013-07-05 | 9 | 790 | 69 | 56.2 | 3.00 | 6 | 26 | 1 | 1 |
| v0.4.4 | 2013-05-22 | 9 | 772 | 69 | 56.2 | 3.00 | 6 | 26 | 1 | 1 |
| v0.4.3 | 2013-05-20 | 9 | 743 | 69 | 56.3 | 2.97 | 6 | 26 | 1 | 1 |
| v0.4.2 | 2013-05-15 | 9 | 743 | 69 | 56.3 | 2.97 | 6 | 26 | 1 | 1 |
| v0.4.1 | 2013-03-23 | 9 | 742 | 69 | 56.3 | 2.97 | 6 | 26 | 1 | 1 |
| v0.4.0 | 2013-03-23 | 9 | 742 | 69 | 56.3 | 2.97 | 6 | 26 | 1 | 1 |
| v0.3.45 | 2013-03-23 | 9 | 742 | 69 | 56.3 | 2.97 | 6 | 26 | 1 | 1 |
| v0.3.44 | 2013-03-10 | 9 | 742 | 69 | 56.3 | 2.97 | 6 | 26 | 1 | 1 |
| v0.3.43 | 2013-02-28 | 9 | 738 | 69 | 56.4 | 2.96 | 6 | 26 | 1 | 1 |
| v0.3.42 | 2013-02-08 | 9 | 736 | 69 | 56.4 | 2.96 | 6 | 26 | 1 | 1 |
| v0.3.41 | 2013-02-04 | 9 | 715 | 68 | 56.6 | 2.87 | 6 | 19 | 1 | 0 |
| v0.3.40 | 2013-02-01 | 9 | 713 | 68 | 56.6 | 2.87 | 6 | 19 | 1 | 0 |
| v0.3.39 | 2013-02-01 | 9 | 713 | 68 | 56.6 | 2.87 | 6 | 19 | 1 | 0 |
| v0.3.38 | 2013-02-01 | 9 | 713 | 68 | 56.6 | 2.87 | 6 | 19 | 1 | 0 |
| v0.3.37 | 2012-12-17 | 9 | 702 | 67 | 56.5 | 2.85 | 6 | 19 | 1 | 0 |
| v0.3.35 | 2012-11-30 | 9 | 693 | 67 | 56.8 | 2.79 | 6 | 19 | 1 | 0 |
| v0.3.34 | 2012-11-28 | 9 | 703 | 67 | 56.6 | 2.84 | 6 | 19 | 1 | 0 |
| v0.3.33 | 2012-11-27 | 9 | 700 | 67 | 56.7 | 2.82 | 6 | 19 | 1 | 0 |
| v0.3.32 | 2012-11-24 | 9 | 700 | 67 | 56.7 | 2.82 | 6 | 19 | 1 | 0 |
| v0.3.31 | 2012-11-06 | 9 | 685 | 66 | 56.6 | 2.83 | 6 | 18 | 1 | 0 |
| v0.3.30 | 2012-11-02 | 9 | 681 | 66 | 56.7 | 2.82 | 6 | 18 | 1 | 0 |
| v0.3.29 | 2012-10-29 | 9 | 673 | 66 | 56.8 | 2.80 | 6 | 18 | 1 | 0 |
| v0.3.28 | 2012-09-13 | 9 | 667 | 66 | 56.8 | 2.80 | 6 | 18 | 1 | 0 |
| v0.3.27 | 2012-09-10 | 9 | 666 | 66 | 56.8 | 2.80 | 6 | 18 | 1 | 0 |
| v0.3.26 | 2012-09-07 | 9 | 665 | 66 | 56.9 | 2.77 | 6 | 17 | 1 | 0 |
| v0.3.25 | 2012-09-04 | 9 | 664 | 66 | 56.9 | 2.76 | 6 | 16 | 1 | 0 |
| v0.3.22 | 2012-08-07 | 9 | 668 | 66 | 56.7 | 2.80 | 6 | 16 | 1 | 0 |
| v0.3.21 | 2012-07-17 | 9 | 668 | 66 | 56.7 | 2.80 | 6 | 16 | 1 | 0 |
| v0.3.20 | 2012-05-09 | 9 | 668 | 66 | 56.7 | 2.80 | 6 | 16 | 1 | 0 |
| v0.3.19 | 2012-05-02 | 9 | 657 | 66 | 56.8 | 2.76 | 6 | 16 | 1 | 0 |
| v0.3.18 | 2012-04-16 | 9 | 653 | 66 | 56.9 | 2.73 | 6 | 16 | 1 | 0 |
| v0.3.17 | 2012-04-15 | 9 | 652 | 66 | 56.9 | 2.71 | 6 | 16 | 1 | 0 |
| v0.3.16 | 2012-04-14 | 9 | 652 | 66 | 56.9 | 2.71 | 6 | 16 | 1 | 0 |
| v0.3.15 | 2012-04-14 | 9 | 627 | 65 | 56.8 | 2.71 | 6 | 16 | 1 | 0 |
| v0.3.14 | 2012-04-03 | 9 | 627 | 65 | 56.8 | 2.71 | 6 | 16 | 1 | 0 |
| v0.3.13 | 2012-04-03 | 9 | 610 | 65 | 57.1 | 2.66 | 6 | 16 | 1 | 0 |
| v0.3.12 | 2012-03-28 | 9 | 603 | 64 | 57.0 | 2.67 | 6 | 16 | 1 | 0 |
| v0.3.11 | 2012-03-27 | 9 | 602 | 64 | 57.1 | 2.67 | 6 | 16 | 1 | 0 |
| v0.3.10 | 2012-03-23 | 8 | 576 | 59 | 56.8 | 2.76 | 6 | 16 | 1 | 0 |
| v0.3.9 | 2012-03-21 | 7 | 520 | 49 | 56.0 | 2.88 | 6 | 16 | 1 | 0 |
| v0.3.8 | 2012-03-19 | 7 | 519 | 49 | 56.1 | 2.82 | 6 | 14 | 1 | 0 |
| v0.3.7 | 2012-03-13 | 7 | 519 | 49 | 56.1 | 2.82 | 6 | 14 | 1 | 0 |
| v0.3.6 | 2012-03-05 | 7 | 519 | 49 | 56.1 | 2.82 | 6 | 14 | 1 | 0 |
| v0.3.5 | 2012-03-02 | 7 | 510 | 48 | 56.0 | 2.75 | 6 | 14 | 1 | 0 |
| v0.3.4 | 2012-02-28 | 7 | 509 | 48 | 57.8 | 2.75 | 6 | 14 | 1 | 0 |
| v0.3.3 | 2012-02-20 | 8 | 511 | 48 | 57.8 | 2.75 | 6 | 14 | 1 | 0 |
| v0.3.2 | 2012-02-15 | 8 | 510 | 48 | 57.9 | 2.73 | 6 | 14 | 1 | 0 |
| v0.3.1 | 2012-02-10 | 7 | 378 | 36 | 59.0 | 2.86 | 5 | 14 | 1 | 0 |
| v0.3.0 | 2012-02-10 | 7 | 373 | 35 | 58.8 | 2.91 | 5 | 14 | 1 | 0 |
| v0.2.4 | 2011-12-08 | 5 | 980 | 91 | 53.3 | 3.07 | 6 | 19 | 6 | 0 |
| v0.2.3 | 2011-10-26 | 5 | 978 | 91 | 53.3 | 3.04 | 6 | 19 | 5 | 0 |
| v0.2.2 | 2011-08-24 | 5 | 936 | 88 | 53.6 | 3.02 | 6 | 18 | 4 | 0 |
| v0.2.0 | 2011-08-13 | 5 | 923 | 88 | 53.9 | 2.99 | 6 | 16 | 4 | 0 |
| v0.1.24 | 2011-08-05 | 3 | 815 | 74 | 53.1 | 3.12 | 6 | 15 | 4 | 0 |
| v0.1.23 | 2011-08-03 | 3 | 802 | 72 | 53.0 | 3.11 | 6 | 15 | 4 | 0 |
| v0.1.22 | 2011-07-26 | 3 | 784 | 72 | 53.3 | 3.01 | 6 | 15 | 4 | 0 |
| v0.1.21 | 2011-07-25 | 3 | 784 | 72 | 53.3 | 3.01 | 6 | 15 | 4 | 0 |
| v0.1.20 | 2011-07-24 | 3 | 784 | 72 | 53.3 | 3.01 | 6 | 15 | 4 | 0 |
| v0.1.19 | 2011-07-21 | 3 | 784 | 72 | 53.3 | 3.01 | 6 | 15 | 4 | 0 |
| v0.1.17 | 2011-06-09 | 3 | 786 | 72 | 53.3 | 3.00 | 6 | 14 | 4 | 0 |
| v0.1.16 | 2011-06-08 | 3 | 786 | 72 | 53.3 | 3.00 | 6 | 14 | 4 | 0 |
| v0.1.15 | 2011-05-24 | 3 | 780 | 72 | 53.6 | 2.97 | 6 | 14 | 4 | 0 |
| v0.1.14 | 2011-05-24 | 3 | 730 | 67 | 53.3 | 3.01 | 6 | 14 | 4 | 0 |
| v0.1.13 | 2011-05-17 | 3 | 730 | 67 | 53.3 | 3.00 | 6 | 14 | 4 | 0 |
| v0.1.12 | 2011-05-17 | 3 | 728 | 66 | 53.3 | 3.02 | 6 | 14 | 4 | 0 |
| v0.1.10 | 2011-04-28 | 4 | 978 | 91 | 54.0 | 3.25 | 7 | 16 | 5 | 0 |
| v0.1.9 | 2011-03-14 | 3 | 831 | 74 | 52.9 | 3.55 | 9 | 16 | 5 | 0 |
| v0.1.8 | 2011-03-09 | 3 | 826 | 73 | 52.8 | 3.53 | 9 | 16 | 5 | 0 |
| v0.1.7 | 2011-03-07 | 3 | 824 | 73 | 52.9 | 3.48 | 9 | 16 | 4 | 0 |
| v0.1.6 | 2011-02-25 | 3 | 809 | 71 | 52.8 | 3.44 | 9 | 14 | 4 | 0 |
| v0.1.5 | 2011-02-25 | 3 | 813 | 70 | 52.7 | 3.47 | 9 | 14 | 4 | 0 |
| v0.1.4 | 2011-02-21 | 3 | 806 | 70 | 52.9 | 3.44 | 7 | 14 | 4 | 0 |
| v0.1.3 | 2011-02-14 | 3 | 806 | 70 | 52.9 | 3.40 | 7 | 14 | 4 | 0 |
| v0.1.2 | 2011-01-21 | 3 | 787 | 70 | 53.1 | 3.33 | 7 | 14 | 4 | 0 |
| v0.1.1 | 2011-01-21 | 3 | 781 | 70 | 53.2 | 3.30 | 7 | 14 | 4 | 0 |
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.