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

@seriousgaming/sdk

v1.10.0

Published

SDK for building Serious Gaming games

Readme

@seriousgaming/sdk

The library a Serious Gaming game imports: the types and helpers for engines, hooks, validators, endpoints and tick controllers, and the React wrappers and hooks for every kind of user interface.

You build, test and run a game with the CLI in @seriousgaming/sdk-tools. Its documentation starts at docs/index.md in that package.

The package is ES modules only: import it. Its exports carry no require condition, so CommonJS tooling that resolves with require.resolve does not find it.

Stability

A version with a prerelease suffix, such as 1.0.0-alpha.1, carries none of these guarantees: it can change in any way before the release it leads to.

From 1.0.0, these subpaths follow semantic versioning. A breaking change to anything they export waits for a major release:

| Subpath | What it holds | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | . | Logic signatures, bundle types, uses callbacks, scheduling builders, seeded randomness, UTF-8 helpers, UndeclaredApiUseError | | ./ui | The user interface wrappers, their hooks, and the types a surface reads | | ./ui/testing | Render helpers and mocks for testing a surface, including mergingSetData and createMockBrand | | ./testing | logicArgs, the offline stub callbacks, and createMockTeam, createMockParticipant and their plurals, for calling a logic function directly in a unit test | | ./projection | The observable session state the dev server and the CLI report, and PROJECTION_VERSION | | ./commands | The command set a client sends the dev server, and what each query answers with |

Two things in them are outside that guarantee:

  • Members tagged @internal in their TSDoc, such as the dev server's fault injection (FaultKind, ArmedFault, the armFault and disarmFault commands and the projection's faults). They ship in the declarations, but may change in a minor release
  • The React context objects ./ui exports (UserInterfaceDataContext and the rest of the *Context names). The hooks that read them are covered; providing one directly is not, because a minor release may add a required field to a context's value. Test a surface with the render* helpers in ./ui/testing, which supply every context for you

Adding a field to the projection or to a query's answer is not a breaking change, so a reader should ignore what it does not know. PROJECTION_VERSION changes only with a major release.

./e2e carries no such guarantee. It holds the Playwright helpers for testing a game against the dev server, which track the dev console and so move with sdk-tools.

The host half of the iframe protocol (@seriousgaming/sdk-tools/host) and the runtime helpers (@seriousgaming/sdk-tools/runtime) are not part of this package. They exist for the Serious Gaming platform and the SDK's own tooling, not for games.

Licence

Apache License, Version 2.0. See LICENSE and NOTICE.