Core features and design goals of xmpp.js
mainxmpp.js is designed with several key principles:
- Universal: Runs in various JavaScript environments including Browsers, Node.js, WebWorkers, React Native, Bun, Deno, GJS, and Duktape.
- Reliable: Handles errors and automatic reconnections by default. It can be configured to loop through a list of endpoints to handle network failures without manual intervention.
- Modular: Features are implemented as independent modules that can be added or removed easily.
- Small: Avoids third-party dependencies. The default
@xmpp/clientis optimized for the web, staying under 13 kb (gzipped).