Compile Diablo 2 .nip pickit files into optimized JavaScript. Drop-in replacement for kolbot's runtime NIP parser — 36x faster.
If you use kolbot for Diablo 2, your pickit system loads .nip files at runtime and checks every item against hundreds of rules by scanning them one by one. This compiler takes those same .nip files and produces a single optimized JavaScript file that uses switch dispatch instead of linear scanning.
- Go to blizzhackers.github.io/nip-compiler
- Your default pickit files are pre-loaded — check/uncheck the ones you want
- Upload your own
.nipfiles or paste rules inline - Click Compile
- Download
checkItem.jsand drop it into your kolbotpickit/compiled/folder Add(kolbot integration in development)require("pickit/compiled/checkItem.js");to yourPickit.init()
The compiler validates your rules as you type — unknown item names, stat keywords, and syntax errors show up as red squigglies in the editor.
- NIP syntax highlighting with autocomplete for item names, stats, qualities
- Live error checking against the full D2 alias database
- Kolbot-compatible output (self-registers via
NTIP.addCompiled) - Inline source maps for debugging
- Pretty-print or minified output
| Package | Description |
|---|---|
packages/compiler |
The NIP parser, binder, and code emitter |
packages/web |
The web SPA (this site) |
pnpm install
pnpm dev # start web dev server
pnpm test # run compiler tests
pnpm build # build everything