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

@hexah/skin-sdk

v0.11.0

Published

Publiczny, wersjonowany kontrakt SDK skórek Hexah (stałe + typy). Implementacje dostarcza host w runtime.

Readme

@hexah/skin-sdk

Publiczny, wersjonowany kontrakt SDK skórek Hexah — stałe i typy, na których deweloperzy budują własne podstrony (ekrany szablonu) i motywy, bez dostępu do kodu gry.

Pakiet jest celowo „chudy": zawiera wyłącznie kontrakt (zero implementacji, zero importów z aplikacji, brak Reacta i kroku budowania). Implementacje read-modeli, usług platformy i prymitywów UI dostarcza aplikacja-host w runtime przez Module Federation (shareScope).

Instalacja

npm install --save-dev @hexah/skin-sdk
# peer-y dostarcza host w runtime; instalujesz je u siebie do builda/typowania:
npm install react react-dom jotai next @mui/material @mui/icons-material

Co dostajesz

import { SCREEN_KEYS, SLOT_KEYS, DEFAULT_TEMPLATE, SKIN_API_VERSION } from '@hexah/skin-sdk'
  • SCREEN_KEYS — klucze ekranów, pod które rejestrujesz komponenty skórki.
  • SLOT_KEYS — klucze slotów (ciężkie fragmenty renderowane przez hosta; rozmieszczasz je).
  • DEFAULT_TEMPLATE — szablon bazowy (fallback).
  • SKIN_API_VERSION — wersja kontraktu, którą deklaruje skórka (host odrzuca niezgodny major).
  • Typy JSDoc: ReportListItem, ReportListView, ReportListResult, Pagination, SkinScreenProps.

Hooki danych (per strona gry)

| Strona | Hook | | --- | --- | | Aktualności / Kurier | useArticles | | Harold (GPT) | useGptThreads | | Operacje | useTales | | Metropolia | useTown | | Frakcje | useGuild | | Kolonie | useVillages | | Zgłoszenia | useReports | | Konfiguracja | useSettings | | Zaopatrzenie | useShop | | Profil | useAccountProfile |

Stan i usługi

Read-modele stanu: useShard, useShardUser, useCharacter, useAccount, usePageData, useOnlineCharacters. Usługi: useSnackbar, useDialog, useGamePageShell. Sloty hosta: useSlots() + SLOT_KEYS. Prymitywy UI: PageBox, HexahChip, DataList, HexahPagination, AngularPanel, StandardButton, RoundAvatar, HexahCharacterSection.

Wszystko paczka udostępnia jako typowane atrapy — dają podpowiedzi w edytorze, a realne implementacje dostarcza host w runtime (Module Federation, shareScope). Atrapa wywołana poza hostem rzuca jasny błąd: skórka działa wyłącznie wewnątrz aplikacji Hexah. Bundler skórki dzieli te paczki z import: false, więc atrapy nigdy nie trafiają do bundla.

Tworzenie skórki

Najszybciej wystartujesz przez scaffolder:

npm create @hexah/skin moja-skorka     # albo: npx @hexah/create-skin moja-skorka

Wygenerowany projekt zawiera gotowy build (rspack + Module Federation), przykładowy ekran i instrukcję podłączenia do środowiska testowego Hexah.

Wersjonowanie

SKIN_API_VERSION (semver): major = zmiana łamiąca powierzchnię, minor = dodanie zgodne wstecz, patch = bez zmiany powierzchni. Skórka deklaruje wersję w configu; host odrzuca niezgodny major.