Evolite is a lightweight, zero-dependency genetic algorithm library for TypeScript and JavaScript. It provides a simple asynchronous API to evolve any data structure by plugging in your own fitness, selection, crossover, and mutation functions.
Features
🚀 Zero dependencies – extremely lightweight runtime.
⚡ Asynchronous by design – support async hooks for fitness, selection, crossover, and mutation.
🧩 Flexible & Type-safe – works with any data shape extending { fitness?: number }.
🎯 Advanced control – early stopping, elitism, optimization modes (maximize/minimize), and non-blocking event-loop yielding.
🛠️ Built-in strategies – standard selection methods included out of the box.