A Node.js module for organizing tournaments, written in TypeScript.
Version 3 is now an ESM module. If you don't understand what this means for you, read this.
This JavaScript module for Node.js facilitates the organization and execution of tournaments.
Tournaments can be paired by single elimination, double elimination, stepladder, round-robin, double round-robin, and Swiss. Playoffs can be paired by single elimination, double elimination, and stepladder.
For non-elimination tournaments, the following tiebreaker systems are supported (their details can be found here):
- Solkoff
- Median-Buchholz
- Sonneborn-Berger
- Cumulative
- Versus
- Opponent's match win percentage
- Game win percentage
- Opponent's game win percentage
- Opponent's opponent's match win percentage
Details can be found in the tournament-pairings
readme.
Please submit an issue if you encounter a bug or have a feature suggestion.
If you are interested in contributing, please feel free to fork and clone the repository (on main branch), then submit a pull request.
I am a high school teacher, and would appreciate any and all support in continuing this project.
npm i tournament-organizer
In Node.js:
import TournamentOrganizer from 'tournament-organizer';
In the browser:
import TournamentOrganizer from "https://esm.sh/tournament-organizer/dist/index.module.js";
Available online: https://slashinfty.github.io/tournament-organizer/
You can discuss this repository more in my Discord.