@voscarmv/secret-santa
v1.0.2
Published
A simple secret santa gift exchange sorter
Maintainers
Readme
🎅🎄 secret-santa 🎁✨
A simple, fast, and fair Secret Santa gift exchange sorter — no self-gifting, no awkward moments, just holiday magic ✨
Perfect for friends, family, coworkers, or that one group chat that always organizes Secret Santa at the last minute.
✨ Features
- 🎁 Randomized Secret Santa assignments
- 🚫 No one gets themselves
- ⚡ Fast and lightweight
- 🧠 Sensible defaults, zero configuration required
- 📦 Works great with Node.js and TypeScript
📦 Installation
npm i @voscarmv/secret-santa🎄 Quick Example
index.ts
import SecretSanta from '@voscarmv/secret-santa';
const santa = new SecretSanta({
members: ["Alex", "Bob", "Cleo", "Dana"]
});
console.log(santa.sort());🎁 Example output:
{
Alex: "Dana",
Bob: "Cleo",
Cleo: "Alex",
Dana: "Bob"
}Every run is randomized — but no one ever draws their own name 😉
🧑🎄 How it works
Under the hood, it generates a random one-to-one assignment (a derangement, for the curious 🤓), ensuring everyone gives a gift to someone else.
❄️ Use cases
- Family Secret Santa 🎄
- Office gift exchanges 🏢🎁
- Friend groups 🎉
- Holiday bots 🤖
- Any excuse to automate Christmas 😄
📜 License
🛡️ GNU General Public License v3.0 or later (GPL-3.0-or-later)
This project is free software: you can use, study, modify, and share it under the terms of the
GNU General Public License, version 3 or any later version.
In true Secret Santa spirit 🎁:
- Feel free to share and remix
- Improvements must remain open
- The joy (and the source code) keeps circulating ❤️
See the full license text at:
https://www.gnu.org/licenses/gpl-3.0.html
