{"_id":"@dvdagames/elite-dangerous-journal-server","_rev":"16-790ede07613e1562abce28a85bf70593","name":"@dvdagames/elite-dangerous-journal-server","description":"WebSocket server for broadcasting Elite Dangerous Captain's Journal updates","dist-tags":{"latest":"3.2.0"},"versions":{"2.0.1":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.0.1","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0"},"gitHead":"73da72ce1f980351ea5fcce60c9ffcb0ef5f36f0","_id":"@dvdagames/elite-dangerous-journal-server@2.0.1","_shasum":"921f305c9d2a571d210ec5c3d9c9f543c8a429ac","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.4","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"shasum":"921f305c9d2a571d210ec5c3d9c9f543c8a429ac","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.0.1.tgz","integrity":"sha512-pKKZ0SziayerzVj8hzsyGsOAJ1lDl0dTvZ8TPGtkTb56sjF3Fc3WBTo3hwCt/2G+JyPQgiMqe1cWzwEm/SroAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7laZZLHWByhX2TaZs4++7DSD71229d9Et/XZ3H7zovAIgBTHFIQrtXWIv7egk8GwAAsGLZTwqfVw0fY/1my5ogU4="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.0.1.tgz_1508046261010_0.03178235376253724"},"directories":{}},"2.1.0":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.1.0","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0"},"gitHead":"0c6f4bcadb804214047be1263dbd9b86ac4081e7","_id":"@dvdagames/elite-dangerous-journal-server@2.1.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-8XRtVHakPA0AB5KcdnLdpDaoMg/UyocQ+lC14FrF7gJlLh0e7as45fJ+ioZue3stPlilNAq+3j7yY1Hb7V+Jrg==","shasum":"cbaf71b39d230f5ed5a270dc2c8902bab2caa6f2","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGY4jkBDCUiT3sp4ojFrdvah41PSqxYGmsb4ioAvn3X9AiEA8IXEZjn+0v/TA/8UBFUYutmfei9rzCTx3D0n+8qPFvA="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.1.0.tgz_1508061699549_0.1957608696538955"},"directories":{}},"2.2.0":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.2.0","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0"},"gitHead":"dfb3c65db00b13a31d81087f8a6885aa89439a48","_id":"@dvdagames/elite-dangerous-journal-server@2.2.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-FVPxT7jeCYo1LCHSfe7GysXy6AW4IkrCvq2A7AkZv9Pq2Evt8hsiM1DEwItRYLC0kqXTV35SG/cCUts9AJo5NQ==","shasum":"5d09a1b2ee8f9da92eb75f868570e1bd6a3b96e2","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzUPBAUrEMisoEbvAMcIvhOFQlcr/j9L7Z6G6papgwzAiAXexHGXmU1WHvPfUwZxRnAmhsZi+LHy60Re0JZ9Pp8Aw=="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.2.0.tgz_1508089522778_0.43307736585848033"},"directories":{}},"2.3.0":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.3.0","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"index.js","scripts":{"lint":"eslint index.js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"f4dca9778513e3448dbea3f89d05b1456e729e68","_id":"@dvdagames/elite-dangerous-journal-server@2.3.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-jMIk3RanX/BUF0bpLX5/0ICXzB7FXZgCJX4kB9C78r6g1lWeWkujGA9MW6Rlz7OZ5X4+fFZEo3Oe3wKcZ8sMWg==","shasum":"5624ddec8639226c9880bfe71e3a0aa4f4a0f786","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICEnZW2PSVIMS6v00uPjahHfeRtR1/ktyLBep9EBhfX9AiBJDcyvgVonsTpYknZEy5hj8YCIvthPHIvvbTFbpLxtCQ=="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.3.0.tgz_1508128258836_0.31766009982675314"},"directories":{}},"2.4.0":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.4.0","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"index.js","scripts":{"lint":"eslint index.js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"79c1779981b66e0a01a693bd8aa897798eabae58","_id":"@dvdagames/elite-dangerous-journal-server@2.4.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-q/78wmdew1AVWobTiCDCAlwIK0ciR+nVUryiQNmlTu6y5pSiq6HEqWuB1h3+XUeFkiSG5CRtPSFQxihofhZdBQ==","shasum":"97e96df95cbf11e52004065626c5f9c66d7e4c8c","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIERiUIgvrVvZiKfTRViANn9GYRSqbEBUJjd36Xv34mg+AiEA2EUiVRwxRHxy8SdLAK2gUS07hlVTSNEsubPjxIPnAjc="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.4.0.tgz_1508131016153_0.18252819776535034"},"directories":{}},"2.4.1":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.4.1","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"index.js","scripts":{"lint":"eslint index.js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"261a60efc0edf5afd71f0715eff9928a869fa1f4","_id":"@dvdagames/elite-dangerous-journal-server@2.4.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-i/qaLZbMIFlRX+Vh0+udXXwO5EZJFmda8G3xrsTkV9RYBmCAIED5nk3sFX7escHmdhdH/yi0Al2DzBSDV1Dqag==","shasum":"6f20a26d03f6f7c6a726dd0c93f2976586951962","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.4.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICMQOuP+o2nXLYhJwzd9umVvYdJyaCteuVeDkK+ZOjifAiEA2TSoViKFXjMJn2WaRpTUuhKEr71xf+6SMxmN36K3n8M="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.4.1.tgz_1508131772610_0.6950608300976455"},"directories":{}},"2.4.2":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.4.2","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"src/index.js","scripts":{"lint":"eslint index.js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"c26d0149bf05998dc21f1b1679a69c70ecf586b4","_id":"@dvdagames/elite-dangerous-journal-server@2.4.2","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-88QzwgsDDtJWAAA01++AR/XkHXfKOX5p/lP8jLYMkJs1Qin9Lb6RmJob8NwDfWSbZIHpVUs2pZc/03OPmszubQ==","shasum":"5ab3e962f820e90d6de41ac8bd6386e595fd28a5","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.4.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcdBVgRTR19chKoet8DhENFMHvBQgRKUYgfJ85JCGdZwIgLSB2qcr7o1+736rPfSpd7SV8nXD8iyuVwAgDGv44c0g="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.4.2.tgz_1508291698817_0.6473880922421813"},"directories":{}},"2.4.3":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.4.3","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"src/index.js","scripts":{"lint":"eslint index.js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"ec33fe8f919c6d3c6d99b71c237560a699be4887","_id":"@dvdagames/elite-dangerous-journal-server@2.4.3","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-ehcQnwiHQmjBNjjNjKMrXU2+UFKZ7+VxM0nitgV5KRSyCib0uuAqapABNNNMVr35qvVj0Bci8AGdfIdQ03Hgvg==","shasum":"6e40a72cca3055e37f1a2b3f7bcc0ae19a85f4c9","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.4.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjb+ajAo9u6PAb/C4sfod8n+i9dFbtZHrbtu9wSv4H3wIgPB9+tZrMxmiNvydi69ljqImrrcT5zN7MoqPu2K8a20A="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.4.3.tgz_1508297483664_0.4527268446981907"},"directories":{}},"2.5.0":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.5.0","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"src/index.js","scripts":{"lint":"eslint index.js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"b7ec29d2e637cf7ef2f36c7b17c80ba3cf5e7d97","_id":"@dvdagames/elite-dangerous-journal-server@2.5.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-v1SiM1AYoYOs0G+Dp8QgF62QqXCjKRuWKIIEEJ2dpkYzBr4xJlFgASVh+LUZ1fmfjtyWd9Zr39engOWrGSYqVg==","shasum":"5c6addd9e9a805121d72635e36c910633e7564ff","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.5.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZqJc8Vss63aWbEnpRqyzKKBXsUtqZePdQBrWARgXdbgIhAI2i5WXiE0h8MMo6FKhP2Wv4F1umfBp58VWf2Vh25KaW"}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.5.0.tgz_1508300403788_0.7154013738036156"},"directories":{}},"2.5.1":{"name":"@dvdagames/elite-dangerous-journal-server","version":"2.5.1","description":"WebSocket server for broadcasting Elite: Dangerous Captain's Journal updates","main":"src/index.js","scripts":{"lint":"eslint index.js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite: dangerous","elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"d10069c293bde49d1ef63afb6906260c849f7332","_id":"@dvdagames/elite-dangerous-journal-server@2.5.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-eg2oZvxPEnsakIStx2tXPXceyHM9mdUqNzUbYMZPiaGtqbgKG8l6zljm/D9NxRRa62TBH36bpKY4U9r8DzSOdw==","shasum":"71143bc26ed78102d7c3d8370dccba55d4738fb0","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-2.5.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF7asHoJatRzJPZoZwlMiNj+AsnMnWBev8z8oou16z7AAiEAoAlKiEd1u14qhdo1WJtWLXOcFaOSwizkyMYXc3Qn2gU="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-2.5.1.tgz_1508302149687_0.9428749647922814"},"directories":{}},"3.0.0":{"name":"@dvdagames/elite-dangerous-journal-server","version":"3.0.0","description":"WebSocket server for broadcasting Elite Dangerous Captain's Journal updates","main":"src/index.js","scripts":{"lint":"eslint src/**/*js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"4837a832ff239f5b876d014db549e513c00a546c","_id":"@dvdagames/elite-dangerous-journal-server@3.0.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"ericrallen","email":"info@interwebalchemy.com"},"dist":{"integrity":"sha512-urO0QFN9AM9pgh6um8gt9r7SFe6aX79X7G3PBHDE+wZv0na3orhbQ3yjWyt7EvFhcmAktsPQWa3n4G0rQpnrTg==","shasum":"61abb6b7f55708efae8d394df2e8877f41a546e8","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-3.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNI2QngIycgCelFgDChcudcZH3p3mS0mCOFgtN41rzwAiEAqpVw5D1tGGfgf6VoYn5I1yT1pYQqewKpeFNRaGfh12c="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server-3.0.0.tgz_1508478786801_0.593308238312602"},"directories":{}},"3.0.1":{"name":"@dvdagames/elite-dangerous-journal-server","version":"3.0.1","description":"WebSocket server for broadcasting Elite Dangerous Captain's Journal updates","main":"src/index.js","scripts":{"lint":"eslint src/**/*js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"438f3d252cd2f73f849859a214f4b554f8234b62","_id":"@dvdagames/elite-dangerous-journal-server@3.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"ericrallen","email":"eric@ericrallen.dev"},"dist":{"integrity":"sha512-rhXwOZ7f44PCngjcQJ6NAsRWzQUX24tFduiBX/OKMdqzSV3IvOhO7RhVQHBE8xxuhrADC0pf3kMI3wLHtEY7bw==","shasum":"3a7b451fad9eac0c399894cc695c46cd393be7bc","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-3.0.1.tgz","fileCount":8,"unpackedSize":50345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchZs/CRA9TVsSAnZWagAA2hAP/0nzHlQyoIPczfkL0w5r\nf/jHuEOEABF2RmP9TMoMafbU1X0nbUgCcJp/UTzYXSyx96SGvjirhVZt83id\nVRk28tCbSdDXl0qEONW76jiKayt2Ek5veD2+bji97mywxZ/z42P1EDaAEIwd\n6YKK878izHP3aNidQmFjF959idPgqTkIn38tDoi/rR+r1FB9qOySSSgi7zui\nnLl33tB06HjJvupiJ8Lt+/N3hTZaGieZvFAfPA6BKHwsj7sPZO4T8Q+6dkI1\nXQpthEATIT8VrNQ64/GGDdvbPARWbCH4jZz4jSYWfz7NtL8EbKpJWNdq28Sf\nqe1te8hiugN6Z/DxH2ncllwVVs0PZCKkOPbReNOyQ2zkVkRH7A4N/Ni/SjU/\nc+sNgHs2LtlQZeHFFZegxYQFiFlC79g+s21ePwljRdUBycTJDfqgOYvW/ieo\ny5SPQwGos/SaA9nUDLTHOFeGNbn8V60WNanFTy2NfHxicvbTEpbOqtGRYj/Z\nVAIsZJrgooDci+hnBc02Sa+WqU8gEx+tGWKtDfeC71flr4YykqXfaLk+va8A\noUzZrcMVGtWvFivOySkq/s/3mhqzOQEBpF5HF8DlvsIq3qQg/qd8N6Y2J/tf\nSZOsFsYUs0kIMBUsB9s2vPBmgLM7h/AX/mV6BZEixLQZXBwuxpgqbSJuO0ZG\nf6jw\r\n=J7o3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBvz8qGHXOKdCCJReByYRZ6vTXhhq5fs+BV3XclmD3gdAiEA2k8bQJYwYQfff9kgQxolNBd+XhFLvj4zu7HgkkOA0yA="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server_3.0.1_1552259903247_0.5499958082664185"},"_hasShrinkwrap":false},"3.1.0":{"name":"@dvdagames/elite-dangerous-journal-server","version":"3.1.0","description":"WebSocket server for broadcasting Elite Dangerous Captain's Journal updates","main":"src/index.js","scripts":{"lint":"eslint src/**/*js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"3189a7ee2036c78d70203b07cd9aeb2daecb265b","_id":"@dvdagames/elite-dangerous-journal-server@3.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"ericrallen","email":"eric@ericrallen.dev"},"dist":{"integrity":"sha512-q/B6Ap8EEwxgpMroWAvafrfs+NgQAyr1tiMNALGLWXs4xRevYF7JmChGlVlTkRkAM15bb0B+xk+t+ghEGMOr+Q==","shasum":"e40573bc438d5182adaf9fe5907103151a23a3fb","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-3.1.0.tgz","fileCount":8,"unpackedSize":51629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcibqxCRA9TVsSAnZWagAAfIAP+wY4DO5cPyzChe5kd3l8\n+VqXBr4rZWQBcIDhH/ttosZglLfzWh+5suoyGQG9gkGmfN3uxlpkX73q5gw0\nSHwYjBYyKQyzfB87+aHAVaYoePKiaMlkxlt5Y5rPmKURUHnK+YySu+ye+Rfz\n6PZcqymF57avX2HyPZEQy5DThh24mF2uVIYqrI5D5HvKvWXc2f0d5Bz3OgPo\n2+YB6KRVhvdjWBH1zho42LoqLopWtbKXV5qL5D/vKFPC4SH4Ae2goredDQP2\n7G8NQvA7EyO8oNgd/LVHVawrtwqBcDca0WNqcw3jAejQWrVpHa4Gbxio4Mfl\nQyLxqhwoUxAcD9wYjakoPko1glNk0CRIXjvVxugqZxbWXSZ0WpDIqU3CIVh2\nYuuReoFXb9QIjbzuRZi6O1cJNUCGeNTXcmx0YHaTJ21TubM+7UnyIh39DJVT\n+GTFVB4BjO6s8syI74d1O9BtPxklUaLTZR8luLnB2iOwz1LnvELaHaevCxym\nWN0BfKLkNrnYyu4FmKv59BEcHiy+FWKt238mhEvKMjFxSHP332HaRhIuPzYX\n+9svkAX6eCGUAAo2ZV+MncHC1CBI2lnbB9KlQUa+ncpqALizpZVqBhh0iH5w\nqZRI74O4YAVIux44cQgqbQtWZLbCOcGGgee7NfR9TVFpnD0fFR1c0Og86jzF\n+Shn\r\n=G4cn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaZyQEoCI5ZqcgoOzX2e61KIYpUJP7HSEnc61DtmEOZAiEA4BRxMbMt05RwMfE4Mg7unfuyQYK0H3uPZ5iu5tTpYYI="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server_3.1.0_1552530096806_0.9388965041668444"},"_hasShrinkwrap":false},"3.2.0":{"name":"@dvdagames/elite-dangerous-journal-server","version":"3.2.0","description":"WebSocket server for broadcasting Elite Dangerous Captain's Journal updates","main":"src/index.js","scripts":{"lint":"eslint src/**/*js","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"dvdagames"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"private":false,"keywords":["elite dangerous","journal","elite","dangerous","ed"],"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","dependencies":{"bonjour":"^3.5.0","chalk":"^2.1.0","chokidar":"^1.7.0","lodash":"^4.17.4","moment":"^2.19.1","node-dir":"^0.1.17","uuid":"^3.1.0","ws":"^3.2.0"},"devDependencies":{"eslint":"^4.9.0","eslint-config-airbnb":"^16.0.0","eslint-plugin-import":"^2.7.0","eslint-plugin-jsx-a11y":"^6.0.2","eslint-plugin-react":"^7.4.0","pre-commit":"^1.2.2"},"pre-commit":["lint"],"gitHead":"689fcd713aa3b9d04941a507e8241642b6572948","_id":"@dvdagames/elite-dangerous-journal-server@3.2.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-JbvvxjUlwqtaBzriaVHhvbnbkqsX141RMuYdgA/qwSFjhECAbLeywrtSlkcxAKmkY6XEy1h5OsKXebTcpKs8kg==","shasum":"174b75c666417935cc572b7e9fd5ba2ad5a8c00d","tarball":"https://registry.npmjs.org/@dvdagames/elite-dangerous-journal-server/-/elite-dangerous-journal-server-3.2.0.tgz","fileCount":8,"unpackedSize":52246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLf8ZCRA9TVsSAnZWagAAnucQAIYMvTENHSn/TNk9M6KN\ngccENH8L1eDh/H9Nzj5Ccgjlc51YVOo3ckk6VUAflBh++U/xOUd5cVKJJ2Gi\nMmJIuG8gyQiM5P83iHJ46phsJQKbcGsZMn96GxHocdSYmJe5TMOvvrh2X6wn\ny+YbPAyZ4aAQ0WCLmaDIkLgZCc/rkQ4iUvcku7cGEKdNNCIOB5vJ5IV/ughi\n6dXssNKihq7vv2KQ9pAqZjoBiuWRimRe1KMvsQkEGuHDnhiP1jcyg7q6XeZC\nCFIVyDbINv9kDUmLFRGA5XaFQq7BO4Xp0OwEgwYPRa1VzVdyNh1HCV5r/SfO\n5VRCLdhXMkaKlVjUyfYI6xsEJ3txpbDvqwKFMCOn6/XjwaxsTDo+uJY93y89\ntcLM7HHPPla0YoHAJk36qERe3badlSPWs9P5rCFER8ag0vxEtUoueiUYQenS\nV6Q/2ks6HIcHKImT9rJ+tJxucZBV0xiHHA7+vuvybK5mG5fxJHBsUBAnlD9+\ndkkdiXQhCJHVVlKoJBGrDa2Xz5SmYrmhgln1SKEnkl/SoU5L6H+FH3dPx7EG\nopca0owp9PHv+/Ytz16COdUpdG1Nus9hDAA/v349+coXATpnSZgwSC+PZjiu\ncnhSVa8y/VcUk9O0BPJrN79zTIdsUZOFu/5rdW6okt7JNvU8sZ0rfdneXyik\nqu4i\r\n=bZaH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkSaPc8LEDwHLVpxINweCo6ygtpK9/ZtZx/N0iem11PAIgYXxR4ut5/GMCQqec2Zy41/ANlHsgq46rija7UZ2R0KM="}]},"maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"_npmUser":{"name":"ericrallen","email":"eric@ericrallen.dev"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elite-dangerous-journal-server_3.2.0_1563295512927_0.7853083514569759"},"_hasShrinkwrap":false}},"readme":"\n# Elite Dangerous Journal Server\n\n[![npm (scoped)](https://img.shields.io/npm/v/@dvdagames/elite-dangerous-journal-server.svg?style=flat-square)](https://www.npmjs.com/package/@dvdagames/elite-dangerous-journal-server)\n\nA simple WebSocket server for emiting *Elite Dangerous* Journal Events; it includes\nnetwork discovery features so clients can easily find and connect to the server.\n\nThe basic idea of this project is to watch changes to the Journal file as the\nplayer enjoys the game and emit every Journal update through a WebSocket to\nany connected clients that would like to listen for and react to these Journal\nupdates.\n\nThere are example clients and servers included in the repo's [examples](https://github.com/DVDAGames/elite-dangerous-journal-server/tree/master/examples)\ndirectory.\n\nCurrently, the server only allows the client to subscribe to specific events and\ndoes not perform any action with other data sent by clients. In future iterations\nclients should be able to retrieve specific events from the Journal, all past events,\netc. via a simple message to the Journal Server similar to the subscription message.\n\nClients can subscribe to any of the Journal Events described in the\n[Journal Manual](https://forums.frontier.co.uk/showthread.php/275151-Commanders-log-manual-and-data-sample)\nby passing the desired event names as an Array to the server. There is an example below.\n\n\n## Projects\n\n- [ED Tightbeam](https://github.com/DVDAGames/ed-tightbeam) is a work-in-progress Electron application to host a\nJournal Server so that users don't have to install Node or run scripts in a Terminal.\n\nIf you're building something with `@dvdagames/elite-dangerous-journal-server` please let us know or submit a\n[Pull Request](https://github.com/DVDAGames/elite-dangerous-journal-server/pulls) adding your project to this list.\n\n\n## Contributors\n\nCheck out the [guide to contributing](https://github.com/DVDAGames/elite-dangerous-journal-server/blob/master/CONTRIBUTING.md)\nif you'd like to be a [contributor](https://github.com/DVDAGames/elite-dangerous-journal-server/graphs/contributors).\n\n\n## Changelog\n\nCheck out the [CHANGELOG](https://github.com/DVDAGames/elite-dangerous-journal-server/blob/master/CHANGELOG.md) for details.\n\n\n## Usage\n\n### Getting Started\n\n```shell\nnpm install --save @dvdagames/elite-dangerous-journal-server\n```\n\n### Server\n\nThe server Class does not require any parameters, but can optionally accept a single parameter.\n\nThis parameter can take on two different forms:\n  1. a single port `Number`\n  2. a configuration `Object`\n\n#### Configuration Object Properties\n\n- **port**: `[Number]: 31337` listen for socket connections on a specific port; using a `0` will use `http`'s random port assignment\n- **id**: `[String]: uuid()` unique identifier for this Journal Server\n- **watcher**: `[Object]` config for file watcher\n  - **path**: `[String]: \"~/Saved Games/Frontier Developments/Elite Dangerous/\"` path to *Elite Dangerous* Journal directory\n  - **interval**: `[Number]: 100` what interval (in `ms`) should our watcher use for polling for Journal updates\n  - **fileRegEx**: `[RegEx]: /^Journal\\.\\d*?\\.\\d*?\\.log$/` what format should Journal filenames have\n- **discovery**: `[Object]` config for Bonjour/Zeroconf Network Discovery\n  - **enabled**: `[Boolean]: true` should network discovery be enabled\n  - **serviceName**: `[String]: \"Elite Dangerous Journal Server\"` name for network discovery service\n  - **serviceType**: `[String]: ws` type of service to publish\n- **heartbeat**: `[Object]` config for heartbeat pings\n  - **interval**: `[Number]: 30000` what interval (in `ms`) between heartbeat pings\n- **registration**: `[Object]` config for client registration settings\n  - **enabled**: `[Boolean]: false` should registration be enabled; this just means\n  that clients have to provide a name that can be used to refer to the client instead of only having the UUID we generate for each client\n  - **force**: `[Boolean]: false` should clients have to register before receiving any data; this supresses all Journal Server headers in message responses and broadcasts until the client has registered\n  - **messageType** `[String]: \"register\"` what should the client use for the `type` in their message when registering\n- **subscriptions**: `[Object]` config for client subscriptions settings\n  - **enabled**: `[Boolean]: true` should client be able to choose what Broadcasts to receive\n  - **subscribeTo**: `[Array]: [\"ALL\"]` what events to subscribe clients to by default; an empty Array (`[]`) will suppress all broadcasts unless subscribed to directly\n  - **messageType**: `[String]: \"subscribe\"` what should the client use for the `type` in their message when updating subscriptions\n- **errors**: `[Object]` config for error messages to client; each error is an `Object` with a `message` and status `code` property\n  - **mustRegister**: `[Object]` config for registration required error\n    - **message**: `[String]: \"Client must register with server\"`\n    - **code**: `[Number]: 401`\n  - **invalidMessage**: `[Object]` config for invalid message type error\n    - **message**: `[String]: \"Server does not accept message type\"`\n    - **code**: `[Number]: 403`\n  - **invalidPayload**: `[Object]` config for invalid payload error\n    - **message**: `[String]: \"Server does not accept payload\"`\n    - **code**: `[Number]: 400`\n- **headers**: `[Object]` an optional Object of arbitraty headers you'd like added to the broadcast;\nthese properties will exist in the broadcast data outside of the `payload` property which\nwill contain the Journal Event\n\n\n**NOTE**: If the `headers` property contains any of the default header properties\nthat the Journal Server already plans to send, those headers will be overwritten by\nthe default headers.\n\n\n#### Basic Server Example\n\n```javascript\nconst EliteDangerousJournalServer = require('@dvdagames/elite-dangerous-journal-server');\n\nconst JournalServer = new EliteDangerousJournalServer();\n\nJournalServer.init();\n```\n\n\n#### Custom Port\n\n```javascript\nconst EliteDangerousJournalServer = require('@dvdagames/elite-dangerous-journal-server');\n\nconst port = 12345;\n\nconst JournalServer = new EliteDangerousJournalServer(port);\n\nJournalServer.init();\n```\n\n\n#### Custom Config\n\n```javascript\nconst EliteDangerousJournalServer = require('@dvdagames/elite-dangerous-journal-server');\n\nconst port = 12345;\nconst id = 'MY_UNIQUE_EDJS_ID';\nconst serviceName = 'My EDJS Instance';\nconst headers = {\n  TEST: true\n};\n\nconst config = {\n  port,\n  id,\n  discovery: {\n    serviceName,\n  },\n  headers,\n};\n\nconst JournalServer = new EliteDangerousJournalServer(config);\n\nJournalServer.init();\n```\n\n\n### Client\n\nEach connected client will listen to all events by default, but clients can choose\nwhich Journal Events the Journal Server will broadcast to them.\n\nThe Journal Server broadcast will have the following data:\n\n#### Headers\n\n- **journalServer**: `[String]` the UUID of the Journal Server that sent the message\n- **serverVersion**: `[String]` the version number of the currently running Journal\nServer package\n- **journal**: `[String]` the name of the Journal file that is currently being used\n- **clientID**: `[String]` the UUID the Journal Server has assigned to this client\n- **clientName** `[String]` the name the client registered with; `null` until registered\n- **subscribedTo**: `[Array]` the events that this client is subscribed to\n- **commander**: `[String]` the currently loaded CMDR name; `null` until `LoadGame`\nevent\n\n**NOTE**: If `registration.force` is enabled, no headers will be present in the broadcast\nuntil the client has registered.\n\n#### Payload\n\n- **payload**: `[Object]` the Journal Event that was triggered or the message from\nthe Journal Server\n  - The `payload` property will be the current Journal's header when clients's register\n  or update subscriptions.\n  - The `payload` property will be an Error Object like the following when there is an issue:\n   ```json\n   {\n     \"payload\": {\n       \"error\": true,\n       \"message\": \"Client must register with Server\",\n       \"code\": 401\n     }\n   }\n   ```\n  - The `payload` property should contain the JSON-lines Object for the current Journal\n  Event in all other cases\n\n\n#### Basic Example\n\n```javascript\nconst WebSocket = require('ws');\n\nconst socket = new WebSocket('ws://localhost:31337');\n\nsocket.on('message', (data) => {\n  const broadcast = JSON.parse(data);\n\n  const { payload } = broadcast;\n\n  if (payload.event === 'Fileheader') {\n    console.log(`${payload.timestamp} part ${payload.part}`);\n  } else {\n    console.log(`${payload.event} triggered`);\n  }\n});\n```\n\n\n#### Subscribing to Specific Journal Events\n\n```javascript\nconst WebSocket = require('ws');\n\nconst socket = new WebSocket('ws://localhost:31337');\n\nsocket.on('open', () => {\n  const type = 'subscribe';\n  const payload = ['DockingRequested', 'DockingGranted', 'Docked', 'Undocked'];\n\n  // only subscribe to Docking Events\n  ws.send(JSON.stringify({ type, payload }));\n});\n\nsocket.on('message', (data) => {\n  const broadcast = JSON.parse(data);\n\n  const { payload } = broadcast;\n\n  console.log(`Received: ${payload.event}`);\n});\n```\n\n\n#### Network Discovery\n\nThis is more advanced topic, please see the [discovery.js example](https://github.com/DVDAGames/elite-dangerous-journal-server/blob/master/examples/client/discovery.js)\nfor more information on utilizing Network Discovery in your client.\n\n\n## Acknowledgements\n\n- *Elite Dangerous* is © [Frontier Developments plc](https://www.frontier.co.uk/).\n- [Elite Dangerous Community Developers](https://edcd.github.io/) for documentation\nand discussions\n- [CMDR willyb321](https://github.com/willyb321) for direction on a few different issues,\nincluding `fs.watch()` issues with the Journals and using Bonjour for Network Discovery\n- [Frontier Forums Elite Dangerous Journal Discussion](https://forums.frontier.co.uk/showthread.php/275151-Commanders-log-manual-and-data-sample)\nfor providing some info about what's in these files and how they work\n- [CMDR rolandbosa](https://github.com/rolandbosa) for adding some necessary new\nfunctionality long after I was no longer able to play the game\n","maintainers":[{"name":"ericrallen","email":"info@interwebalchemy.com"}],"time":{"modified":"2022-06-12T17:22:36.053Z","created":"2017-10-15T05:44:21.889Z","2.0.1":"2017-10-15T05:44:21.889Z","2.1.0":"2017-10-15T10:01:40.627Z","2.2.0":"2017-10-15T17:45:23.765Z","2.3.0":"2017-10-16T04:30:59.823Z","2.4.0":"2017-10-16T05:16:57.121Z","2.4.1":"2017-10-16T05:29:33.635Z","2.4.2":"2017-10-18T01:54:59.844Z","2.4.3":"2017-10-18T03:31:24.673Z","2.5.0":"2017-10-18T04:20:04.790Z","2.5.1":"2017-10-18T04:49:10.863Z","3.0.0":"2017-10-20T05:53:07.827Z","3.0.1":"2019-03-10T23:18:23.358Z","3.1.0":"2019-03-14T02:21:36.928Z","3.2.0":"2019-07-16T16:45:13.043Z"},"homepage":"https://github.com/DVDAGames/elite-dangerous-journal-server","keywords":["elite dangerous","journal","elite","dangerous","ed"],"repository":{"type":"git","url":"git+https://github.com/DVDAGames/elite-dangerous-journal-server.git"},"author":{"name":"dvdagames"},"bugs":{"url":"https://github.com/DVDAGames/elite-dangerous-journal-server/issues"},"license":"MIT","readmeFilename":"README.md"}