{"_id":"xavi","_rev":"49-7d44bc08043640f4369fb755c2a71c39","name":"xavi","description":"WebSocket channel server","dist-tags":{"latest":"0.7.1-0"},"versions":{"0.3.5-12":{"name":"xavi","version":"0.3.5-12","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.3.5-12","dist":{"shasum":"bff992bb072fbf537a6a775d8eef805f53df1a0f","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.3.5-12.tgz","integrity":"sha512-x9qo99Dd8eEOFSyYpfE5rM2qVsnCNZ8iuMTEg17fz5JqE/NNWSCjHjfaCPdy7FvNFb+xe7WXR/5pE3XQNEZBfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxF5cH0elW21WSsMs+6dh0nyh5htgE6LbFGBTdsyyg5QIhAL04r/F6kckz+BpNL92NGBKUAEQGppO5SuwiTjzuVHdN"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.3.5-13":{"name":"xavi","version":"0.3.5-13","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.3.5-13","dist":{"shasum":"87433a77ef704849729d03e5d36605c3c8ffde8c","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.3.5-13.tgz","integrity":"sha512-hD8LwdYc9/s1YN5+jO2rHbK89XiVbHc5yFTM8f6h7rm+ZeyM3THvgyHpNceqbyRWfpOIBZztV3sdlmEDZmDuWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBicNNgKH7H0WJAjThB5L4KmNtWvMWn0TLjRlaAbtdmgIhAOs0brDVfE7u112uCXZnUGe1434BKHras+36IZydm7Wc"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.3.5-14":{"name":"xavi","version":"0.3.5-14","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.3.5-14","dist":{"shasum":"b0c7fa6dea7e2c1324d57800225ab7ee83897b0e","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.3.5-14.tgz","integrity":"sha512-yMA5gKFH5nY/BuoZ+bTvX2HTf0McI5Psiwqgc0NqrHTyPE09kAOUbXnhsSnJ1lkUxrCc1pAnaW4uayDx+oxdFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdGr+1Pvq+Ea+q766wVHSW35oZ7ovgNdBUyTQOqQ8xlwIgaJJtgqJN1Xm4Xf+P5bMy2jCWG7xQs1+xfpClSr5BCCc="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.3.5-15":{"name":"xavi","version":"0.3.5-15","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.3.5-15","dist":{"shasum":"08d4e7c061c35b4a39e8094fe42039358e5274ff","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.3.5-15.tgz","integrity":"sha512-W0IQrfSvW80rJcyWHgq/dm1lOayCwG9nj5TxhTlbj6wfgTBjPPGYqj9yajz33yPsFQwGUfDF+3dM+MRhJfB7sQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCkGf16/7r7vQ1S68q7D86VDHKPYed5JvTYj2UnvWnQAIhANrKMfgZnxjkV5go6ZjnhtSGQOHQn6tBQnyS4H18u4bZ"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.3.5-16":{"name":"xavi","version":"0.3.5-16","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.3.5-16","dist":{"shasum":"5284e3202251492655ae49e9d10d206ea97388d9","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.3.5-16.tgz","integrity":"sha512-eLMFWZAofA8Sk+d7rkwAnMhdlkCs2G30XUWcU5dZ05lxKR4cwYly+Lp2vH9lvZyf8ggoWGOlWy3Qu5G+6Fo7mA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGj2lsAOknaA/h2d7tIUfj2OR3M6G1nCCbjbVDEsjVLQIgWl/Z5WjNA21guhpOPHtZqsA6RWa5C51rvzAMZlAeRQM="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.4.0-0":{"name":"xavi","version":"0.4.0-0","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.4.0-0","dist":{"shasum":"b8b6b3a85ddae09ea44a3b4acbe4725ad13eb759","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.4.0-0.tgz","integrity":"sha512-ZneVveuRc+lxnxA79LkvRfM9cBGgUGXcQvlIVufyC+VzO0YHtHMl6Lk+8OCTh7PuBiIItq4B0lU2XtUHC48Z0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtrW/qfdOEUu02XanHE2kyx97hXd3xuC7Fn2hiOutqvAIgFCnCvU9ubUW0/fnQkglaFcAdRJd1zSqErkjEjWKdlR8="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.5.0-0":{"name":"xavi","version":"0.5.0-0","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.5.0-0","dist":{"shasum":"9eaa73173dd899dcb80b74344901e1c4946776b3","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.5.0-0.tgz","integrity":"sha512-EIdnJmyXdRu6C5MUyvVm1sXOA0dyTQtPkD5D3YrEknuMbam+KLP8NDyI6bjgcF9cxzRP/MQD1Sx6RBn6Yqfndg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSdl4Xrf8yhb71p1phuFDWyBQNbQisfcjciCYbNRzryAIgFK6pUud8FDEzTDNl1j14b7LNxqscEuzi/wjCM/cMAsA="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.5.1-0":{"name":"xavi","version":"0.5.1-0","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.5.1-0","dist":{"shasum":"e802fd1148f1cafdfe00c5354e838a228fd4b24d","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.5.1-0.tgz","integrity":"sha512-tpA7e8s4Ss0wB/cAvdomoFRzZRvHIrZWSiqk7VHJWUO1LD2M/r0iEbL2XAHcrByjQpge/qYAZpiArwIQR6wfWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEsI4auxDAI9uENeQko3UjjD+6S1MS41NVDpjZJNc5P7AiAnldkaKOXrzUKeoRts1oPpM8z/0Lc0Lrj3J2oi5aaXzg=="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.5.2-0":{"name":"xavi","version":"0.5.2-0","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.5.2-0","dist":{"shasum":"cd22eef48df789833435fe411fbfeb95bbe0c428","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.5.2-0.tgz","integrity":"sha512-lKIA1fBzfPizI0XkFslFgIqzYdsm45SU9Qjjt7WANtZYwtEQkf0Si9i0Uo1UtAjMECqkiYz7JPwGBbudTozSwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDRfAMJfRBbN8gqH8NNcG4PCYgPOe7uckO11cLgMR7fPAiB5TIjUEHpWyviDtDdytQeYUbDzbB2ivz0vioe0XTA4Cg=="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.5.2-2":{"name":"xavi","version":"0.5.2-2","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test --verbose"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.5.2-2","dist":{"shasum":"c6f419385f10b636d4d23c90d0933280e689438a","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.5.2-2.tgz","integrity":"sha512-InMMH3cMxXzDMMyN1RYQeYk4BK99lYWxmBSf7gvk2qBDElto3sugqkfiz/fNCc3Vvg1LPbPVb69b+8oQUIH9UQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgrwcpa2brIc04NA51pZ1ltCCWJdt723U0dNMtfeRW3QIhAL6QhIpOQGdp6Qdb7g6SvGhvP5YtKd9kRce4sg/dHlEv"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.5.2-3":{"name":"xavi","version":"0.5.2-3","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test --verbose"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.5.2-3","dist":{"shasum":"58b314f79ee6524dea274df8c68c033042d555e2","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.5.2-3.tgz","integrity":"sha512-it3V3AT6kkWJodtWb47scPwbJCCqTQyE2xyGJBWxyn0qHWVhmHD+YLEBuoyeMU6WliHgZIr7GJ9l44zcS/d2zQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCba4wwQTgKkr1YuUttXmdlSTL5j05D83hb1Mnt7045xwIhAKU+PUVXv6+cW8bu/gMkJaW29T0OV4mQn8QPq3BXq1yA"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.5.2-4":{"name":"xavi","version":"0.5.2-4","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test --verbose"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.5.2-4","dist":{"shasum":"0be00275b01ee291fe15727d0a5c10bcbe85a97f","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.5.2-4.tgz","integrity":"sha512-CAQNpdG8jTdVK/Jj6uq9dreWrFeA8vcfT7K+erYhCIiZOxpeYzByKdh8fD3Q5IsQ29qQZ+0Dm4jkcBs0dpFQ4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvkhrVHxtlAIvqh1LR9762UogO9Jf+K5svOLzxIHnlYwIhAIFBoVPsXRDRa4q+8JTKmfEpwf1h/0OFOLI94Ospuy4N"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.5.2-5":{"name":"xavi","version":"0.5.2-5","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test --verbose"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","dotenv":"~0.2.3","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.2.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.5.2-5","dist":{"shasum":"166f0318c13ba4aac748cf996e07bdf8498906bc","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.5.2-5.tgz","integrity":"sha512-w/AAm/YXh0O2PSlSDy84cHUZBWGT5DMgFqdC0wNzrBSMZxniX2AGPMY/0Uwna3ZEVbvuW0/UQyxyHva0laS9Bg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFuaw1oFjhsfN0Dgu6DfY2LnDT5FGLbh8g+spNhpUyswIgM/kHEjq2oRU+O9rvLPx9cEtAxvDwQRvIc7CjJ9R/Z7E="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.6.0-0":{"name":"xavi","version":"0.6.0-0","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test --verbose"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.3.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"_id":"xavi@0.6.0-0","dist":{"shasum":"9d75a4d418af744cb9afeb00e4e365448bff3ec7","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.6.0-0.tgz","integrity":"sha512-0z0P9kXHCKfK1L/lSWmvOjlEEUuMCNqEhYXGKROl9xpTJuofLsp/nEIzv0zD2gj9FfbgCyo1JfwORQ8ij/FBSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCp40CcwJpO2X6ZeNxHNeLjLVJfqDzR66h+QmJ/JndHOQIhAPMc6eiagXOdwS+yn43tpOXEkbbC5Di0jgMkjd8ds/5v"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.6.1-0":{"name":"xavi","version":"0.6.1-0","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt test --verbose"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"repository":{"type":"git","url":"https://github.com/xavi-js/xavi.git"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.3.2"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"bugs":{"url":"https://github.com/xavi-js/xavi/issues"},"homepage":"https://github.com/xavi-js/xavi","_id":"xavi@0.6.1-0","dist":{"shasum":"a11d04b6d6c814e58a1941d0f0f0bbc2ed556fab","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.6.1-0.tgz","integrity":"sha512-mrP1vWw1nGARZou29RiejOnHdxqacevzhTslSIBhRieryStkycZrvisFGCpmRueCFTOuBccs+q2h8yZTTnmZQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEiepy22BCxH9NEsFLgK07sPX94SeKs+B83reOibiT9tAiEAvBRGo3FmrAPAfmcgahfyQnBe0EJuVqu0zUvcxHTtu7c="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.7.0-0":{"name":"xavi","version":"0.7.0-0","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt jshint && istanbul cover nodeunit -- test/specs"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"repository":{"type":"git","url":"https://github.com/xavi-js/xavi.git"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.3.2","istanbul":"~0.2.7","nodeunit":"~0.8.6","grunt-contrib-connect":"~0.7.1"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"bugs":{"url":"https://github.com/xavi-js/xavi/issues"},"homepage":"https://github.com/xavi-js/xavi","_id":"xavi@0.7.0-0","dist":{"shasum":"fbc0c4666ba123ae9b81d6a081a6cb7927fdfd69","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.7.0-0.tgz","integrity":"sha512-a/dYirO4RvqodFrJJU9GOmAkNiS5Hzzl2nFUhm0/VRYgUE77qax4wwaxADogClYBz/A83MD4HRTktDQ7vDz9sA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBjePxGVAL2fUmu+hlRDvqpfVy17QEVWcFcKefsb4YadAiAGvW3LDQ+BiQuUcFugwmO0q4PnTkplNiZ/zVKL7So0wA=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]},"0.7.1-0":{"name":"xavi","version":"0.7.1-0","description":"WebSocket channel server","main":"main.js","scripts":{"test":"grunt jshint && istanbul cover nodeunit -- test/specs"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"repository":{"type":"git","url":"https://github.com/xavi-js/xavi.git"},"license":"MIT","dependencies":{"ws":"~0.4.31","lodash":"~2.4.0","async":"~0.2.9"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.7.2","grunt-contrib-clean":"~0.5.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-copy":"~0.4.1","grunt-jsbeautifier":"~0.2.3","mversion":"~0.2.2","grunt-contrib-nodeunit":"~0.3.2","istanbul":"~0.2.7","nodeunit":"~0.8.6","grunt-contrib-connect":"~0.7.1"},"contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"bugs":{"url":"https://github.com/xavi-js/xavi/issues"},"homepage":"https://github.com/xavi-js/xavi","_id":"xavi@0.7.1-0","dist":{"shasum":"e94dac7883568b3d3893500fc3501953fdb9b438","tarball":"https://registry.npmjs.org/xavi/-/xavi-0.7.1-0.tgz","integrity":"sha512-Wy5Eo4yenVofeShM602srt9cMGLXUVZnbX8+L5hR+VkoWN5iLDKu42UaD5hsIJnShgSiSU/uGlV8iJnKIxCOEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEHkrYQx4yi3L+eYHBgyg8dyDOasvv2NBA6F03aMoBVnAiBmLaWPalvlvBU/BK8G3z4uB9fPsFzb0v/eoSEaRGDwpQ=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"xavi-js","email":"support@xavi.io"},"maintainers":[{"name":"xavi-js","email":"support@xavi.io"}]}},"readme":"# [Xavi](http://xavi.io) - Realtime Channel Server [![Build Status](https://travis-ci.org/xavi-js/xavi.png)](https://travis-ci.org/xavi-js/xavi)\n_WebSocket interface for highly distributed systems_\n\n### Server library (node.js)\n\n---\n\n#### Features\n\n- __Channel Subscriptions__: publish messages to subscribed clients via smart channel propagation.\n- __Service Bindings__: deploy an integrated system to broadcast messages from distributed backend services.\n- __Middleware__: manipulate incoming and outgoing messages; add authentication, encoding, and more.\n\n---\n\n#### Getting started\n\nInstall Xavi\n\n```bash\nnpm install xavi\n```\n\nCreate a new Xavi server\n\n```javascript\nvar xavi = require(\"xavi\");\nvar app = xavi.createServer();\n```\n\nAdd service bindings\n\n```javascript\nvar RedisService = require(\"xavi-service-redis\");\nvar RabbitService = require(\"xavi-service-rabbitmq\");\n\napp.services.bind(\"redis.channel\", RedisService.extend({\n\thost: \"localhost\",\n\tport: 6379\n}));\n\napp.services.bind(\"rabbit.channel\", RabbitService.extend({\n\thost: \"localhost\",\n\tport: 5672\n}));\n```\n\nAdd middleware\n\n```javascript\nvar AuthMiddleware = require(\"xavi-middleware-auth\");\nvar AuthBackend = require(\"path/to/auth/backend\");\n\napp.middleware.bind(AuthMiddleware.extend({\n\tbackend: new AuthBackend()\n}));\n```\n\nStart server\n\n```javascript\napp.listen(8080, \"localhost\");\n```\n\n_To get up and running with the client library, please visit the [xavi-client repository](https://github.com/xavi-js/xavi-client)._\n\n---\n\n#### Contributing\n\nXavi is completely open source, and welcomes community contributions.\n\nBefore you start, please read our [contribution guidelines](CONTRIBUTING.md).\n\n##### At a glance\n\n- Fork this repository\n- Create a new branch\n- When ready, submit a pull request\n\nTo contribute to other Xavi projects, visit the relevant repos:\n\n- [xavi-client](https://github.com/xavi-js/xavi-client) - _Client library_\n- [xavi-middleware-auth](https://github.com/xavi-js/xavi-middleware-auth) - _Authentication middleware_\n- [xavi-middleware-cookie](https://github.com/xavi-js/xavi-middleware-cookie) - _Cookie middleware_\n- [xavi-service-echo](https://github.com/xavi-js/xavi-service-echo) - _Echo service binding_\n- [xavi-service-irc](https://github.com/xavi-js/xavi-service-irc) - _IRC service binding_\n- [xavi-service-rabbitmq](https://github.com/xavi-js/xavi-service-rabbitmq) - _RabbitMQ service binding_\n- [xavi-service-redis](https://github.com/xavi-js/xavi-service-redis) - _Redis service binding_\n- [xavi-service-thrift](https://github.com/xavi-js/xavi-service-thrift) - _Thrift service binding_\n- [xavi-service-zookeeper](https://github.com/xavi-js/xavi-service-zookeeper) - _ZooKeeper service wrapper_\n\n#### License\n\nXavi is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n\n_&copy; 2014 [Football Radar](http://www.footballradar.com)_","maintainers":[{"name":"xavi-js","email":"support@xavi.io"}],"time":{"modified":"2022-06-29T04:48:36.372Z","created":"2014-01-10T13:16:04.985Z","0.3.5-12":"2014-01-10T13:16:06.310Z","0.3.5-13":"2014-01-12T20:58:14.330Z","0.3.5-14":"2014-01-16T17:51:41.575Z","0.3.5-15":"2014-01-20T16:08:57.396Z","0.3.5-16":"2014-01-20T16:26:26.291Z","0.4.0-0":"2014-01-29T16:23:30.768Z","0.5.0-0":"2014-02-03T16:30:14.393Z","0.5.1-0":"2014-02-04T11:44:26.715Z","0.5.2-0":"2014-02-05T13:26:14.565Z","0.5.2-2":"2014-02-25T19:28:34.173Z","0.5.2-3":"2014-02-27T12:04:31.300Z","0.5.2-4":"2014-02-27T13:09:40.807Z","0.5.2-5":"2014-03-02T19:02:09.957Z","0.6.0-0":"2014-03-04T14:55:37.196Z","0.6.1-0":"2014-03-21T09:56:19.882Z","0.7.0-0":"2014-04-04T13:06:49.000Z","0.7.1-0":"2014-04-10T16:50:24.851Z"},"author":{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"},"readmeFilename":"README.md","contributors":[{"name":"Gary Chambers","email":"gary@lipsmack.co.uk"}],"license":"MIT","homepage":"https://github.com/xavi-js/xavi","repository":{"type":"git","url":"https://github.com/xavi-js/xavi.git"},"bugs":{"url":"https://github.com/xavi-js/xavi/issues"}}