adamwdraper/Numeral-js
40.4
Weak · 2 October 2026
5.1k
lines of production code
JavaScript
primary language
2
measurements over time
What this system is
This system is a number formatting and manipulation library, specifically Numeral.js version 2.0.6. It provides capabilities for formatting numbers, currencies, percentages, and time durations across 28 international locales. The library supports various output formats including exponential, ordinal, and byte-based representations, with configurable options for scaling and rounding.
Features
Add wrapper templates for anonymous and AMD/CommonJS module formats
New template files (templates/anon.js and templates/types.js) have been added to wrap generated content. The anonymous template (anon.js) wraps content in an IIFE to avoid global scope pollution, while the types template (types.js) provides a UMD wrapper supporting AMD, CommonJS, and global exports for the numeral.js library.
templates · high confidence
Added numeral.js locale configurations for 28 languages and regions
The \locales\ directory now includes configuration files for numeral.js covering a wide range of international formats, including Bulgarian, Simplified Chinese, Czech, Danish, German (general and Swiss), English variants (Australia, UK, South Africa), Spanish (general and Spain), Estonian, Finnish, French (general, Canada, Switzerland), Hungarian, Italian, Japanese, Latvian, Dutch (Belgium and Netherlands), Norwegian, Polish, Portuguese (Brazil and Portugal), Russian (general and Ukraine), Slovak, Slovenian, Thai, Turkish, Ukrainian, and Vietnamese. These files define locale-specific rules for number delimiters, abbreviations, ordinal suffixes, and currency symbols, enabling accurate number formatting for users in these regions.
locales · high confidence
Expanded locale support with new regional configurations
The library has added support for numerous new locales, including Bulgarian (bg), Simplified Chinese (chs), Czech (cs), Danish (da-dk), German variants (de, de-ch), English variants (en-au, en-gb, en-za), Spanish variants (es, es-es), Estonian (et), Finnish (fi), French variants (fr, fr-ca, fr-ch), Hungarian (hu), Italian (it), Japanese (ja), Latvian (lv), Dutch variants (nl-be, nl-nl), Norwegian (no), Polish (pl), Portuguese variants (pt-br, pt-pt), Russian variants (ru, ru-ua), Slovak (sk), Slovenian (sl), Thai (th), Turkish (tr), Ukrainian (uk-ua), and Vietnamese (vi). These additions allow users to format numbers, currency, and ordinals according to specific regional standards for these languages.
src/locales · high confidence
New dedicated format modules for BPS, bytes, currency, exponential, ordinal, percentage, and time
The library now includes specific format modules for BPS, bytes, currency, exponential, ordinal, percentage, and time, each registered via the new \register\ function. This introduces dedicated handling for basis points (BPS), binary and decimal byte suffixes (e.g., KiB, MB), locale-aware currency symbols, exponential notation, ordinal suffixes, and time durations. The percentage format now respects a \scalePercentBy100\ option to control whether input values are treated as raw percentages or decimals, and the bytes format explicitly avoids conflicting with BPS parsing.
src/formats · high confidence
Behavioural changes
Numeral.js 2.0.6 release with locale and formatting updates
This release updates the Numeral.js library to version 2.0.6, introducing support for formatting numbers with leading zeros and a new 'Basic Point' format. It also adds the \scalePercentBy100\ option to control percentage scaling and fixes issues with multi-letter currency symbols and spacing. The release includes updated locale definitions and a reorganized build process using Grunt, Karma, and Mocha for testing and distribution.
(repo-wide) · high confidence
Numeral.js library updated to version 2.0.6 with new configuration options
The core number formatting library has been upgraded to version 2.0.6. This update introduces a new \scalePercentBy100\ configuration option, which defaults to true, allowing users to control whether percentage values are scaled by 100 during formatting. The change also includes fixes for decimal rounding issues and currency formatting, ensuring more accurate number representation across various locales and formats.
src · high confidence
Numeral.js updated to version 2.0.6 with expanded locale support
The minified distribution files for numeral.js have been updated to version 2.0.6. This release includes a comprehensive set of new locale definitions in \min/locales.min.js\ and individual locale files (such as \nl-be\, \bg\, \chs\, \da-dk\, \de-ch\, \en-au\, \en-gb\, \en-za\, \es-es\, \et\, \fi\, \fr-ca\, \fr-ch\, \hu\, \it\, \ja\, \lv\, \nl-nl\, \no\, \pl\, \pt-br\, \pt-pt\, \ru-ua\, \sk\, \sl\, \th\, \tr\, \uk-ua\, and \vi\), enabling correct number formatting, currency symbols, and ordinal rules for these regions. The core \numeral.min.js\ file also reflects this version bump, ensuring that the library's internal locale data and formatting logic are synchronized with the newly added regional configurations.
min · high confidence
Test coverage
Added locale regression tests for Bulgarian, Chinese, Czech, Danish, German, English, Spanish, Estonian, Finnish, French, Hungarian, Italian, and Japanese; Added test coverage for new number formatting options; Added test suite for numeral formatting and value handling.
Dependencies
Initial release of Numeral.js v2.0.6
This change introduces the Numeral.js package (version 2.0.6) to the project, providing a library for formatting and manipulating numbers. The package.json defines the main entry point as numeral.js and includes a comprehensive set of development dependencies for building, linting, and testing, such as Grunt, Karma, Mocha, and UglifyJS.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 39 → 40 (+1.4)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 33 → 34 (+1.4)
- Architecture 100 → 100 (+0.0)
- Maturity 45 → 47 (+2.2)
- Readiness 25 → 27 (+2.0)
- Security 100 → 97 (-3.3)
Resolved (4)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Hotspot: numeral.js (numeral.js)
- Hotspot: src/numeral.js (src/numeral.js)
New (7)
- FileTooLong: numeral.js (numeral.js)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- numeral.numeral.validate (cognitive 31) (numeral.js)
- numeral.numeral.validate (cognitive 31) (src/numeral.js)
- numeral.numeral.validate (cyclomatic 23) (numeral.js)
- numeral.numeral.validate (cyclomatic 23) (src/numeral.js)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
adamwdraper/Numeral-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 a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 7de892ffb438af6e63b9c4f6aff0c9bc3932f09f — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.