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

github-emoji

v1.2.0

Published

GitHub emoji collection

Downloads

2,725

Readme

GitHub Emoji Library for Node.js typed with TypeScript

npm version codecov badge travis badge appveyor badge

Small npm package for GitHub Emoji typed with TypeScript.

Features:

  • Get properties of each emoji
    • Name (e.g. dog)
    • URL (e.g. https://github.githubassets.com/images/icons/emoji/unicode/1f436.png?v8)
    • String (e.g. 🐶)
    • File path to emoji file (e.g. /path/to/github-emoji/images/1f436.png)
    • File name (e.g. 1f436.png)
  • TypeScript ready
    • Emoji name is typed as a union of string literal types. Compiler can check emoji name is correct.
  • Zero runtime dependency

Installation:

npm install --save github-emoji

Usage:

const emoji = require('github-emoji');

console.log('All emoji information as Map',             emoji.all());           // Map{ '+1' => {...}, ... }
console.log('Get properties of emoji as object',        emoji.of('dog'));       // { string: '🐶', ... }
console.log('Get emoji string from name',               emoji.stringOf('dog')); // '🐶'
console.log('Get emoji names from emoji string',        emoji.namesOf('👍'));   // ['+1', 'thumbsup']
console.log('Get emoji one of names from emoji string', emoji.nameOf('👍'));    // '+1'
console.log('Get emoji URL from name',                  emoji.urlOf('dog'));    // 'https://...'
console.log('Check the string is emoji name',           emoji.isName('dog'));   // true
console.log('Check the string is emoji',                emoji.isEmoji('🐶'));   // true
console.log('Object of name => URL',                    emoji.URLS);            // { '+1': 'https://...', ... }

This library is ready for TypeScript.

import * as emoji from 'github-emoji';

emoji.of('dog');   // OK
emoji.of('doggo'); // COMPILE ERROR!

// If you want to use string value for emoji name, please assert the string value
// is emoji name using `as`.
import {EmojiName} from 'github-emoji';
const someName: string = ...;
emoji.of(someName as EmojiName); // OK

Please see github-emoji/index.d.ts for all APIs.

You may need to add --resolveJsonModule to tsc or "resolveJsonModule": true in compilerOptions section of tsconfig.json to compile this library. --outDir would be also necessary in compile configuration. --target must be es2015 or later.

For example:

tsc your_source.ts --resolveJsonModule --target es2015 --esModuleInterop --moduleResolution node --module commonjs