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 🙏

© 2026 – Pkg Stats / Ryan Hefner

unite-lib

v1.0.3

Published

Assets and data library for Pokémon Unite — names, images, moves, maps. Use via npm or CDN.

Downloads

351

Readme

unite-lib

Assets and data library for Pokémon Unite: roster, names, images, moves, and maps. Use in any project via npm or CDN.

Install

npm install unite-lib

Usage

Data and helpers

import {
  pokemons,
  moves,
  maps,
  BattleType,
  Tag,
  getPokemonByName,
  getPokemonByDex,
  getPokemonsByBattleType,
  getImageUrl,
  getPokemonName,
} from "unite-lib";

// All roster entries
console.log(pokemons.length);

// Find by name or dex
const pikachu = getPokemonByName("Pikachu");
const dex25 = getPokemonByDex(25);

// Filter by role
const attackers = getPokemonsByBattleType(BattleType.ATTACKER);
const ranged = getPokemonsByTag(Tag.RANGED);

// Image URL (relative or with CDN base)
const mainImg = getImageUrl(pikachu, "main");
const cdnImg = getImageUrl(pikachu, "main", {
  baseUrl: "https://cdn.jsdelivr.net/npm/[email protected]",
});

i18n (localized names)

import { getPokemonName } from "unite-lib";
// or
import { getPokemonName } from "unite-lib/i18n";

getPokemonName("venusaur", "en");    // "Venusaur"
getPokemonName("venusaur", "pt-BR"); // "Venusaur"
getPokemonName("venusaur", "ja-JP"); // "フシギバナ"
getPokemonName("venusaur", "fr");    // "Florizarre"
getPokemonName("venusaur", "es");    // "Venusaur"

Supported locales: en, pt-BR, ja-JP, fr, es.

Content

The library includes data and images ready to use in Pokémon Unite apps, bots, and sites.

Roster (Pokémon)

Roster icons and stat images for the full active roster.

| Roster example | Stats example | |----------------|----------------| | Pikachu | Pikachu stats | | Charizard | Charizard stats | | Venusaur | Venusaur stats |

Moves

Move images (slot 1 and 2, variants 1 and 2) per Pokémon.

| Slot 1.1 | Slot 1.2 | Slot 2.1 | Slot 2.2 | |----------|----------|----------|----------| | Pikachu S11 | Pikachu S12 | Pikachu S21 | Pikachu S22 |

Maps

Game map images (Remoat Stadium, Theia Sky Ruins, Mer Stadium, etc.).

Map


Local development (testing without publishing to npm)

To test the library in another project on your machine without publishing to npm:

1. Build the library

From the unite-lib folder:

cd unite-lib
npm run build

2. Use in your project

Option A — npm link (symlink, great for development)

From the library folder:

npm link

In your other project (e.g. the app that consumes the library):

cd /path/to/your/project
npm link unite-lib

From then on, import { pokemons, getPokemonName } from "unite-lib" uses the local version. When you change the library, run npm run build again; the consuming project already points to the same package.

To undo in the consuming project: npm unlink unite-lib.

Option B — file: dependency (install from path)

In your project's package.json, add:

{
  "dependencies": {
    "unite-lib": "file:../unite-lib"
  }
}

Adjust ../unite-lib to the relative (or absolute) path to the library folder. Then:

npm install

Whenever you change the library, run npm run build in it and, to refresh the copy in the consumer, run npm install again in the project (or use npm update unite-lib).

Images when testing locally

Image paths are relative (e.g. pokemons/roster-venusaur.png). In the consumer you can:

  • Use baseUrl when calling getImageUrl(pokemon, "main", { baseUrl: "http://localhost:3000/node_modules/unite-lib" }) if the bundler/server serves node_modules, or
  • Point baseUrl to where the pokemons/, moves/, and maps/ folders are available in your app.

CDN (browser)

<script src="https://cdn.jsdelivr.net/npm/unite-lib@latest/dist/index.global.js"></script>
<script>
  const { pokemons, getPokemonName, BattleType } = window.UniteLib;
</script>

Asset URLs via jsDelivr (substitua @latest por uma versão se quiser):

  • https://cdn.jsdelivr.net/npm/unite-lib@latest/pokemons/roster-venusaur.png
  • https://cdn.jsdelivr.net/npm/unite-lib@latest/moves/venusaur_s11.png

API overview

| Export | Description | |--------|-------------| | pokemons | Full roster (name, dex, images, battleType, stats, tags, difficulty) | | moves | Move list (pokemonId, slotId, name, image) | | maps | Map list (id, name, image, description) | | BattleType | attacker, defender, allrounder, speedster, supporter | | Tag | Role + style: attacker, defender, melee, ranged, … | | getImageUrl(pokemon, key, options?) | Image path or full URL with baseUrl | | getPokemonByName(name) | Find by display name | | getPokemonByDex(dex) | Find by Pokédex number | | getPokemonBySlug(slug) | Find by slug (e.g. venusaur) | | getPokemonsByBattleType(type) | Filter by BattleType | | getPokemonsByTag(tag) | Filter by Tag | | getActivePokemons() | Only active roster entries | | getPokemonName(slug, locale) | Localized name (from main package or unite-lib/i18n) |

Project structure

  • dist/ — Built ESM, CJS, and IIFE; type definitions (.d.ts)
  • pokemons/ — Roster and stat images
  • moves/ — Move images
  • maps/ — Map images
  • .cursor/skills/Cursor Agent Skills for use with AI agents in this repo (e.g. syncing roster from images in pokemons/ and moves/).
  • mcp/MCP server (Model Context Protocol) para consumir a library em agentes de IA: tools para listar e buscar pokémons, moves, mapas, URLs de imagens e nomes localizados (Cursor, Claude Desktop, etc.).

License

MIT. See LICENSE.

Contributing

Contributions are welcome. See CONTRIBUTING.md for guidelines and workflow.