
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Info on UN M49.
This package contains info on UN M49 (Standard Country or Area Codes for
Statistical Use).
UN M49 is similar to ISO 3166 (the GB in en-GB).
The difference is that ISO 3166 uses alphabetical codes based on how a region is
called by a group of people, whereas UN M49 uses numerical codes.
Numerical codes are useful because they are resistant to changes and
geopolitical conflicts.
UN M49 also contains regions bigger than countries, such as (sub)continents.
That’s useful for example for es-419 to describe Spanish as used in Latin
America and the Caribbean.
You can use this package any time you have to deal with regions or UN M49 in particular.
This package is ESM only. In Node.js (version 14.14+, 16.0+), install with npm:
npm install un-m49
In Deno with esm.sh:
import {unM49, toIso3166} from 'https://esm.sh/un-m49@2'
In browsers with esm.sh:
<script type="module">
import {unM49, toIso3166} from 'https://esm.sh/un-m49@2?bundle'
</script>
import {unM49} from 'un-m49'
console.log(unM49.slice(0, 20))
Yields:
[
{type: 0, name: 'World', code: '001'},
{type: 1, name: 'Africa', code: '002', parent: '001'},
{type: 4, name: 'Afghanistan', code: '004', iso3166: 'AFG', parent: '034'},
{type: 3, name: 'South America', code: '005', parent: '419'},
{type: 4, name: 'Albania', code: '008', iso3166: 'ALB', parent: '039'},
{type: 1, name: 'Oceania', code: '009', parent: '001'},
{type: 4, name: 'Antarctica', code: '010', iso3166: 'ATA', parent: '001'},
{type: 3, name: 'Western Africa', code: '011', parent: '202'},
{type: 4, name: 'Algeria', code: '012', iso3166: 'DZA', parent: '015'},
{type: 3, name: 'Central America', code: '013', parent: '419'},
{type: 3, name: 'Eastern Africa', code: '014', parent: '202'},
{type: 2, name: 'Northern Africa', code: '015', parent: '002'},
{type: 4, name: 'American Samoa', code: '016', iso3166: 'ASM', parent: '061'},
{type: 3, name: 'Middle Africa', code: '017', parent: '202'},
{type: 3, name: 'Southern Africa', code: '018', parent: '202'},
{type: 1, name: 'Americas', code: '019', parent: '001'},
{type: 4, name: 'Andorra', code: '020', iso3166: 'AND', parent: '039'},
{type: 2, name: 'Northern America', code: '021', parent: '019'},
{type: 4, name: 'Angola', code: '024', iso3166: 'AGO', parent: '017'},
{type: 4, name: 'Antigua and Barbuda', code: '028', iso3166: 'ATG', parent: '029'}
]
This package exports the identifiers unM49 and toIso3166.
There is no default export.
unM49List of Regions (Array<Region>).
RegionObject with the following properties:
type (Type)
— Type
(example: 4)name (string)
— name
(example: 'United Kingdom of Great Britain and Northern Ireland')code (string)
— three-character UN M49 code
(example: 826)iso3166 (string?)
— ISO 3166-1 alpha-3 code, if type represents a country or area
(example: 'GBR')parent (string?)
— code of parent region, if type does not represent the planet
(example: '154')Typenumber, one of the following:
0 — global (example: 001 World)1 — region (example: 002 Africa)2 — subregion (example: 202 Sub-Saharan Africa)3 — intermediate region (example: 017 Middle Africa)4 — country or area (example: 024 Angola)👉 Note: Regions can be “missing” between a region and its parent. For example, the parent of the “country or area” (
4)010Antarcticais001World(4). Intermediate regions (3) aren’t used a lot.
toIso3166Map of UN M49 codes to ISO 3166-1 alpha-3 codes (Record<string, string>).
This package is fully typed with TypeScript.
It exports the additional types Type and UNM49.
This package is at least compatible with all maintained versions of Node.js. As of now, that is Node.js 14.14+ and 16.0+. It also works in Deno and modern browsers.
This package is safe.
wooorm/bcp-47
— parse and stringify BCP 47 language tagswooorm/bcp-47-match
— match BCP 47 language tags with language ranges per RFC 4647wooorm/bcp-47-normalize
— normalize, canonicalize, and format BCP 47 tagswooorm/iso-3166
— ISO 3166 codeswooorm/iso-639-2
— ISO 639-2 codeswooorm/iso-639-3
— ISO 639-3 codeswooorm/iso-15924
— ISO 15924 codesYes please! See How to Contribute to Open Source.
FAQs
Info on UN M49
We found that un-m49 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.