@motemen/pokemon-data
v9.5.0
Published
A table of Pokémon ID correspondences across multiple sites.
Readme
@motemen/pokemon-data
A comprehensive dataset integrating Pokémon and item data from multiple sources, providing ID mappings and localized names.
Available Data
Pokémon Data
- POKEMON_ALL.tsv - Tab-separated values format
- POKEMON_ALL.json - JSON format
- index.d.ts - TypeScript type definitions
Item Data
- ITEM_ALL.tsv - Tab-separated values format
- ITEM_ALL.json - JSON format
Data Schema
Pokémon Data Fields
National Pokédex
national_pokedex_number- National Pokédex number
PokéAPI Integration
pokeapi_species_id/pokeapi_species_id_name- Species ID and namepokeapi_pokemon_id/pokeapi_pokemon_id_name- Pokémon ID and namepokeapi_form_id/pokeapi_form_id_name- Form ID and namepokeapi_form_order- Form ordering numberpokeapi_form_name- Form name (English)pokeapi_species_name_ja/pokeapi_species_name_en- Species names (Japanese/English)pokeapi_form_name_ja/pokeapi_form_name_en- Form names (Japanese/English)
PKMN Showdown Integration
pkmn_form_order- PKMN form orderpkmn_name/pkmn_id_name- PKMN name and IDpkmn_base_species/pkmn_forme- Base species and forme
Yakkun.com Integration
yakkuncom_id- Yakkun.com Pokémon ID (e.g., "n25")yakkuncom_name- Pokémon name on Yakkun.comyakkuncom_form_name- Form name on Yakkun.com
Item Data Fields
name_ja- Japanese item namename_en- English item namepokeapi_id- PokéAPI item IDbulbapedia_id- Bulbapedia item ID (nullable)
Data Sources
Pokémon Data
- PokéAPI - Comprehensive Pokémon API with form data
- pkmn Project - Competitive Pokémon data
- ポケモン徹底攻略 - Japanese Pokémon database
Item Data
- PokéAPI - Item names in multiple languages
- Bulbapedia - Generation IX item indices
- PokeDB Tokyo - Additional item mappings
Data Processing Pipeline
Pokémon Data
Data Acquisition
- PokéAPI: GraphQL query →
source/pokeapi-allpokemons.json - Yakkun.com: HTML scraping →
source/yakkuncom-zukan.html - PKMN: Generated from
@pkmn/dex→data/pkmn.tsv
- PokéAPI: GraphQL query →
Data Processing
- Parse and normalize form names with
extend-yakkuncom.py - Merge PokéAPI and PKMN data with
merge-pokeapi-pkmn.py - Merge PokéAPI and Yakkun data with
merge-pokeapi-yakkuncom.py - Final integration with
merge-pokemon-all.py
- Parse and normalize form names with
Output Generation
POKEMON_ALL.json/POKEMON_ALL.tsv- TypeScript definitions via
create-dts.ts
Item Data
Data Acquisition
- PokéAPI: CSV download →
source/pokeapi-item_names.csv - Bulbapedia: HTML scraping →
source/bulbapedia-items-gen9.html - PokeDB Tokyo: Manual mapping →
source/pokedbtokyo-item-names.json
- PokéAPI: CSV download →
Data Processing
- Parse Bulbapedia HTML with
parse-bulbapedia-items.py - Merge all sources with
merge-items.py
- Parse Bulbapedia HTML with
Output Generation
ITEM_ALL.json/ITEM_ALL.tsv
Development
Build Commands
make all # Generate all data files
make pokemon # Generate Pokémon data only
make items # Generate item data only
make clean # Remove generated files
make distclean # Remove all generated and downloaded files
make test # Run validation testsDependencies
- Python:
uvwith pandas for data processing - Node.js:
pnpmfor TypeScript compilation and testing - External APIs: PokéAPI GraphQL, web scraping for Yakkun/Bulbapedia
Type Safety
This package provides full TypeScript support with:
- Runtime validation using Zod schemas
- Auto-generated type definitions
- Vitest-based schema validation tests
