Dependencies

One runtime dependency, and nothing else reaches your install. The game data, the formulas and the save reader are all in the package — there is no service to call, no key to hold, and no optional extra that quietly becomes required.

The One Runtime Dependency

Runtime

zod — MIT

By Colin McDonnell. Declares the shapes the data tables must satisfy, so a catalog can be checked against its documented form at runtime and not only at compile time. Types vanish when TypeScript compiles; a table that has drifted does not.

Required Or Bundled

The distinction decides whose license has to travel with what you ship, so it is worth stating plainly rather than leaving to inference.

npm package

Requires zod

No zod source is inside the tarball. The build imports it and npm installs it alongside, the same as any other dependency in your tree.

WebAssembly build

Bundles zod

The .wasm is compiled from one bundle, so zod's code is inside the artifact. Redistributing that file redistributes zod, and its MIT notice goes with it.

Build-Time Only

TypeScript, ESLint, Vitest, tsx and the Node type definitions build and check the package. None of them is installed by consumers, and none appears in the published tarball.

What Has No Dependencies At All

The save reader is the part most likely to be embedded somewhere awkward, so it is worth being precise about. playerInfo.dat is gzip-compressed .NET Binary Format, and the reader for it is a port of that format written against the record types themselves. It imports nothing — not zod, not Node — which is why the same reader runs in a browser tab and in a Node process, and why decoding a save never has to leave the machine it is on.

Checking For Yourself

The manifest is the authority, not this page.

npm view thetowersdk dependencies
npm ls --omit=dev

Work This Package Builds On

Separate from software dependencies, parts of the game data and several formulas came from community work — the original toolkit, the Effective Paths spreadsheets, the wikis and the guides. Those are credited by name on Contributions, and the licenses that apply are on Licensing.

Licensing → · Contributions → · Any Language →