Modern World of Warcraft modding framework built with Deno, TypeScript, and cascette-rs/ngdp.
- CASC archive support via battle-tested cascette-rs/ngdp CLI tool
- Type-safe DBC file processing
- BDD test-driven development
- Clean architecture and modern TypeScript
- Streaming for large file handling
- No C++ compilation required
- Professional CASC tooling with CDN failover and caching
- Deno 2.x or later
- ngdp CLI tool (from cascette-rs project)
- MySQL 8.x or MariaDB 10.x (for server data)
- Classic WoW client with CASC storage
# Install ngdp CLI tool first
cargo install ngdp-client
# Or use install script
curl -fsSL https://raw.githubusercontent.com/wowemulation-dev/cascette-rs/main/install.sh | bash
# Verify ngdp installation
ngdp --version
# Clone the repository
git clone https://github.com/wowemulation-dev/deno-wow-kit.git
cd deno-wow-kit
# Run tests to verify setup
deno task test
# Start development server
deno task dev
import { CASCReader, DBCParser, SpellSchema } from "deno-wow-kit";
// Initialize CASC reader with WoW path
const cascReader = new CASCReader({
wowPath: "/path/to/wow/Data",
region: "us",
});
// Extract DBC file using ngdp
const spellDBC = await cascReader.getFileByName("DBFilesClient/Spell.dbc");
// Parse DBC file
const parser = new DBCParser(SpellSchema);
const spells = parser.parse(spellDBC);
// List available files
const files = await cascReader.listFiles();
const dbcFiles = files.filter((f) => f.path?.endsWith(".dbc"));
# Run all tests
deno task test
# Watch mode
deno task test:watch
# With coverage
deno task test:coverage
deno task coverage
# Integration tests with real WoW data (set WOW_PATH environment variable)
export WOW_PATH="/path/to/wow/Data"
deno task test
# Format code
deno task fmt
# Lint code
deno task lint
# Type check
deno task check
# Create standalone executable
deno task compile
WOW_PATH
: Path to WoW Data directory (for integration tests)NGDP_PATH
: Custom path to ngdp executable (optional)
- cascette-rs project - CASC/NGDP implementation
This project is licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.
Contributions welcome! Please read our contributing guidelines and code of conduct.
- cascette-rs/ngdp: Battle-tested CASC/NGDP implementation
- Deno: Modern TypeScript runtime
- MySQL/MariaDB: Server-side data storage
- GitHub Issues: Report bugs and request features
- cascette-rs Issues: For CASC/ngdp related problems
- WoW Emulation Community: General modding support