npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

generate-emoji-list

v1.1.0

Published

Generate a comprehensive list of all Unicode Emojis in any language.

Downloads

34

Readme


All emoji-data is pulled from the official Unicode Emoji lists and converted into JSON. Optionally category names and emoji descriptions can easily be translated into a target language using the Google Cloud Translation API.

Several precompiled lists can be found in the lists/ folder.

Overview

Using the CLI to Generate a Fresh List

The CLI can easily be used by executing it with npx:

npx generate-emoji-list

It will ask you about the Unicode-version, features and language of your list.

Generate the List in a Different Language

If you want the list descriptions and category names to be translated into a non-english language you have to specify the path of a Google Application Credentials file under the GOOGLE_APPLICATION_CREDENTIALS environment variable. The official documentation for that can be found here.

The Cloud Translation API has to be active for the project you are using.

The free quota for translations should be enough for generating several lists, so you do not have to worry about costs.

Using the JavaScript-API

The methods for generating emoji lists are available via a JavaScript API.

Generating an English Emoji List

The createEmojiList-method works both with Node.js and in the browser.

You can use it like the following:

// ESM
import { createEmojiList } from "generate-emoji-list";

// CJS
const { createEmojiList } = require("generate-emoji-list");

const emojiList = await createEmojiList({
    unicodeVersion: "14.0",
    features: { shortCodes: true },
});

The unicodeVersion has to be one of our supported Versions of the Unicode standard, which currently are:

type UnicodeVersion =
    | "4.0"
    | "5.0"
    | "11.0"
    | "12.0"
    | "12.1"
    | "13.0"
    | "13.1"
    | "14.0";

When the shortCodes-feature is activated, an HTTP-Request will be made to the GitHub Emoji API to add short codes to the emojis (e.g. zap for ⚡️).

Translating an English Emoji List Into Another Language

The translateEmojiList-method can be used to translate an english list into a specified language.

The Google Cloud Translation API will be used for translating the strings into another language, so make sure you have set up your GOOGLE_APPLICATION_CREDENTIALS environment variable corrently and the Cloud Translation API is enabled for your Google Cloud project.

This method only works with Node.js, it will not work in the browser.

// ESM
import { createEmojiList, translateEmojiList } from "generate-emoji-list";

// CJS
const { createEmojiList, translateEmojiList } = require("generate-emoji-list");

const emojiList = await createEmojiList({
    unicodeVersion: "14.0",
    features: { shortCodes: true },
});

const germanEmojiList = await translateEmojiList({
    emojiList,
    targetLanguage: "de",
});

The targetLanguage-parameter takes an ISO-639-1 language code.