Core files in the node-xmpp project
Library to handle all the core functionality for:
Note: We now only support nodejs versions 0.8.0 and greater.
With package manager npm:
npm install node-xmpp-core
Install the dev dependencies, then...
To run the tests and the code style checks then use:
Also see the tests run in travis. The tests in travis run both the code and code style tests.
Please use one of
- Use node.js conventions, especially
EventEmitter, ie. for write buffer control
- Fast parsing,
node-expatwas written for this library
Set this option as
true to enable the optimization for continuous TCP streams. If your "socket" actually transports frames (WebSockets) and you can't have stanzas split across those, do not enable it.
- Simple JID parsing with Stringprep normalization
- Optional now, you won't need ICU for just node-xmpp
- Please be aware if you identify users by JIDs
npm install node-stringprep
- Uses ltx
- Much easier to handle than a standard DOM
- Easy XML builder like Strophe.js (see down)
- Non-buffering serialization
- Was split out of node-xmpp for modularization and resuability
Automatically building the optional library can be turned off by
npm config set optional false or by setting the environmental variable
export NPM_CONFIG_OPTIONAL=false. On Heroku this is done through
heroku config:set NPM_CONFIG_OPTIONAL=false, for example.
Strophe.js' XML Builder is very convenient for producing XMPP
stanzas. ltx includes it in a much more primitive way: the
t() methods can be called on any Element
object, returning the new child element.
This can be confusing: in the end, you will hold the last-added child
until you use
up(), a getter for the parent.
tree() to retrieve the uppermost parent, the XMPP
stanza, before sending it out the wire.
(Builing up documentation slowly)