Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@formatjs/intl-localematcher

Package Overview
Dependencies
Maintainers
3
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@formatjs/intl-localematcher

Intl.LocaleMatcher ponyfill

Source
npmnpm
Version
0.7.5
Version published
Weekly downloads
11M
-8.22%
Maintainers
3
Weekly downloads
 
Created
Source

Intl LocaleMatcher

We've migrated the docs to https://formatjs.github.io/docs/polyfills/intl-localematcher.

Performance

This package implements a highly optimized three-tier locale matching algorithm that provides excellent performance even with large locale sets (700+ locales).

Benchmark Results

Benchmarked with 725 CLDR locales on Node.js:

ScenarioLatencyThroughputRelative Performance
Tier 1: Exact Match (en)1.38ms730 ops/sBaseline
Tier 2: 1-level Fallback (en-USen)1.39ms725 ops/s1.01x slower
Tier 2: Maximized Match (zh-TWzh-Hant)1.40ms720 ops/s1.02x slower
Tier 3: CLDR Distance (sr-Latn-BAsr-Latn-BA)1.38ms730 ops/s1.00x slower
Tier 3: Fuzzy Match (en-XZen)1.50ms670 ops/s1.09x slower

Real-world Impact

The optimization in this package resolved issue #4936, where DurationFormat instantiation was taking 610ms on React Native/Hermes due to slow locale matching against 700+ auto-loaded locales.

After optimization:

  • Common case (en-US): 1.39ms per instantiation
  • Chinese locales (zh-TW): 1.40ms per instantiation
  • Serbo-Croatian locales: 1.38ms per instantiation

Performance improvement: 439x faster 🚀

Three-Tier Optimization

The algorithm uses three tiers for maximum performance:

  • Tier 1 (Exact Match): O(1) Set lookup for exact locale matches
  • Tier 2 (Maximization + Fallback): Progressive subtag removal with locale maximization
  • Tier 3 (CLDR Distance): Full UTS #35 Enhanced Language Matching with memoization

This design ensures that common cases (exact matches and simple fallbacks) are extremely fast, while complex scenarios (script/region matching, language distances) still perform well.

Keywords

ecma402

FAQs

Package last updated on 06 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts