{"_id":"twitch-js","_rev":"100-bef69860c0217a477ba717830e69d94a","name":"twitch-js","description":"Javascript library for the Twitch Messaging Interface.","dist-tags":{"latest":"2.0.0-beta.45","next":"2.0.0-beta.44"},"versions":{"1.2.1":{"name":"twitch-js","version":"1.2.1","description":"Javascript library for the Twitch Messaging Interface.","keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"main":"index.js","files":["lib","index.js","LICENSE"],"engines":{"node":">=4.4.0"},"author":{"name":"Schmoopiie"},"contributors":[{"name":"celluj34","email":"celluj34@gmail.com"}],"scripts":{"test":"istanbul cover node_modules/mocha/bin/_mocha -- -R spec --require should","build":"npm-run-all --sequential build:*","build:rimraf":"rimraf ./build","build:mkdirp":"mkdirp ./build","build:dedupe":"npm dedupe","build:browserify":"browserify index.js -o ./build/tmi.js","build:uglify":"uglifyjs --compress --mangle --output ./build/tmi.min.js --source-map ./build/tmi.js.map ./build/tmi.js","build:sri":"node sri.js ./build/tmi.js","build:sri-min":"node sri.js ./build/tmi.min.js"},"license":"MIT","repository":{"type":"git","url":"git://github.com/tmijs/tmi.js.git"},"bugs":{"url":"https://github.com/tmijs/tmi.js/issues"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-preset-es2015":"6.6.0","babelify":"7.2.0","browserify":"13.0.0","hook-std":"0.2.0","istanbul":"0.4.2","mkdirp":"0.5.1","mocha":"2.2.5","npm-run-all":"1.7.0","rimraf":"2.5.2","should":"7.0.4","uglify-js":"2.6.2"},"browser":{"ws":false,"request":false},"browserify":{"transform":[["babelify",{"presets":["es2015"]}]]},"gitHead":"f7e1a62f2eebeebb82cf02cda36d86141dccb8f8","homepage":"https://github.com/tmijs/tmi.js#readme","_id":"twitch-js@1.2.1","_shasum":"df569d3efb9ebf17e4a2c2c58eb3b765bec78d37","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"df569d3efb9ebf17e4a2c2c58eb3b765bec78d37","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.1.tgz","integrity":"sha512-Nju0LOP+FQvVmJrIUSFusL927a8cUSch4QriFqivoD7Cgum3owyG7ZSfcoRe1OCveuxjtMyHNFX3q5i/63OQoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh9YpriA3pzb12mcVnMGkh3kXrYqF9SdgOBpXQXbJm3gIgXCZ0++WTliLnhuricxBf6wbCpU9w3czXHEkTyyDa3G4="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.1.tgz_1512808470551_0.3299275478348136"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.2":{"name":"twitch-js","version":"1.2.2","description":"Javascript library for the Twitch Messaging Interface.","keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"main":"lib/index.js","files":["dist","lib","src","index.js","LICENSE"],"engines":{"node":">=4.4.0"},"author":{"name":"Schmoopiie"},"contributors":[{"name":"celluj34","email":"celluj34@gmail.com"}],"scripts":{"test":"istanbul cover node_modules/mocha/bin/_mocha -- -R spec --require should","prepare":"npm run build","build":"npm-run-all --sequential build:*","build:rimraf":"rimraf ./lib && rimraf ./dist","build:mkdirp":"mkdirp ./lib && mkdirp ./dist","build:dedupe":"npm dedupe","build:lib":"babel ./src --out-dir ./lib --presets=es2015","build:browserify":"browserify ./lib/index.js -o ./dist/tmi.js","build:uglify":"uglifyjs --compress --mangle --output ./dist/tmi.min.js --source-map ./dist/tmi.js.map ./dist/tmi.js","build:sri":"node sri.js ./dist/tmi.js","build:sri-min":"node sri.js ./dist/tmi.min.js"},"license":"MIT","repository":{"type":"git","url":"git://github.com/tmijs/tmi.js.git"},"bugs":{"url":"https://github.com/tmijs/tmi.js/issues"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-preset-es2015":"6.6.0","babelify":"7.2.0","browserify":"13.0.0","hook-std":"0.2.0","istanbul":"0.4.2","mkdirp":"0.5.1","mocha":"2.2.5","npm-run-all":"1.7.0","rimraf":"2.5.2","should":"7.0.4","uglify-js":"2.6.2"},"browser":{"ws":false,"request":false},"browserify":{"transform":[["babelify",{"presets":["es2015"]}]]},"gitHead":"082c2f58aa2d4370b56f66a68267d9fb09c5f08e","homepage":"https://github.com/tmijs/tmi.js#readme","_id":"twitch-js@1.2.2","_shasum":"5f6acbfd72020840613899c52e69f993514e933d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"5f6acbfd72020840613899c52e69f993514e933d","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.2.tgz","integrity":"sha512-20viUvXwJBXqX+y6qsyLL1D6ZpMzkTG5NQHw9+GUMOWSvocy0UN7jU+OZqcy/8Brjf57dDQMqdjnbtL8fhU8OA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJ8e40w4dug5e9jnnH0kGZikhNmDeJDZ+XCxQunFEu+AIgagDgw5VAAofTsZeIFZzLlbOBH+kuQEMW/Av8FKxd16k="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.2.tgz_1512811840666_0.2650940746534616"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.3":{"name":"twitch-js","version":"1.2.3","description":"Javascript library for the Twitch Messaging Interface.","keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"main":"lib/index.js","files":["dist","lib","src"],"author":{"name":"Schmoopiie"},"contributors":[{"name":"celluj34","email":"celluj34@gmail.com"}],"scripts":{"test":"istanbul cover node_modules/mocha/bin/_mocha -- -R spec --require should","prepublish":"npm run build","build":"npm-run-all --sequential build:*","build:rimraf":"rimraf ./lib && rimraf ./dist","build:mkdirp":"mkdirp ./lib && mkdirp ./dist","build:dedupe":"npm dedupe","build:lib":"babel ./src --out-dir ./lib --presets=es2015","build:browserify":"browserify ./lib/index.js -o ./dist/tmi.js","build:uglify":"uglifyjs --compress --mangle --output ./dist/tmi.min.js --source-map ./dist/tmi.js.map ./dist/tmi.js","build:sri":"node sri.js ./dist/tmi.js","build:sri-min":"node sri.js ./dist/tmi.min.js"},"license":"MIT","repository":{"type":"git","url":"git://github.com/tmijs/tmi.js.git"},"bugs":{"url":"https://github.com/tmijs/tmi.js/issues"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-preset-es2015":"6.6.0","babelify":"7.2.0","browserify":"13.0.0","hook-std":"0.2.0","istanbul":"0.4.2","mkdirp":"0.5.1","mocha":"2.2.5","npm-run-all":"1.7.0","rimraf":"2.5.2","should":"7.0.4","uglify-js":"2.6.2"},"browser":{"ws":false,"request":false},"browserify":{"transform":[["babelify",{"presets":["es2015"]}]]},"gitHead":"9032452482aa2895283d9bb3c2903e520423a80d","homepage":"https://github.com/tmijs/tmi.js#readme","_id":"twitch-js@1.2.3","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-QwHho89gSEYQa82usdst92YW/HAvRTSc+rO/aFIpB0Z+n309j5OBveO4SHYLk3hdIZyLGSgg/1CN49gWL2JyKA==","shasum":"b50166f5798f22ca930d1e2b8d0a49029ab0fdc5","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzXCpdtScn5BNEwTqFi40qopI3FcFRe5xVdTnTEMcGAAiEA5E0RON6P9JkYSRjuUYGtcdOUEBPqVoqDjli8vRnGfDU="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.3.tgz_1512814172531_0.5102330360095948"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.4":{"name":"twitch-js","version":"1.2.4","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/marcandrews/twitch-js.git"},"bugs":{"url":"https://github.com/marcandrews/twitch-js/issues"},"main":"lib/index.js","files":["dist","lib","src"],"scripts":{"test":"istanbul cover node_modules/mocha/bin/_mocha -- -R spec --require should","prepublish":"npm run build","build":"npm-run-all --sequential build:*","build:rimraf":"rimraf ./lib && rimraf ./dist","build:mkdirp":"mkdirp ./lib && mkdirp ./dist","build:dedupe":"npm dedupe","build:lib":"babel ./src --out-dir ./lib --presets=es2015","build:browserify":"browserify ./lib/index.js -o ./dist/tmi.js","build:uglify":"uglifyjs --compress --mangle --output ./dist/tmi.min.js --source-map ./dist/tmi.js.map ./dist/tmi.js","build:sri":"node sri.js ./dist/tmi.js","build:sri-min":"node sri.js ./dist/tmi.min.js"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-preset-es2015":"6.6.0","babelify":"7.2.0","browserify":"13.0.0","hook-std":"0.2.0","istanbul":"0.4.2","mkdirp":"0.5.1","mocha":"2.2.5","npm-run-all":"1.7.0","rimraf":"2.5.2","should":"7.0.4","uglify-js":"2.6.2"},"browser":{"ws":false,"request":false},"browserify":{"transform":[["babelify",{"presets":["es2015"]}]]},"gitHead":"d5fb61141b9afc82bae6813e7f25767bd01231b3","homepage":"https://github.com/marcandrews/twitch-js#readme","_id":"twitch-js@1.2.4","_shasum":"d379215baf7975e5d1d825eaf3eb97c0c87a08b1","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"d379215baf7975e5d1d825eaf3eb97c0c87a08b1","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.4.tgz","integrity":"sha512-zhPHUbe275mxmuPyK8reofurOavAk3UJfCo0RPzrbp6J/cR0eMLvFV8yL/LP/euungDEv9UR15DlSH/qb2Zsgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnOnpvfJdjzZngiQgSuAPtHdijlXsBWB93KzHc0BTW0QIhANWUiraVpminSyxkKOT4FRd3qVNonybjJR+zllj0hPGC"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.4.tgz_1513213638017_0.9976568543352187"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.5":{"name":"twitch-js","version":"1.2.5","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/marcandrews/twitch-js.git"},"bugs":{"url":"https://github.com/marcandrews/twitch-js/issues"},"main":"lib/index.js","files":["dist","lib","src"],"scripts":{"clean":"rimraf lib dist","lint":"eslint src","test":"mocha --compilers js:babel-core/register --reporter spec --require should test","test:coverage":"nyc npm test && nyc report --reporter=text-lcov | coveralls","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-eslint":"8.0.3","babel-loader":"7.1.2","babel-preset-es2015":"6.6.0","babelify":"^8.0.0","browserify":"^14.5.0","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-plugin-import":"2.8.0","hook-std":"0.2.0","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","rimraf":"2.5.2","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"request":false},"gitHead":"287e3a16ed33acb7b94926d71843c84ce513925d","homepage":"https://github.com/marcandrews/twitch-js#readme","_id":"twitch-js@1.2.5","_shasum":"535691e97b1af3d4ae7faab9e096a4e28d1cd3b8","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"535691e97b1af3d4ae7faab9e096a4e28d1cd3b8","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.5.tgz","integrity":"sha512-u4aphtypGxF24gtUOnsFA8tL2+HJD2CWkvU6c6jcHwhfwMOMZshJNlaQ+Wsi7/Fe9Vqy7kBgqAyTfJsr39fkVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+TBWnY1J84a0r+BBG+M65vPYf4Qi3Euv5V31jhngG6wIhAMlV5tfCW1YwNzlQ3H/E7GuN40UW6CDQjng8vpAnhS6b"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.5.tgz_1514017417604_0.8030913679394871"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.6":{"name":"twitch-js","version":"1.2.6","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/marcandrews/twitch-js.git"},"bugs":{"url":"https://github.com/marcandrews/twitch-js/issues"},"main":"lib/index.js","files":["dist","lib","src"],"tonicExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint src","test":"mocha --compilers js:babel-core/register --reporter spec --require should test","test:coverage":"nyc npm test && nyc report --reporter=text-lcov | coveralls","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-eslint":"8.0.3","babel-loader":"7.1.2","babel-preset-es2015":"6.6.0","babelify":"^8.0.0","browserify":"^14.5.0","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-plugin-import":"2.8.0","hook-std":"0.2.0","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","rimraf":"2.5.2","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"request":false},"gitHead":"27eef21b4f457eca6a8244cce56707622144b676","homepage":"https://github.com/marcandrews/twitch-js#readme","_id":"twitch-js@1.2.6","_shasum":"205a44d1297fefe54dc9af94b3a2c1bb086cb856","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"205a44d1297fefe54dc9af94b3a2c1bb086cb856","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.6.tgz","integrity":"sha512-/1n0OCSGNUiAHG8MsAp5D0G4zS1LbWl2JDCa+t5vICkPi9RkYZBLr/wEgzAkVeouSyhL0LRcGMwEFy7Strt9SQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCudu6Y7A9r3KBEgdiMe6RxsQZ8/S1g9XOn6Q3iPfYD3AIgGxJ7T1HvLSeQPEfscQBmrSTjcUhPKjtmFBRtmyfBS1o="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.6.tgz_1514673012421_0.504109088331461"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.7":{"name":"twitch-js","version":"1.2.7","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/marcandrews/twitch-js.git"},"bugs":{"url":"https://github.com/marcandrews/twitch-js/issues"},"main":"lib/index.js","files":["dist","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint src","test":"mocha --compilers js:babel-core/register --reporter spec --require should test","test:coverage":"nyc npm test && nyc report --reporter=text-lcov | coveralls","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-eslint":"8.0.3","babel-loader":"7.1.2","babel-preset-es2015":"6.6.0","babelify":"^8.0.0","browserify":"^14.5.0","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-plugin-import":"2.8.0","hook-std":"0.2.0","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","rimraf":"2.5.2","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"request":false},"gitHead":"021d206fbcc5e3a1c9760f4afd6d8d9326140b6a","homepage":"https://github.com/marcandrews/twitch-js#readme","_id":"twitch-js@1.2.7","_shasum":"0e42dcb65e2be8a225583caee0b995cf7cd1fa24","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"0e42dcb65e2be8a225583caee0b995cf7cd1fa24","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.7.tgz","integrity":"sha512-SlwtJeNx0Ta3wQUoXaisDdaBwWPn1HRx8iru7CAbDELBZ69w8+SvrlXTabGT14jXRhmh6JsvqnLmuhQhWLWdsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFAHAKsr3AHACqPXylciCVovNMmS7goSy+CNMymHTLHbAiBcnp8WM6PPygsCfRKMznDEKOvxGpguxyuxgabA3oNDhQ=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.7.tgz_1514673908752_0.6297164082061499"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.8":{"name":"twitch-js","version":"1.2.8","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/marcandrews/twitch-js.git"},"bugs":{"url":"https://github.com/marcandrews/twitch-js/issues"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint src","test":"mocha --compilers js:babel-core/register --reporter spec --require should test","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-eslint":"8.0.3","babel-loader":"7.1.2","babel-preset-es2015":"6.6.0","babelify":"^8.0.0","browserify":"^14.5.0","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-plugin-import":"2.8.0","hook-std":"0.2.0","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","rimraf":"2.5.2","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"request":false},"gitHead":"00caa1712921cb9d0afa1059387877cdcde09bc2","homepage":"https://github.com/marcandrews/twitch-js#readme","_id":"twitch-js@1.2.8","_shasum":"7d69de275701493a80213fc652d914f205f4f8b6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"7d69de275701493a80213fc652d914f205f4f8b6","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.8.tgz","integrity":"sha512-3Ywm+m//a0UpAtIq4xLJoy8Ew/7KvpO9+AlA6zby7m6uxj+9LJ6zyjzy9k/JjxdY5LfPjcxKffmyIokwxEaMRg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCw/6iB9jQJaKocOSDTctu65wP7rI4+PDZfnRCTsA0aQIgOhSnC06FvNVud+bdNzxb+wVWbJwJ/kzyWOr+sy3Qvdk="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.8.tgz_1514744578013_0.48406108072958887"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.9":{"name":"twitch-js","version":"1.2.9","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/marcandrews/twitch-js.git"},"bugs":{"url":"https://github.com/marcandrews/twitch-js/issues"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint src","test":"mocha --compilers js:babel-core/register --reporter spec --require should test","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-eslint":"8.0.3","babel-loader":"7.1.2","babel-preset-es2015":"6.6.0","babelify":"^8.0.0","browserify":"^14.5.0","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-plugin-import":"2.8.0","hook-std":"0.2.0","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","rimraf":"2.5.2","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"request":false},"gitHead":"3212f99ace7617dfe04f7ac31be1018ac6bdddc7","homepage":"https://github.com/marcandrews/twitch-js#readme","_id":"twitch-js@1.2.9","_shasum":"191e429aaf26a34925084837e7f998a0e40ae5d1","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"191e429aaf26a34925084837e7f998a0e40ae5d1","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.9.tgz","integrity":"sha512-IclkLqkW3qh5VtS1OxILLle0Uhc3WvNiccJGMSZvTWD/LQOwSfVRkTg7oWyoWHHW+sRAbaHN58kyu+/LUukLhw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCO/hfGvduoXEI3WAPBVpHC3bcbbcFzcXY7afoXjQhn1wIgCUrwLB7Yl/zNkkOjWh626WuL4n5eOVBD3M6na7kTFOY="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.9.tgz_1515890231874_0.2660157885402441"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.10":{"name":"twitch-js","version":"1.2.10","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint src","test":"mocha --compilers js:babel-core/register --reporter spec --require should test","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"request":"2.74.0","ws":"1.0.1"},"devDependencies":{"babel-cli":"6.24.1","babel-eslint":"8.0.3","babel-loader":"7.1.2","babel-preset-es2015":"6.6.0","babelify":"^8.0.0","browserify":"^14.5.0","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-plugin-import":"2.8.0","hook-std":"0.2.0","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","rimraf":"2.5.2","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"request":false},"gitHead":"0286df264a39ed31652e88f08ec722051b4776ab","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.10","_shasum":"9dca0cb40ea60c75a96dfc8ff81fabeea506a06d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"shasum":"9dca0cb40ea60c75a96dfc8ff81fabeea506a06d","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.10.tgz","integrity":"sha512-0JfCPPJQzGnLiavW1XxIcT8aoiwOcnJqZdYMu0HMbabDxGiIyQUrQKQG2UHFR2HotOIwVQadRfx+PfxtbsHQ6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkHK6h35yFqAnimL2V3Xw1+Kw9+AmbZzQUgBaiRgiveAIhAPmZs47DNBmu2jna1zym1v79F1vBb98GZG2A/VK4FNbH"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js-1.2.10.tgz_1515891155833_0.24548649811185896"},"directories":{},"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"2.0.0-alpha.0":{"name":"twitch-js","version":"2.0.0-alpha.0","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"08352ca1cf825718d971219fde0f6cd2d2c8f28a","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-zUyE1G4c1aPBDxgNm6IwWTrX36InNHWs7+L5n9fAR1lbJVG0u+tP4r7EjDsOCGKhV+TiWQZA2Kx89VRXt5uoDw==","shasum":"fea3cefb59e4432fc7e7529b6480298be58c45ce","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.0.tgz","fileCount":46,"unpackedSize":1937535,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCazHWY1C/zaH3ghNwYs26iAu6zRbEbmTDOG8nFLu247AIgbeo1lD5utEpjJr+u7bB3OD7tCmSpnyok22oWw2aeXW8="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.0_1518380998487_0.4148355150158154"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.1":{"name":"twitch-js","version":"2.0.0-alpha.1","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"5a1ceb1ef60b6fd04637bc012df283ab14e1858d","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-VArrACEdWU71Ca057vCfKYxgg3lG3H53wEyImQmdLIJlUVtOTpRenSpwBf8+No/9tAEs/zM0CDAYhufJcN/o4A==","shasum":"a837402d8ce96f8c7cf19db4b0fb6df84a67da9f","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.1.tgz","fileCount":46,"unpackedSize":1937535,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKBCwT/s1FOHTN4zyC7s7mULVoQt+x4SOuXIwPQAiESAiBhXK6u0THg/Xw9AgqW9LhtjdSpE1jsYLTSCIxAbQtdnw=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.1_1518381812165_0.5406485333089943"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.2":{"name":"twitch-js","version":"2.0.0-alpha.2","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"776bd528676a05b59688b0e7c10bd573452c7858","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-srVBytLxzsiPQYwKWuaQKDoTFwpFC097uteI/LSvR4/Iu+Tj70qMjM+y+6QfS/ZnKDz+aRaXRjhp1HZp0gYYjg==","shasum":"eabd873c629ee96bef3e705236f414c2d3ce1936","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.2.tgz","fileCount":46,"unpackedSize":1937535,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmyUIIps54zR84Jox3q4clElAJYs4M5vnBs357f/VplwIgThTwnBHCWZOEpneFtcQ/+fsxXOTqNjDD+shcYqpcfV0="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.2_1518382945362_0.095683066490299"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.3":{"name":"twitch-js","version":"2.0.0-alpha.3","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"d9f967b0ada89b25eca9da66282cca5fd136b26f","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-iupN/Bg6K89Ky3ICL3K5NZ0wVUqheY1SzT3bpd2p+Neg8BTQWjDVEu1d0fHoSBtKbXaOLvFo8DG/GbZuUW+QyQ==","shasum":"7228b423da7f7a42e5295cfa4cc55f61436762fa","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.3.tgz","fileCount":46,"unpackedSize":1937535,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgEUWDc3VlvuF36ZXbX767nBNHcAmg7ntbGPKnTLymUAIhAI4T8AZJ6XPlwSd5UOgt/bopEL9MJVvofxW1w9GOGjRz"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.3_1518383692860_0.8024067854121175"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.4":{"name":"twitch-js","version":"2.0.0-alpha.4","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"060ed33383945f0fa8eaf319c86b4f359ab818a7","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-yda4OSY7Qy/OXmJgulYX6A+f5xTy8Nn+LN6PrMUpnZMpp0HmtbEg1eRGNuty9IWurwPEV3PcuqBIhawZRkeN5A==","shasum":"bc5525523925e0510f42a5892716390d7de3e6e9","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.4.tgz","fileCount":46,"unpackedSize":1937535,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoLNgNtkuneQCs09E1gli2RCFzFQu27sQXjJ31HgEcpAIhAJf9pLmvBypiGNYnxz2H75za8Q4VQi4/coQ2uX7F0QEU"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.4_1518395597565_0.2989715745169421"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.5":{"name":"twitch-js","version":"2.0.0-alpha.5","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"83431c574087d9fcc9da124547d6bdb6d64a76bd","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-sxFqbG0e+fIKyspoHFtJDOl68E0Df9QDAiJfpvnUD3cCMg9Ic6HNs/TQTtbjlOG3WlY+OI4su7Swc2RD4WSAoA==","shasum":"c7d11e977a2957f78d8c366d1fc534939f1ed26f","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.5.tgz","fileCount":46,"unpackedSize":1937535,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDw0/o0l0z8W9FGWm0LxbR1fcERmH02u2gh46HJBiprNAiEAlDoa7KtYbesnqOEhlREj7vUpWF0aakKtNbqBJ54qsmU="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.5_1518404801436_0.48419330736656585"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.6":{"name":"twitch-js","version":"2.0.0-alpha.6","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"432f90e8c90265a57d9217f7731bc490a0ac04a0","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.6","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-JiMau4ul0iNaCtZqMRXtik/Dp0zT96ayD4gJy5gUR3Ugjyt/++1vS/n0AdD+5GfTPBM1khvG+zDD67J6bOqf8A==","shasum":"0342a1956152b1dd58e4f93246683de7ef253f44","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.6.tgz","fileCount":46,"unpackedSize":1937535,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNBgiQf+xXAX0A9emt6gSp/HtC09ckce5q1s9BS7WqdAIhAMr0sLlaSMD4KWv7whTe9VjyeFybTZPg1SAF20pyyVRD"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.6_1518498410415_0.7199544668008124"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.7":{"name":"twitch-js","version":"2.0.0-alpha.7","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"2dc734aacb678a979984163410a1ef24f122974e","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.7","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-AVrLwctKvAuX8HvKryZHqtUw+oC+CY2dK8NszdNmMcjuXW+dOxmGEjXwbJ1CT9jXU/LZF9oeyP6BiX0UmTbq9w==","shasum":"29e77dc4047e0c2b8668ca49465abc477cfaaf1d","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.7.tgz","fileCount":46,"unpackedSize":1941121,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOXRknMtMK4oTVTTz/cIyM8SSvdGzbQDv7RPtjM+w8kQIhAN/3Wrtinbb0Nqk/7F+ZKe/QENvoldcrau1hexEVKFTT"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.7_1518740898097_0.7001251368068493"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.8":{"name":"twitch-js","version":"2.0.0-alpha.8","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"549cbfa9fdbca9fd89f8662cb15d2bc140f3ce4f","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.8","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-5NmYgcYlufFPH9wANUdXCLdWCVE/cJeLlq2JbJ5NrZEysOosBvbTGY7JzBKVCkQhvg6nR1QBaKHC/jmpABlz4w==","shasum":"fc91954e459f3bda37dd6702607fd8d0bcf2eaad","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.8.tgz","fileCount":46,"unpackedSize":1940869,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHaVAoT1LJ6aQo/6/K/8rx8VAvHqzlESNLbWoFdBdlBKAiAn0Yx2X5lnheas6JSHDVUxyEEwDwKZMnLz2smcj0d0Aw=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.8_1519248522428_0.0010389713105118936"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.9":{"name":"twitch-js","version":"2.0.0-alpha.9","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-0":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"39516c1f736bf989a3b8d79bc61c69d86e602639","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.9","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-KhHCmnahUSIIaVu6E/kG1rRu4aNPTw9n7Hc7w32vuugkPVIN21ANk/2ZfcO76bCDfdyGnSVM7AN5qAT3qe1IrA==","shasum":"ac38da5731ec108d40a9a79c4e721681b5346720","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.9.tgz","fileCount":46,"unpackedSize":1940888,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh5TpzHGJOwp11QtcbAw7eUwMeDuckDe0NF4WsmPXA1gIgdGN/TkbiWF8HdSO7BH3sNtNsBHCvi/OfDwAUWNeBSlY="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.9_1519809263390_0.938914438556782"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.10":{"name":"twitch-js","version":"2.0.0-alpha.10","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"bc4af097fb808a48a8134b747a751cea67d8697e","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.10","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-FvnTZaDisMgv3AH9p7jc24H/FbkWNDznrVfolS6htH/xCWftuD2vi2tKJeCY6gjLNv6931MS5UzLuKJgNb5cWw==","shasum":"85180d3a592f1d9769446ab05952c6052a206eb5","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.10.tgz","fileCount":46,"unpackedSize":1940921,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEmpT5RPhHl/RdRDKfzKb8Dpnfyxs3vo8jxKezYleNf+AiBgHS41lrDvyc8x6bGxdUV53YWj6FhK9gP+nrA4SXDCPg=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.10_1520728492833_0.4754664727975868"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.11":{"name":"twitch-js","version":"2.0.0-alpha.11","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"9ad46bd86f8e48866f11f97959bdd022598cdd25","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.11","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-lPumXad5n+gMD7wfYRHSzUJZ8mifbc+z6jAZesvpd15FnhzzGtc8MsY5uNfS0C1BJuMpUXhKjxCUDBoa673YVg==","shasum":"b4125b85612d904d6db2c7207b1c0f5c98a2a218","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.11.tgz","fileCount":49,"unpackedSize":1943166,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxxLRxd/P7gFxDwEtD+SrDPG9sDXsddilOcg2+I9OI8gIgKQGVOnZZde9Nnfw/RlkfSnaqQpc4Pq6RQqSfG1JPliA="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.11_1520781498324_0.33405912715396147"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.12":{"name":"twitch-js","version":"2.0.0-alpha.12","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepush":"npm run test","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"b863076329c9bf8a4da49d2560c88bc87f05b3c7","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.12","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-W9PEyo76eAaT0jlmzW+3/CeBTI0q8FwxwHIMhP22+IdkX57AC24akcfOm+1+CbG1g/jVacl9LLWlSlVQL+loeQ==","shasum":"d97712c0d10c9572924c8789eacc95236e873206","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.12.tgz","fileCount":49,"unpackedSize":1945285,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEKtOi72Van8q7I08xxgwCZT/D2ZfSJO8qua+K3UpyoQIgCnH2KVGMyokW8L8FeqP6yzYRjpEbFVy5IJcBk1v0D/w="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.12_1520802463045_0.45972314095689626"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.13":{"name":"twitch-js","version":"2.0.0-alpha.13","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"737c3cf856a6fd24dc60a986c2cc724f8f1b68db","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.13","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-/qH4KFsHAWlNp9x7+uS993VMIIGv6/3+tOPvV6vxZqskNIhpccKUo0SoXSHFptOomsGKn/MoGyQl52n+1TNgwA==","shasum":"1ae4baf9b6467c73a8f1baa62f4ee3ca1ddc7ee5","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.13.tgz","fileCount":49,"unpackedSize":1945254,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICx7eQ6dWEsZ4mnTEXJ0AIzYw7VQdWw3Mg/Wdy70W9kEAiEA+vLa9rnXf6cPJCnzUUHeGdOv8i1v3wTikbmTDHuO/Qg="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.13_1521584927491_0.5257460067997148"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.14":{"name":"twitch-js","version":"2.0.0-alpha.14","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"4feb8857f61e15032e43e4ca8c054fb4e6645447","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.14","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-F2NXSX/JV41l3aPBr668J4eFeGnTYtjLDnFBeAn8jFGkrK6//fNjyQ7uBlTKzWg/k3i7UjkQ++Dz9FHFTgbznQ==","shasum":"49d1efe1ea12e125c3fc3f9d2ecdee8fa6ca8259","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.14.tgz","fileCount":49,"unpackedSize":1945265,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzYzGwA8/lLESeELx2ATtDCjy5mmPVWMz/zEp7TixtBQIgSXVX/Y/279mBZw+if3+q7GGdSPeWtvwT3QQWj9VBXSc="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.14_1521893699134_0.4834125389486006"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.15":{"name":"twitch-js","version":"2.0.0-alpha.15","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"5ef79a8854d1a5281a00214ee2a0b6bbb65b8917","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.15","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-PQ/tf4KX6Z/Ppjc0B+Ln6LenfxrLTCodd786SnO5KSxa+xYsKneAece1OTzeo8U1ykTlHpTOwe7/GiwGz9zw6w==","shasum":"36a7bf2b03407811e9e07b1deacd42bd14e1132c","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.15.tgz","fileCount":49,"unpackedSize":1950232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa0tDYCRA9TVsSAnZWagAAPjoQAJITX9C6jPI4bk6r+CMG\n6KIKShm+bDcCHU/XQmK+IGyEO30n42nnd2aLknvtykQTR7lMrbd4gOFYpkbh\nho8lLXgdNQT2HV8yU91e7bgtJi9FMsD8KPGk3xCpDGDOmJgdeHtuI/r0jvSa\nlTNDKWAPP2MaCg8soJPQrlWX6YTftB2FrGmMko4daeP5xLpGWDAudVMDODYU\nbDlVzbp3QhGmpQZth7UA5T6R0kuqTfvDFjOlPg9NtHRNLTyBQfmMF7qo4jS3\nXBRWw51lZ1zkRjNso7lYkbykEKIzAcqjP0dG7PO/ALSDg4QbIEyl8McnUK03\nHPHPVmNxPfy/TLy6fmcNr4amB5GnllO1fR6dqyOWxoUGEIwP4YgL8Ks3xBfU\n4vcODMpifWqLm1sZ74qPFrEHv9M9TeVPFJ6VTlSNjidvQ48cOO4iYAb0Le+f\n3t2ynub7pY9QI3Gppy/SKppAEYz6W74Z9cELuci5nVkaMEW82/2HjtVecrHC\n+2yQdV7kvCg17txHZYmZz6i6sHGVtaWr709X21NQqISpZIJuDhCO7seuB/H3\nwwkhS2iW5fQ4w8hO1mCRL7g1lLeiPUhHGphazgZRUxS236a2tXOsX5rrFh7k\n9r1sFi9H8hYLr8SO8d20nMzA1CREh+980bT4rcQ4rTVl/f89qkrTSWWI3GN7\nrBE/\r\n=ahGp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClqG6vHtB2aHVT1EOaCwOXFxx+HZpanf2UxYGZU+KZZgIhAPRxDhTxY4VHHXVbEUuc9ABno3qPUB0IIqXZ5QpP8wVj"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.15_1523765463865_0.5628307080546122"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.16":{"name":"twitch-js","version":"2.0.0-alpha.16","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"^4.17.4","node-fetch":"^1.7.3","request":"^2.83.0","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"1.0.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"217f2947f664b235170f174435c439fd128645df","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.16","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-wiwm/rHlM+Z58cOnaKOdSEvaIjSQqHPK8TAdybk5+8BH3Iy9TumCfztdlSdBPnD3xfmSvWy1bG6NmtFmF495kw==","shasum":"0b1904d8898f5bbe09fec7a6780e013bfd80bac0","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.16.tgz","fileCount":49,"unpackedSize":1954616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa1pnFCRA9TVsSAnZWagAAJZQP/A3Zy7/E6cKI7l7TBLDE\nbBXnOsPVIqI9e94hxBXH+ePwaunV6qzLREFLOSufmT+CDxTfiit0u1qgoXMr\nKSqoeUxcJr/VH/1+PNhBq86Xl7EeAGhLv/9Vgz7lm9VIu/LPDRbpjKeaB5xJ\nnjrGynrch1qr0l6fbhX/8DWqCfriTLxQS1ts060VAo6V5jxAzR7mOZcKcPFc\n6VtUV/HvOr8L3q71Ma3Vn/lRwbkmi3K/M7YWL0yXbfFf9QCwBiT0Xe8uRXSW\nhCEKsBj7HqfUBymj7MxtgbHY7QLm+PExXMAu3LDaObaMSOdAV1KhgT7luNcm\nOxxiSyy0xE3kScBD49tcpoJEUO6zhn8SPM6KFEKBtEeVCCEg0qYjoKOkmtZV\nKvk8yepYpByGw/n6cNfmI2xWZojvxkx/Gg1j+zKbFG+vUimls1Pnwu+DvaI+\nANEuZHObT3vsshDur7Scti79uBuSiefUqFdZEcHXz7AyYO+5KWzCdwRPTJL8\nzcXMeTjjWxrzqrvZfS1VvYEiG/vIBAeLtUtefw3PqPJKkQKJMLpN2ByvWNge\nXZj3+sDYZgzTKfznO/0IcuMR9PIJVWZPN194+9FxFy4GOpwVu83PwVZChjwN\nA32BHOl17cxKeZBOAlzjSxKw6+Piw5cN5MGAzK2pz74wr+irLkHN930TSRVH\n4xez\r\n=xdTM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMN9+fEb2SrCY5/ZFtypiiBmr5kaSBF+S6ki/tQn3VdQIgDP5ilDHF6r/RE8uHbHhSRAMzl2ipA59QLPGGSfJfQwg="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.16_1524013508263_0.35714919119478594"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.17":{"name":"twitch-js","version":"2.0.0-alpha.17","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"5255d98930c1e585929b5664043d1abc5d732952","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.17","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-Omygs8SoLl8YBKe7hghlOinMSUQsIfPut8z52bp/iV4jNl7t+3GUjRB/LSIA/h5flpCLvSAJiZZFnuGHFY9ybQ==","shasum":"b43f3bc6054dd28b542bb7a0644e8a6a13427322","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.17.tgz","fileCount":49,"unpackedSize":1954561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa16sfCRA9TVsSAnZWagAAnTcP/iqgKj2adOq3K7gZkEaX\nwBsBgfp7TQEaYTVtcE3atk7KUItWFh3hRKhAMd8l/jh+hGYDVruMgm6SDfKn\nrjeMukx7P2MAxVU5ZMjM3vQOQQVcVYvDlrowyhMl+e2QRa9i4S4N/AFt1Cdm\neKAmYRq3A6IycIC7GeCW0UpdsMKQTUBsjYT444w6aL9oYx2M+2tlBFs1r5MX\nK/Jb5G4aZDsty5Fgdht+GHXbDxWNo0jLqfMjg/2LCa3kNXxKE5c6xPhlTMzM\nkkVt1B2HFeJgM5oyE80WTrnB/XjZP9Cy5DjAYp9qTJ6EAsbVqdC+DgovZ6T5\ncyoTmTiBQ6afFHPczVrivbSMuwDaa41B57tTO6KOK8yqtHoz1gQMZ/knasFI\nbdeBXEaehyKTMnS9I12s30apjiadplCg4sHd/smZWUkX6QEWOJYHlTSHFgnq\n7gQULEjXNnWYdmqxEPYp6dooeok+Xq7AyLoXapDUKkQZrHAQh6zpdqPZyv/A\nejUc+yxHMk4t6i20IM4cj7nQ3+cnFsjhwDzUmL9aSJ+bWIhM0/xcuorHodhw\nKxj3iaeQ+mNv49zldUi7fRJv+Co7a9n7Yuo9VtP9uoJFA8Fjz3ZzbHDEYIcG\noXOtkIzE6ZhZxYTgoHy+R2/mW7rWngs5PVOhG0E8SKubE4mBjeIi/12kkNRX\nyr9c\r\n=wx8x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnOsvgd3iLdgK/ycsLulhK0hfBZRkzFwutX+DqiEcniAIgEZLtanY7rClE5LplwlKSlYPcodmI1KgAbhLJPGmv/a4="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.17_1524083486325_0.4603886537792863"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.18":{"name":"twitch-js","version":"2.0.0-alpha.18","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"85ab6b7cb576f4834fc5ef719df24ee7ff0dbc38","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.18","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-w/Edfyx03qlnHfk0pozTNjWwPu8eAX7m0zUnASbQPKFcPqQ7VvwOnQl89uoyWtP5S2IIFnKbwhNLz2fxa4Jnrg==","shasum":"fba0678bd03b94e3d64563ed96ca9bcf89c157df","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.18.tgz","fileCount":49,"unpackedSize":1954561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3ogvCRA9TVsSAnZWagAAn9IP/RlK/E/7FkFMoN1pP6tg\n6ZF7yD8tejC7wtNd02kMD8Dcexf/r+g2et6x8P3wqDlfPCHVrgBW70XAZeRd\nXsaS6kPRm4b03QrYiz44U14dFmhyCL2jcvnm3XalyR2jOu1Qaa1iORs7wDtQ\nZRp2/RG/OrKdMbv5k0EknqyyxILa7Rtm0bqpmwkGc+Ty4L3eLykXoGhO7st5\nPAWhyN0S5zGa4LB8eak2xzd2NG39EB50BThC8F2froeimkOrhUM0yCbRpnNl\nE6WwZuofotyGjvV7GE3+2z07Awcz1KCmmFLtt6ovfDaGcz3M6BowceYhbxKd\nztcSTNEINSNS7SR0DpGiBVs+XkJXJ/Inj5KwpSjoVzUMVwsNmD/JI6yMclDB\nA2HQM0Pk1Q/ArAoXKeYqP4v8navj9dZZmv6HGReMv5m/Gx00uERMsF83HhS4\nY2Jb+yPATPy5eTE7cVAHoNpMny25bP7ga9XjI2yB/NmDShqMumNfbquS5nSw\nyyHye1k8yzKGNdO2GJaonNgD5p43YB1Tj5mDNSDg8hcruzoyrSvG5EYdURwK\nWyD87g+glDmWgR3Qe7nLw2P4I1EuZukf6OcWVSzqG+KxXmvFg4FmiMJWzbqU\nGxGQUGlc8byKpL45o78ACKPIUYz0xIthnboA2/Aa9tfgXtcniA6Uk1ZatJRF\nTwvQ\r\n=lghX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHoJlWgs4lAuQBNHjPyHeuSt35ZpYIdSHwmgUNVPXL5zAiEAzfrX2rbwJEGqvh6j2a+dojn0Em7LuRWndj570hWj3Vo="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.18_1524533293753_0.6834367308201306"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.19":{"name":"twitch-js","version":"2.0.0-alpha.19","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"2c4ae3ea7cecba2d96b0e5b08137e637bb9f4bc8","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.19","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-Hi5dHzub3WpvVvAIcHxOWixJXHoTq0+kvX/y+MVcZVftCJgm6dMIfU2/U2jMYtat15L4/L/I56nnTKLfT4yWGg==","shasum":"f26cf8f8bc561f193ffaa61bc2f2c2199f15f056","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.19.tgz","fileCount":49,"unpackedSize":1955026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa5q8hCRA9TVsSAnZWagAAQPcQAJP0+G5d50XKKtCe2FyV\nIF1fMMmrnDdx2HquVTKVBlZaZbWbIdzXE1e6PU68W4dexXSey3AqO2U1SLIJ\npcHYKf/e/xfmMfj3Mfw1wJdA5Sab5fz+Q9Fv09zuBXSOXGkdeCvrME6CN0IP\nt5SbeRrkecY2a/Vs5EcCLBbEkPCg9DWC5vvYRxXyKj7a85cdKWoL/BU5Tcxi\nl0qQdn5oVB2eqdldb4pmA2ZiJZyH5vV5U3ALHMZu5N+5NDpgECBYGvU3hHez\n/s4P9izN8sO7hKjAZ1qnoXdhw9NUzRGM/ZPcnhge0iIEJoXDfybDjdzrSbxy\nCiHVF3w+/NdFGs511vnCoXoSDOCtL/aDVyzTJT76xDLbLK78Yy7CYp+wZ4yt\nTQXjYomfawgycWHK8Gs+5ewzAe++s9k6iCiNx4InLZxdrr6f4sqaoYdMiqGd\n88RfuuGIOQ84JyXndG1GVI8QzG5UtCgr2QcmGMBLY6jKpMAkvs6H6IgCaZXL\n4yPE+VpRb1wEbFwlNZcj6/p4vTZrK8D7VH5b2ZrW3IXerXykOkwYn2lsMNwj\n8J6Jwz7e9D3yGz4qtgh3WeYHMT+lHmgTj8AsULXkMuwVHssUn+Gn1WgX19tW\n/9cS+I1NjRCd2DHGOyZhjxQ3HbYc6BXK9oWPC1VyL3lEq5I8xtnjD31rEp66\ntoD3\r\n=OgDN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJMSmDfCxMMmMf/1aqwQ7WOTgaXcf5lKftycUTNOnlZwIhAIMhbKXqVWlzMDf62RciS53Ms7hZ2KXK7V/0znZbMMMQ"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.19_1525067552815_0.4146126529185781"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.20":{"name":"twitch-js","version":"2.0.0-alpha.20","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"16dc95074307ce57b6fc6c427d501da1d44e5464","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.20","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-9ZAIMbeUISivVKfLp6FauuN9FypngeK21SHcj5v6N7WGECXeMXZG0bw21GegTzkEOJv3bhuAOeU0g7Lf5m0u/Q==","shasum":"89dff8f1ee1d75fb80045f0ed87217e223de0838","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.20.tgz","fileCount":49,"unpackedSize":1955494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7BEaCRA9TVsSAnZWagAAq+gP/3idzSBsGqMOuZkqZltL\nxkNABYONyhgLvgSKAitkjAAWw/MEBFRWCZtflyupj/jzqe+O08mWtLUBBOFu\nqPnO5P9VT+5DamHubFep+y9gD4O3IF7MCqCvXvCBMjCFFUwD4kEbVx1/CUKI\nXB3Z+P9mlIHCBI0iJpMdHs451UGD1VdyAMjy7Vj0uZ9JHuq6W8/G5Q8wAZu9\nqiS5bQI9Rn5gpGoVGb2HK+J/y6KsrMJ7FElmy1MqiR0p20NaF1EU5IRuX5HP\nOtiXg2tRism782tbITYtWqV4Kjg9gi2jaQMnMDIpzBbbIEsP9h12XtvzexaP\nex99Ki5t6K7cqJECobw+42d1XOdfb2ki56SbyNA4evsOiE815pFfGNWXUjKP\n45x5W8MwheUoFjoYz5crJ1zhMaMlXoOt3B0ffW1866SATXUvbda7DBsoPX2B\n4AQOxda8YWgvPnuwZYaK97BR71b2i92sNcT6dSx62zaEII51lpIY6VjlY0qR\nu9QmZQMLVbtnmhWaAVy7MA5jdrhpsbWhoNjeFZC/c/Y89JA9XGHN2JETSVxQ\njejowLDNBmq+O7vmOIvp7Iscgy6VlDoevyYOmCjO40CPRKbsiMd+K/Wcyxbi\nFYY8c44va2BwHCE/Mi9QzsoqXoy/5hzv8aeLprFj512o6lsTMG7DWd1/Xjbi\nFLcg\r\n=xB3e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQn+1+hn/awF6Wk6lHQubnlEtdHX1NddHmFWdWgnXLVgIhAL4Uo8ukUDml15EuISl/mHLlgMWh4Izbhd9t4nV/fbyn"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.20_1525420313915_0.3544803254389284"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"2.0.0-alpha.21":{"name":"twitch-js","version":"2.0.0-alpha.21","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"640b21d70c76a57460e3464e720e68c3e2aa8e98","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-alpha.21","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-TIfBhS+nMAjARNQaHuxu2jTZXBWCJAo6YH+AZHSo94reUHC+AclAQtqhhIlwzrNTboMII/9raGXDAajr+HUF+w==","shasum":"7557da1e8963cd0d3308ec1c85e65e1c4bee33c1","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-alpha.21.tgz","fileCount":49,"unpackedSize":1956092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKDqcCRA9TVsSAnZWagAArEQQAKLjZ7oqLsNmRXk55hCR\njpDPTNZH/2Yls4c8gE5f5qFyQ2h44I3NkzXInNs5REFx0QXleS/NJlVSAjrf\nIzYKXBPrPI5jl4tlEGLqet82SMoPMEPptV1yZ05UGxZLk3X5hr/pSTsVK9eB\nHK6HP2Mzww4Kq+NNfbVFrt2W9v00h+DLW1d8f3c7/WN/oKsXET2dWbD8Bpqu\nldFFLBZCDTfrC/PL5Gn0hvEKpqasIPVsvDktl/sNXnXWdqz2kRrRPat23TeR\n/kwf8kXqONMokCesM/60epBOtXiqixqybJ5aEILLS9lxx/a17AbRJajMG4VN\n7mcTpJhC9hX97QCiW/gXC5C0S0VVguX2BP1yD0G4JWqGfK5TuKKR8cjmFADo\nTZfXWJV+DSr+I6NfD4/QuMxzIoHtTCfFUcLtaDmXAQAWg2/HWVYW31ZsRzB1\n3k2Ekj7mA7+3zMdWWN87zYn+R1I2M6CUE8q1c+OQlaDBhxLfVkKWLWvs3eBJ\nnJVc+giOGVo+2ZUzbdu4tNqZUFLHfHixf+uA7e9Xi9ysyTY1B9QLGNJTSlUa\nhEK0HyO4joVDErzlOZg5AuHkYwV1hK0stFNqD9vmpYNs15m60fmP3sHmCFKq\n+OsWwKmZ7A1pAsTy12RXrVTtBHlxx1et6cjfBrGExHrMu24nwGxtqrp+cz7c\n2wit\r\n=mMsY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB+LBF+51YBOWmGsQAwFTeLg7jIwHEa2MUS7Rx7xKutlAiEAuMHwC0l3fpJLvo0Vij0iirzUHDXkEiICSvU3Ne8wiWQ="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-alpha.21_1529363099863_0.42875744552927775"},"_hasShrinkwrap":false,"deprecated":"Please use version 1.2.12+ instead"},"1.2.11-pre.0":{"name":"twitch-js","version":"1.2.11-pre.0","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"97737fe6cbed71c086b57f5a38d0643207106e10","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.11-pre.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-LzhZyV68ZV8B7Ast4hN02iHwlDZmJsRKYEtZgfUYP7h1HmsZHTjbr6dMk2ewvpEFh41lCt9d2H6mxuYXy0pO+w==","shasum":"37c9b7c226cacb49d472990d11191cb222a9b195","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.11-pre.0.tgz","fileCount":49,"unpackedSize":1956090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKEW7CRA9TVsSAnZWagAAsfoP/iraad/q4PzRZYORg9a3\n3XUyDE9e/RgXf+LXbWmWK5VAwt6YqzmT2ER3VRUr2jwuxiTgn1p5ynZFwNus\nSJ1zj51MgNu+cCIktHTc5Wb8eCvKZFL5bBI6GjyYg7GHDQIOj91jjnmKfqzN\ncWkzt/9pSgI8s1u889XrsQSw0ZtezaDPBc5NWG9DVRSs+v0I+Dq6t8YvxSZb\niQCjBoWkLX+sHRq1yp8+vSm/q1VVcEQ6HfMZ8ZlMPinU1TEIiOpVtRqlwSF4\nJApoHs0JnNMQQ7gE9+cbCFdNQ5nn6oUGHLwWC6NaKP3702cvKza+cshTj9ZI\nIyTGf7HSji7DqFnrqOSZCRZ++qE5qlKO9TXGWd2wjJmZvXqmTeR7jaIYPJkm\nnm6oessWDmLXyL4ym+hTNh5cn9xV0eO45Vfs7kyLGZE/08yEh9npH/LA1huT\n5K6yOfD/nYl0mIt3C3LNyIxI5zJiR1Kch0F0fZKickUStsFuEMdJ5Fi48aIt\nasHANF6jUz8XdPOxEJXaUy1EmG7k2H5Xs1Ai64Zvq67uGqkmOs9p6wO5C+XW\nwSdrZHQuuOoXZ1JhSQ6dr2GcQhg4sNT8lETOYRccFDBPSFkLd0fNp+PHnPPG\nVBXql2uRNkdaBFsfcn3m61CGoIYfsKWX+xIMMR7EKGorOpOLmbeFQ3HemY3y\nPLlx\r\n=NL0O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHf4SL35XpIeQ8bbZn7OD4jsnPP3wxWZZyO9Q59Z1Y06AiEApBuYrglc+y4L3XHdnz91xoP+taVeD5laEjNUcqs+y2U="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.11-pre.0_1529365947161_0.4900604767707841"},"_hasShrinkwrap":false},"1.2.11-pre.1":{"name":"twitch-js","version":"1.2.11-pre.1","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"ae9a6395582f9bb3dc08fa4acf827b28c7943cd2","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.11-pre.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-ACQP+Qf0UItAmkRA9yMCYYMk8+i/rXFH5CaFfH/IzQuaLiNDE/Qly2MmCCTWBeg/idpLM4kdx1+TpFNokc84CA==","shasum":"9f2351fca979df6ab150fe9c2d48c8bf1ec285e4","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.11-pre.1.tgz","fileCount":49,"unpackedSize":1955807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKEeHCRA9TVsSAnZWagAASToP/iPXemdb1GGSu8gWJ52d\nMNGhhm8u4C0fi6/nCJ21BM+LiUIscDvytd1i+UAoVwHiexnkI3sJVzNgLqQc\nSdx2E9W0Kbpqq250LAd5RtsDUdEqLK8s+2ujgQPBNlbAlJ8Ok+yQNvmLF4UC\nLUC/yJG8ag3w12jvVs39/wiXtKO2sYwOfGAIVbazqWDULGgxcYYPelFAK8Z0\neLa9POxxcfHjOeNtR4Lo/FCPpJIT9p/XCuBKjmkJYB4oOAa6DB2q967Zw/CA\n8yD+3mVz5IsbQMylU8BQWTZGuQYP+kTTosAArCR75A0SptALzhbDXaGDRXGH\n7bUmgUyt3vzchFrEB6vHnjbccN2G2HY8ZocruZbbNIDMkSXJxMvEDOpF4Yei\nPhBADxRZkHQ7FsJFokHSdvy+oVqmyJ4VStAlvx0hpQX0HXkz5M3c3W0ESaoB\naaidChaCug1We1/W63MOOm1vz/anAEoLB+tj5Ofy4Nzil6Nr98nFkOeFzkq1\nR85RedKucW8Lu/AAqRPe1TZRkADZyQOeZwJxtwd4cB04/E021jqYg8x7T4R0\nxCOVbAKYiqkQKMPSx/c2yoLcV3wBH9hAcTlzpHsy389PtwkH4SGz95J7c/Fl\nP15GtGL78eAmwLohhFSMikkX4i0L16BdpuShN3aLyfD9a3oAEXcZ/2kYmhNd\nfLjX\r\n=QFBU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAda+nxZS7i6MggpS00W1MGCrtPyi6x8WanJwZR6AnmpAiEAkL72lYHrwlHp5m1SW4iEDMO+nzdc/fn3f3EwyD6nGIA="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.11-pre.1_1529366406151_0.7780300019085247"},"_hasShrinkwrap":false},"1.2.12":{"name":"twitch-js","version":"1.2.12","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"c8d5cf701018916ce6297a9efde9d77052925c3e","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.12","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-itpKcwymhqiWc44b36L6OISPMWHZZyV+I+mxGbYiZDqGRFwCQVEPJhY2ZQRLQh7YA0mgQ41FlTsTGPe5W5A8hg==","shasum":"f5f5d99d53909aa3d0ac0772c6cf3881ec73e7d4","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.12.tgz","fileCount":49,"unpackedSize":1955801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKG/SCRA9TVsSAnZWagAA7zoP/jxzeLE1le8VUUv0TQqL\nfnQmrX6ljBi2KX56FaUV5RiYssLwuyfEQve5F5f5iEXFa6OrZeVpovdRskDm\nQa3DFu3sAmpuDqSTzZBPCXeVRqUPtuA/SKXZz4mvkBhuw2S4DNxnvVCTg9qx\nK/oSg/bN/FMTZ08+6wsBdp9KiLPTWY44vmTyV+AYteCTg/dqOw/c+rIzMyXB\nxDmsp0dA8N0FG8E4aIJURN+xYksSiIVnfdmFb3BYCN7cgVekc2DdQ/yByrES\nQP6XYc0FVBW16j9BoasBuuuQzF+hmVoef0CnBCDaQPQ9/gR6VQv5lw8uiAKs\nATDBIXlCfN23aUTENPho8KkM0j8FFSKO9mmpfK5c3/shyNUDm9CL0rb99K9n\nakBJNYwXqfG7HFWVlo9Bx+iiJA8AaVWEqu53Tcb05guI06iK+hTPHGl/KTe5\nzvG25HrtckzZ9qJS5VJCcX+E1PliiSKsReqcyiZ8yz0F8fsvJ7Bfo67CuCH3\nNuk/4fHfLF7qjvt+Dvpn3wr5AGE24KI2L1tIo3ZiI1gv8oRb+dlhznStEqxS\n09lO7U2syGIttvvOnmSrAyvGcujNR1UixemPcj/KbfSSF7TT0EEtHtl/OZZ+\nmSRm9hRUMnJZY3el8DCwPaymg2hRsvPViW73P9oO57uYf40jc0oDejGGFjma\nXv8T\r\n=y9He\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDWcUc7PVMcpl5wlMZo8ILFEnxF6EFtPbVCdz4luD56vAiEAmsy/6ok97QAIvqvz8f+xweuvUd/d3jtRi6DlQtYaQe0="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.12_1529376721932_0.11062547902952002"},"_hasShrinkwrap":false,"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"2.0.0-beta.1":{"name":"twitch-js","version":"2.0.0-beta.1","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{examples,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"babel src --out-dir lib --source-maps --ignore __tests__","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.4","node-fetch":"^1.7.3","qs":"^6.5.2","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"^5.2.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.1.0","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"development":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"]},"test":{"presets":[["env",{"targets":{"node":"current"}}],"stage-2"]}},"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"node":true,"browser":true},"extends":["prettier","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"14817e9be42470a7715f780a5b5a6eaba9b896de","readme":"# Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n# TwitchJS\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, minimally-assertive architecure\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\n* [ ] Chat command confirmations\n* [ ] Logging\n* [ ] Backwards compatibility with tmi.js@~1.2.0 and twitch.js@~1.2.0\n* [ ] Documentation\n* [ ] Kraken API helper\n* [ ] Helix API\n* [ ] 100% test coverage\n* [ ] TypeScript definitions\n\n## Documentation\n\nComing soon.\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-HvfgUSh6rLHOKhPNJDJ7deiSvy4K9cVhA/iKGdvVU9E4/C6rlbuyeHBlznjJ1UESa9+NseDFDbXRfr1w3xVAUA==","shasum":"0f8a73e7a7811c7ddddadec9eb9aaea504f70bd6","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.1.tgz","fileCount":55,"unpackedSize":1396978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbN8zlCRA9TVsSAnZWagAA634P/A8BNartFMnUmESuIsPn\n6PPAJRjCjeqkhrCfuZimPIqz2f1nlgqGWl7QGf7q1zGzStloJ9/lkwmdtBK7\n+inilHiV05mLzhH/5ufsK4iPLJs8UJowTlffNMt7RoXwGXGbnFywBRwzSqjy\nDoMUd4zGKydZ7cjcuQybPYvHj5ndSeG9qLSX347/kkHr+Fi+WieOECYjYvI6\nnJavPfM2oHhc4OFiTUe9RnoPPFXSkFB3OnGZ4ZnSAvxLjsDdxrPWn7/6cziG\nwsYowfdGV4JX7N7o8jIo73xzhlTdFJ6CUgggY3lWNNWGAbFRkD+LaKfQSAF3\nm/mssyGGCzD1mVvSXLsbbKMz03ZNPrHYm7yleO/3jhOwQKqFrH6UkR4NpMk9\nF8gBsF7jwtZ+IuxEVMVA5Kw8mTCBxAz1kNnEDGp0fQYSS1kz6ObiTQU1E+1C\n0tDOicBn6nEAZ7buhyXnKHTZS61jxr3lega2ne5WF7X7sShzd5c6MFO+tT1k\nPdguT3IOoaDX5l/w2GZ2lhDDULKSeBXhP+0aFGSToPLFd6zsQbhxLDRQJGMT\nw2y/S1F8uLX6vg1/eCeSNms4m7mzzuajKeOULM8o/VVCc/MxNGiEGkD1+cZZ\n4+N9ahaTf4KvaPadhwT5EopnT78bE/X0n+U99gavZAEgrSn3lrcn7IGFnRHn\nsHPB\r\n=EflM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdBD+5lKWm4uH8m/+AuP5ngj1pSmMa1J9ulwyKNDqe9wIhALQHsNt0PYA4Xbrtna1+zrwoc2s/4dBA1BETmEOuRHvF"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.1_1530383589722_0.12324286085833758"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"twitch-js","version":"2.0.0-beta.2","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --runInBand --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"babel src --out-dir lib --source-maps --ignore __tests__","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","predocs":"rimraf docs","docs:dev":"nodemon --exec npm run docs","docs":"jsdoc -c jsdoc.json"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.4","node-fetch":"^1.7.3","qs":"^6.5.2","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"^5.2.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.1.0","jsdoc":"^3.5.5","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"development":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"]},"test":{"presets":[["env",{"targets":{"node":"current"}}],"stage-2"]}},"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","package.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"esdoc":{"source":"./src","destination":"./docs","plugins":[{"name":"esdoc-standard-plugin","option":{"brand":{"title":"TwitchJS","description":"A community-centric, community-supported Twitch JavaScript SDK.","repository":"https://github.com/twitch-apis/twitch-js/tree/next"}}},{"name":"esdoc-ecmascript-proposal-plugin","option":{"all":true}}]},"gitHead":"751ec0f82eee348066b71ec0f62a9129d7232f26","readme":"# TwitchJS\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, minimally-assertive architecure\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Documentation\n\nComing soon.\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-uICN2qP/J3RtivZebLO6srtOLRoovZhacHEH1efbIv0EtJxL8/6XcfmiVEykfOzXgE0TKLIeYbJfJ819V+z55w==","shasum":"3d7613cae67eb4ed56047b4bed65a11fc35c9b1c","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.2.tgz","fileCount":63,"unpackedSize":1488446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPahtCRA9TVsSAnZWagAAq5sP/ifDez+pjnGUIM53E57M\nNKvdBiWKe2cRkb3Ogwfz6m6I27325U/uDm+ZbRzHNBDfT/5yOIXv8F6m2yN7\nAuPp4X5xFw0Hkl8FS6ZT3GHCHFMOBSciaqF1MIIXWrsOR78gDASa3nHrJuYs\nd+YO9t/d9FVgNtr299RmXt2RL7xW1JGUgE1o92Y0iarvjdmG5u/C52kqnt66\nB5XDqCNyGkQVf37WzTAM9BYQhEsEXAN3i6p1xsXmqGVps3gojTmVKwSb978i\ne6pv7A31AFYhlTuxHmC/H9ndLvhA7UTbDTo456mA2ZAtQU9rxrmzWlXGUNeY\npRbsttj2HuiDEaUnRLwRgH98QAhaLLsEFxYkmW1H4xxnFOAArrWx7cpW9SA9\nAhkK73erOaIqPVlS/7fdnRwT92AdGYIWDzKn+rw2qMl1h2Tep4k89PsuNgRI\nreTMavO5KSRqyHavA5/dePybrk93f0rEenjf0o1W3tPEwwhdgtW2XdvrUzu9\n33nlJlN2HsfexQNWZyc5IgVlbgI1sU7TUb4nO8k1CYgpKFByBt5h1lW37/8X\np2yI94AKiq4MGL6WRYEYD27VfzST7PKSRdVXEnQZc9fY0YMQzH+74WbK2Rdb\nO8qjVdAyKobnKGLARn4I6y7bZftUBiBJnrjngZ97QLFNVWeZFu4Z2DWlu7/E\nfPjK\r\n=iDbm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1lmsxUPSaDPHJhC8z7gXFRshTkxASx/RmQyFC/CfhkgIgetIyUF4Q0oe1WXzUNnlqFPyMF4v2vMwEkqWpuE7qhZ8="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.2_1530767469473_0.7995928910322228"},"_hasShrinkwrap":false},"2.0.0-beta.3":{"name":"twitch-js","version":"2.0.0-beta.3","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --runInBand --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","jsdoc2md:watch":"nodemon --exec npm run jsdoc2md","jsdoc2md":"node scripts/jsdoc2md/generateDocs.js"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.4","node-fetch":"^1.7.3","qs":"^6.5.2","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"^5.2.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"f8ae7b8fbe94ad68c49a907371e3f909d1a84e18","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-sMjVyseAGHqiRalPRtl3ThXxCmasGjZTowN6Pwk9I7O7nwXCXDlZpLuCrUbPb58BqiOsCweT6G3xiOz4EtOaUw==","shasum":"a55d1d01a7f4b04d84c16ee458344e6624768b7e","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.3.tgz","fileCount":76,"unpackedSize":1611471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbRDGzCRA9TVsSAnZWagAA6l0P/iU69zC2VgnRV+dfdtvI\nz0e2gc4V8ub0bTa05s+mGu17BkZIVvQLoBdeWLKsA25vrFBOy1a0jah5SD1f\nP8yX4sSY2hBuveefpDuLez1dryMFiwNc0HFgEUtgMU3/roR4Ppr+ZSBd5KLh\nN2bHFpHBo8ZSN/8P6AFL5WQKlfonbIgLdqTfd47tApLvy2+gVpCmZTWZgvPo\nQx8nB7V1pDNCCh9WcXYvCPUJGwWSBxon9wZKE82OdpxsVHmW9CeTKL5mEdhu\nWIwv86G/u4P30HbA6JaoTgOAebQGJ7fUPaA1n9VZ56mbnJhnTMx7Sd9UjB2o\nH+eVOOlOgZ1MfkjTW/shKyP0kTW06SeJQFtxbl2qn1kAF3vqN4PqNJo0TJqf\njgSHm7teACL/G0GaYflq8oCLRmT5pjTZrDrB52FkjgAqxTbHqSoN00tSsAyy\n8VGbOyAmTW6LtOE+NVOsj7yk1bEcfvaqq8T9jaqSjysVVXpcML3cpVUT4bdl\nwewefDaaVnido3Nx2TxX7Pd8LsvdLeZRMnAWllOuw7OvOFKTdaVOirhGDGwD\n+ZgFG0d7b6O9xufMnRUrcTSi3D9Ew9SsxY6QEqA7QSX1vDorrfV12WHknzlC\nfdc3wwPTfEkaPBLEeIyaudhAW9Vewb0ig3PtzNAwvoixmClunYTHSep7SQTe\nL6Om\r\n=vorV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2I/01n0t/xddwIc6Nv2//3fr4mNRTJLa8kcVa/dTAIAiEA5Tc57E6wthtMLawf2LUsBkrZoHQY+EQJ4w9lbA/DIgE="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.3_1531195827240_0.5686993968883518"},"_hasShrinkwrap":false},"2.0.0-beta.4":{"name":"twitch-js","version":"2.0.0-beta.4","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --runInBand --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","jsdoc2md:watch":"nodemon --exec npm run jsdoc2md","jsdoc2md":"node scripts/jsdoc2md/generateDocs.js"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.4","node-fetch":"^1.7.3","qs":"^6.5.2","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"^5.2.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"eea0678402ad9e0d2da78c864dd2acd2b3037544","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-4vRa6wWWgKtPjQl2pZjQsjzF6zVHBANidD3GBSdi+IwR2IiI5cupedZCDthD2nalgZbHtNZMTHH/GQx0nMxD7A==","shasum":"f0a4949a869645b2b2706e9154b8687b91403c8c","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.4.tgz","fileCount":76,"unpackedSize":1613807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbTlISCRA9TVsSAnZWagAA1XwP/jul/zCiQtvgFK1x232y\nX8EU5Up5OJboK1MBiq/tMOeZHCBb3g9GPkP7/2zR3lWAeOUadY2ohtJ1xT3v\nH/kgcJ38JNlngXL7EqJH8a55EcukEKIEel450sHwWy/bE69Qs76H38JJGIzK\nn5OrEvj2QtLPCKq00/HyZHNo9YhXszhC4q2YIXWLjNU7o67TnwOMz8GtZriq\n5aZ9MeItwVTtR6Xae+5IiXoMFMxnFLUnnMnO7EVrqbcscKOrTS69rC56E6+A\njSuecS7/moc+2gLqEPIpLSVynxCg/rxohtDghVhzVoHSfKwtbQEMXy5LJInk\nEhDAKCB3gs8pChgozMb0Ae1CA3feTYgMIsPEgKvHHV31mfr/8AwL4OaGfzf3\nWDQHie9E1l/5JlneJwjPNc9Qi4JiRDfs7CbTwX2DHuROODzCmVRajF6hiTpC\nMMMKAv//8enfctw/pLyNCtNFiBnNcscg6G4lnI7EwUw/WaQd+eIn38eS5j4N\nEQRSdf5NIn1IJauMCSkoVQt8xtAk4fWRwY6uIoOKe2LWVM/v3KBFTO9O12Lo\nGbf/HwE1P4cjXk1gcVMUwdu/gZ7TZ/yMNtOJajPaqKdUISOwOITxsu2Qh/la\nj6OTJ0tx/TNBoR/gIAtdEME5/X9GueBoYHofjzM8M71/n8mZa/gntOwdidq0\n3TG9\r\n=j8fY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDotQJD0MMvSbOVMAhIIIlfs+/9VCyyZgX8RmQQYJa1GgIhAIsyDt3UWVuq/+I6IeCY35q3vyGSJMjHvhyqM3dnhu/V"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.4_1531859473943_0.4387765191599504"},"_hasShrinkwrap":false},"2.0.0-beta.5":{"name":"twitch-js","version":"2.0.0-beta.5","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","jsdoc2md:watch":"nodemon --exec npm run jsdoc2md","jsdoc2md":"node scripts/jsdoc2md/generateDocs.js"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.4","node-fetch":"^1.7.3","qs":"^6.5.2","validator":"^9.2.0","whatwg-fetch":"^2.0.3","ws":"^5.2.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"2ddab83599e34723964fffae757806b5f76d70bf","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.5","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-Z46n1ID3RfZkIKAfDClzTI9pMKKG0K1yKXR+nfy6kDORgiuWxgtfSpchGlnMXz6GHrGCydvjy5lWPgs9UwBKGw==","shasum":"db93111942337ed8f8e5be23f4ab9454cd384482","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.5.tgz","fileCount":76,"unpackedSize":1631512,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbVmhzCRA9TVsSAnZWagAAtOMP/3kETxEmTqDdppywlkGn\n1bimDCvL2xMUAEZ/3CBi7nzpSs18o0XWboJxa400JlRcMV1ICSeH7ZGCz99r\nTIW4auFCulfd9f2uOG/0SQb82U93Tg4AcQSMhOwyAd/EXBkh40lJnGF04MGP\nPFjddMiSGWj+PN7vsr5it5kbEG+BGPgLzju4Rwu7IoKvW0fhH3Tx24jvNZg3\njlKRwBItuyLPCfFflfSK8943jU+BGssFAPrDaRZjDkPMZV200R087Qrvi3Xp\ndhnHr41Ex5EpuCdX9ut3aDJ6DKIZxvNzsEgxc7/fUfvQVEOl6neNwmD9c9z/\nnaWJmVANg4Zve5TB/fOlEulEQWQtS4EcG+V8EVX2DNdGZkLHRLbM0+MSetDi\nAcF6PwpjWcOLbpCavx7+fRCOFlU7rhYEhuaE7Pf9u0aUTMIjLfj7hkX5Wa8A\n2T/v+OPWaOMu55bpTUPIgSwC6n/17MrREQc9io6yWjmJvRVkioTBDB9+95+7\nF+C+0kY1w4zgmpb/yl2H26e+sCz5Mph2rkJF+mu4js7Sb/Zz6v5+lK3ZjnsR\nk1kChi0YJeq0jwK58wkXaflztYqcwauin//TTekid+DB9iidF2iUEpxLnLvp\n0SnsWaZESbB0PZ4rQSHUZ0rZUtFIaQ0I77hMzTzmtg9wmG8NBVkDvGsyFYXL\n1Ni9\r\n=Jw1D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICxygDNxnCCLm0u+Zn8R2wD4WZ1s0Z72ADGEfpgcqb65AiBtaPUpqr5RrCaAgterwNIZFjiODtTrk4ke27zqJGgzmA=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.5_1532389491286_0.848237446057698"},"_hasShrinkwrap":false},"1.2.13-pre.0":{"name":"twitch-js","version":"1.2.13-pre.0","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"ed5e3be8c51ab01e93dbf811b0de14222199e0d8","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.13-pre.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-8De3eyOiFiIea9zE6lVbpsY38f8BEd9xsE0Ll+Ukm74T1uJufGo/OvQMvKCTIHUb3krKZpls0WrVgT8Vvfg8oA==","shasum":"115180112e4c13c877f2a9962c3c5bc891e49c0b","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.13-pre.0.tgz","fileCount":49,"unpackedSize":1955736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWieECRA9TVsSAnZWagAA9S4P/2X53R5u4r/23+tgXHGC\nk9NvHYIqL31scTbBiG2AqxCeVZ2MsWSg6joDxHttJIeNlY5q9w+6DOnBpy3P\nOTx96LRkPvTMgP4Sb3TW0eym5UBHY/s35r3OUV3QVDkT96ub3IUT/5qKLb8D\n5NlN6c6yXZhtlh+vJK9TKxEsG944C4p6yC3Ss2ypFoJ3s7FQLaHsxA/JRspC\nL9As5PGVXXPOEV5hwxFaT8u9Q11t2fK2ur3qoo/q/3Ts5B7E73IaDro+UW5r\njAT+0D8idxPgDqy0XTUelYM7otyyzgiRz5aYwx4GQ3cdof5WJkwhA/DmZDwU\nGoh+w7///2nM3otGDKYwIDl0FI8vqtaP5cM+3YCCA7MyY13dLydPHONYn3sj\ne8CQ2NMod47GRKBD79BZ85MCVU300IHF0KxVKzYWjwQ9XYREgEpSwx2lDEUI\nzNQcMVQ3eFCm39TaVt5sPz/Fj6OhUnPfkkde2NWqhNp8IRLYqOdmPZ/vKI9r\nVvLg1ft+sUSqDuJeKROzInGZyoQUrImemBAUXT3NYLfWrwTc8BcC6jawom8h\n7Ms2cbYUh1coQDGRtlCIh/c7T6bOR159qPkiPE2euIGZzPOzvfAIzKxE29NA\nvFMPI9BWRRMISRp6fPF0KmbDhtQ0yl4fLMKqycE+qoUhV+MLMpRhfcoVm2bX\nRiPq\r\n=/AVP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaFFqemknSy0NR0YIwNThpHyIBvnG7QuVP1QDU5u0GgQIhAOt94z3qBTDZ5PK7i/DdkEN5LOTdPJzKemFwKgd13Ag9"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.13-pre.0_1532635012768_0.5399000651435581"},"_hasShrinkwrap":false},"2.0.0-beta.6":{"name":"twitch-js","version":"2.0.0-beta.6","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","jsdoc2md:watch":"nodemon --exec npm run jsdoc2md","jsdoc2md":"node scripts/jsdoc2md/generateDocs.js"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"06fb311c246503f04af16e93874d34bc6fb7723d","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.6","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-qX5mhon5J2mFyk6D65Bz5DK5SWwhmyIroV3qs5PBHj5flc66MznEz5URInoec5/16gcJJACRVkzCjE71lhxv1g==","shasum":"60332d483b737fecaf580cf1b48f5f2f8b09574c","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.6.tgz","fileCount":76,"unpackedSize":1632926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWzwhCRA9TVsSAnZWagAALf8P/3JUlvkcYCg8FMyTMIMr\neAga4P6lMf1WtQDfJhWCZc5j/Bs0WqEsF8FEbTa/HxmL59kAV1RhnrP+OFiN\n37r12M9t8p1+EhTx35t2dm54ZBogmvdVW8pXEdECA9OpT0g5/s1UPGbVdsqe\nF5fBfK0anfFJsNgfrTjVi6hl5lJLljlPcf1H47W9Fp/uLVZqEKJpktzJEDYD\nhvaL9fmxbS3eG0mAJ6CHJsYBnNA5mwDBTaP9+NP084Y+p4mKjR3sVYtXpr1h\naNqNYiJVkRNAsdwHD72RAoPkR4l8QYTw71T1meGz+RZRtn2QmuC8blfI8z1b\n4gv/ll8IS+MQ7irb263+AaqxpIIJyoM5HnAW3ysvJRqRbSUNdLQ/YHdWN1YG\nD/THB8/MzbUARbgJHM5W1X3TBgntNsEiPSr9cVmIvgbzTBHSo2mEk0Pq0skh\nP3YjQ+DwYtqKocdA4PIA6KQErt3GkmoEsU5gaXGXYPcVS+SRZzDKhB0k9+mE\nktrEREmWPrdCV5Es6O/gA+p/5GWe7PfFXwrkgoQxRaXwLmQY3+nv5KZSp742\nx6r8U2wsk67n31x8+51qofe2tVyBSu4XaTGdrIsn7RP5slyZoGcTXyYMyRcE\ntXesaLkVne/g7jlb6kKGmeOMRPr6zxXktoEa7MUqp8BNv+UD9uerVROkQkE3\nbxB5\r\n=1DN2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDODBZ4B4S/6/3Fn1Do63DfLW3oQXNZVWmWxes1QIEpNwIgOsY1UYsd/yCQQG9bnt18Uu5qgrQpvw2WBrrDBSJUX+Q="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.6_1532705825441_0.7840013878874121"},"_hasShrinkwrap":false},"1.2.13-pre.1":{"name":"twitch-js","version":"1.2.13-pre.1","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"7d7226967a820957322006d044cf6b821092dc68","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.13-pre.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-HS2orB6aQRCb7pg9n1Y0s70gcpKtyFm7NMRDVab1An+hIwHuyuHn8Rvfwf29qiaYkIa3/AEAXzxt9bZus5zNtw==","shasum":"874dd7e83381315c3a43a9e6d55b19c766d8ca19","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.13-pre.1.tgz","fileCount":49,"unpackedSize":1955608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbW0ltCRA9TVsSAnZWagAAM40P/RwG0pMSCKcn4LdeVR/l\nQWJoSwBpy8GSrfbAfpSHgD0cu2NzJhM27jhulqDRpS1d93yILnGnIg4cyjfW\nuel3bCBpymGpKqbIQiFQ0LuTW2avO4TPZTWVpQ+omteEjAA0g1fArekn/q2+\nRcJb1J+2aFr7qPAt0gEW/yMFoPQgsPOtUcimjw/9QZPY6q4NyFthKHaFLLlR\nOFTs/MnFnwX2SpMKfjjXWyc38BJ/sedH81ddb5i32DBfOUYTg9HQ+n2DBeFN\nZz52f//PlK/VtmmSzaSEaPzLy5gW+pwKQAUgQc1J/u6d6Z6hRd08H9FteV/A\nG7eRpnb19pwqh7ffYHGyXktt7QEGwLWQBVLM6bsttCX9jaQnbV5CU51u3OeY\nrH7Wc+1XB8zYcoyWz/OqX6jYBO2quGXpiRAY9UjHWQS3cVPW/nsyOy0yymDd\nWIYmEhG9svFq3C7ZDKApjZnV3YyZLpopBeyGxMRA0Fs8Redo4p7RfQSWQ0ck\nsIudayPWY4rHPAeap/n8aktKosyrxBbC8caydTZj4MfP8Mx4e4C/Yjp0OLuB\nYq8wTQLmLCGL8LozsV6vE4waWU84mlxEkEm+PcUJ302bzbjU44hxtavpf67R\nPgYRNfuE3Wd2GN3nd/jmWi9PzfMWQ9YeCo64eIvHEUW8wM+OP61/rWD92cSK\ny4d0\r\n=DvFe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGpxsIdr7Z53Rnyoj8UamOQjg/IvDW3bQIHTYaeRcabNAiEAzvl66GjfFc3cNX+TXSq4a45e4OtJzFuvJxE0tjlzVPg="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.13-pre.1_1532709228814_0.19723867215814783"},"_hasShrinkwrap":false},"1.2.13":{"name":"twitch-js","version":"1.2.13","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"74c8d29c7160bc7f444e5d5102a3c9c0070ebda7","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.13","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-nmndC3lcPLVczn3agkrrtAtIJL3608PKfz++wKGN2rwfGTbsAkC4lSB4tEtg4UgFKIYzFw373MoX7Uu95MfnHQ==","shasum":"d99a824a818939f9dbfe81f1c5722e653c829800","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.13.tgz","fileCount":49,"unpackedSize":1955602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXRh5CRA9TVsSAnZWagAALKEQAIgQzoQwvl2/lYuj0PRm\nvEE7GCjnMjCb7RRJCg+LMHmN3JZblKL3j8kIdY73XGqqd39UR+EHGmGbVUsl\nXDrsuGu7LkITdtFBVGptOy5ZwlbYoeuyt4uhvP8n6sxfFqIbFfBcMx6OigzJ\nJw3k0a9nLdpkFwfq6wgQlj4DRUMe6lIseBpCWW3r6G9STKt4xXL+MYdqedBu\no4GoFNJybiRHPnEdBw+JPRRRLBB/4DsKB3oYv+HsUqFsBhKyiUNyKsQFaQ1O\nC+OfnWX1rFl5G0BtR0IlH/4x2wVHIOAFU0KicvNPReDSvLvOOOOVdz+ac4eP\nr0EH7yRsylU5cD1Y7cLeuHmrs0FqaHRYKl9ljN3Jus0mESFnsRTioVdwg5GC\nBds7lrIiT6fT4JowUvrP/MITy4Zhxqls1uDAAQUBoDQi2kYV6Q5KdUT/HaQ4\nuWlrzOwacmz6DfmAqCkUpWQclD+9ELV4+J51Wiel+V/3VP1WFIF+/lbBIxFw\nFFZl4QsW5o0sfNOeXkNb66fQg4waYoYtI9epDOEqb1DWPrqjoc9quok93A3E\nJaYrpW0tYbzsZs75btckJYsx6wZLfufJ23NoHDR8WaLSgCKvhebCZie/ihdK\nBsD4iGJ1pcQrBNxqSAvts/vDcSVFoiKhmVvyh3n5CblB9FmahRC2L98VGB9Q\nbp+n\r\n=Hq77\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh7Ls8GO7SYGXFDjwvHpXdV2u+JM7oNvMvBjLUgpEqmwIgQ4Qv8s21iVRUYLt9mOA2MvNmzlk/hO0pEFifjotU7xg="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.13_1532827769531_0.9757716705292048"},"_hasShrinkwrap":false,"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"2.0.0-beta.7":{"name":"twitch-js","version":"2.0.0-beta.7","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","files":["dist","examples","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","jsdoc2md:watch":"nodemon --exec npm run jsdoc2md","jsdoc2md":"node scripts/jsdoc2md/generateDocs.js"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"9c6ce97e93dd9235def8163a301c8fe384ad4a21","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.7","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-IJcGRaRlZ/TefPKwcRDwhSGpWqDOPFoj0Mp+eK7Uf6iLKqhvDNGm/t7OqJ5Q3K4eYfG0HD5CAmLJWccB9d4/Ow==","shasum":"552c4edab46a23c7c29edc16bf3e0f30bd9e545b","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.7.tgz","fileCount":77,"unpackedSize":1635529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXfWZCRA9TVsSAnZWagAAelcQAJYAonrOkaRUqiLorpfQ\nBcf9wwR9BUKVH6ADOeg4BpJZzalrZ6g4k0ND9Nh5lksjRlaSkQjYZUQVBfx6\n5cP7tNOBXhOkiJ6wgW9yRuZcVH/azLHmRw2eSL+c8u/bYFIQFho70qju/8ET\ntL4xs0QIXQytcUGK7aQ3F0icT1EkJei7c2ZBCzx/AdXiNve94TnehP4H4Aj9\nyJFJHHgAGiO2RIx7rUNyPnHwF+sCmoFob39OtnCeaju1giBP/QoDQ65pwA8A\nnkOvvvu50yEJNUTso4Y+j5UsdKGprTuAmeuyH6+imlkQbW2HbcGG9FMvJY6K\nDVpV5z5SjqrYje/9+NbZRqgPAupH6qpliivRa7p058YqlDRndm9yISUGowpB\nJrbzXZBPqmBcw41yirh2nRE2wULp1CvkDi4DvE8u6pIEG0NHY76Foqmd6qbs\nJlKbSsEd5IuhBrLM6hQ3xP1YTDbHhDIYXsiD/2LKi3EkFz9QBKHEiPTikeOA\nDlZRh5zsJ38RZEUvH6N6UgXGdlViP3prTEJxp3d3hALLSFWTCrDejF6xGfhZ\nqBC32ch+wP1jlDqtkvoAc1KWZNaM3/gqs1KlHFeuFVD6AKA1MP/M0FgCZ2vc\n6X+1SwLUG1Rnf42hPXFD+ebjFJXo83J9y0dZH4Dnn+tSIfDF2FzWXXaT5ZWE\nEv7M\r\n=4IPJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFWkFoLTunUhGMPwbnWpbzEGofdIj1Svj7F1EGFKBAhlAiEA8HZOxnXOAHHoQV7Z97PJS1bchJeLlPAQzG1WqBsAJnY="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.7_1532884377657_0.10048568862861051"},"_hasShrinkwrap":false},"1.2.14-pre.0":{"name":"twitch-js","version":"1.2.14-pre.0","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","types":"index.d.ts","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"@types/request":"^2.47.1","@types/ws":"^5.1.2","babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"ece60bf6e94906023d73a09b64af5c143928b704","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.14-pre.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-O7VSXu6+OitW2KtLmnFSWv9dfS8zTUiDUwPaOOB/QuQZkgj4nMrI7AzqWmfW4es3xgvpsZAhxSuDsg4203SYGg==","shasum":"fd76445c6f7493b98627a73d504f2f7b83bfe363","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.14-pre.0.tgz","fileCount":49,"unpackedSize":1955693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbYoTxCRA9TVsSAnZWagAA+5UP/jYVbaRoP4K7OthEL0p5\nGus3MbmhZ1/x6lrLVr5RNSDkwUYpQyrgp8b7W6P4Nox3/If98n3yETnIFAiL\n0aj9mEMuNch1EHglmk2eQnehSwYAHijcALal1UXnSWynxnfc7L8klqtJCmBN\n5YDZTWRQ9J3n3EJymwShguSKwXf00KnagWEYrum0kK0Gbg3VzxL2AyTCUZy3\nfMZSy4RKf8ifir+wG9Iu1Lk6hZri8HByjfN783+6f5mgtuKsnKRPdKueQgFq\n+Az3f72gzyXxMIeziyYuOxTONLf2nty+IRQ8Cdu9Y8ldcbIhgk4CUhhxbd7z\nnb17BOlV6hum4zNybmaWfM/oy8DRV4tCIrNlaSsr29zPN2nS3sTISgm3x0QW\nAyPVtONwtXsyzkSPHAZrICkqef2NvOXq/ezjtJVLF+gucLkwEdyuKo2UPLMi\n6gLsUA1FcT5QUk7UADNLpbKQF2HEqSdBWt9Uey4eVnPtfbgqFBrSbJQAb7DQ\n/76RU01cGtMumRdeP9gClrfoh63FITagku2sHKRe3OTk6u06a0p+Ur087Auz\ndSoYhbKr34LdOJCDyEXVnU7++xGEoEZ28YPvLz0NmQZUioCcrXRiM1oKn1dq\n+lOTVKukP1wEMTtSzLddOXdAmd8AtniGFoQITFpGVY6CoyjXVXNqDeMf9afd\nibMa\r\n=wc+l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFyT8M8sfhptkKpG7Tgv6jIyXzi0rxcWbg1o40aKzrtRAiEAj4lp2/tkFSC6/1XthoGtt7KGR7iohnWtRVbI+1mYSRs="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.14-pre.0_1533183216326_0.08065539400044108"},"_hasShrinkwrap":false},"2.0.0-beta.8":{"name":"twitch-js","version":"2.0.0-beta.8","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","files":["dist","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","jsdoc2md:watch":"nodemon --exec npm run jsdoc2md","jsdoc2md":"node scripts/jsdoc2md/generateDocs.js"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","regenerator-runtime":"^0.11.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"c4c5f685636ce72920e7144f1e9a59fa5e3570bc","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.8","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-bBK1vChkFrANk7YhB1FlYPSNW34joNE958Kxc/RJYLZL9x5aJZkjEc+J8W6jAnnr7m8YxX6dYIDhZ+FhIEg25g==","shasum":"d0841695826e174f8609de6057c74133a57a2b06","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.8.tgz","fileCount":93,"unpackedSize":1741226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZmN0CRA9TVsSAnZWagAAuU8P/R3NeW6KtMYX2SxC8hM/\nBSJddMWlRKGVpJ+g08m7ED+aA3vdTy+qdQz+llYCJZSBkdO4QZVBz4j7BrHA\nTdzMhevgLRTDaqmGybNEAATWfVF/ixGJSaIzCYeIHu0Qd+I+HMuxIx5gJh8N\nWlutmZBXav7g4tbwOjp/n/GB49kGJhpElqh7SsVo+u1zDcYlVgilVJgtddDB\nl1jPFHoG0gz/g5Ftd/C0rGWSpa+J4JtiC9Qo2NlKv9NNssukBq8qrtmSBBdq\nWVfGjyRl/HwkWV7OpUtbOrJO8wZmf1oQF682x3QVmFvUsUnEtC7M++r7eVBm\n/F8zZc2PFVJ9tb0c5UCLznvfrkWXLALpon+gZ68adxLJN1FkcWc7Ta+yTOBL\nbh21Od5bTDryOEyqNLhbTzFuhf8A4ra9E836NrnFQI0Q8Map4/9ED4eeI17m\nmwmq+oLDWhTkGFRl5YIJir0Nxu51U0itoIgrSRBs+sWbt/kqjmNReYy7B/SA\n6IpJWWXobpgfLcylR4HN0w+7RDkmi/F9j9CdnvVXarWLfFayD0kCWSoSTSqp\nEZBFN5dp7c+u3tBnUGeTyh4xEnA2oNZMjVOveopZ6QQLV9jxcugx0CH98gt8\nf3LATL7TwTalBXeye4CaTm/wbaIGXKfUPN7SFWpKdMLNGMKuHv3xoTWZeeYH\nJgf2\r\n=VVRq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDiDK3HWAnmrf6qaJhZ6DnmDUBxGZmiIMvavK8A6y4ILAiEAta+xsS4sR+qigx6CjnjOxBiSoUmO8GopqkxOzuvn+8c="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.8_1533436788465_0.496963013548146"},"_hasShrinkwrap":false},"2.0.0-beta.9":{"name":"twitch-js","version":"2.0.0-beta.9","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","files":["dist","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","jsdoc2md:watch":"nodemon --exec npm run jsdoc2md","jsdoc2md":"node scripts/jsdoc2md/generateDocs.js"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","date-fns":"^1.29.0","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","regenerator-runtime":"^0.11.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"e6d031dc12f34fa9ccec7a32116b11c3f3ccb5f7","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.9","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-WL3RDCU/p2l31Z5NfFfcGELJVaKuNa6uDHZjtAs8st6VWR9b84rtU0MSxKoATv9k5ATHlmzt9fygQkwIDYHdBw==","shasum":"8a0b91483af0fa38055533b72537f3c822531ca2","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.9.tgz","fileCount":93,"unpackedSize":1752427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZxE1CRA9TVsSAnZWagAAyQYP/1q6GJG1oInRFpmqNw1a\nMowxw183p5R3dKCXbbfEB7jk24dXIvgDL4zdwnKeS7zEzqda+ypi3JY2USV0\nNev/d9JKG6qBRlI4rQz0MuBrm/WGG6m8V26zgARO7l85qoDWjL8ErLBSB22C\nwN+NKK+mYx1q9rRLOBGYAMusIlkEFIFjUCLPDot5wGaFf4G6hUnr9wIgkkQu\nV4yMhuADNQ2lvIMfsrmWHWQFsidkmT0tMcygBo8zhoxayUHmjracHB44u0lG\n/xEk+/O0jSAtK8SXIUNAKd9iymU7DztYIOAFHQKpIcgiDOVzYz1Cam7dOy2W\niEoTIjStmO8Ylrz/YCUJB24iyOCnYXJVDiYPvJhaL7FRDNWOjV8ehgOtYJB1\nuwpti586AvA2mfIxl6yIoQvzFV/7xCFz4VlI1Ri9itFSTPVfHZGPZSNj/4Ae\n8td5hTAn6E4p4MPYz5a+fO9VSgMqmFlYI2Ro/OWKpFP5DWJKWAeIZ/cgYf/K\ne1me3+g49D9P8wkBQKR95Y5xawS7qNZ8aujGRQFsXjGwPmf8Ozuoa4UpbwDB\nO2/8eiFFMxf19ImECPYoHXFPDOWIzNKsqPwvAdemmOTLjO6qwk89pOFSJXJ/\nVjI3u9j+I1rncRY12WSS24AfA5WXoa6swFbheGnTKFxOrHlPBqkMBRLR4ycE\nHboZ\r\n=72Sj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID9PLntIdOjdKi2DXlV9r7Tbp9IIQKI4yDp/lh13l41ZAiEAsenRAVT3J3B966KC6qAVor7xF+mgkKy9MrVoRdIRKOc="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.9_1533481268958_0.10614250803803782"},"_hasShrinkwrap":false},"1.2.14":{"name":"twitch-js","version":"1.2.14","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","types":"index.d.ts","files":["dist","examples","lib","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"@types/request":"^2.47.1","@types/ws":"^5.1.2","babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"6c2d99d6ed2522cc958d18cb2e1ffe37ce71781b","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.14","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-Sf6FO8oUAMk7rOhbY6l92xS2FqD2oIrKoZLok/a7P1V/Trr15a+mxfhmlaADMuXq3V4xoHOutj1ms1aHpysanA==","shasum":"3197dd1493ae8a59f299d5dd6972abe0c699174d","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.14.tgz","fileCount":49,"unpackedSize":1955687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZ1PbCRA9TVsSAnZWagAAPQQP+gIqT9MlzFuqbxDSVKHb\nnwRtph0ecbM7N7dMwXqLvHqZi2b43gZ0K9tyVcLGadagBIVykuwUlN7qW3ZG\n08BN0Mctmvgc9EJ33iUCvLEJL++2ogYWPi0WIRDhORAlwliaKgb9w4hhmqxV\nfPkDr7XJIdjFnzDyHOQyAqNjCgAO3vgIbY26ZHKe7qzPYAMain0iTUbGfLA9\neEgHpbqQi7o8s3/90PIWtKu5Wjcy0EZHbEX3TRP6pIgb9jKnRSaYsIaUvrso\naOY9Wdl9HqaiEc9AT3jSoAceGaSyddFUhAKuuMJAGT2XCafTnJ2vxzO3PShO\nX7EXeLNHjWBcifXRZgx9Do9wfaALqOgPp46w8QHA06C/gsLOpoSRhVbKdEY1\nteR2WjxWp1Y92bPz3XP+X9RluzbgBofgH6BqNw/3nKftPiMOVqwbj/YjbBZe\nvoU0xTnIqIV/mX4xaMslYu2cpoCn2va+0X2p5Zmzcu4bz4jfJVRYip3M24Pa\nVmTCuh9x32wGyKN9PczuDlNle4I1Nt7RMwkdIextpQX81XtkN690q7Yr5OSy\n8gKxZT1ki0nhc12vt6YA4SNbaW6hVF8RYb2s4AtIv1Zk5QND+tXwocFOFwBN\noIltwviKFIHiaFesSrjvKhL9iot3UF/BKPSjbd9rLL0Ke2PA7hd5l71rF4hp\n0g5X\r\n=fUgN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICLZujWH48xc+r7S32Kcqm+xdE1ZN5hx90N7IFMn2xvjAiEA4But5IwnVTpIMX9XPQFvjUHqs86W9BDNSxi3a3An1EM="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.14_1533498331095_0.05620165676977895"},"_hasShrinkwrap":false,"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"2.0.0-beta.10":{"name":"twitch-js","version":"2.0.0-beta.10","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","files":["dist","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec npm run docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","webiste:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"0aa63a5114ccb761cae4ebef99ad85514f81d57b","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@2.0.0-beta.10","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-4Qm8mWrymar8o1Ew2FXc5Bbnx7YHqEGM59/8say6T8jXMlPOy7GZIj1iXxsgiqtMQAkoAszaT3c91AD7nImN0w==","shasum":"d9f91b8dd120bb2113fd3a6e02f0521a7f2e9203","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.10.tgz","fileCount":93,"unpackedSize":1768713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbvqoCRA9TVsSAnZWagAA4ukP/0F9B6TfN5WOhXWFiDKc\nQRNVZhyvnGzJzv3YStN/3ATsNbqr6hXK5ynCKoVDsJ4yjAxtruzrRZ4c3qBg\nHTEv6RzBp40sMmpiIGf0v1go8v8MR69IrLn4m5vkR0SOu7j3czQBWl9AuB/r\n0oESDu1Az/ZCqaf6Fpb0aeJp0tILJejWKo5pm+v+yRUGWHTMROX9PvzItuMp\nTpBh3cuRnZs+/RGvYBI79Nk758felo1kYAFXzNm6yb/LyPpFfwkQj8YHeHyD\nmhXKTItR1czBo7qsc4a1s7dlI6b8MLO6Ohzblovs+bQ1v4FuF2vdfypJG9mk\nIpXjUyZVQvLAG3j94ulDnyN9NSWrgSZE2wJrKJ0Q7MjDWrs1xSN7bKaQ32hr\ntimzvSb/eRqw9vm5RCvlfbd5SqzERlMT2QfPeu9wi4JjzdOWJOP2jqoOsW4u\njhxYtlAst0zevl+/rw4s2Y5CiSMVP9tH3qVCO35oAjBCU9Znegg0IvpfsSSf\nlU4YzkwKXJf9GzaY1t4o1gqH79Fz2mYdGxxR+lixzWq4yCtN9TnXhhfAHRu/\nYji4gpEbPZuQ7wqVFYc3OOBKtOZFFfQoogIqdGynvmlrm6jQTkVZfZMhrbXC\nDExpIwF4+Nyb9pRxgFvO+zliD3xapssLRdXMY8h8mA7DVMAKCUu3IRtavCOo\nYaru\r\n=9ulv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuh8XyYroUn0iSF/RY3nm9rG2nBl0Kr6L3brnlQnUxQQIgZgq2O3BcUV8dixJW+h3CU/5NW2uh+lLnrEalpM9z+3Y="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.10_1533999783655_0.9692193354361418"},"_hasShrinkwrap":false},"2.0.0-beta.11":{"name":"twitch-js","version":"2.0.0-beta.11","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","files":["dist","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec npm run docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"0b94e2043ae691f2e9f2e9ccb8f052c1e8cdbcad","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.11","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-ucJUjYTFrXCmrtbtM/hRVjCu+JIYEgTK5aC+egVgo4RsX7/oZqj0U4r7SK5UP6WIw6Q9WZjeSbPeI5jAgMgVMQ==","shasum":"28fa0aee4f2fed20f5f30df2b12992bde42f99cd","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.11.tgz","fileCount":93,"unpackedSize":1790005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdOA+CRA9TVsSAnZWagAAYloQAIJVx6m7vAyU38qodxXi\nSfdfFuYAHpDiqHRtYC5KZEdIU9OAjjO1VElHh/BeBCHMCRn//yY05a1Kbdf0\nVKPL3KemX+FQx1SlkApU8EvRSevS/rrzwxkJjHyDUjlWmsAqE8JFSQXMegL0\nigJetU7P48B94gXfro37lDY06L3pPBeINRY5jCLWHsP5Pw/MLpPKl4MZ1+vl\nnjm3p8ncP1ZbekMWLTg5QMBXRKMWZ7ZThbZxh2UaJhzVNAjakupZ41rem/Mg\nrx+QvDv4aLNMUvGX8Z2qK1kVHdCGO9n7fae9NB72Mlq37ZzUEnoGTG8f++IV\n9tsLYz/pdRZLeK6ZJuDCEQF3iY4BXZueN5StQIGfiOx6ww9MhiM5jcE8KaWs\nAJaAfi1aXi0igGp5qiKa5yv15n6CYddyVxtJD3bYCgMkHEyOhbxUbjZ+sEFS\nvkbzP7bBuKhFrKukumKVXfjN3jjTWXAGGI+RBx3reyEy7m7qY36QWtQDAJ7O\nqFVLBLI4vZePSYJrcGYWvzOkeD1pNyHWtlQKlLjXOLQav+ZJDicUW4qLw9+N\nhozTtF3SCKVengjrddI6+aNTbZ2zh16ir0ctUsliTuy2r+2p8qsu9CmlAenb\nyP/HkNAydO5olnLdla31nBClyB+DV3kDjD9u7qWLMC+wlfSTYbieeXoO6alD\n8aMF\r\n=7qM4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGur1zuV1bbmR0UESvwvB8b1zsK2r+T4V67xv68JS1k9AiEAuiFaN7QE6N2G6v7QZZl+ctys4r9d4pIIEze1j9uzMjc="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.11_1534386238146_0.6899623958771934"},"_hasShrinkwrap":false},"2.0.0-beta.12":{"name":"twitch-js","version":"2.0.0-beta.12","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","files":["dist","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"npm run test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec npm run docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"bc4aed4f749fd2b30984d3e3b841ecb2e30a8083","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.12","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-5Y7JwKKwG9iUI/BWHAZ8xeLuu2FB8mPMNkhG36ovcwxYiBcxgDNYb3MJT1iCAmFs4yyu99QGMrlXo56oCJhX0g==","shasum":"d43cc57387189f7bb7796e8679ffafa28cc3dad9","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.12.tgz","fileCount":93,"unpackedSize":1792342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdPAvCRA9TVsSAnZWagAAzIYP/AhL/dAUJe7NTldiaw+P\nOuy1BzOzsVOpx8t9jGhLZJK2BXbPC5wME12DwZA7o2Zv/l8ndAKThKAUG279\nvV5uhhmnDjTQM7GDYSC2Srte8JG3b2dl5o/RDLL/UircrUNo5uU6jhqmM/mv\nUMQ4me64uXNOT4JbIv8LaoYUSHoaoP1hQtdEFuB3YCkj88mejm6wKbKXJ+Jh\n1U/quDEPqQAWQ41hAN2wacm3PXgsbk2/79W9UL/AFU6riup1gMjdlvTLfaVa\nG8dlXfgtMOzuZgMotvtLOHHweZB9Cs5eYNiFfScU3Y/ctfzdb7B4M3uYv2oQ\nbppU5GZ8/V8irhjFVw+p+kz69m931oJttwIwN/JJVhQmzCNtwEgLwBoxnFGy\nEVwEeCBi4lN2DeCIFHvRjxwr6iudgPmhwBaPFyf5T8Vt7RPfkOTd+7b+pBNa\nD29QcziX2xTaXAF0sxQmRt18ARjzPBsW27EIQAX5sGKuVXODC06EE1eSX3KB\nXsMFx7jdT5nYHsVWWBbR93CohCriSA3BcvQMYFBp7lUN+7n0FBA3shQGaNC6\nPuzoSAPw+m/EnxYz3xym/5ZoxvvYkYqLbx12OvNcmtJqmZwUVNfyapBfQ+lZ\n6FXDiM9DNl2NS+wYfAxtG1fqqjca+jN03zqoLO0UdT1qUc7+8jIOa7177O23\nYRkn\r\n=UAmh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAU0bHHIc4GtUUX9jTKg72wnrATIgIxdUNfbJRg73MhOAiBnhbnuAB7ugCknSBYF9uL+p6ltXDS+wHxUHSIpBh6S/A=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.12_1534390318672_0.2711062114604652"},"_hasShrinkwrap":false},"2.0.0-beta.13":{"name":"twitch-js","version":"2.0.0-beta.13","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","files":["dist","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"f62a2596886b702655f5f4862ec6fe2778b6bfcf","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.13","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-+XrWELNC9G0j/777icgJNuKdWYhYunEyOrlNs9hvtwUMoWmg4nn343e51G7tZbi/+LKxKhjzgdsY+5UKsGLjyg==","shasum":"0a9bb38c83080e5f7bb72360b6d2959528d11ff9","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.13.tgz","fileCount":93,"unpackedSize":1793918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbdlpUCRA9TVsSAnZWagAAWngP/3Nrfxdz0ZYooMlsRTau\newhmCIfg8UlhfEE0HrSl7mElGmn0oxKQ/x/1YmYJeFR+XMJhHAU3YB11gO81\n6zRHOxnCziBClgkH88xxWTlAqbk8uJoDHAGJFj2dfbFg3G3sVvwpXyAD5ak8\nC4QAuWAO1xtfjwHL7AdZIwXQs7MdBqskOxpUdjuEBZvXHIIMjUjl7iK7Npsw\nq8xebfwekOxz8PA/u8nwTi5FitWzHzjRgydNZb6vmgZXxkznWsWL1PWGO4f3\nScJ3yfPSg2gnlY01v2BIPTGCVWUQgvgpM+IXAzCMEyKBZipQ3/Tc9ZBX5DGv\nqw94iSTPu3+BMbmHszHdYazq6MSr6eLydaHEdfPOTHPRT56z5Rj8FVE/78tN\n5pk7puVMUvZseIEnykFHpy7v9YPcKqcjpoScr67jv9CCbQneSh6ZjWj2E3fs\nxf4RLfaQCdXWPr2Td8zLCvxq7Pz1qE2PMUG3BjFOUtIoLg8OihqHs0e2i1al\nMMT5jmENZCT8BHRf420ow3X1ly7CYvNlsNzgS1W7lpxDQYPg86O5BtrYgxWx\njFfl6Ecj8T5weW48KrZF6modEkhC1zF1fyu1cY7khrK4vMW8OVE9iyKQl6Nh\n0izk+fJkptOJ6cJdm+ONc9V0NYbz3EU5GZlAf/c76BZPmizl68BIUkKWr6Zv\nnlFQ\r\n=qKvI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvrR4zh8uAaRiP+W5RfeWH8mDKBV7RsUbxBumnz+xNpQIgd7+bt0Mn61nzuIb4m8HvJz1T9cN+C3JZkdnFrOFW1DE="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.13_1534483027471_0.12792483787666087"},"_hasShrinkwrap":false},"2.0.0-beta.14":{"name":"twitch-js","version":"2.0.0-beta.14","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","files":["dist","lib","shims","src"],"runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"e1ae8a58c7b78c0685136378e2e4a763816528f5","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.14","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-FJu8YYwoekvKalgFosrywn1nJM5w1YhD9nRkhpGOF2ZAxPv4SF+v7X1CSP3j1quUPMPU7XocNn2rl0oe4ozUtQ==","shasum":"0431b951bac51589768378ad2040426696dce446","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.14.tgz","fileCount":93,"unpackedSize":1795303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbeGV8CRA9TVsSAnZWagAABfsQAJTPt6j4HNLFXrGe+8EE\ntgrJLm6GwRGmmVPRc+/r212SqF7Ku3OIn98s8MCb4RkSBFfDCng7MLgWbtEL\nHQguHejxc7NCkn5frrlW86W0YpnfemWsssfzKMh6SN3EIHwvMsllWTA4QZJ7\n0jH8VwEXkG7eywcTgG/K+hHSL6fPaOqjDJe3R4o7Q0wWEzuJFtHZbTp3w5pY\ni8sEEDUBlotwMWLuhCO3dEGtXrHpWirfeHMRfxiS2SedgNuMxIHHvhtO27os\nIg6hzpO4e5pJ9qMc0oHiSgpiSL+V1ozDcvVbZjo/vs9k5raG89TxAgQiq65W\neABmK+yM48ndy2TLHyB8x72RAtFGYyELgn1PSdbWVj3nuzdcunz1UAktSs7A\n5qKgjc8WV7M2zENTkTLB9n94pUcrLgrdW7A6jdTpC8fUvX9gyzPShhlWTEIQ\n8PrKOxEJ7VCyIDjf26EYzVBspSoU2cfNHT1rzd9dkTG7ZNo9UyW3DdWOcd1Y\nxsH/ygywfc5r+DvFoqlGZ5Ki9mDRrGB2hLAaGIzKG4vZD9s+mjXm15bjgzG+\n7j9cfvveBM9rQRbsQtQccWrYbXN5GhbgEIfTxcM2L+N9Qef9knPipAaNjNtn\nUNfkRTEzEAs0+PeXY9Ao17y51/tQiRN8qS8NK2u8msOJfYLcpsVBVxzAzxFd\nbMY3\r\n=5Wlv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNZhP8+Bie+dOrGMvrp7JllYq7pXb37dododt4i1y5IAIgYoYChB4pjQWyQIEuL7ugyYua096/JQ+guQW/v5UP7GM="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.14_1534616955610_0.22057749377252334"},"_hasShrinkwrap":false},"2.0.0-beta.15":{"name":"twitch-js","version":"2.0.0-beta.15","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"a08c7b33f3ca77222c0ea6ad5f9c6030c373f029","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.15","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-1oan6kaU5GegqbBv1XAS9yZQ41v2njfaCk0UKGvpsYa7KiyhA10inazOwVqRwNYWydn3TVcY3RsKWa6fKUeK5w==","shasum":"8393b4319b8f4e3b23ef6449716475f4c9f0a44d","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.15.tgz","fileCount":93,"unpackedSize":1802324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbnnlFCRA9TVsSAnZWagAAFocP/ROnJdairZcDJK8tzORD\n6lztRB/HCtVG7WNIYp0io8wkoxgO9K7grmUzoltmoq5fj25CNfiHVtvcAlDk\nLuzIvuYF4hMXWVOyQ+A11KY7Y16U+uT6p3TktbUKqe0mnbfOOgdPUhS1AusR\nLjmuZEt0BydoW1Gn/h17uOfeJg7x67YGt56Pe74M+F3YlUVypZ9HDXxf5jIG\n/e7o2hyK/04nvOLbWOdxaKz0fMOjtgMKmFocCNaFFE5f1ttzx2Kp26N+bgtS\nJbBMxDRIUGEtGW7idee0f99Ui5IflbW/YvF9mFZ3z5Wzv3j0oVKrQnyEyTWE\nU35ybo9ehuf6lsKC1f1KTmTtu88OJHztbGYHd9g17fEW7m9RZTt8vp/6N7gj\nonS/hjXFm2UMPuLJONss/AyxEK4p3C3AYTFAN7PS5R50KgS+bJIoEDlxce8u\nNSF2xmCYY3d9CbrxoHp9+ibL/eMiFZpzDsfwIDVgGRVNnTLuhvGbBNsDBq4g\nDH+paobjgEDrdNqaOgZMvss8wvIV3gK1HRJjBxIpW5jKk6/OrYf5LM7lX9ZT\nenXkzSowMskNSdeQmjFHz32X2hBkrNO14kPgdyeQwQTJ/agIEh0Nr0uski0Q\nhtuckfKQpPYOci7Wo9jVC8gsuI+56i2jqMW5Lhvu5y+82agB0bTiCPuv+AUJ\nBrvG\r\n=beE9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAQ1DXbfEa0PLDNl5ty8cG0/Uj361gJtHLUnDvwnasPQIhAP6AtG24dUBvgLe5xa9zwavnf9/VYuxCt/4CTs+bKaJf"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.15_1537112388187_0.18386773175535853"},"_hasShrinkwrap":false},"2.0.0-beta.16":{"name":"twitch-js","version":"2.0.0-beta.16","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"1a9e5b92f8b181f80de3874d3a5917bedfb51816","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.16","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-gGUaVkzlHtgAoCPysI3/sbw1HuV0Q7ut5WAg3aOQ5AjXzA7fw8Rz0OzRpsg1iK67AZ/ne6U59OUKLcOBrcIHuQ==","shasum":"9a63da9dc9c5fc7632303ee90857986c0ca87018","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.16.tgz","fileCount":93,"unpackedSize":1804157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbnrWpCRA9TVsSAnZWagAALV4QAIRQC1dZvE/TBA/VLMpl\nWPu6n3/MtTMIBDq/hL1iEKaqwOqIYWYcPSLC6iAphSvs5I465ErrSHwVO0vm\nMIX93qVGhc3VD3n5ZNwYk9CMB4kyt/DCs9PE1E6B70kg3iYIitjk7GjjPvFP\nh/MtAGabZX4sZHVtnBbZJIWTmoE3eVE/8OkqJDbFcH3papIwJ26hhyKW5Yfg\nV8V6Rq+GJvVX+uE3UAtV/h6BHASNsDRayy8Y5ivmQiZZeOGclr3fPBOOzr8r\nnGLnU7xWGYuw56M9VnZF+fWsHAtYDT1om3RNIKcLrx+4RnafDrF4xvC5M7t6\nynNaKmUN2FdPOAIxJQoPtPQFZ2RBKPOBmiMHkQWM67Ov7518DLPpKYQ3D34Z\nmmdavk3r/tigw5Y4m6lscdz4LxbLf+2vLeGXW44Ql4+lgwJgAH7+D+LhDBoe\n8vZ5QN2ONX1KTkKWvgbU06QhoEEb7IPDWubd47R5axdOAuXCVsZueQ6Fhno/\nn1TG4S+cKyMJLGy3NrO8jfo+wJC9KT9Zpa8MQaeeVQp7cHHQq2y9nNxmwx0Y\nrissTQPqSdh/APTlzs853K9W3/VmTY5h3WcilYMniLCsvoj33cPY2J+f6skA\nCbxCG3fQXCBVMX73xYN9eyu3NfIpKeSodmG1ieONBaQbxe1gdMuNczuRH4OE\nQZRG\r\n=MLtk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKJF8AaVnqSTvqzcAXin+4cvdVWSE43twWigReVfQ0UgIgdtZcN4lN9lDnfyKpwzzdW1ARpFhC0C6XFJX9/AzlwXc="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.16_1537127848931_0.7681215993783024"},"_hasShrinkwrap":false},"2.0.0-beta.17":{"name":"twitch-js","version":"2.0.0-beta.17","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"e3fe10851b6f3208347d71ac7fa7f5fc6d521f6f","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.17","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-QZn4r/8o+0TiKhMs9hnixxWgGgPxrHJnmDqIV4brck5cjCzk3Sj5B4005TUz9HNC5y6UgIOMuJYdAHdcygQLGQ==","shasum":"471ef7736dc805d0c1a4e50738a6f2e94272a6d2","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.17.tgz","fileCount":93,"unpackedSize":1804464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboPCLCRA9TVsSAnZWagAAwM4P+QDII9DvdlJUb8bnBnZc\n31qbLctZdS7fN8RjgrQbY7auf1vgW3FRY7ixvnyU4vPkyxbNNBWghqE1yawZ\nXo9Hjyf113lBlkhTZ/HBEkcijmy76q895mMssuYdQFFS5fOZ3zHdSclGijut\nUh3z8APtijFosAb7gP2ZBzZYuylt5bGeo6CoywBb31bHpPwycTWi2P9dfTqD\n+pZw457MqP2z6Mv0vOACaNVAkhH8bg9sl/T/rXuDlYWIXpNyTn8TS5R8WfGY\nuLJkeqWSof0yqUOTPkJYXpdUR7KbVpGjDoUkuO9ocIMrxxhwguEw8CO0M0vV\n1jFaNIkUlpOADj84i/h4OT5FxAJm8kdk6X9VuwuN/7MQEX4sSzLh7E9QSh3K\nMmvE/GxIOuv41aUBJ6mQvvPUZTGcQuXpTr6kaheIq5qzbg75BeNjq/ZvLmvE\n6YiIoeR7JRYvaPZu9KlkzZniYNfqD8QVs135W/LWo3y5D0ccaLSYZIqhQUyT\nlBuW7lIywmhJkQ42sRqq3Brl7C5yy1TTludq0mYYQMxG1McvOIqdJw9h6Mli\nM3kB9xWkoFxIo55RqrWgpQQAVb9q5+33+3gadLJJdzP+PUbWsPUbHAUdwwtW\nHXYW4WR4xUJxjOrrYZtqRjzEXmT/+hrwKuDRgMZQXRQd0TFhAV9SQBsQ3yF4\noMCl\r\n=J9uQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICiWc2EhDcwuuCxIhluM5tlR/NcpyalBdhPROqZMcJqBAiEA0CrYBOm9H5zLxbLpYEymURU3cDK/JfIX0rnkTAglfLg="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.17_1537273994621_0.8872174036497111"},"_hasShrinkwrap":false},"2.0.0-beta.18":{"name":"twitch-js","version":"2.0.0-beta.18","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"e1f2630ae94fbd1e762a3c447cea1a3e7f6bdfed","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.18","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-3CoWi1tWrMAfHBuF93QLXHUEc3GMd/uRJUh1WaBaG9BHDGcZeFP7/FMDxTr7hfmPqSyoAWmFPIUCuAnwyKlctw==","shasum":"8cce465dd715faa7caa1e80d4c1ae6089613a155","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.18.tgz","fileCount":93,"unpackedSize":1803277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboa1CCRA9TVsSAnZWagAA4G0P/0qJuY2G0F7y8Z8Ry5Qc\n/bqiAUK0dn82v6wn2To4E5gZN9gthlDgVVmqGNoxzXJe+WXT4ZxFNjuL3RvF\nEtNgU1qmmQzYeB8m9ZgwIksCFMgQNcCBHF90UXs0pIDdYyFMDMVglVQTuF6k\n1lGkdS6/Av8LfYkUFiPHXWEC53OqoT4h5C6tD4zflk+LlnLsxGLzTOp74oEg\ndQa8rlIRTujpgZRQ4/WqrbrQW13vbGjUpGMxwsEZf+mQeZG4bVn89wr/Pp+X\ng1FN3KGxg0Xn1pWFZVMew+XHuf8DXBbxU1pNhRFxB0+6PTI5QvBeURAc+OjL\nuC7jDcLeWRwSL4cQSB7LUYQ/DpsEXKMP9egxSnO9uJIpekfxkZyauD+UvdDg\n/4bq41EuD7nT8+oNS45c65s+GLjUBmPGrtSRTcLkk8xyUGzu4+7FxMbvgSw6\nTBHLbZ5IT2B9MnU4/qipWsbNWKtg6q04JhqvEIG1UWDmxJ51fJFABr2c78yi\nGUwyFM5o1ftl6zd2TiMusUwFG8TNNS9pESmbTxHYt9sOsSeUMcD45jzQAWsn\n69zE7KhYmEsVY9dp6Qj21qK9T5msXH5oDRwTOJh9SVaYNkLwsyZY0uieO6q7\nkL8yFHK+L6PTcT6ywVaiSjXAKqzOw7X1NKxmlH0NLijLWV6NhkBlpIFFKOyL\nG6Z9\r\n=JBzn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/aCX5CeVOKy7RGnZPgWrDVoTAXXFR5yFMmg2L/McVJgIgVLroij8K6llOn7OsSCWmE06jv05ux2eHyu19v/LFMfc="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.18_1537322305707_0.37405189171700304"},"_hasShrinkwrap":false},"2.0.0-beta.19":{"name":"twitch-js","version":"2.0.0-beta.19","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"5d88cf741997b1e1d5f20024c5bb63d2b4206c44","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.19","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-coau33f7kmmK7liLtTuOWEzWTqZekpHSK6qbgzFYU6/7GYhI2h+1OZvKZEI7+CCoKZxRrzDDZHOtZ0VPPOp5qg==","shasum":"17a0e6913f47942e701566d38e072457c0776e44","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.19.tgz","fileCount":93,"unpackedSize":1803583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbov9DCRA9TVsSAnZWagAAgs0P/193Er28VGvt9ImJEl64\nr+hsmBQPCZGwqjWu3fBfUz67UQ8ElALBK5QbecSFCnAZaONFwiQ2huWpvzLW\neWJ3eFQXu28GSvhUtQnZiG6Sftu4squy9fMKhcjSVjdGAqeUW1gtytK8MAM7\n9REhn25vVX5i1xnf24ddTHRuiDWQW+5fPJgMWZgk0OKnX3hHn5jL06uex7X/\nbLBA8mctSeTUL7WgB/7lN9Muzam6btEoaYoAn9n+g1ir+PLtPk0LDvjPjfix\nDKh3RqN/eQ9KTpve2gBKXpWbzF28BCMwOb0EfdFHDRBUUZ7AyHqFFdQEhcZ/\n3YHtXYZ7cPAKmAQZOaSEo6D0XuYxS7QW4vxGgONVVn17luh+vgxbJX4KnY6T\n/Y7vFih8pqpDclLqllz5OywYG08flIBhSyqYzbNgJkl1M8FrydIfRexU3HtK\nWMZ9eOM31mJ7PCFP/juasZw9TqqEqVTGgNoiTeRTUcJSVQYLALOTVaAV+waa\n2SpmyYCVefjNxBXcMVpp2QHYupjLZQJyYNl1DDJ/IvLhJW/7qX7gNCVhGNv+\nPNCmK4h4Hki8c3nIgwLTyZPXIW8IQZgqQ3nEIdicBu8uE/CuyduQryqzmLPN\nYfcWOqHBjQ39dDpx0jQaNm4xcWzIBBXF1DeARLbrjLlFL8W4Og+JYU7RoLZL\n7Q45\r\n=uIoQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIASKD9jm8sD25QPZtHLUeWy2ig2fejJ/mk3VxuvrqZV5AiBoAhbKhIkS16dm0DoEjCr/8Jv0NSyvACURhh0d8+GXpA=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.19_1537408834730_0.718797334565249"},"_hasShrinkwrap":false},"2.0.0-beta.20":{"name":"twitch-js","version":"2.0.0-beta.20","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"38a45d632f9071774eadde8636bb39796223907d","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.20","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-OvzIGz6wrWQoiUx6R+szA7pqnu/6K1exyvr67vbUeuJ6Ou/h0heRgYIvmwkwM5C3OpTs/tMS3SLfOA/xBstR4w==","shasum":"d443c3c90ab3a6606712e14d6b396a8c090b281d","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.20.tgz","fileCount":94,"unpackedSize":1837875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtrIqCRA9TVsSAnZWagAAtycP/jTTmgQ+s431wVnJiLkC\nP6E21R2BtsuNPIAbOH3XX4vMOqebU6Trh5yqVYweUOKMuhscHlJ34GiN0k4l\nM2ADsI4i/nsNrH/dfLVlo/7UzD+nuH9Tu0ixyRofyLkQehkKvGVZ7yf0xhCJ\nOVdhxESfc9sYko4AwHrYs2G9lUAG1tGulDvu+0qPfIA9+4JxBrsIPXu9JalK\nGSTor5Hy7cQJn5ImLDZFWYp1fH/OWpRM2ml9URL7tYqCcshUI7MC+QDKM76Q\nCTlvjbFXM/klnYy9I3rBPwSElVEnItY9mqX9QoDmSIbtW9ZGhx6PZRifK0xr\n4b3Yrej1M3DwJVbNUSWTUEOztS8OX7CfJjOm9G8zkXe46k/HVIvfB6038F/n\nbCM3xahfkJGUeyKBPmsseoYM1DK8M8Tr3aAETLco47c/AJwEA07TzNN0YQ6t\nTWbae0iD3Qmc3BPTcD/25lHHGRkrecNxzWsbi6EqoAWH6oQ2xYk8jm4nupx5\n9Gw38FVte3DMh//OFsM/wnyq0M4Q9JHH9Z8pYxnmXFNVTvhxab3uYTOrHf6a\ntioJDxtIdeAZ4BCFiaFedvf2Y/Fl8wrvCVoeY/batRQ00uRe2AeuJYWcEFpC\nXCGSCCb89FR7+s8upm6GF/zjV0tg55NbVGJ3HPcz3oFFvcxflB0fcANSAwsm\nqfow\r\n=y7UQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwxBX9z0yAvJhxWf95xgvGya64hhgaPMIbOic3iFexvAiEAjowiPjsflonTuCB5yCXT7VfPW+Lplq+/orkatRdgXwQ="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.20_1538699817939_0.5044961271654671"},"_hasShrinkwrap":false},"2.0.0-beta.21":{"name":"twitch-js","version":"2.0.0-beta.21","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"5d4c345e328d520742aef597848bcaaee6a04112","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.21","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-PwRmAHiQySTYgwTqbA6Pz5lJnK6ULeYUhTCXk5z74NR28PBnV6yYFhmhuTV+0ia4UpvXWhYcWzexUIy//4kRFA==","shasum":"55f2916d202cf8b5b4a3446c1d59a3c62d363bb1","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.21.tgz","fileCount":94,"unpackedSize":1848824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvUjwCRA9TVsSAnZWagAAfPIP/i+TQqn9WmchS8cumGMz\n8TWti3F+86OU0ZoZhuhZUJhwNZu8QzaleXbzyK4RBWHg0TWxn4uz0fvC9Pcc\nUJh+TM1sbPQxjgL26N2fOJdp+Gd0GGdVpJ2mLJHAp2UpCJ7LEamJB6iUIn/n\n8iNVo87DQ+YBcp8GRQhBC+dvwYfoeoLomFnXeLOd16qdtKNl5Ea97y2xxXw+\nK0c+sDUpAxtgJ1tSnNuTyjdMrtnBxAfGH0qQ9qrDmvhHO85Hgg5pIht/9bMM\nCJRRxBi3I0ZxfM3ia7VbE7cIFfwY/851XlNW0FTlkDeA/wSvR5nYoF9osNtX\n9eGJFzoqkQ9VPvxyLyIzT8wCeTxxtgoGhiedQpfreBDU7vzvrbw5Sk/sADBa\noPnwKnB5Tmyqhjd/da4PrFa0RwAv3c7Z+5XV/JRzm1DihT4157ZlOSuQ4dKB\nV9UvCpYjZ2rJ3KSXLpZZejIqz2qVyRcT9fR/8ZHeI/l6MWjgef13LnxlGOxP\n5aVjJLvxofhFC8bLQlFajbrpYraYYZVc47EczOWYZvlz4HD0xErdGa7mJVbL\nwDV4VE11Xf2kfO0osiI407nGxid8wq/omEdkvo8pUlCP8BA/beKGxTDX90wO\nLSfgdXKCtIPVsyD7VXhw8G56MZWn5IOvkZ1g4Cj1bAiNaz6g7ldzQYuS3Hsx\n21wr\r\n=nzRh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaqUrQzKs2ZmyVbTP0jaCE5YAObWYmPoUM7x70q4TcRQIhAPb0wOLBNosLnSSCRJ9ZP80EmJtmU0OW5rkG4DiCIxf2"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.21_1539131631315_0.7805996007552594"},"_hasShrinkwrap":false},"2.0.0-beta.22":{"name":"twitch-js","version":"2.0.0-beta.22","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"853c74167109e0b5bdcd116826c211276f6d7666","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.22","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-k5NtkJn84xYoAibrlF3Sse0uL3ug6oGbn05ll6CUP8HpqfEiR1Vt+tcZAhGKXnhlrDP6oZGXb5FT41EcyxxiEw==","shasum":"9117a4b7fa1f09e4964084b53f68a1db66e98489","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.22.tgz","fileCount":94,"unpackedSize":1848336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbx939CRA9TVsSAnZWagAAeAAP/1ahbq3Ifj72nzJJK0Wr\n9aesWZ+8Ex0B7AYazDanjHlJ4Ni1LCLcEU9Y7hwkqzkfPD6oZdpVcRiZTswF\ndNZjs67s37J/VPPrxeB9PS5e1V/11WmCuKH9k3C0nSE5tJMvPUD5buIKrZfC\nC6LTsIcThHE+xtKGFildwKBbjXchdlI77TemB5BOff/Oys74T3V0TQGmjbQS\nxewXjDLgAEnuMoJQ0ZkcqOYULqYthnnlUFACTuDVUkgXsMlpgSnYOxwreTUW\n3lpwbHuzez/6HkcxJFaf5aV3AHIXL2OFxYQKRm8cB6JKq0bZCspgO1FKEKRk\ngYnKJJ+O3dd//WUYG9OWiMfBiIRtPtxcywOyI1IFsI2Fx//ybO00Qi5WXr8D\n5PcPtNK/0e6jZkBcq5O1mCG2hi62kVhvs6ylJBVZa3FK0Tjo8+/ASNE1VxJX\njL/3bzAdllYjdrkTuUE7v2u127EkfJhdUx66NVciOwEKfOyQ8unhJzQowc7b\nm6bRfKE7cPCSY8daydr3EuHsR7KxMIfZD6SSVGBRj9GKKUplp+tyUCRRgOND\nz/YwCpX9om7hGgvE6kCow0YPhka6/CNwtHnFLWxneqbgaC50GjgIfFre2YyR\nSL0/1V+K/JR+vCAspQo4bP+HNKuqauwzIS4kZdhZJ2szD30OtQ/nllALPlQY\nXe9r\r\n=E/EA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH7RKnEp2nVubPVySvmEuHEtkgAprg89sJFXUPBD/IEyAiEAtHtc+SJetTZsaUsXQUdVjuQddN6hHjwjnCSEY9n/g9Y="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.22_1539825148649_0.2766043265902749"},"_hasShrinkwrap":false},"1.2.15-pre.0":{"name":"twitch-js","version":"1.2.15-pre.0","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","types":"index.d.ts","runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"@types/request":"^2.47.1","@types/ws":"^5.1.2","babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"831f7b84c8a4320130fa7a8cf8399c271d0cdeff","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.15-pre.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-65bQpRTmsG5Hbh5A3mM8WdNseRvUfkPSKukJILU53TCpwkok7rxHzKTIwZHs+lSyXn4ESzEZat2KY3ITQA/WEw==","shasum":"739560a10e73bf7b6583af0d0414c16aba47e49c","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.15-pre.0.tgz","fileCount":50,"unpackedSize":1969532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1hL5CRA9TVsSAnZWagAAWfQP+QAv12wgi5borQph2Ysw\naUe0r1aAERqKVhxs8XahJ5WgW7GGzPcAnJtM3BdtOgnUQq/AXUnQlED54w6/\n0vpY08ir+cf8SO8accuESHZKJhixy/nZyiEmr1RhDKAxpZDvF4mJZTBVTWmX\npCaTZL5d0uPt/2JB2vuG6+9/dlktATmbWdZLNzNKjdcyCL0FrbmPqN49RjRM\nbnQC3Xxzh0hc1oN92rfZlbyENzuX/ulupHe28sMUbOfNckvUOVtGIkHZE/gs\nGah3IbM/KQjnxbQkHok4V1dFV8RllrRSmauiEWzZiw44ADki2u+Fhq6wvZOd\nAcrjCvPn5g6Wi5gJ9G2I3c07hpBZzemeHpPPmnpw5pqKXaBbTzQ4i03WM0LJ\nNh0KwtCBi0OXIc805uyn7IL8tavZ/JzvdabS5U1kbfhivUx2yF14gb4QLUM6\no6/8jNOgBpmZbJDqgl5V/2gNQUKZrAVeyxr7ddn7MS+mUX3HVDl+TO8CD/J3\ngbntLyuButUXy/bk4COZTKS45Qc5P4TIoO9xiHLwvIIQgcCN7mTePlVYlAJG\n3cctuueZxG2anBStcxdlZf22sHzatYHL46slq0HHP//rshwu1HtklhE54c7h\nG7x4hNzvAAobvthKHUoR6OLvF7O9dCvF82B6CWzhZSziElyl9ad+N+XOo0qJ\nAiRb\r\n=esos\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVUMXAsZc23Xe0nfx4DAQRsLu0QszRE5QcX54oQt+raAIhAN36rRCZ3Us7IlRP4Oy1mOdPCIstk63qFyZowYtf6Q0e"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.15-pre.0_1540756216682_0.12940918319189954"},"_hasShrinkwrap":false},"2.0.0-beta.23":{"name":"twitch-js","version":"2.0.0-beta.23","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"8563d3b684b296d592aa3c7064ad3f44e0a01225","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.23","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-8FBgjMO8XB+n6j6qMEPvZOHZZRV/qRtLH5sNcxKd1AM8c2HPcbPY6rdyk6VLU0UaSq7Etn/cZW7y8TS6xIT11Q==","shasum":"409e8591a2b1d229ee1beebcaf371c8cd138c4bd","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.23.tgz","fileCount":94,"unpackedSize":1848948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1wMbCRA9TVsSAnZWagAAxWgP/0ADl2IBJaGWM20MaK9K\nQJXjETZNXnbvAEY/6P2LpoWLfpfGOMfnvBl6hRgwT8eM6uPWy573n3w75n1P\nUcGB8PX405SdxtoLiyn+cZCa/JABcFxBmxZCYjuVcz1gnGI4Vl5nFaS+nBgk\nL2FUR/E02NpWWqZgOhRoCNPFRKTLBOJeP/pB8jocUnL03W4znhv8ng7elP7d\nhT8vGv0YGEcOFk2faDM/o+qCefGw/OCcKKFTABkdPwvzwYB4wx6eSScT9FV/\nDsiwGAd/Ok2yQWOKMuP3TL3z+g7HVIbz50ckjtg68FzQaITVO3CDK5r9ASWK\nNiFXfwMunDzI3SD4Cw0lDzmHTZ9VUSJUtfvasi5eaI+OK68IEOtgCp794I/m\n+juk7oOctMrz80pwTW/oS8vD9NdJMluLuYu8Y5viPjt3tnUio1QxLgMHV+Hj\nvEK57fqg9QI1TCh8SNdQUR3sOv5NxujywEnG11idMAsTwrNBP2lyxrt+tn0n\nNcgLruXmQ0aMQbc/NGbOF5TalG5HRkafvv0nTGxETdtoF3GDM/hzsZoB3bpm\nOIHTLJZp/umK/Xi1UUyvNRaKG7MZowW2VWv7IBWOGxLILeoP42LenW68INBo\n5z7JN2YNwrjl8Xhc8Ux828aJhyAc+r+LT7mbVeOndYJSaCA2tQFtKiFLWUdy\nXmsK\r\n=QrvP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkw6qsLsFmU+eooboHGaDH0tk2vZb8vQ+FOyCP53s1gwIhAOzX8bVWInFl15oUN7otGtsTLpiBfBjTA5uYy0PFBllx"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.23_1540817690284_0.5156613832928585"},"_hasShrinkwrap":false},"1.2.15":{"name":"twitch-js","version":"1.2.15","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","types":"index.d.ts","runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"@types/request":"^2.47.1","@types/ws":"^5.1.2","babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"47de9702671682b921b0815df85334bc91f519eb","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.15","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-ULYUurOVYsklMty5eJb7QJEw/wgPXuLXobUzDIENgr+XLtcw6umjvV3m+v9Yj8KKxCud0+FZL+XFk2uFJys8qw==","shasum":"6a084d182644e9749327936f2b72e81bb6cba430","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.15.tgz","fileCount":50,"unpackedSize":1969526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1z1UCRA9TVsSAnZWagAAe1kP+QBdZOlP+1HHS+jm0/CC\nbEvpsF93L3a76Y3N4Gqj5i+Q15PAEmSmvBs6zw1CQvY4K2nxJeWtmkmbHb1+\nhZ8Lv4mo80qBbd6XpK5b8zIIo7a3OyOcCA5QyqJMRllFcDKE9gbKGdi0btku\nyD+BPpYW0udMY5tbQ4JA7lI0znEw0QNiKXV7OJZartDV13NpbEsTNLUvGriH\nxbgln5WZY2ax//EiXGAiy+9cAsHsPQ3yAIrkZ9nD/0xKDTW5G8xHfPAKoOFh\nUusoq1yrDLWCWNrN/fBI6Rz6oAukMKQHC+MPMiSfBPQlRh9+NKrUG0jOTI65\nuiYa1532tj9dPI/IH+TVWPngPhzg2rvkVxJWuudH6pc/2mBuXcdRqDuN1HXx\niCyupHJFxl50qO2rigloulXbZqtSzt893oZj9MF49T4DqOSpUWASRYVyS9yH\n9EMUYVmyNlL7bqcgjreML3JC9Y4ttJ6CYZl7QDTnRulqgsmHmIMOMaijXd7W\n7zBgpZlb8+jhUE/DPuFwrKcqcNdz89EFEo6kUvsO204UQLdo/ZfGw/iNg75D\nUD61JZRftPFDWtRIzB0buk1qg0iHAN1kwLxyFKsim9/Gi3dEBoW9lXBjxoDQ\ndVU3Q4OcJTd0bkWve2saJjeD/eB/+PCCUWCjjCoCBXPOWFnIFPjozYb0pvux\n3wSl\r\n=7m1x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFsUw5EW7P8Fkmu52A79KvA3S5m/L9FOVBeAnv5o0D2AIhAKg0Wa/Y6+bBhUNrS16NMGdVizKBfRUuAmprCtQmMypM"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.15_1540832595297_0.8699506869547671"},"_hasShrinkwrap":false,"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"2.0.0-beta.24":{"name":"twitch-js","version":"2.0.0-beta.24","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-apis.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"yarn docs:build && git add \"*.md\" && lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.2.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","nodemon":"^1.17.5","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.6.1","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"]},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"81958b8815d07c69aa4f0bf941cdd5dd77cc5381","readme":"# [TwitchJS](https://twitch-apis.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-apis/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-apis/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-apis/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-apis/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-apis/twitch-js/branch/next)\n[![Gitter](https://img.shields.io/gitter/room/twitch-apis/twitch-js.svg?longCache=true&style=flat-square)](https://gitter.im/twitch-apis/twitch-js)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-apis/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-apis/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-apis/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.24","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-dJOU5C5yOaJ/BcUHIkAXNht0n92cZSErtIkIgvHQlsx+dFpu8yo6y9kRU3Ic4pSm16izOatEbMLH//rXABWGNg==","shasum":"b3543cfde7111303e4a7d4a145b7af5c54a28098","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.24.tgz","fileCount":94,"unpackedSize":1854168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb73guCRA9TVsSAnZWagAAnvMP/iynzZtEGAvWDW69JpJY\nIg9lncsnVIwI/2ollO2JOc0AXPlCECifVcrw3n4cxLW4tbpWDfEnUJLdhBr+\nTMwGhb7XNqerUUMstO2Gf7sJ3XagQyeG9bbev2QCQZP60VMQcUnkgD1M8u74\njEq7cRw5HjB78aLf33Hf9+dJKltZJG4fVDVXmdol2Fa+/RMXWI8+i5RothiJ\nhJA2EJkPHzXk0u0Q915vO2nGA3ouUUIuZrOmGpvd8NzgMhaLe8cMxElKQHph\n8FLctEfj/VSgu8ajvdL71FwRiqFynWFEZZqJ77KmMcNQ2yQ2JpJRWSO6hGYB\n3Ax3HuAVuYqZh/KENNQP9tds+prTVlFDEJnNnSMSCtjbcW0tcayN6Wyv6BZh\n+smNOS2wlfAXyoN606BwJwboAoE3mm28nQ38Obk31Zd2jEsD6dYQQDliWgvG\n1OlBjOmQvmmsWQHJODf26YEjf6DzoeFj1wOVpDQ4oVwia3fXzuMQa4E2lz0e\nN+vp2aUIdPhjc74W89nwy9BLG5uBBzVDSfscLGO88Q4YAT+9zhWWWGXeodEK\nC/RcjO2PnNuL+jTRUhLd85U7s3teUV6ett1C1KdV7kjgNMQBZ6wL3l5IpzWm\n7hYSiAVRCPeMsrc7BE69z2w3SEwjvEpbaC9DBmxVfQxPku28YhHvRKRtjjXI\n/FVx\r\n=gQoh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGu98R5NGcAhKI+Q6fnokWrKb44TRa3L9EXCOGpJWDZvAiEAqo02gHOEUm/fYXEBu6auLsv4CDT5TpdOJWNIgj8MfYk="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.24_1542420525276_0.2181997152564361"},"_hasShrinkwrap":false},"1.2.16-pre.0":{"name":"twitch-js","version":"1.2.16-pre.0","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","types":"index.d.ts","runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"@types/request":"^2.47.1","@types/ws":"^5.1.2","babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"074db26fa3cb1fec412c0c4dcc455dcdfc663a20","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.16-pre.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-rJu7PsCpJKd/X04Nb5Xc2J2wCb/Sl72yITKXUl7fGE3QeQ8x5orfM03vzB3QF1p34nHO7Q4j+jv7feePxrifaw==","shasum":"6c3c396be97cc71b80c9e697cd624378a9555469","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.16-pre.0.tgz","fileCount":50,"unpackedSize":1969468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8B6hCRA9TVsSAnZWagAAG7EP/2IgFsGfC04CQ3KDRG89\nIE7nf5rxshWOZfH9IIoClRiAelzuQDYjkq77AyLY5vFIDaNQOkCOMhj3Qk7V\nQzNzVP+vOe+vZhNCIcrYYLvQg4sr7+FNasL7MKwH0qWzg0VGWQRqTkG+omm7\nCfK1askSKOLUGuBovUOCp9/UUevzzB6nSFLbWDvLJPsLMQgI3EnbHLI8OtKv\nw7cVj9jz+fRl/liqmvnXW3Rbtj1qwu/W6aVnT8eGKcsbx0ggRFNjU2dBbwCV\nh/jxxTZDI0fC8iic9pPZaHBu81mM0OR5wkJ08Ob2woQ4pciai41nLLt/7194\nvrWYYzsUHyV3X3SVoNX4+wtUHA07dJsURYW5fb7tPhqjto0liz5LhTS996tQ\nEAyYMcwE1ygSdRnKT6JfPreKru8kCsTgtcgnCDfOvSivyNbL5YqMMb0K5o7h\n012at0gNAj1/go/se7OTLZeGHM23iozAdEnnl0qIow7zTmPc9UpynNE0KpNO\nc9jiZpLNaye4hYWn10UqlKB1Y7ZvxJ7SaEgjS/WoSzqQbzbZEKC7W4/anC5P\nCkDbzSM0cjp0Qd7XjGVNqHGu/pUnbLur85i8vnbOZefBO2bH5MgYFXEA+0ut\n4IHAFz34TfpEzU13uyiwqvaBISuJXKoUlNSbyghntFOuFjlmQ/x5cVQQi33s\njvww\r\n=Rhzi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDAn6Fm+m0jsBVtSDmA7wnG5YxaUTly9EvZHj9JQ8HKAIhAKOPxhWHba7LPmU+6O5INSkm6k7iPIkaBsQFFLJsdRhw"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.16-pre.0_1542463136611_0.29959960706670974"},"_hasShrinkwrap":false},"1.2.16":{"name":"twitch-js","version":"1.2.16","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","types":"index.d.ts","runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5"},"devDependencies":{"@types/request":"^2.47.1","@types/ws":"^5.1.2","babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"198427f6a53cc37db46162511090c293af45b102","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.16","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-Rr1PBQRMRtmzmVkpx9XZ8Td9gnUFrXtHTE8UOzTLR0aHSG2h7Ynp4eXAVvjteh/e4u7GPeN15uST8++1XcbsOg==","shasum":"935f457edd3f8031a22e2f56812d83bb3787b1cb","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.16.tgz","fileCount":50,"unpackedSize":1969462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8UIiCRA9TVsSAnZWagAAmA8QAJ9aSajqHSogKyPVx6y2\nL7FQn4BKgRi0Wy7FY1am4PFlj2dABO5Rn7cT+CQZjLhfHAWPa+pf8YFSqmXN\nGLD/bDg8jpluIBc1o9D+1Jloo1jmq5ZNYpN3PkmJC3BeLhYTPQtYQ8V1j2W2\nNJNLhmcLv07TPG12mxGLM21R4hU2i2tg5GD45vTzd2c5TvcnU0cezi7DG2kr\nuc8lYyym9G+pUo7DRYpii5VhCLQRFCoLQg2tXXg0BpfbqFCFuWzhZ/YCq0XH\nTJoT3LMGrVkZLij4fHacF4vQqFeGYeKaodXzgNTEmPOWnKGZGknp6QNMmOiI\nYUBtIyCkq2E7gJNqM8E0Wd/CwU/CU6BYvPQLyIVFZtqvSBT0L+K/K/KkTuCJ\nhiduwCodzE8Hmlang61sqVLRJ8GdnqqtLwyn/gwCltnOUC0QepCQZfl2pihZ\nilwHN6T/2DcOmQAd5IwWJUHBKlYsTNOAHMY0DTHDEJ9QkW+Ca+QV6JrfrLgi\nTGcCC4IWsZEu8zBGrJusx4PuK4vMJWkAvDtCUITLpF0qImBHHnPoRjdepApt\no/RgV+dvuHpFGauhBSKNCw9fBIlWtWAbeq04RJs+BKXtrUJKIBWcEHQlq/5z\nVTlz4PQhKp20Y0xBxgYVr55U4vd4qi0Ftdod2V3/qKCp4J9NI3/aGMnFyrTQ\nsSE/\r\n=3SLZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyIRJ13oShU/+CfHyTykSWYYY3D0X6wiFlPm5YfoNtvQIhAJiZZJvIxsSlgTjncmOMyU/sxW7+XiexjrEdiF23lJ1h"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.16_1542537761673_0.9620851038327567"},"_hasShrinkwrap":false,"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"1.2.17-pre.0":{"name":"twitch-js","version":"1.2.17-pre.0","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","types":"index.d.ts","runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5","@types/request":"^2.47.1","@types/ws":"^5.1.2"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"9f0c6277ca95f44e08b8425c224d1970c50b7150","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.17-pre.0","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-h0lGNRy+GLtnrCekp44NC7jzHs39ezaF83CIl+N9kyd+vBZkZH8BHNgLTIf++MwFx3E6siqr0IBbCnhgIUITeQ==","shasum":"09c9cd6292c165ed18e0cefae66a75c581ca54a3","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.17-pre.0.tgz","fileCount":50,"unpackedSize":1969468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8YCVCRA9TVsSAnZWagAAO48P/1TOm99swDVYwAsgpa1i\njMcGGYlNHaqE8168IbmYrVxB0UkvKBIdEBTObANcbqKf8ye4980F5u4yKmST\nioYKf/OysXe6bVle8EHeJAtbr3NmBRVwn4KinRq/y4gmORTnMBEfIJ/3k8Dz\nuJLP0F/oRx/GXu4o3ip/w9e0FokVeMuN7vqiau3guvCdLXo5g7r3VzOdqRSx\nESavv59/tk97xintblkHg/8I9X+Urkj3IvqQnGQ4YOHh1ejlXmG3IL9aTFbC\nQBSBeYVDb5eYQlaJ9M+fOpFfTIA8X04GT1Ml5IxMeqN1+fcwneCJ9DCfwb2W\notb0CTcZM6rfzpt6YkiQ4CqWgssmidJbT9dfEjsYceziOKTfMzKBs2NQV22F\nYKLvhP7iHhyKVYEKr6xXgonAT4RWrRodlIyfVR7bWyNwA69WR0rfjC9Rnu/1\ny62CUdJhTcY6DC9cRCSeRM6581gM9f9QCHVOFQtnS9yguhGg6oF6zrB3ILEY\nhdlG2HV1Pbc326AEPuM31uHldHghEwq7EKWcg6djaKBO2L8fNjCsmMBdL55O\nVcfnsZ6oYLWW8NAzqj9rH4PWubsXMA4/zqCMp14ZVDUqOkB9ObkpbOwRKPFC\nNgRbC7ygBExOMg7lWoevN5T8GYf0Ea8E0kRWy7cKMymt6ovwXsW5B+akUSUH\n+64Q\r\n=/6RL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7vF5HQM7pUqONtVGhrESxlWKnBxNSIQDtnKOreNKQVAIhAJBp2L59daFXYQbA0bnB8heOXU4rneZflOuRNSs3RkxG"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.17-pre.0_1542553749143_0.3194705480838014"},"_hasShrinkwrap":false},"1.2.17":{"name":"twitch-js","version":"1.2.17","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Schmoopiie"},"keywords":["tmi","twitch","twitch.tv","stream","broadcast","message","messaging","interface","subscriber","websocket","ws","bot","robot"],"repository":{"type":"git","url":"git://github.com/twitch-apis/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-apis/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.3.2"},"main":"lib/index.js","types":"index.d.ts","runkitExampleFilename":"examples/runkit.js","scripts":{"lint":"eslint \"{examples,src,test}/**/*.js\"","clean":"rimraf lib dist","test":"mocha --compilers js:babel-core/register --reporter spec --require babel-polyfill --require should test","jest":"jest","coverage":"nyc report --reporter=text","test:coverage":"nyc npm run test","coveralls":"nyc report --reporter=text-lcov | coveralls","precommit":"lint-staged","prettier":"prettier --write \"{.github,examples,src,test}/**/*.{js,md}\"","prepublish":"npm run build","prebuild":"npm run clean","build:cjs":"babel src --out-dir lib --source-maps  --ignore tests,__tests__","build:umd:dev":"webpack","build:umd:prod":"cross-env NODE_ENV=PRODUCTION webpack","build":"run-p build:**"},"dependencies":{"babel-runtime":"^6.26.0","lodash":"4.17.5","node-fetch":"^1.7.3","validator":"9.4.1","whatwg-fetch":"^2.0.3","ws":"1.1.5","@types/request":"^2.47.1","@types/ws":"^5.1.2"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.0","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-plugin-lodash":"^3.3.2","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-3":"^6.24.1","babelify":"^8.0.0","browserify":"^14.5.0","compression-webpack-plugin":"^1.1.3","coveralls":"^3.0.0","cross-env":"5.1.1","eslint":"4.13.1","eslint-config-airbnb-base":"12.1.0","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.6.2","fetch-mock":"^6.0.0-beta.7","hook-std":"0.2.0","husky":"^0.14.3","jest":"^22.0.6","lint-staged":"^6.0.1","lodash-webpack-plugin":"^0.11.4","mocha":"2.2.5","npm-run-all":"4.1.2","nyc":"^11.3.0","prettier":"^1.10.2","regenerator-runtime":"^0.11.1","rimraf":"2.5.2","semver":"^5.5.0","should":"7.0.4","webpack":"3.10.0"},"browser":{"ws":false,"node-fetch":"./src/shims/fetch.js"},"gitHead":"2e73a6656337542e1cb052a16685b4daa8072fde","homepage":"https://github.com/twitch-apis/twitch-js#readme","_id":"twitch-js@1.2.17","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-lfxSnc+2OVDOhfgG6EbW4ynBrVv9zLDfGrC005OugOl76wQO/6003A+fpNrVTaZK5swbsIi4GlGSNumGp/6ZAA==","shasum":"50b1d6fe5551870af067849361aec45a5ff5fd19","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-1.2.17.tgz","fileCount":50,"unpackedSize":1969462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8YyDCRA9TVsSAnZWagAAeXgQAJVwnovEZg5jeHshwR6s\nH8nP5Fwc+XTChq94LV8hQkkSX9odj6APZAz7JCmrpmJhs0gfr5KyfSeyQnRt\nUPo3Qnk+NFc3xNEQ4ECpToDCdVdgjEdQLdw4nJ0aIAvY8+uGZd0ST5T13YvY\nPZn33qHhTWGDCy+Kbh0BlDy3L1MsZAZ4hS9WshOAiLhAR97egUY5Jo+oGP0p\nuVWIGyA4zpPJal43f3LdIwH90AhETO7fLmTeSeU9tKtdQKHIAqGHCilt6g2x\nXpAMR6ITRDfPQamn/KfsHhaAxgg0P0msnuwrwRQ3fadIftecyW8QR5qLxDba\nzKftL7BXp0rYec1kXLffrnn2syTN2pZcCTllvD1wy2Y1UY9gmwLNc3cJBwvZ\n8Y4atYGBOcSsY6JyzizsiC6Qy3OhLJrLgz0i7+BSHNRle+Mgnc2Ppq2p1Gva\nBbKHEY3nMa6KnUueya/TXC4sI8riHS1pxZPO0FGLF+wTIOSRVdkAH/oSdGsl\ndxF5/a4n4SXPiD015X2OqW4PtKNdaRJOBpy0YwOYqWsiNjRfRNls+hAdc2Lj\nYLlbViCEDTSLX+bA/dIyyPxGKSv3U3BS369MQVnfvwTr19zTFQAgymZvbQ9t\n7FJaenGewQQd1w7zRo1SxH/cAwgmpIlaT5ntF7aWc8WefrUn3+iLM3xjIJVI\nXl8R\r\n=AqQE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwu7xegYviSrV1TA0ts/Sn0BlRCwiA+XK1lEYcBuvV0AIgUH4VVSIu7k9tCIJnU/Dn/EpsttujgdZQThjitV61eBg="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_1.2.17_1542556803076_0.8981655264892201"},"_hasShrinkwrap":false,"deprecated":"Please migrate to v2 or migrate back to tmi.js."},"2.0.0-beta.25":{"name":"twitch-js","version":"2.0.0-beta.25","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-devs.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-devs/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-devs/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prepublish":"yarn build","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","start:example":"nodemon examples/runkit.js","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","consola":"^2.3.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","dotenv":"^6.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.5.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","mkdirp":"^0.5.1","nodemon":"^1.18.6","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.10.0","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2}},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"setupFiles":["<rootDir>/jest.setup.js"],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"0ce751b9291368c110131a9c965c91491aa227f1","readme":"# [TwitchJS](https://twitch-devs.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-devs/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-devs/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-devs/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-devs/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-devs/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-devs/twitch-js/branch/next)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-devs/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-devs/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-devs/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.25","_npmVersion":"6.4.1","_nodeVersion":"10.13.0","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-i0iqeLh1JMaoqZ+mSP0PpUt+udFilpz56TaghR+jVDhtENxuk6cjx9GbPfpUxPWyBOomn12rtTxYOveHYDR+Kg==","shasum":"8eb3fa620502f5d07b0ef08ce432a97190c3c071","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.25.tgz","fileCount":97,"unpackedSize":1980151,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/MPRCRA9TVsSAnZWagAAxxYP/R5iKPsREb5FaHKEKmVp\nH+mKez9D0m93N4Q1jDfrtWN1WySBHPwNjd/j/kT5dbEGE7VSiE/bmLKMEYRZ\nSp60ovLz9iT+/27Vxcv4J3iJpntR6DOXfhHrAUKL1ViG7aWCuhvU3DRpfSK4\nf0MPXkZ/v3/2GY8wSPqsguO1y1qLvadNf5Dkpkt7i6l82KrwGV493HG9S8px\nY38Zeqyln7LncVkteaZq8mQcsMGSm3AOgyjPJcO5DavTwgSo52VVKKaR4OeQ\np8NX1FfQ55ANCjX9KKAj1Gt8ZkBiUtkdgOGzcvmXTuvneAuOLchs7emXWhjD\nxcTYyM04lPTShRcldNND7nmyCZZVvQpSVLYK8muQqrHjO3vNFskXlwMXTXNE\nwnqhygKQWkSScXwoh4w8sG8/f0wH+A1mmHxAAputdo6Q03uf8E5CDubXoyb+\nsCbxZfOT6lZzJbAxekPfzw3Dal1JagYmg0H85HzdgplC9L4ysR5tv5gjK/Fj\nIBuohNG45tIT/Ws9E60wymoQthrUjJtk7bKZd3xigVwnP/exou3crP55kqyU\nAbnVLfObHHUw8jDifDkRcdd7l6/jBr34VTwVUj0WiycUzB6yniIImOGdg7Rt\nz/Jo+Oi5HOEuyrkphJNT8YIzDf0G6EE85NZ+hPkefWwbikoPzfuoDyKPMHOS\ntdGL\r\n=kX//\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrGhdjevrfFKLLu4PD25Al2R1XPkCkpV7ZAPXEdIWOegIgLVt7Xek5Pso61+TvAkVks5ktm5Rn/9vAJeVZBX1/TgM="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.25_1543291855864_0.6120371406913168"},"_hasShrinkwrap":false},"2.0.0-beta.26":{"name":"twitch-js","version":"2.0.0-beta.26","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-devs.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-devs/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-devs/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","start:example":"nodemon examples/runkit.js","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","consola":"^2.3.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","dotenv":"^6.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.5.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","mkdirp":"^0.5.1","nodemon":"^1.18.6","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.10.0","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"jest/no-disabled-tests":2}},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"setupFiles":["<rootDir>/jest.setup.js"],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"48fbc2ae2c9e06534a6d6364fc83e18506206864","readme":"# [TwitchJS](https://twitch-devs.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-devs/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-devs/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-devs/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-devs/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-devs/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-devs/twitch-js/branch/next)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-devs/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-devs/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-devs/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.26","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-nOKBEfj67Z9zbxizBWB5sIWwkrmuSznJcti9hnOhpI9Rqtj6HOTvWD1YpHf+FUeRzVjFKKl7u8dPS8t3IkDxag==","shasum":"fa9b333c4ee9dd18b6f443ad0db0d3a6dcfd9cc7","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.26.tgz","fileCount":109,"unpackedSize":2002633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcAxy1CRA9TVsSAnZWagAA7e4QAJTVjA011vAyjzRr88NU\nQaXH0KW4bbzsjKKbmUU/hVWY3CI3zN+JzJfW8pGE5DpQlP/LA1U5oE0PqIeD\n5Xhesp+DrNQAVHOlnhHh7aXVY1XHlkjtlTidqpKuL9TBnAEwVK9zajgqr6I6\nOWTVcQgBXYycR7eqkpnd85p0sq8OmIK5vEAN6X/cvYAwTuHxBwEKEEdpWw76\n0tM4xJWsYmx//hauuejcNi42NdUGfDxF/0Q7ALHzJptRjDdZbiNk56Cc6C36\nc7cxpXjnWKAZpEJYwPsYPI8F+W9SpfAufs/wyGRvkJq5Y2Ji+O+2C2Vqg4ou\nmRwqVq6kO/VsxPh7D6HO50yVONwbGmnMUlW9u9qTRR2r53gw8YcDP+G2jZ/x\nF4yHA+Q0I6saHwwjC0IJnNxtryOsEu9sksADeupwA2N6DJenBV+6V8Acp4dh\nlpVwQJiVMHvReKCJVagf+PUND2e0u7gdT2VdAYcddIQVTTUPEUQ4MZuqcGbU\nCXK7xGKdkhqh0cx+Sttd9+uDqrv/cjgxR6o9vFORsGS6QdP1ruyxNT4OZvxf\nmOMxpcapPNBc3BOe1PCnmTqmKNAxDad44F5X5c4RjHWFaXTSFIAuBaE8TS4i\ncytju8SsFWQ7QCs6GE0Qvh5FDQKqRmgwERs+3x05SNBXkFsn9Vl0MOknwMum\nsmB2\r\n=ZhYp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA+gvMNB1CAsJeTQk1Kwu6TXayhRJG1hFoCoFXM6CuT/AiEAuazDsvB2ci7onptG5b59lUmqPtkh/kpEaKyRaFaQqbM="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.26_1543707828350_0.23405182220647758"},"_hasShrinkwrap":false},"2.0.0-beta.27":{"name":"twitch-js","version":"2.0.0-beta.27","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-devs.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-devs/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-devs/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","start:example":"nodemon examples/runkit.js","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","consola":"^2.3.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","dotenv":"^6.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.5.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","mkdirp":"^0.5.1","nodemon":"^1.18.6","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.10.0","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"jest/no-disabled-tests":2}},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"setupFiles":["<rootDir>/jest.setup.js"],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"cfd2ba2e0672c2ae1abff27ea0069a40590ebad3","readme":"# [TwitchJS](https://twitch-devs.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-devs/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-devs/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-devs/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-devs/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-devs/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-devs/twitch-js/branch/next)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-devs/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-devs/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-devs/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.27","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-wIqsCPxET34CN84ohNSMHfdMnJYv5SrQBIned6YkI9L52hKzaQ6lI60BI7dtwJLbueyh3IcnriO2HpHzVCg15w==","shasum":"e8b8c29a346238311f27090144f2462bd874efa2","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.27.tgz","fileCount":109,"unpackedSize":1993398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBhr0CRA9TVsSAnZWagAAXt4P/2Jajw65BAHsb2bRUh26\naAvn4TuOBF3RD0fXm4jFEdQuvbzIqPh8Ltr98LOpqNz01WK70cFBSIwBLsQq\nEzOBQkp8Q44yYSYKN0tUKqaOyopKQAK9ksonXTi8aw5hgj4PtlwbL4WgYagf\n6ZA68Z1Jn130K6EB698lOkvPu7Y7udVqkebYeSHUsSoUHLo3L9jR2gek4wmb\nUaWhMjqJGpnAdHV8V0dGomBFXJWVcCY0SebWrXsga8eaerXdxOQzA0VDX9Gg\ntFaHy4fV7JrmuwWSqqfJQKll4kKoqwZmOeM6SAp0puMbSJJKpYp3rLar6wid\n3NWuZxaY9wJDadKNA+ckW9dU6ojOL5S4plbs4u5pJ9Kz+u47+5ThsTWVqxqJ\ncAKH2Da9Ohnv9kZuFzos8WGHlruIBT4tRzt8FgJ1gdPaUICmSev7Zzl1HRmv\nChmzPN41eGu3CAEZYTtrxoaUU5rAgbggao9vAMgTlCMtWopQBllDIJWpG3L2\nb3kPdadNiR2YUBCVAuzL0QRWKtbrnAfA4qG2n0gsumlpR5F/4ecrxPkVTnf7\nzxXqgqb046K+mKdvyu/zoETbrPLvehToe0weqqO/aIx/MQO4dIIpda1TNfqC\nPtEoA5WR8Ki1WfxuArWdDbqkfxSBzNuj0ROvVtorye/FENGpc8E691Uxp58I\n0hNB\r\n=/Rns\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyBURWNUuWKyGAEFgGY9i7FbxYsh6JgkKP620wy6ysiAiEA9AYJL50vaNam7RLQWxcX6qekrP7qUzh6Q9M9VKjNO5g="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.27_1543903988064_0.500201644823135"},"_hasShrinkwrap":false},"2.0.0-beta.28":{"name":"twitch-js","version":"2.0.0-beta.28","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-devs.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-devs/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-devs/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","start:example":"nodemon examples/runkit.js","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/jsdoc2md/generateDocs.js","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","consola":"^2.3.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","dotenv":"^6.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.5.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","mkdirp":"^0.5.1","nodemon":"^1.18.6","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.10.0","rimraf":"^2.6.2","semver":"^5.5.0","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"jest/no-disabled-tests":2}},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"setupFiles":["<rootDir>/jest.setup.js"],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"e535a83f93ba57bcaa2dd1729b7ee03d64050be7","readme":"# [TwitchJS](https://twitch-devs.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-devs/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-devs/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-devs/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-devs/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-devs/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-devs/twitch-js/branch/next)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-devs/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-devs/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-devs/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.28","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-0Jjm1Rv5oCRQyzAoIKIc6CjqiAECPrukkhNGlDoY0fvzas3pgZ4tkzFkBq6oAIvzHkz2Cj3fp3DCSG+ky/ojqA==","shasum":"dec590668c50f913b31253c8e94a1651ce3bc6e6","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.28.tgz","fileCount":109,"unpackedSize":2006697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcBxNdCRA9TVsSAnZWagAA604P/jrOQLWG8B0dg/v3MHpW\n/FGhn4YDAVvXdasG1SbGPD1t0r3cUerR8xKVbnDiX2j0uZF6sR/WuPX5iVYs\nLFRKp9BMREf9VzIi7eXCUywBZUc0r1tiy7xCllSSWY4NewUMfRiHQPX+rrHT\nTn2CA1nSduoMRgJT9ExRlupxqXSgr6rYCoTp5R1aBlrxt1H1BI0aCvYDWXW0\nIEIIf0FUmEehEzpnEylPC0ngujUeslkwt5rmoluJFiVqlXKTUp+HoI2HpkkY\nfIsTm6iSY0CEG2rnlD2NaWN7yadhtB6Ee4q1JdnOztY0myhfDO9L1MiJ9RJR\n3dTfHJPftBlwHj2MCP/i0gberHKNY0dSIoXR+03llRgVatv8BW6q7kY5xR/2\nduSXVyHwNW43BDD5YcYt0ln0yXA0P1909igsKOHfUdmSDLUFdvbFPT6Wko+t\nqPBt/J20H93mTIgiEOshSXXxWHfHEOWhmhewV30bR02HJSvNfIocqJoY/aF8\nr1lCOqQAmJAXXVX3alm6rnkum2U9yiHxTlNL7tKmiUnfizvGY6hPkFRnW7Vu\noEUt4uxv+jJbhwBqUQv54dppuYmNijExC0uTkT+Qoz30r0SGF7mA9RLR2oAR\np/VW3+6UvG13LD4w7qNkUgVjThdN8/MwuN+aYHOf9GqIS4XD8flRV4wXIwG9\ntW/U\r\n=2SG8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHJqKhB/Zbt+VqPJyeqgro/B1yCALkMxZY5DmAlRYv5wIhANnXqsQLAwQP5ygotovzIE3PYuCc5YwqBMw8AkZ9y6nz"}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.28_1543967580989_0.8311140437234279"},"_hasShrinkwrap":false},"2.0.0-beta.29":{"name":"twitch-js","version":"2.0.0-beta.29","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-devs.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-devs/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-devs/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","types":"lib/types.d.ts","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --write \"**/*.{js,md}\"","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build:types":"jsdoc --recurse --configure scripts/generateDeclaration/config.json","build":"run-p build:**","start:example":"nodemon examples/runkit.js","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/generateDocs","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","consola":"^2.3.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","dotenv":"^6.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^0.14.3","jest":"^23.3.0","jest-puppeteer":"^3.5.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","mkdirp":"^0.5.1","nodemon":"^1.18.6","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.10.0","rimraf":"^2.6.2","semver":"^5.5.0","tsd-jsdoc":"^1.0.1","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"jest/no-disabled-tests":2}},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"setupFiles":["<rootDir>/jest.setup.js"],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"6483aef3c9fcbdb15392d5cff94976f0b47f9656","readme":"# [TwitchJS](https://twitch-devs.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-devs/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-devs/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-devs/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-devs/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-devs/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-devs/twitch-js/branch/next)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-devs/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-devs/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-devs/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.29","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-0OQ2P9wCTqtCrlq5bptj+789AmtuRCaJRPKPsVHU4S4SYxo6eQTbWIzk6JaAIMkeA38C5RjBBbCi1ct/p2TU/A==","shasum":"2ad320e6dc47505e59473aed9aeb344d6ab9566c","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.29.tgz","fileCount":110,"unpackedSize":2036626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcDbBJCRA9TVsSAnZWagAANNQP/379qUMLHrPB+jZzhegy\nRouWGJUrFWo1vluEBEdrKQICMD8xEruQkn21aNIfgdGHIL7l1L5PAX8vvaLl\nqWuJLDGXyFk9PRMZeA5aGHOnEyIg9DZnNWBGIk2LUcCinChtwyKaO5cGWebh\nNxm0puIhYURH6hq901GEqZoFrUGu1u4u4xqB2+muFYWYWzZaMdM2ak0UF/9Y\n12oZVg+CGwKn1Y46NnWMMK0gUetS/cTYMlu26SfecD06lqNHv72YDcQqQOCV\nv7bwLxXYWf4EyLiyixC1aSG6T8sXUuFi0V4tABANdO5dvCGG3I3AQLn3bs1E\nO0NQRX/ZJ9MOvKyABnNuy4AOEEzM4nopfIPcJcJQXlna1hqThtwb/BbARd8X\n9ZhjbtYWqJLdTv/1ogxlusN3DBboIRmU3dis1ThhEhW9SXRsfF+DUvoaiMql\n4IcA3AbHkaLd1Gs6z3L/VfXRHD72YVPMirlzxRQr6vwkkyHcBcLZ4xmsXnFe\nOKLEz9ZjMFO0m3tU4Clf3Xar8qTPFtxEt7VbyaksKgF3Iw9yPmPuGyj1GXiP\n+Vsh0BcASRbKFV11ehKLVB/qeCMlMHVjl2fK8W9hhfMs+owfmIEwktoBvpCX\nnEspddAbFkK7cpPLIjCBvHDEjZXtVE7jsMdtSeMxfjo88Z7x7jiTJL0BSBlx\n1mm4\r\n=VIUv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRD+sIL4HLpqmLnQo3VYzp3TIWg87gFVX1hUgUdI6UKwIgX6PqUs+e7xr5kjj+Zr9xAzDtH558wb54HNnrTuUF/I8="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.29_1544400969076_0.16765711690571505"},"_hasShrinkwrap":false},"2.0.0-beta.30":{"name":"twitch-js","version":"2.0.0-beta.30","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-devs.github.io/twitch-js/","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-devs/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-devs/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","types":"lib/types.d.ts","runkitExampleFilename":"examples/runkit.js","scripts":{"clean":"rimraf lib dist","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.js\"","test":"jest","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest --config __e2e__/browser/jest.config.js","test:e2e:node":"jest --config __e2e__/node/jest.config.js","test:e2e":"run-s test:e2e:*","precommit":"lint-staged","prettier":"prettier --list-different \"**/*.{js,md}\"","prebuild":"yarn clean","build:lib":"cross-env BABEL_ENV=production babel src --out-dir lib --source-maps","build:dist:dev":"webpack","build:dist:prod":"webpack --env.production","build":"run-p build:**","start:example":"nodemon examples/runkit.js","docs:build:watch":"nodemon --exec yarn docs:build","docs:build":"node scripts/generateDocs","website":"cd website && yarn start","website:build":"cd website && yarn build","website:publish":"cd website && yarn publish-gh-pages"},"dependencies":{"babel-runtime":"^6.26.0","better-queue":"^3.8.7","better-queue-memory":"^1.0.2","camelcase-keys":"^4.2.0","consola":"^2.3.0","core-js":"^2.5.7","eventemitter3":"^3.1.0","form-data":"^2.3.2","invariant":"^2.2.4","irc-message":"^3.0.2","lodash":"^4.17.10","node-fetch":"^2.2.0","qs":"^6.5.2","whatwg-fetch":"^2.0.3","ws":"^6.0.0","uws":"^10.148.1"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"^6.26.3","babel-eslint":"8.0.3","babel-jest":"^22.0.6","babel-loader":"7.1.2","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-lodash":"^3.3.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-stage-2":"^6.24.1","benchmark":"^2.1.4","chalk":"^2.4.1","codecov":"^3.0.2","compression-webpack-plugin":"^1.1.3","cross-env":"^5.2.0","docusaurus-init":"^1.0.2","dotenv":"^6.1.0","eslint":"^4.19.1","eslint-config-prettier":"^2.9.0","eslint-plugin-import":"2.8.0","eslint-plugin-jest":"^21.17.0","husky":"^1.2.0","jest":"^23.3.0","jest-puppeteer":"^3.5.1","jsdoc-to-markdown":"^4.0.1","lint-staged":"^7.2.2","listr":"^0.14.1","lodash-webpack-plugin":"^0.11.4","microtime":"^2.1.8","mkdirp":"^0.5.1","nodemon":"^1.18.6","npm-run-all":"4.1.2","prettier":"^1.10.2","puppeteer":"^1.10.0","rimraf":"^2.6.2","semver":"^5.5.0","tsd-jsdoc":"^1.0.1","webpack":"^3.12.0"},"optionalDependencies":{"uws":"^10.148.1"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","uws":"./shims/ws.js","ws":"./shims/ws.js"},"babel":{"env":{"production":{"presets":[["env",{"targets":{"node":6,"browser":"Chrome 41"}}],"stage-2"],"ignore":["__*"]}},"presets":[["env",{"targets":{"node":"current"}}],"stage-2"],"plugins":["lodash"]},"eslintConfig":{"parser":"babel-eslint","parserOptions":{"ecmaVersion":6,"sourceType":"module"},"env":{"es6":true,"node":true,"browser":true},"extends":["prettier","eslint:recommended","plugin:import/errors","plugin:import/warnings","plugin:jest/recommended"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"jest/no-disabled-tests":2}},"eslintIgnore":["dist","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"parser":"babylon","singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*","webpack.config.js"],"options":{"semi":true}}]},"nodemonConfig":{"watch":["examples","shims","src","*.js","*.json"],"delay":"500"},"jest":{"setupFiles":["<rootDir>/jest.setup.js"],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.js"],"coverageDirectory":"./coverage/"},"lint-staged":{"*.js":["prettier --write","git add"],"*.md":["prettier --write","git add"]},"gitHead":"6c4abacf5871cc7e921136f69346b44cecb4928a","readme":"# [TwitchJS](https://twitch-devs.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-devs/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-devs/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-devs/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-devs/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-devs/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-devs/twitch-js/branch/next)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Warning\n\nThis branch is under active development; expect **breaking changes**. Please use\n[v1](https://github.com/twitch-devs/twitch-js/tree/master) instead. If you still\nchoose to use this branch, use version pinning, refer to the diffs, and update\naccordingly to avoid regressions.\n\n## Features\n\n* Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n* Forward-compatible, low-level, minimally-assertive architecture\n* Supports Node environments\n* Supports Browsers\n* Connect to multiple channels\n* Chat commands\n* Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-devs/twitch-js/milestone/1). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Getting started\n\n### CommonJS\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var twitch = require('twitch-js')\n   ```\n\n### UMD\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta/dist/twitch-js.min.js\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     window.TwitchJS ...\n   </script>\n   ```\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-devs/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.30","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"dist":{"integrity":"sha512-2Gag8FVfMbVBgE8J20Q2KgTLS+FckXXa9lxKUe6phHo74KPEvZXkaVaXNRa4mFVTM2HJuIrta1vbm+mXQsaFKw==","shasum":"4ffc07cddc048bd6ccdd75b523a22887c22168e5","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.30.tgz","fileCount":110,"unpackedSize":1971892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcDbvhCRA9TVsSAnZWagAApLwP/1unRHDuZ8v2uhec7eP8\n02mj4Dwkrqd+HGVi32TtqJpM7UPE/gF22U8q+wV5HtVpdyuRjTkus3VotWGo\nskrom+VUu8wV+I8GwKx4Q8pi6Z4V7Oz4UjnsINO43wJlQnCEpNqW4I9RZ6iq\nHEYd7nMw/N2MmdyMj3tI8ibaUBQYgRh/x2dewyGKmlTrVLa1sB1O/XmaX1Mv\n5ESMkh6W08cZrcWlDqG2Q9Eu4YDDeK/ErnWrOA11SX7fcJIMOB0gDMTKonoT\nbCyHYyc0YogvvWzzARwd2+XqR+0bWxjx+Nflwzovd/nwwCOcopO81sJaA4zl\nMEK904e3Ms1bkR6LsqCGw51OyUMUancwESMdPdedqeSZOx/bdhj1zazyeQgR\npZDAtIQucT0e4S5O1c49V7f66XnyA5mUIv8KFB/MougOPn7XVlHqj+3+15vZ\nTEdLOdUxLDc+rmzjEhI+zXxUrtOHnpxsGfCRTBzHDOa0g4pjj8fpoQIzUcqw\ngy6zH2spBWD5db6wze87FXPArIPp1UgSNFGyohuEtjVg9+ur7PmKAc4bZmpl\nD1sPbKlFb0EbKBji6iEt5RBv+fwTE4SXnaBtTba9BCoZm3em4ajCEaChecKa\n8faD5z5ShXg0Ohz+68WDa5XAluXHnY5/5p2xumWPCQSX4oq4OHxtt5+PAsYt\nh5G5\r\n=Ti4W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCawnYeX/xouNCcpHjNY8D7lqHhlolGLC968kURIRsRVQIgGqB9/yPLNs5TPP2ic/lAY/3NB69hEJOHuE4km7TlJE0="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.30_1544403936794_0.29150887423695604"},"_hasShrinkwrap":false},"2.0.0-beta.31":{"name":"twitch-js","version":"2.0.0-beta.31","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c && mv es/types types","build":"run-p build:**","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"@types/invariant":"^2.2.30","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.4","@types/pino":"^5.8.13","@types/qs":"^6.9.0","@types/ws":"^6.0.4","camelcase-keys":"^6.1.1","eventemitter3":"^4.0.0","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.15","node-fetch":"^2.2.0","p-queue":"^6.2.1","pino":"^5.14.0","pino-pretty":"^3.4.0","qs":"^6.5.2","tekko":"2.4.0","whatwg-fetch":"^3.0.0","ws":"^7.2.0"},"devDependencies":{"@rollup/plugin-alias":"^2.2.0","@rollup/plugin-json":"^4.0.0","@rollup/plugin-replace":"^2.2.1","@types/jest":"^24.0.23","@typescript-eslint/eslint-plugin":"^2.9.0","@typescript-eslint/parser":"^2.9.0","@wessberg/rollup-plugin-ts":"^1.1.83","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^6.7.1","eslint-config-prettier":"^6.7.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^23.0.5","eslint-plugin-tsdoc":"^0.2.0","husky":"^3.1.0","jest":"^24.9.0","jest-puppeteer":"^4.3.0","lint-staged":"^9.5.0","npm-run-all":"^4.1.5","prettier":"^1.10.2","puppeteer":"^1.5.0","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^6.2.1","rollup-plugin-gzip":"^2.2.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^5.1.2","semver":"^6.3.0","terser":"^4.4.0","ts-jest":"^24.2.0","ts-node-dev":"^1.0.0-pre.44","tslib":"^1.10.0","typedoc":"^0.15.3","typescript":"^3.7.2"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2}},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"]},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint","git add"],"*.md":["prettier --write","git add"]},"gitHead":"bf8af56d6bb107599dd86b0ff67e250fea08a1eb","readme":"<p align=\"center\">\n  <img width=\"128\" src=\"media/logo.svg\">\n</p>\n\n# [TwitchJS](https://twitch-js.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-js/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-js/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-js/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-js/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-js/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-js/twitch-js/branch/next)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Features\n\n- Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n- Forward-compatible, low-level, minimally-assertive architecture\n- Supports Node environments\n- Supports Browsers\n- Supports TypeScript\n- Connect to multiple channels\n- Chat commands\n- Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-js/twitch-js/milestones). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Documentation\n\n1. [Getting started](#getting-started)\n2. [Authentication](#authentication)\n3. [Examples](#examples)\n4. [Interacting with Twitch chat](https://twitch-js.netlify.com/classes/chat.html)\n5. [Making requests to Twitch API](https://twitch-js.netlify.com/classes/api.html)\n6. [Reference](https://twitch-js.netlify.com/globals.html)\n\n## Getting started\n\n### Module bundler (CJS/ESM)\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var Twitch = require('twitch-js')\n\n   const twitch = new Twitch({ username, token })\n   ```\n\n### Browser (IIFE)\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta.31\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     const twitchJs = new window.TwitchJs({ username, token })\n   </script>\n   ```\n\n## Authentication\n\n### Obtaining a client ID\n\nTo obtain a client ID, follow the\n[instructions](https://dev.twitch.tv/docs/authentication/#registration) found in\nthe [Twitch Developers documentation](https://dev.twitch.tv/docs).\n\n### Obtaining a token\n\nWith a client ID,\n[tokens may be generated](https://dev.twitch.tv/docs/authentication/#getting-tokens)\non behalf of your users.\n\nTo quickly get started without a client ID, you may generate token using the\nfollowing, community-maintained, sites:\n\n1. [Twitch Chat OAuth Password Generator](https://twitchapps.com/tmi)\n   (Kraken/v5)\n2. [Twitch Token Generator](https://twitchtokengenerator.com) (Helix)\n\n### Refreshing tokens\n\nWhile, Kraken/v5 tokens currently do not expire, Helix tokens expire and will\nneed to be refreshed.\n\nTo help with refreshing tokens, an `onAuthenticationFailure` function may be\nprovided to the Messaging and API clients. `onAuthenticationFailure()` must\nreturn a `Promise` that resolves with the refreshed token. Upon resolution, any\nactions that yielded a an _expired token_ response will be retried with the new,\nrefreshed token.\n\n#### Handling token refresh example\n\n```js\n// Optionally, use fetchUtil to help.\nimport fetchUtil from 'twitch-js/lib/utils/fetch'\n\nconst refreshToken = 'eyJfaWQmNzMtNGCJ9%6VFV5LNrZFUj8oU231/3Aj'\nconst clientId = 'fooid'\nconst secret = 'barbazsecret'\n\nconst onAuthenticationFailure = () =>\n  fetchUtil('https://id.twitch.tv/oauth2/token', {\n    method: 'post',\n    search: {\n      grant_type: 'refresh_token',\n      refresh_token: refreshToken,\n      client_id: clientId,\n      client_secret: clientSecret,\n    },\n  }).then(response => response.access_token)\n\nconst token = 'cfabdegwdoklmawdzdo98xt2fo512y'\nconst username = 'ronni'\nconst twitchJs = new TwitchJs({ token, username, onAuthenticationFailure })\n\ntwitchJs.chat.connect().then(globalUserState => {\n  // Do stuff ...\n})\n```\n\nSee\n[Refreshing access tokens](https://dev.twitch.tv/docs/authentication/#refreshing-access-tokens)\nfor more information.\n\n### More information\n\nSee the\n[Twitch Developers documentation](https://dev.twitch.tv/docs/authentication) for\nmore information on authentication.\n\n## Examples\n\nPlease see the `examples` folder for browser, Node and TypeScript examples.\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-js/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.31","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-J34J22iOOLGnY26vpR3ygXtrWv52RB6lXSGwH6jNSVb3e4Fv3oNCP+c2BUTY6QplSZXSENIrwkk7oqybs9Lo6g==","shasum":"2cb04f8c7ffe2ad439f39a6a2956009e94d65a2f","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.31.tgz","fileCount":84,"unpackedSize":1135004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd68EDCRA9TVsSAnZWagAAb6YQAJXD7+hLbLNLIfsZLQsW\nkhzZ4J52whk7fOTKy+Svh4AabdRqkCBAygv/1RkEUtL4+LMwCQ5+9jsCP+Qk\nFiRjUlibpTWqkCcsR2+OtNFGLcN/42YAKvt6EQ9Bl/3cn8KBHI1pCfQ7O+qi\nqC568XAsPCrFQ5jOGeEetygw9xQtjfL/B4AW+UmBKl2rTT9KTDb4VzqWcRVI\n9a7fm8lKuwXrubhS30tUPnFihZy3E54ujlFYau8TAQa0/oky0fpMzWCVu/JM\ni2PPvfBlxihwOdyRvqBJ8U26OZWIFRo3qUibTi4WhIa3CUny+0UJQmpR4Fv+\np/4DQx38EYojHBqVOlppe7Dc00ISm/NFTux0oH2F5c2JUIkYqABQypul22/x\nA49c6rkvSrV5tNc84e/q50PjC2NzqSzz3mAgvARXHqeqsYO56k6DENK4oSYh\nc5Wakj3UCnIcsgpfYs5OWnZdNAzADJrUbMCU9b1XKhL4NIy3lpfBsRb1Num+\njQz3k5Y+hKCx0xlhIln4kpuFS7k4MmTj4YCXDcOUFaPkqCq08pHFonyrFPqG\nY/aDKYyjCg+fmcOB4QDp9jJ0Ct/m057UDB+tHTz3dVWQOaoiD7Ljew2nt821\nKggVz+k4Hh2/kaKtGrjkLanvefbPslZOF0lsiVe9HgnyKAMW1pSum1Sz5ImF\njG/K\r\n=Rwbr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAX6XP2zxH+6uH+zWSdFdvfVvXybiimQl/dvjpSDOKZtAiAcivm0XfYc5Jtbjzl77nBFHgroSZXfW/Q7VfWpL55zMQ=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.31_1575731458907_0.31982680894752624"},"_hasShrinkwrap":false},"2.0.0-beta.32":{"name":"twitch-js","version":"2.0.0-beta.32","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c && mv es/types types","build":"run-p build:**","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"@types/invariant":"^2.2.30","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.4","@types/pino":"^5.8.13","@types/qs":"^6.9.0","@types/ws":"^6.0.4","camelcase-keys":"^6.1.1","eventemitter3":"^4.0.0","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.15","node-fetch":"^2.2.0","p-queue":"^6.2.1","pino":"^5.14.0","pino-pretty":"^3.4.0","qs":"^6.5.2","tekko":"2.4.0","whatwg-fetch":"^3.0.0","ws":"^7.2.0"},"devDependencies":{"@rollup/plugin-alias":"^2.2.0","@rollup/plugin-json":"^4.0.0","@rollup/plugin-replace":"^2.2.1","@types/jest":"^24.0.23","@typescript-eslint/eslint-plugin":"^2.9.0","@typescript-eslint/parser":"^2.9.0","@wessberg/rollup-plugin-ts":"^1.1.83","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^6.7.1","eslint-config-prettier":"^6.7.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^23.0.5","eslint-plugin-tsdoc":"^0.2.0","husky":"^3.1.0","jest":"^24.9.0","jest-puppeteer":"^4.3.0","lint-staged":"^9.5.0","npm-run-all":"^4.1.5","prettier":"^1.10.2","puppeteer":"^1.5.0","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^6.2.1","rollup-plugin-gzip":"^2.2.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^5.1.2","semver":"^6.3.0","terser":"^4.4.0","ts-jest":"^24.2.0","ts-node-dev":"^1.0.0-pre.44","tslib":"^1.10.0","typedoc":"^0.15.3","typescript":"^3.7.2"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2}},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"]},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint","git add"],"*.md":["prettier --write","git add"]},"gitHead":"7c1d18bbc7319e9d66b3f9982bd30d7d1034cf8e","readme":"<p align=\"center\">\n  <img width=\"128\" src=\"media/logo.svg\">\n</p>\n\n# [TwitchJS](https://twitch-js.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/twitch-js/twitch-js/master.svg?longCache=true&style=flat-square)](https://travis-ci.org/twitch-js/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![npm](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![npm](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues/twitch-js/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-js/twitch-js/issues)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-js/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-js/twitch-js/branch/next)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Features\n\n- Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n- Forward-compatible, low-level, minimally-assertive architecture\n- Supports Node environments\n- Supports Browsers\n- Supports TypeScript\n- Connect to multiple channels\n- Chat commands\n- Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-js/twitch-js/milestones). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Documentation\n\n1. [Getting started](#getting-started)\n2. [Authentication](#authentication)\n3. [Examples](#examples)\n4. [Interacting with Twitch chat](https://twitch-js.netlify.com/classes/chat.html)\n5. [Making requests to Twitch API](https://twitch-js.netlify.com/classes/api.html)\n6. [Reference](https://twitch-js.netlify.com/globals.html)\n\n## Getting started\n\n### Module bundler (CJS/ESM)\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import Twitch from 'twitch-js'\n\n   // OR ES5 syntax\n   var Twitch = require('twitch-js')\n\n   const twitch = new Twitch({ username, token })\n   ```\n\n### Browser (IIFE)\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta.31\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     const twitchJs = new window.TwitchJs({ username, token })\n   </script>\n   ```\n\n## Authentication\n\n### Obtaining a client ID\n\nTo obtain a client ID, follow the\n[instructions](https://dev.twitch.tv/docs/authentication/#registration) found in\nthe [Twitch Developers documentation](https://dev.twitch.tv/docs).\n\n### Obtaining a token\n\nWith a client ID,\n[tokens may be generated](https://dev.twitch.tv/docs/authentication/#getting-tokens)\non behalf of your users.\n\nTo quickly get started without a client ID, you may generate token using the\nfollowing, community-maintained, sites:\n\n1. [Twitch Chat OAuth Password Generator](https://twitchapps.com/tmi)\n   (Kraken/v5)\n2. [Twitch Token Generator](https://twitchtokengenerator.com) (Helix)\n\n### Refreshing tokens\n\nWhile, Kraken/v5 tokens currently do not expire, Helix tokens expire and will\nneed to be refreshed.\n\nTo help with refreshing tokens, an `onAuthenticationFailure` function may be\nprovided to the Messaging and API clients. `onAuthenticationFailure()` must\nreturn a `Promise` that resolves with the refreshed token. Upon resolution, any\nactions that yielded a an _expired token_ response will be retried with the new,\nrefreshed token.\n\n#### Handling token refresh example\n\n```js\n// Optionally, use fetchUtil to help.\nimport fetchUtil from 'twitch-js/lib/utils/fetch'\n\nconst refreshToken = 'eyJfaWQmNzMtNGCJ9%6VFV5LNrZFUj8oU231/3Aj'\nconst clientId = 'fooid'\nconst secret = 'barbazsecret'\n\nconst onAuthenticationFailure = () =>\n  fetchUtil('https://id.twitch.tv/oauth2/token', {\n    method: 'post',\n    search: {\n      grant_type: 'refresh_token',\n      refresh_token: refreshToken,\n      client_id: clientId,\n      client_secret: clientSecret,\n    },\n  }).then(response => response.accessToken)\n\nconst token = 'cfabdegwdoklmawdzdo98xt2fo512y'\nconst username = 'ronni'\nconst twitchJs = new TwitchJs({ token, username, onAuthenticationFailure })\n\ntwitchJs.chat.connect().then(globalUserState => {\n  // Do stuff ...\n})\n```\n\nSee\n[Refreshing access tokens](https://dev.twitch.tv/docs/authentication/#refreshing-access-tokens)\nfor more information.\n\n### More information\n\nSee the\n[Twitch Developers documentation](https://dev.twitch.tv/docs/authentication) for\nmore information on authentication.\n\n## Examples\n\nPlease see the `examples` folder for browser, Node and TypeScript examples.\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-js/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.32","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-761wT9trQk7dxBATp4RFp6yKqsaZ6m4IrZq4+lY0oJkQZQOj9SNlR4pwtAhxAnQUieC0wM4p9WHRjh2hVFpkrA==","shasum":"bd4692af9d573df4be73cd70ff17ba34f8ce66fd","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.32.tgz","fileCount":84,"unpackedSize":1134903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7ER/CRA9TVsSAnZWagAAeCMP/jo1JSIGv0r2fOcGGUco\nWRo6c1ixEzu7tF5UQSpbusMnxdn5otu8F6tT2QFRBHg1J7JoUgORYBfZ/Zqc\nOWHSZ9/pzk4TpnaPI40Kq1dBwWOlt3dgMMeBtCwsNE/jtO3cqmHYhN9fW57b\nkq3f04NI/n6WYMeQgkTLsAzpaTC+1zJzpSivbcAhHlh2XhWG7BDKbS+zcnuD\nQzjKN2kkuQbTNZsUXJi0d5hTbthXdogzBDLHOHOvSDUd8jWQDZoyYonCR3l8\njBfqns2wyNLjQVJmQwGzS8ALCKXwoT7pWGTCGm9bStzbsVFmtaPZV4LmW0P3\nN4Q+VkYEc0u5dhjgjTlmy65VXi6m7npVgaJZ739IRjANV7QZUIC5RY9kxOlM\nxZQhcqBS22EHyMXjf5S9rJEr7gTd9FRs8da8jCiLKN3G5ICBFG+73maebb6b\nPchaSz/Axq2yIfBFMmiJD5vEpgtzbPFNOBWewqK3PaanIzMnmuI+Q5JOcb0r\nO/Zr1yFFviHiQx4osrXiHGm0S7ukiEkRzbXnzUT/1l6amSLniAYscziniSfG\nO/vkCWuBxLl2d9c5QU+WyVVxNpTr1rBqE1ys5aKFUx+FDPm1J21mUZoy4B3x\nC29KaVVJGmJImEr5iQa5YKuSDsmQ8KzZ5l6nqNjG1l1vXe0wVOtURq4o0w41\nlNtI\r\n=4ZeW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAzOEVs4An/5Xct+CMjEdsJ1YG/esWDFx9E/AxCaPLqoAiEAudBywH7UnM7eITPFBaNyBYjp9TQy7x5SPBkHhJGhBOY="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.32_1575765119220_0.36958351353412655"},"_hasShrinkwrap":false},"2.0.0-beta.33":{"name":"twitch-js","version":"2.0.0-beta.33","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c && mv es/types types","build":"run-p build:**","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"@types/invariant":"^2.2.30","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.4","@types/pino":"^5.8.13","@types/qs":"^6.9.0","@types/ws":"^6.0.4","camelcase-keys":"^6.1.1","eventemitter3":"^4.0.0","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.15","node-fetch":"^2.2.0","p-queue":"^6.2.1","pino":"^5.14.0","pino-pretty":"^3.4.0","qs":"^6.5.2","tekko":"2.4.0","whatwg-fetch":"^3.0.0","ws":"^7.2.0"},"devDependencies":{"@rollup/plugin-alias":"^2.2.0","@rollup/plugin-json":"^4.0.0","@rollup/plugin-replace":"^2.2.1","@types/jest":"^24.0.23","@typescript-eslint/eslint-plugin":"^2.9.0","@typescript-eslint/parser":"^2.9.0","@wessberg/rollup-plugin-ts":"^1.1.83","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^6.7.1","eslint-config-prettier":"^6.7.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^23.0.5","eslint-plugin-tsdoc":"^0.2.0","husky":"^3.1.0","jest":"^24.9.0","jest-puppeteer":"^4.3.0","lint-staged":"^9.5.0","npm-run-all":"^4.1.5","prettier":"^1.10.2","puppeteer":"^1.5.0","rimraf":"^3.0.0","rollup":"^1.27.5","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^6.2.1","rollup-plugin-gzip":"^2.2.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^5.1.2","semver":"^6.3.0","terser":"^4.4.0","ts-jest":"^24.2.0","ts-node-dev":"^1.0.0-pre.44","tslib":"^1.10.0","typedoc":"^0.15.3","typescript":"^3.7.2"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2}},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"]},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint","git add"],"*.md":["prettier --write","git add"]},"gitHead":"c8afc4edd869bc30e2fcd55750bfb6e2e690b810","readme":"<p align=\"center\">\n  <img width=\"128\" src=\"media/logo.svg\">\n</p>\n\n# [TwitchJS](https://twitch-js.github.io/twitch-js)\n\n[![Travis branch](https://img.shields.io/travis/com/twitch-js/twitch-js?longCache=true&style=flat-square)](https://travis-ci.org/twitch-js/twitch-js)\n[![Coverage Status](https://img.shields.io/codecov/c/github/twitch-js/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-js/twitch-js/branch/next)\n[![NPM version](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![NPM version@next](https://img.shields.io/npm/v/twitch-js/next.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js/v/next)\n[![NPM downloads](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues-raw/twitch-js/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-js/twitch-js/issues)\n[![GitHub bug issues](https://img.shields.io/github/issues-raw/twitch-js/twitch-js/bug?style=flat-square)](https://github.com/twitch-js/twitch-js/issues?q=is%3Aopen+is%3Aissue+label%3Abug)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Features\n\n- Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n- Forward-compatible, low-level, minimally-assertive architecture\n- Supports Node environments\n- Supports Browsers\n- Supports TypeScript\n- Connect to multiple channels\n- Chat commands\n- Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-js/twitch-js/milestones). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Documentation\n\n1. [Getting started](#getting-started)\n2. [Authentication](#authentication)\n3. [Examples](#examples)\n4. [Interacting with Twitch chat](https://twitch-js.netlify.com/classes/chat.html)\n5. [Making requests to Twitch API](https://twitch-js.netlify.com/classes/api.html)\n6. [Reference](https://twitch-js.netlify.com/globals.html)\n\n## Getting started\n\n### Module bundler (CJS/ESM)\n\nIf you are using a module bundler, such [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js@next\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import TwitchJs from 'twitch-js'\n\n   // OR ES5 syntax\n   var TwitchJs = require('twitch-js')\n\n   const twitchJs = new TwitchJs({ username, token })\n   ```\n\n### Browser (IIFE)\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta.31\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     const twitchJs = new window.TwitchJs({ username, token })\n   </script>\n   ```\n\n## Authentication\n\n### Obtaining a client ID\n\nTo obtain a client ID, follow the\n[instructions](https://dev.twitch.tv/docs/authentication/#registration) found in\nthe [Twitch Developers documentation](https://dev.twitch.tv/docs).\n\n### Obtaining a token\n\nWith a client ID,\n[tokens may be generated](https://dev.twitch.tv/docs/authentication/#getting-tokens)\non behalf of your users.\n\nTo quickly get started without a client ID, you may generate token using the\nfollowing, community-maintained, sites:\n\n1. [Twitch Chat OAuth Password Generator](https://twitchapps.com/tmi)\n   (Kraken/v5)\n2. [Twitch Token Generator](https://twitchtokengenerator.com) (Helix)\n\n### Refreshing tokens\n\nWhile, Kraken/v5 tokens currently do not expire, Helix tokens expire and will\nneed to be refreshed.\n\nTo help with refreshing tokens, an `onAuthenticationFailure` function may be\nprovided to the Messaging and API clients. `onAuthenticationFailure()` must\nreturn a `Promise` that resolves with the refreshed token. Upon resolution, any\nactions that yielded a an _expired token_ response will be retried with the new,\nrefreshed token.\n\n#### Handling token refresh example\n\n```js\n// Optionally, use fetchUtil to help.\nimport fetchUtil from 'twitch-js/lib/utils/fetch'\n\nconst refreshToken = 'eyJfaWQmNzMtNGCJ9%6VFV5LNrZFUj8oU231/3Aj'\nconst clientId = 'fooid'\nconst secret = 'barbazsecret'\n\nconst onAuthenticationFailure = () =>\n  fetchUtil('https://id.twitch.tv/oauth2/token', {\n    method: 'post',\n    search: {\n      grant_type: 'refresh_token',\n      refresh_token: refreshToken,\n      client_id: clientId,\n      client_secret: clientSecret,\n    },\n  }).then(response => response.accessToken)\n\nconst token = 'cfabdegwdoklmawdzdo98xt2fo512y'\nconst username = 'ronni'\nconst twitchJs = new TwitchJs({ token, username, onAuthenticationFailure })\n\ntwitchJs.chat.connect().then(globalUserState => {\n  // Do stuff ...\n})\n```\n\nSee\n[Refreshing access tokens](https://dev.twitch.tv/docs/authentication/#refreshing-access-tokens)\nfor more information.\n\n### More information\n\nSee the\n[Twitch Developers documentation](https://dev.twitch.tv/docs/authentication) for\nmore information on authentication.\n\n## Examples\n\nPlease see the `examples` folder for browser, Node and TypeScript examples.\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-js/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","_id":"twitch-js@2.0.0-beta.33","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-4INGDTYWlPLcuZ73/5sTiI5Z1rgwffzomgmY7ULPuI40HrNGhDASYvsHq+qFXdoyBrQFkZRsibI2n/m/2ERxCQ==","shasum":"08c2287b236313ae0429d85d8bca1732494743db","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.33.tgz","fileCount":84,"unpackedSize":1092983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7/4jCRA9TVsSAnZWagAAJ5YQAJefCpFlWPTJy4zYkJlW\nxVAFvMMLftrysAJpYA90933uXAp1Mq0dN47HZUn8haoKF8iV2Pfo8n11EgD0\nV49ZkaNI/yXWJA9wAajfypCABpUuIi3qHN0JYnpwrIfg859qhAV4b4FHguef\n/CEfaz2ZH3tBz+DsVSRgtUImHo9RmAx+Lt6fPKalH7ALQHHDuZ6RrW9aexPz\nfZvf2b327OhzzpvgDBIX+6dwRHNwMTIc6HZvw+Zh9MAc9P0SCy6UCMySlMGd\nAVQfnV31mQQ1uGxJaqS1x9Z8hzXd/NXhC/CjdhnA0A2fdPMky3y8CndCIi5v\ntRYrFLbTR3SxVWGEGdrw9fW0Dl1ETNwboJh8XnrLfawjSarQOBY6AAcSQqH9\nR9K7lKWXFwtK6CxN98To/tcf8NAwWG/8dFbNq//gMV6eujcUipXUefh+wc56\nh37e5UMiCxGQ/1gPFGuhm4v0h4e285wQhTeLgkQzDWx+u/vMI42GJxRO6DUe\n1jdztaOywv1+fR/e+hLvAlxzmaZuR9SekoZMXU57XufN9+gshbjMq6H61p0s\nlLxHCNH4I6ezuHA49F7wZ8nwqxw/HCLoxA8Y6eodYXXqbzA+Lfi7goxdwi7Z\nO336wzSewQVV0TnVZo6NEIheqJ0hdNofhtPN/667a7b5RtCUtTb+aElmq2IY\nXZ9L\r\n=Xcjs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEtDV5ojfnqb4CSb4W9EKaXQ2nH99VB9ubXR6A6k9h1uAiB7X4LglDLuzg80cgOs+XCJ43exUjrPr4h15tlzD7dveg=="}]},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.33_1576009251414_0.4738032795062401"},"_hasShrinkwrap":false},"2.0.0-beta.34":{"name":"twitch-js","version":"2.0.0-beta.34","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=8","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:coverage:report":"yarn test:coverage && codecov","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"@types/invariant":"^2.2.30","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.4","@types/pino":"^5.8.13","@types/qs":"^6.9.0","@types/ws":"^6.0.4","camelcase-keys":"^6.1.1","eventemitter3":"^4.0.0","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.15","node-fetch":"^2.2.0","p-queue":"^6.2.1","pino":"^5.14.0","pino-pretty":"^3.4.0","qs":"^6.5.2","tekko":"2.4.0","whatwg-fetch":"^3.0.0","ws":"^7.2.0"},"devDependencies":{"@rollup/plugin-alias":"^2.2.0","@rollup/plugin-json":"^4.0.0","@rollup/plugin-replace":"^2.2.1","@types/jest":"^24.0.23","@typescript-eslint/eslint-plugin":"^2.9.0","@typescript-eslint/parser":"^2.9.0","@wessberg/rollup-plugin-ts":"^1.1.83","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^6.7.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^23.0.5","eslint-plugin-tsdoc":"^0.2.0","husky":"^3.1.0","jest":"^26.4.2","jest-puppeteer":"^4.3.0","lint-staged":"^9.5.0","npm-run-all":"^4.1.5","prettier":"^1.10.2","puppeteer":"^1.5.0","rimraf":"^3.0.0","rollup":"^2.27.0","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^6.2.1","rollup-plugin-gzip":"^2.2.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^5.1.2","semver":"^6.3.0","terser":"^4.4.0","ts-jest":"^26.3.0","ts-node-dev":"^1.0.0-pre.44","tslib":"^1.10.0","typedoc":"^0.15.3","typescript":"^3.7.2"},"browser":{"form-data":"./shims/form-data.js","node-fetch":"./shims/node-fetch.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2}},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"]},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint","git add"],"*.md":["prettier --write","git add"]},"gitHead":"8444895c5c24859b0462623ae5526c5681125733","_id":"twitch-js@2.0.0-beta.34","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-KOQFFvB4NAefigLIuuXWjo8xUe+ixo8cjhNvrVTaZV50wZ8rScrae/XeQvLaY06f51TJdIeSni2pYSkRtz2Oeg==","shasum":"18ed0fe77a2d9b86e4b542c9568ba9c573a7a5b8","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.34.tgz","fileCount":84,"unpackedSize":1157987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6NUgCRA9TVsSAnZWagAA3PMP/A1kCJ5Sqgfhj4nWK63r\npedTNGxP2BoXpkPvivr+NtpjD3+c7J9CL14MJXmDEVsXRoz1qD+u1ZzOc8B2\ncOIPICVmCs/aaRWYGN2UrUc2jrTNPTKg4dnk9vBXnBpsdb95I7UMzu295PMA\nl7tXZuoip5LXw3XxPCbnNstKA2GCSFAFhRsXY5U6m8BW6enlmd/qWWsaw7zj\nYxP9EdEtSHq0VxZLKWarX/+AT9GCxM6a1ZjCIR3acVVlSrkq8OunZzyPvr2y\nHvsq3z4p7XvV6/lMQ3Rxnl6ONS8vkaFnJHFS+elJNm9aorER/3R/cgiR5elo\nTrZIFhYqezzUWccygQTFK1NJfaTCIVILUyxPitHZ+2PbnTUtafuEpZOMEjkj\nJtlp/DP9DFVKzpY6FVgFm/meWholodesFV64uJyvw9+pXQDmc8ZJgS8frFIX\nZTo6FkmHKDTkikuniIcLDp72AxoIf+GEumf+ygrBRZGTyqaOQDCEwQ0H3j9/\nvDPyI/1I1CXmPQF3DCNrzQGl1y6XKG2hxdFlqp5Uk07v/T624UMRHF4eR99u\n8xSZxrureUDznLREeLc7JMDiue8AzDrfelafkPebgvHNgRAaBvz6Vkg/oK9C\nwn+5Qx52vSQtvKB/jANDARcm00EGrIV9oFfwLVhzzCfyHEFhuR7tqD2Bm289\ncL9q\r\n=10Vx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvzLYb4tymQLHoIzEbTcEtOEMMqHFaPkXMWgF/vb+5xgIhAPrSwmGC9zLB3rKe8f1tM3icwvv4lMOtTY5WZejXXRNQ"}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.34_1609094432142_0.010811942479695968"},"_hasShrinkwrap":false},"2.0.0-beta.35":{"name":"twitch-js","version":"2.0.0-beta.35","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=12","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.8"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"37523657b587b228daab471605780c8504fe124a","_id":"twitch-js@2.0.0-beta.35","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Wzoo3Agft742fY392C/hJHbs+xesn3eCcWm0Gq/7JHDQXax00vgy6xyeICHT7r/Cq6cIvRgzRBg9/Iz/oj9DCA==","shasum":"0d82dab8ea4579a4346e5b0f24c5a03b646c0f8b","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.35.tgz","fileCount":111,"unpackedSize":1324643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6fIpCRA9TVsSAnZWagAA8aQQAIOBON65CjcLO0xgs6HI\noS8MQc5D4xXKkoIfQW85TLa0f2z6vVGfrwDw6YxKCSSoHyOgvW8YG2+XB8oF\nc5Trve2Or6Tsnn+riZhSmUY3C4XXtVfF323biSdTOwNvASevDO7m5Sx8L1RJ\nTwpnUfGZHEzUQkm5e9Bq9d//4gNxxRqYwhV10/LVpOd4lW+TWZHIuRKlv+S4\nLm+4yM4OAjzuFABGerKER9YYndkgId63TV05B7OVQnkc2oXITyYxaJTEyt6f\n1caN22crwO4jZ6/HMvu/9vHw/QqLlRKbO5FYihNKu8lLHki161/0vkvlUnDd\ng0nFR0myEDqIqwLh8MLPnhCxqNqFZZ6yym6zzRLy0LU4+M3Jbs1USpyGfhpA\nu1FIm2cAUZiS53Z5EpJqF/Ik8fYabs+jTC3NwYTG5aJV1y3pzENt1k8zkSM+\nbrMKmydfKP6AclLMU7ZcNhuji18UJ8DNxDWYOBzCfuGByRQf0Hz7f6LD0JYF\nnOuR++5kd17Fs5cDFia5pGiyheu6TheDzAoG0n5KVsn+Pi+0fn0tyMKbJW9q\nHGqMND9JvOy3hg6aNltUBfN4N6GfVO2iqv+peGzjR9U/BYEQ7ZpyoGvW8MCJ\nb5TkBCOJWdNcl57QeLyzoLIDuPW5uYOZiI5Q6iZTX2LXMzJ5b1LnMPVTq+v2\nEh1D\r\n=aS+A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGZowSqtzpPgNb65NTubTWxU5kBBBkqBv05YmYXsgFL3AiA6LYtWa+VHlYGCpzhyYaDhx+3ypDurSS6h/ZZxy/7N4Q=="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.35_1609167401199_0.6318328857423117"},"_hasShrinkwrap":false},"2.0.0-beta.36":{"name":"twitch-js","version":"2.0.0-beta.36","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=12","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.8"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"5eaac1b9de758a60124ce1b0db8edc44de38659a","_id":"twitch-js@2.0.0-beta.36","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-jzOzfaSS86gks4A56cfIQd5B+20dS4QwecskCLBZVC8a5oLrnb2oxQtbqz6nkjbbTwptv9hArj3yPt/8CNvIWA==","shasum":"598ccbeefe45bd843a4169a84ae0e63ccb4bc811","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.36.tgz","fileCount":111,"unpackedSize":1321911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf67bUCRA9TVsSAnZWagAA0dsP/1NihWuuWLmmYb3ET9nq\n8KnXWc3BLkcwV1uQda9UhknMKbyX0XnKMDxXEOBDF+7hvyE9UdBJ7NNDJzPv\n8BMxiDSJnj6m2PjN+451C6k9vjkSwoQjr6x1qA+hEyYhAYeJ0lRCS3zSEDm5\n/JU+l1tmg2WPMXCeyCwYqaZoRDUNZ+cp0MjF+5cDFYX9o0aPgA9/voNcy1Ar\nnb/9ePRiqPwM4ZYxPrM/fP7HfJSoaEDw3OVg6GNKssnh9JBFvLUgbDo7yhnY\nJCcv4jff9Kn9PCSq9I/WjyzuYN2InsmHAsgGVyXTX9Hj+OW4bl08j4C08u2Y\nxGWPp0J63P5dy+jMeFfnU/fYI29H7oFX9lWcInwxmLosnLB/mHcO435cbZ8G\naC6DS0WebnHX7IF4UE2BTjjnsKY46W7Poy0c/E6QON68W9f4z/spEnoCVvrJ\nPMGJQ8E0qHKtWa5wLZzNZRXAwyxLetFtKC+7tOoVOTusbhPKQtjuQ2t7KyyP\nFfJbqaA3X0/6xje0KvvHycuSCgQFY0/kXA41FBCQyWjyxKA6o/r94m7i0q56\nWhwSsrhelF9ldNmsjro9j4yS3PNt0t+kg6y0XsdzXCpBc6i6m8RmqcKIua1F\nUPdZ3E/ggakK362ix1/gL/ZxfthmYWBfMFvVDyU3jwggNx7VNKaaMoM+EoiS\nsbFV\r\n=HD8J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAUhZ7ZOvVXOOPkL9MRPFNQnJEhxvl9MuRLtSPlfylLiAiEAwOJlTjddrYP6iHeNp6QfOcBjXwFyqFi8GbcBSSqS4WA="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.36_1609283283848_0.4535353344454416"},"_hasShrinkwrap":false},"2.0.0-beta.37":{"name":"twitch-js","version":"2.0.0-beta.37","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=12","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.8"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"b4b4ef376f347909ff17e832b696d484a5305302","_id":"twitch-js@2.0.0-beta.37","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-WvBjZAudHjrFliVj85qo55Vco6mdOtvXjB6envDt6dgpBgHHosCkXVKPt8OF5EE5eneiAnNOVA4auXgEZqpv6w==","shasum":"50f8ac4a45a31e1fb9aa5f28c2d5082ede617ab3","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.37.tgz","fileCount":111,"unpackedSize":1320582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7LmKCRA9TVsSAnZWagAA1T0P/3I8odQYLmbMrEINUVmF\niGPunjpC7vVmDkup1vaFQI1jO6+Id7+E++l0m26+V9FmrV6IrdgFcgIFO8ma\nEI598ilvhuBPUDAIO2T7Kfg2DTTy0Zdi1WredzgzEwDvNQ4JQYCpJsWD4s5X\nGsfA4lsqYQuUoig63LMUTpBxFZmtjyUB1XkMQhf+A80WkMSFnnIma/n+Qq6Z\nEnpIvpv46X3sBbLupetb/AHLvCL/Z/PXU0R6HVulaYvY92jTF53yxaogmkPf\nrjBPmja4DW+VA6gDWH2WWIfNdCDHcAg9bxim64utcEtQ+dPaY3WTFT6H+92J\nQ34FPUcZG2N4fFnf0B8NEJVw3XMmhTO7r/1a0lH6LOyJc7nGZ/gCDzMEe4+E\nEwdVfyQc4pS9l0VTrR1yJxiuOwL9oF+gAmGO6DNe5jHnC6KK3SKqdS1egO7V\nNRYWZYapNAMql1JlFF5LZpGPFtR5pe0DowuE1A7a0t6kLdtsmYT14EAU28PZ\n+1agdUw8N2u85i6rI+6Ye6X15YsdOE0W6HWkYMoKUMgOe541zPnLk0hKETIC\nB9Bwdl//DidMiE8CXXChV6KMV01AcYN3SaYFI5HFh4h1CmpYfvtJACRU5S0U\nxkhfOiafNN4TwztP4ZDyolDYisc+Dkykcr623GDfmiCv2yB5zN9jing2cCuC\nQ7s5\r\n=Gibm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIATbB1UaTw1z9QYhLSZhKDYw6ncQGiFEIMJPKsm7CJUXAiEAnkpko8cBQYWxVNf7LsxcG7K+9Peh/wmcN6I8/ZR6B24="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.37_1609349513673_0.5471717846670194"},"_hasShrinkwrap":false},"2.0.0-beta.38":{"name":"twitch-js","version":"2.0.0-beta.38","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=12","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.9.7"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"f7d8ec5fbffb563ecac647d88d99dc5d927ee8e6","_id":"twitch-js@2.0.0-beta.38","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-lOmBjVMliwC9pJoQeXbbSkkIqBUiAGWZfaYjKQgOkzgCg4RyyNtoJYZWHx3Xk5Uug9IbYlKCf4AhlRFQCvrofw==","shasum":"e4904843f2dfab6dbe3546dfdf235606ff4a510a","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.38.tgz","fileCount":111,"unpackedSize":1320033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7VeiCRA9TVsSAnZWagAA7/YQAIe6HpmzNkf7fRZS4nVD\nBPyVolTFygiM3b/mvuydKUERQNexgrKAQ/rW9oZUCAlv2m8+r9ovFLdI/4hD\nNT/C0kZA0eNZ2tB9ATZ9jZRkQVgaW/r6ENQfTDUg0lEq55hOB2yQiCsSVtMZ\nMsJVYh+0Sv/lTLPfNoIQ9knjVXtnk6rrk8K9Lu5uCH5r73NJlsy10if1jr5x\n4AiS8nzPDflXkqV1h8D8LSrb3Wpb5sYVfT4a8le0oHIw0zbDU/80zpu6ItFJ\n3TRUd+Xbz1F0tN2YXUzAtQaXWDBA3WS2nZKbu2N0flxZiwbSHHIKrCIUBMJA\n5IWGqOf/5h8fb6GTWDZOAw54jqfuVUwOvDErD5j6Sq4jawf/TAneGw2Vkct5\nDkMWV7Dq47vWpRG913bnFI5jnNiw12+xzm2MhThcgqYjAMt7rTF6s25Eqrdl\nS20/LqMruVkL6PjQFBi2d13KxEkYLbk20isQPDeCKuxVlU574nv4ZV2Uh7GY\nIdv62fgwn6bhQ7bABmXWaqJoMV3boaMcHSpWitNsm7bywvcZHG8zwJKv+Kqv\nEMdAq24Lenaq/Chu4/CMl+YS2od1mcvr/BZLfvEnDro2B7rIq+0a+nkSTyfh\nZzH94oxOzk78VK/1AJHWncBk/rKZIvdj8mQPLO83p8GMwOpFUPHH0w7W1h9y\nRE/g\r\n=bwoD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB4vrg4uTyUmJ4bNNqv65RzJ9N6vk65KcFZLiTOG9K0fAiEA1tno+y7PVTX8s0lYhJ4Ai48T41pVSwu+dBqs5GSNyNw="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.38_1609389985530_0.6840701534103346"},"_hasShrinkwrap":false},"2.0.0-beta.39":{"name":"twitch-js","version":"2.0.0-beta.39","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=12","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.9.7"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["node_modules","dist","lib"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"b4ba562185c0e627eee682192711a4cac9b15d0d","_id":"twitch-js@2.0.0-beta.39","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wMoc+W7Wur3OpgzFvwvSGX1UmJ9Wf2jSE5HKo3uAOvsytTjoCj/U3qfn+3dwg64oVTwpEYm6yXmxpPSzNzPUMg==","shasum":"f535b03c01da4322c92fc3a2100b460ccd68cb62","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.39.tgz","fileCount":111,"unpackedSize":1256059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7WcdCRA9TVsSAnZWagAA5J0P/Aq9lPLbNKybPEnCGc+j\nIs3xpdmFQD4kPno69Ws25ui3hdnvfAY//gX20+CDOoh9I8LsVC/UPSirjp92\nRvyG6PHYpSTsruaf+jfI84Y3Fdniaf3SFMBtS+bNbGBSMNXBTX/QRPxqAdFZ\nZluYhD8e21uSayoKeXCvKZELg/C7YiutzvBhMCBg5aeEHdkfZ49e1geu80DP\nO1HGClP/NKP0sCUZEYVcNLY/uREn7UugoaKGPQVssLf8JmJg0ctVZtHtYHm/\nHnG+H80aTCeaWT3us43iorPrNmlYAlmZ7DJM2DwG9Cn/eQwKR2aoLeXwW52W\nEAw1sBPT0zF2uz9fJDTaAg7027cU724X/Rzg+eSjW42jHUQsJLYPtAACegln\nCMIhWxbzViUyfGPj927bSItmqNijsFiS6/ilW65NHjeNxtJY/7ttHLH8EPOG\nUABUxFQJNc8bPcxicN2+IV5Mvlgrxo8GX/NlWqFz52TNr2cYEZqVh+FkkwlT\nDypL7ZURkIEzfE81m9sel59QswXndudSrTjGPYYKtrTG5w2ooyJJJNXtrjgd\nUu0ptU0sawi4kqivp6y8vyo5i1FtLd8tlW25AWKQveD/MyLM59k7ZcT7LZI9\nZAXZoz7AFBPo6goxQ3Slv+GsYrUH3cHJDFcj33xfL+Y3uNc+INJxlkKFj88+\nFbVN\r\n=+1Y3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBVrtTBbSmM91e3Y1yvwIo4/Woxp82OGlQdN4gaiuKiHAiAB5zwImeOfG4ZQEnkQDdce63BEg/WOqIhuMn/VVaxL9A=="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.39_1609393948748_0.7401155258448"},"_hasShrinkwrap":false},"2.0.0-beta.40":{"name":"twitch-js","version":"2.0.0-beta.40","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=12","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","lint:generated-types":"tsc --project tsconfig.types.json","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","sonic-boom":"^1.3.0","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.9.7"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["dist","es","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"3f03d1ce7525e1bd3001d0fc7063a18f9beee7c9","_id":"twitch-js@2.0.0-beta.40","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-aj0clvtqO3GqS/uhCVn9d5qEDMLLKOJXnU8yxNUPkTujjghxbjEUEkb508RN078GDebj0NF8EsaLCGL35quoTA==","shasum":"f0daef676a2c3f4cb8dce729c0071730d5358731","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.40.tgz","fileCount":111,"unpackedSize":1261132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7dyjCRA9TVsSAnZWagAAqa0P/2XFXB371xj31Xq2siOI\n6idXCmX2Ygn+Klsl9rWGHBw3s7GA27Xtuk1FlVuOT49qkKNXV9QnVGf1bf53\nNXBXn0q/LvTZzR49uPRzZG5HP93xsxsKxFmBPmPbGG+4mQCHcWte7DHg146/\n2abNEoxXLT7OzePb1NSXAis5NNBuYzKlbrx90nfN5vp3Ys0f2bTCtu7kxZiw\ntj0aWPefddMsLqUcC+LHLPovlX8FAV0H4zAt4x0rQA6X1u5tSaoeGMN/zYSf\nfnYWbiy6HRpg+4L0EqRDbmMdJXiiVZgPRVeHuIcivzlDRMSKbT7U0MSUc7Yr\nMcXHpWcDKC6dl1VccjHUBLiDfhNvoHssGrnVH1rB+V3OPSwsjcj1+EVOMRlA\nCXcIurAlneLbjhzOjgd58dxW6h9tvkoYe8QTUnvK/Re1WtQG8/W9yxLnii67\noXE+Mrlg0m+tsQVPb9pG4xlRSMi1TZt3b31c5OdJ1YPZ0O7HA1I3tgx8Dn6r\nmTSCkEMNcccWYYXkh2Vfv9dJHBh913de4ModEx7yxqW7cCoctxHx5wa4JjBp\nXZqQfJGtItVBG/IiVbMgH2K6hI/wn8qg9LS7CpRQLh0V+1aWAPocgOxus+X/\nTM0pYOyuo7+evuPLxRdlzFHGgqzNZizO89ghmSIwPwRF6bDT+GGBjCAYJj6Q\nySOo\r\n=Z793\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHsv/8JeqtUgCpuom1q5OLgd8qdPkCGddpKsMzQXo+87AiBlyAhev6cbnZc1kmsTNlF4W303Z/u5NiiE41ZQtSPh6A=="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.40_1609424034557_0.06378388345003505"},"_hasShrinkwrap":false},"2.0.0-beta.41":{"name":"twitch-js","version":"2.0.0-beta.41","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=12","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","lint:generated-types":"tsc --project tsconfig.types.json","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","sonic-boom":"^1.3.0","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.9.7"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["dist","es","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"222242dd69ecdc5dd512a5efae3c740386a7a976","_id":"twitch-js@2.0.0-beta.41","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Fv/xkLF2cDs+NSALyjyaSj/W//sgzFOaPyW8eGVW/dyQtdPUQ8cyLb10msErZXee00MonLV/kMotm5mA+9m2mw==","shasum":"8b29be6092db86e6317d2ad2177fcb7ab3723e15","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.41.tgz","fileCount":111,"unpackedSize":1269760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7efkCRA9TVsSAnZWagAAyJYQAJoUh7SLi6Hha0EU2rC/\nVfeUlfvm0usorG5097zVhg2r5mKNK7OggjNNwvf9GxEqckFjTV2XBubphaf9\ndhlISfFUWHM6XB3d+PVVcrLc7XJJMnZLWtNB3s3Tl+i3C/EcUjfc2y0RctkV\n9n4PFLOQXyTqasOqsu/wLvhyVXSP4OHJZcSJZC6lrBN52YvYUWE20iu/talG\nUCFy0bf0cRBfUOquR+ISGy+QbiZIfb0QsAedenAp2Q73F/WNd65z2WF9Df02\nsylfn0r7+qRapVJU2zQsKs5i/HNtHzZsn3DpJ5tfa1qPIZIIJDq/lyWhJd2E\ns0TrFMj7UTyj5L09kRE/fcKlx+qctssVw5bAZDmh5rpiIU7kddTeLmXiIKya\nR7jfHHxLw1/0eKZobSPt1LwFKxwOGFP0uPL0PWq/v458JZy3yDzBpjA3ooiD\nStuAxdxKrxyFskNbx1wv7RppyxUsklN60X3yG4uDUsUh1n4dYSFdenqaKPXL\nIGvpNLrXDvq5ykAp4fybttbq0fjZrp3XwlAZGSSC1ahrosm3KobaAzeyGu8h\nATkR4Fa+1krPYmPhNwHm1QOGg72F3WPRYk9nacbu6PX6Nsyv8bM4nsk/pkxF\nDK8y18uWp7iatIWA5nle1q8xJX6oMSFgA69i4HBGzeSCGaX5JH022wwEiMWn\nBWa6\r\n=Tp0+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG8JaSkxg0kOozZNb7X1cPeZdHCy7XRPULotbeBTO7YfAiEA3y7WPIhAH3uEAKSjRPlit3HHvwBR62bdertA+2bO2Sg="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.41_1609426915763_0.3607502780671519"},"_hasShrinkwrap":false},"2.0.0-beta.42":{"name":"twitch-js","version":"2.0.0-beta.42","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=10","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","lint:generated-types":"tsc --project tsconfig.types.json","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","sonic-boom":"^1.3.0","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.9.7"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["dist","es","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"77afee975ef16ce291a55750f4081d39e9e1a318","_id":"twitch-js@2.0.0-beta.42","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Ejocxnrw9mteY8mlKVfLBDlkQM4I1RRfIHCkJzTIBSFD+BOiQUFJNLR0cwSEBXCiAlSdOobjBTj/o4PVPUPraQ==","shasum":"bbfb37a181ada407dc596e7037f21313cdbeb173","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.42.tgz","fileCount":111,"unpackedSize":1269953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf72v5CRA9TVsSAnZWagAAMi8P/1C1agGohPNYS+rwg1m/\nddPvYThj1Bbt+d+hCAkTpA4cZNKpuRY91thiMmXDULZotGMLVAMpaZYBiV1k\n2vaugS1OEFEsfIpJu6XL3Q5GfkMWE64FEqL3kWLN5VBD/j6Qlm4TeBEKVieF\nKemCMXGo/ZmIZaxxcvXfgGD+F0QkRfOao+X525e0jNubIH0cOh6ZBYO0CnQD\nMpSXaXZLLKbAd91/h0YiHgNQn/KXUcO3JCjmbpuIJaf98r0SuT8RHB5Yt3vp\ntxUnJ1Sk6P5nKXbivza6nI0aQUPIHV/nUx7iDLQkvEBedMCCov04v/3g5byV\nHZspkWxG8WDyEH1aGJunAfgw/IWvAX19AoJI+9IhBRl+lMj1Bv88AX96w64w\n3/3jTNNH2qd4WQo4U7vyBMj6zux7PDNeHuFzW72A844WGk5PTWsec/26N+Ii\n4WM/U6Z5wEVdlqINqAu+kzn+94jpWsjGJiV6CNrgtgMRSRN15jwQqQK04MKC\nGbj6qfU+wJP5k4gRoZdmTX+6mp6MJIPHOetR/tDgqJ9z0pYxv3gZ6FC2oQ3/\n8a2afZEjDJLsLc5dykbW/d8EPpLUCWKc6lQFAsEUY4ZKrmxAxzHS+d2bhhyY\nAzg+KFqYBQ1yAFQRmGzOpS4AXLXy8hV/a/JmC0Olvf+wvEEmLgSnMzhV2b6q\nT9KK\r\n=aBeP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAaRwApOlFywzeT4VbVY/9swN9XxiMPJXlZpRD5zNzuZAiAcHpz/fJpL3cz9wZtdPquWkcHFAHo/RxcBwfN39roieA=="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.42_1609526265353_0.7740164223109447"},"_hasShrinkwrap":false},"2.0.0-beta.43":{"name":"twitch-js","version":"2.0.0-beta.43","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=10","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","lint:generated-types":"tsc --project tsconfig.types.json","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.0.6","delay":"^4.4.0","eventemitter3":"^4.0.7","form-data":"^3.0.0","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","whatwg-fetch":"^3.4.1","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/lodash-es":"^4.17.3","@types/node-fetch":"^2.5.7","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"2.18.2","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^4.3.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","sonic-boom":"^1.3.0","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.9.7"},"browser":{"form-data":"./shims/form-data.js","ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["dist","es","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"5b261336e6f0ed334477139beb7d68490e0173d8","_id":"twitch-js@2.0.0-beta.43","_nodeVersion":"12.22.10","_npmVersion":"6.14.16","dist":{"integrity":"sha512-NVEnyh/QrojHNMt/vVoWBudzn98cD4bgBDgKvM7pfz89jk744tSpvvtQ/c8Obn+g2NnH+5fSsZ2d1yuHgEFvjw==","shasum":"98deea743238edb320b29819b256e164c0a0ca38","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.43.tgz","fileCount":111,"unpackedSize":1271431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFRK0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSkxAAjybuF1mJYW7Ti0Fph1uoEGJ//c2Aqms+6uazzPtz4bhbJNqv\r\nCMLHVlcgoy/Tz6gl7CNFszln5CyQdCU4sQM9hCN5zW3VzAKKfGxLZIvqaIxL\r\n0gTeL7h84KtcITxuDkt8eNEbhMz0CP2KiNFuPaIL+xLB1WMa2h1nNfH+8oSE\r\nRrZMRtp2GVsd7MwPLuEbCNadOVeaG/rorA6+ik3ZTgeybc36Lid2gMMLACWm\r\nTv0LxbnE37YVuEFN9HCCbrmAALPe3DE3bC7dfrD+OULKgofL+P7Xg6utxCJ6\r\n7pU3DCi8CxCrh77ZfIs0DQEA88YOE7iZMM2J9oz3+qrc1fVrE+2TmTZRJ4Jy\r\n7ed05KxuQBZxIxGUjI7MXMoIFZTA2v+2ZNe4+qDWeiabrB7xYHmn3L6DDYqo\r\nP8nKU19usb/MDiTq/nbWeTsNZ5weZG32AlMZ6GzVj7R24bQ5KvIwFC7gws/G\r\n9pfzdBYgw/eOdLAszjSMktTRzwfjK3L5jaWgfEHtEbqjENP7pdGA3tlkLm9H\r\nmMUSLIztdwzb2CozK2M+zgHE7uNR0Uz1AjHmTnE87AZ85UzTSKDrHm4Xed7h\r\n5vfaIjeNEmbhcdAA+uFtPXt4VFWNthATQROCzL87kgg2Z1gXJMJbhxYr0BWc\r\nq9zw41bJzQ1XIbrECx6gP5w0XiUJDSvZKlU=\r\n=A501\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBIztFhsD9lN1ahSJjEXk1qaZgrI/UJSc6O2ZGn6pU9SAiEAkAg+faYCG5ut2yCmy8WTuy++3M1INqB9V7fWbBfS288="}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.43_1645548212689_0.28760863726941244"},"_hasShrinkwrap":false},"2.0.0-beta.44":{"name":"twitch-js","version":"2.0.0-beta.44","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=10","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","lint:generated-types":"tsc --project tsconfig.types.json","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.1.5","delay":"^4.4.0","eventemitter3":"^4.0.7","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/expect-puppeteer":"^4.4.7","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/jest-environment-puppeteer":"^5.0.0","@types/lodash-es":"^4.17.3","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/puppeteer":"^5.4.4","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"^2.25.4","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^6.1.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","sonic-boom":"^1.3.0","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.9.7"},"browser":{"ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["dist","es","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"readme":"<p align=\"center\">\n  <img width=\"128\" src=\"media/logo.svg\">\n</p>\n\n# [TwitchJS](https://twitch-js.netlify.com/)\n\n[![Build status](https://img.shields.io/github/workflow/status/twitch-js/twitch-js/ci?style=flat-square)](https://github.com/twitch-js/twitch-js/actions)\n[![Coverage status](https://img.shields.io/codecov/c/github/twitch-js/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-js/twitch-js/branch/next)\n[![NPM version](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![NPM downloads](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues-raw/twitch-js/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-js/twitch-js/issues)\n[![GitHub bug issues](https://img.shields.io/github/issues-raw/twitch-js/twitch-js/bug?style=flat-square)](https://github.com/twitch-js/twitch-js/issues?q=is%3Aopen+is%3Aissue+label%3Abug)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Features\n\n- Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n- Forward-compatible, low-level, minimally-assertive architecture\n- Supports Node environments\n- Supports Browsers\n- Supports TypeScript\n- Connect to multiple channels\n- Chat commands\n- Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-js/twitch-js/milestones). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Documentation\n\n1. [Getting started](#getting-started)\n2. [Authentication](#authentication)\n3. [Examples](#examples)\n4. [Interacting with Twitch chat](https://twitch-js.netlify.com/classes/chat.html)\n5. [Making requests to Twitch API](https://twitch-js.netlify.com/classes/api.html)\n6. [Reference](https://twitch-js.netlify.com/globals.html)\n\n## Getting started\n\n### Module bundler (CJS/ESM)\n\nIf you are using a module bundler, such as [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import TwitchJs from 'twitch-js'\n\n   // OR ES5 syntax\n   var TwitchJs = require('twitch-js')\n\n   const twitchJs = new TwitchJs({ username, token })\n   ```\n\n### Browser (IIFE)\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta.31\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     const twitchJs = new window.TwitchJs({ username, token })\n   </script>\n   ```\n\n## Authentication\n\n### Obtaining a client ID\n\nTo obtain a client ID, follow the\n[instructions](https://dev.twitch.tv/docs/authentication/#registration) found in\nthe [Twitch Developers documentation](https://dev.twitch.tv/docs).\n\n### Obtaining a token\n\nWith a client ID,\n[tokens may be generated](https://dev.twitch.tv/docs/authentication/#getting-tokens)\non behalf of your users.\n\nTo quickly get started without a client ID, you may generate token using the\nfollowing, community-maintained, sites:\n\n1. [Twitch Token Generator](https://twitchtokengenerator.com)\n2. [Twitch Chat OAuth Password Generator](https://twitchapps.com/tmi)\n\n### Refreshing tokens\n\nTo help with refreshing tokens, an `onAuthenticationFailure` function may be\nprovided to the Messaging and API clients. `onAuthenticationFailure()` must\nreturn a `Promise` that resolves with the refreshed token. Upon resolution, any\nactions that yielded an _expired token_ response will be retried with the new,\nrefreshed token.\n\n#### Handling token refresh example\n\n```js\n// Optionally, use fetchUtil to help.\nimport fetchUtil from 'twitch-js/lib/utils/fetch'\n\nconst refreshToken = 'eyJfaWQmNzMtNGCJ9%6VFV5LNrZFUj8oU231/3Aj'\nconst clientId = 'fooid'\nconst secret = 'barbazsecret'\n\nconst onAuthenticationFailure = () =>\n  fetchUtil('https://id.twitch.tv/oauth2/token', {\n    method: 'post',\n    search: {\n      grant_type: 'refresh_token',\n      refresh_token: refreshToken,\n      client_id: clientId,\n      client_secret: clientSecret,\n    },\n  }).then((response) => response.accessToken)\n\nconst token = 'cfabdegwdoklmawdzdo98xt2fo512y'\nconst username = 'ronni'\nconst twitchJs = new TwitchJs({ token, username, onAuthenticationFailure })\n\ntwitchJs.chat.connect().then((globalUserState) => {\n  // Do stuff ...\n})\n```\n\nSee\n[Refreshing access tokens](https://dev.twitch.tv/docs/authentication/#refreshing-access-tokens)\nfor more information.\n\n### More information\n\nSee the\n[Twitch Developers documentation](https://dev.twitch.tv/docs/authentication) for\nmore information on authentication.\n\n## Examples\n\nExamples are provided via [CodeSandbox](https://codesandbox.io):\n\n- [Browser](https://codesandbox.io/s/twitch-js-browser-example-upf4x)\n- [Node](https://codesandbox.io/s/twitch-js-node-example-mnel5)\n- [TypeScript](https://codesandbox.io/s/twitch-js-typescript-example-tnnys)\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-js/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","readmeFilename":"README.md","gitHead":"922da61340690d91b45222ab8005a995742cddc5","_id":"twitch-js@2.0.0-beta.44","_nodeVersion":"12.22.10","_npmVersion":"6.14.16","dist":{"integrity":"sha512-RV1KahXBKRrx2b5SlI6tXA6+/LitUa4ckhKRuDE0gjKZe2wVWuvNcCqJ6qOK+2OcNFS2qh4tnWS1cQuF1kNh3g==","shasum":"30155f34e006af0de2702655727aa120937ff71e","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.44.tgz","fileCount":115,"unpackedSize":1252252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFm3YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6/xAAniu3tgtu3lqAYOWL51TPPsqihydF/jnVyqDY7wpdYfTh6SEU\r\ngp5Yy7aaqzBev9ARepSmp1FBoqM6R4suSZqgFUdH9az2xjrIYvM45fQGyjys\r\nr8N0xTyIdi1nmUL1x19dVL2YXF9qecvT4qQ1lW/36+P0Jqpox4DbbZA9WxR3\r\n6MOz3kVP6/0uyDLDAxwPiMySotreuk67kA9ZLKpSBVByWMv1GC8WxVTuyz0B\r\nCtZVc3V7ljIXrboZ/5lPP3Y5cD4RQzwZcY+zIJQzrB6e6kI/E18htCcGW6LK\r\nZ3pjdPJ+fv5SUqD0oyrwPBiS0IQKwwsO2pzNjuKQUZ5TZCy8Cs7faWBpYHoJ\r\nqoHBBsIcGQDzn+iRJBYO3/zgEnGpFLVcB2FLD+/qQ5JdFKdJonZRXXvgoFFo\r\n6EdbkxhFF56myappRUuS2D0gnHM4sbfVXz17LbfM2/E5ngJpnRmJdzghuwb+\r\n5XTBZn8r+ENt1VQNyWLlpyYxO5X4IQE6y743vry1xVSnbt6GQFrNRgRlCwvS\r\nmhuDnWQ+DuOHtez+aGNaY815Mi7mo1vGlCsKADz46JrcCpacv8LTQ+1xWO5m\r\nsE3/UwStzZ7j2JEOUFjH3C8/7eb02omUV5oZjq4Hmkfrdwf4BnmgBMOBiSHp\r\nTwKSf6vpPxxttwdfgJwy4802OkSKySJNiwI=\r\n=xjG4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6/SLvzQU0Y+wg8lFIz+SJIr+I6QfImREwpUa+fzcbZgIhANU/xyfunU9eY0tayFsxvKoz7yyV7qIhvLub5a9L6hIj"}]},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.44_1645637080327_0.08630680042284355"},"_hasShrinkwrap":false},"2.0.0-beta.45":{"name":"twitch-js","version":"2.0.0-beta.45","description":"Javascript library for the Twitch Messaging Interface.","license":"MIT","author":{"name":"Marc Andrews"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"engines":{"node":">=10","yarn":"^1.9.2"},"main":"lib/index.js","module":"es/index.js","unpkg":"dist/twitch.js","types":"types/index.d.ts","runkitExampleFilename":"examples/node.js","scripts":{"clean":"rimraf dist lib es types","prettier":"prettier --list-different \"**/*.{ts,md}\"","lint":"eslint \"{__e2e__,__mocks__,examples,shims,src}/**/*.ts\"","lint:generated-types":"tsc --project tsconfig.types.json","test:types":"tsc --noEmit","pretest:coverage":"rimraf coverage","test:coverage":"jest --maxWorkers=4 --collectCoverage src","test:e2e:browser":"jest __e2e__/browser","test:e2e:node":"jest __e2e__/node","test:e2e":"jest --runInBand __e2e__","test":"jest","prebuild":"yarn clean","build:lib":"tsc --project tsconfig.build.json","build:dist":"rollup -c","build":"run-p build:**","start:nightly":"ts-node --project tsconfig.json --transpile-only --require dotenv/config __e2e__/nightly/nightly.e2e.ts","start:example":"ts-node-dev examples/node.js","predocs:build":"rimraf docs","docs:build":"typedoc","docs:build:watch":"ts-node-dev --exec yarn docs:build"},"dependencies":{"camelcase-keys":"^6.2.2","cross-fetch":"^3.1.5","delay":"^4.4.0","eventemitter3":"^4.0.7","invariant":"^2.2.4","lodash":"^4.17.20","p-cancelable":"^2.0.0","p-event":"^4.2.0","p-queue":"^6.6.1","p-timeout":"^4.1.0","pify":"^5.0.0","pino":"^6.6.1","pino-pretty":"^4.2.1","qs":"^6.9.4","tekko":"2.4.0","ts-custom-error":"^3.2.0","ws":"^7.3.1"},"devDependencies":{"@actions/core":"^1.2.6","@rollup/plugin-alias":"^3.1.1","@rollup/plugin-json":"^4.1.0","@rollup/plugin-replace":"^2.3.3","@types/expect-puppeteer":"^4.4.7","@types/invariant":"^2.2.34","@types/jest":"^26.0.14","@types/jest-environment-puppeteer":"^5.0.0","@types/lodash-es":"^4.17.3","@types/pify":"^5.0.0","@types/pino":"^6.3.1","@types/puppeteer":"^5.4.4","@types/qs":"^6.9.5","@types/ws":"^7.2.6","@typescript-eslint/eslint-plugin":"^4.2.0","@typescript-eslint/parser":"^4.2.0","@wessberg/rollup-plugin-ts":"^1.3.4","benchmark":"^2.1.4","codecov":"^3.0.2","dotenv":"^8.2.0","eslint":"^7.9.0","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"^2.25.4","eslint-plugin-jest":"^24.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-tsdoc":"^0.2.0","husky":"^4.3.0","jest":"^26.6.3","jest-puppeteer":"^6.1.0","lint-staged":"^10.4.0","npm-run-all":"^4.1.5","prettier":"^2.1.2","puppeteer":"^5.3.1","rimraf":"^3.0.0","rollup":"^2.28.1","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-filesize":"^9.0.2","rollup-plugin-gzip":"^2.5.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-terser":"^7.0.2","semver":"^7.3.2","sonic-boom":"^1.3.0","terser":"^5.3.2","ts-jest":"^26.4.4","ts-node-dev":"^1.1.1","tslib":"^2.0.1","typedoc":"^0.19.2","typescript":"^3.9.7"},"browser":{"ws":"./shims/ws.js","pino":"pino/browser.js"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint","jest"],"env":{"es6":true,"node":true,"browser":true,"jest/globals":true},"extends":["plugin:@typescript-eslint/recommended","prettier","prettier/@typescript-eslint"],"rules":{"no-alert":2,"no-debugger":2,"no-console":2,"@typescript-eslint/no-explicit-any":0,"@typescript-eslint/explicit-function-return-type":0,"@typescript-eslint/no-empty-interface":0,"jest/no-disabled-tests":2,"jest/no-focused-tests":2},"overrides":[{"files":["src/**"],"rules":{"no-process-env":2}}]},"eslintIgnore":["dist","es","lib","node_modules"],"prettier":{"printWidth":80,"tabWidth":2,"bracketSpacing":true,"useTabs":false,"semi":false,"singleQuote":true,"trailingComma":"all","proseWrap":"always","overrides":[{"files":["examples/*","shims/*"],"options":{"semi":true}}]},"jest":{"projects":[{"displayName":"unit","rootDir":"<rootDir>","preset":"ts-jest","globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:node","rootDir":"<rootDir>/__e2e__/node","preset":"ts-jest","testEnvironment":"node","testMatch":["**/?(*.)+(e2e).ts"],"setupFiles":["dotenv/config"],"globals":{"ts-jest":{"tsconfig":{"diagnostics":false},"diagnostics":false}}},{"displayName":"e2e:browser","rootDir":"<rootDir>/__e2e__/browser","preset":"jest-puppeteer","testMatch":["**/?(*.)+(e2e).js"],"setupFiles":["dotenv/config"]}],"testPathIgnorePatterns":["<rootDir>/__mocks__","<rootDir>/dist","<rootDir>/lib","<rootDir>/node_modules","<rootDir>/shims"],"collectCoverageFrom":["src/**/*.ts"],"coverageDirectory":"./coverage/"},"husky":{"hooks":{"pre-commit":"yarn lint-staged"}},"lint-staged":{"*.ts":["yarn prettier --write","yarn lint"],"*.md":["prettier --write"]},"gitHead":"bc663573f15eac51c23b30be85d3cdd41dba84ae","_id":"twitch-js@2.0.0-beta.45","_nodeVersion":"16.14.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-+lWPF4N3YmmUBl3du9wChyC4qzYWNzquFInXyXD12Jo6C+fkm7sA6SBA5LmgX/6auQzE66QUGpOl7QUTpHgkxg==","shasum":"3b94867d0b9b93611f0416f39ae0ef406a59d6f0","tarball":"https://registry.npmjs.org/twitch-js/-/twitch-js-2.0.0-beta.45.tgz","fileCount":115,"unpackedSize":1245500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfTOXWxEECRpY11a2hAJ0XrBgE4A1S+QIuTJ+THBW/ZAIgannR2U5To/ItyTSCnVHxKVNahaZH4h7qD66Tgyvw8Ew="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUXYhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnAw//WLJiwqo/ErGcaXTZWP5/IiQZw4aViQoWkeXIkZRZEcDTu6sB\r\n46nroqpEE+He2ekMAxKooxNb3wAlNazxwyOzoOfzkJbpMlzxVua1/Wgv2J2Z\r\nJJdO6OwbyPEDphH8NOamWNVUjpPGBn08UvmtUWpjiQQ8yMGZgMMObsl2sM58\r\nyANjtQao6cS7Tv4mysx8nZjihuiZ5TWjg+yZ49HSbfq/TOGKQyZAbzQuGHhK\r\ntWeNSckfIkU/U1P1uZfv/2Ccmi1axj7I6EJcoU5tWl6YTfhvrBIwKoEN8Wib\r\nuz2z1bHdRMqMtFbkRGSh/H+BcevELFc3BzfB8Ugz2ZJi/l3pCenDbytjptJp\r\ndRgfFzq+BExQmtJcK5+QT+pajegTbyi8IRB4YJnEUYU2my3ZFJ4zCTnsbIaL\r\nF0mpXRaN8g21g6FtXYKi5Ksa9DAARFhmdRRACc+DhpaPmFeIiGMogTHQB4tV\r\n/cWPfvpJtdPRa6yX5MNTmk6EPuhoOohg8dXXxfJrdBQT8R3WC8dX9W70Tqxx\r\nDMb3z0ADdAw+WC2hjPPoZ5s10eXQqXsNbI6ZQeUPPt1A9pBK2vKdbl+9z/hz\r\nY7aR5Qg1uloMT4/A9th87HkcUcyxFiDmmyoahC6WsuofloWiuS2/vTlbq8FT\r\n0nCvIkmT+rO9TACBHQVAwNkBmEHDIPyKDkA=\r\n=ZBI1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"},"directories":{},"maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/twitch-js_2.0.0-beta.45_1666283041259_0.5959092111752431"},"_hasShrinkwrap":false}},"readme":"<p align=\"center\">\n  <img width=\"128\" src=\"media/logo.svg\">\n</p>\n\n# [TwitchJS](https://twitch-js.netlify.com/)\n\n[![Build status](https://img.shields.io/github/workflow/status/twitch-js/twitch-js/ci?style=flat-square)](https://github.com/twitch-js/twitch-js/actions)\n[![Coverage status](https://img.shields.io/codecov/c/github/twitch-js/twitch-js/next.svg?longCache=true&style=flat-square)](https://codecov.io/gh/twitch-js/twitch-js/branch/next)\n[![NPM version](https://img.shields.io/npm/v/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![NPM downloads](https://img.shields.io/npm/dm/twitch-js.svg?longCache=true&style=flat-square)](https://www.npmjs.com/package/twitch-js)\n[![GitHub issues](https://img.shields.io/github/issues-raw/twitch-js/twitch-js.svg?longCache=true&style=flat-square)](https://github.com/twitch-js/twitch-js/issues)\n[![GitHub bug issues](https://img.shields.io/github/issues-raw/twitch-js/twitch-js/bug?style=flat-square)](https://github.com/twitch-js/twitch-js/issues?q=is%3Aopen+is%3Aissue+label%3Abug)\n\nA community-centric, community-supported Twitch JavaScript SDK.\n\n## Features\n\n- Aligns with official\n  [Twitch IRC documentation](https://dev.twitch.tv/docs/irc/)\n- Forward-compatible, low-level, minimally-assertive architecture\n- Supports Node environments\n- Supports Browsers\n- Supports TypeScript\n- Connect to multiple channels\n- Chat commands\n- Rate limiter\n\n### In progress...\n\nHere are the\n[planned features](https://github.com/twitch-js/twitch-js/milestones). If you\nfeel something is missing, create an issue or submit a PR against the next\nbranch.\n\n## Documentation\n\n1. [Getting started](#getting-started)\n2. [Authentication](#authentication)\n3. [Examples](#examples)\n4. [Interacting with Twitch chat](https://twitch-js.netlify.com/classes/chat.html)\n5. [Making requests to Twitch API](https://twitch-js.netlify.com/classes/api.html)\n6. [Reference](https://twitch-js.netlify.com/globals.html)\n\n## Getting started\n\n### Module bundler (CJS/ESM)\n\nIf you are using a module bundler, such as [Webpack](https://webpack.js.org/),\n[Browserify](http://browserify.org/), or a in a Node environment:\n\n1. Add TwitchJS to your project:\n   ```bash\n   npm install --save twitch-js\n   ```\n2. Import TwitchJS\n\n   ```js\n   // ES2015 syntax\n   import TwitchJs from 'twitch-js'\n\n   // OR ES5 syntax\n   var TwitchJs = require('twitch-js')\n\n   const twitchJs = new TwitchJs({ username, token })\n   ```\n\n### Browser (IIFE)\n\nIf you are not using a module bundler, precompiled builds are available in the\n[`dist` folder](https://unpkg.com/twitch-js@>2.0.0-beta/dist/):\n\n1. Include a script tag in your HTML:\n   ```html\n   <script src=\"//unpkg.com/twitch-js@>2.0.0-beta.31\"></script>\n   ```\n2. Consume the library:\n   ```html\n   <script type=\"javascript\">\n     const twitchJs = new window.TwitchJs({ username, token })\n   </script>\n   ```\n\n## Authentication\n\n### Obtaining a client ID\n\nTo obtain a client ID, follow the\n[instructions](https://dev.twitch.tv/docs/authentication/#registration) found in\nthe [Twitch Developers documentation](https://dev.twitch.tv/docs).\n\n### Obtaining a token\n\nWith a client ID,\n[tokens may be generated](https://dev.twitch.tv/docs/authentication/#getting-tokens)\non behalf of your users.\n\nTo quickly get started without a client ID, you may generate token using the\nfollowing, community-maintained, sites:\n\n1. [Twitch Token Generator](https://twitchtokengenerator.com)\n2. [Twitch Chat OAuth Password Generator](https://twitchapps.com/tmi)\n\n### Refreshing tokens\n\nTo help with refreshing tokens, an `onAuthenticationFailure` function may be\nprovided to the Messaging and API clients. `onAuthenticationFailure()` must\nreturn a `Promise` that resolves with the refreshed token. Upon resolution, any\nactions that yielded an _expired token_ response will be retried with the new,\nrefreshed token.\n\n#### Handling token refresh example\n\n```js\n// Optionally, use fetchUtil to help.\nimport fetchUtil from 'twitch-js/lib/utils/fetch'\n\nconst refreshToken = 'eyJfaWQmNzMtNGCJ9%6VFV5LNrZFUj8oU231/3Aj'\nconst clientId = 'fooid'\nconst secret = 'barbazsecret'\n\nconst onAuthenticationFailure = () =>\n  fetchUtil('https://id.twitch.tv/oauth2/token', {\n    method: 'post',\n    search: {\n      grant_type: 'refresh_token',\n      refresh_token: refreshToken,\n      client_id: clientId,\n      client_secret: clientSecret,\n    },\n  }).then((response) => response.accessToken)\n\nconst token = 'cfabdegwdoklmawdzdo98xt2fo512y'\nconst username = 'ronni'\nconst twitchJs = new TwitchJs({ token, username, onAuthenticationFailure })\n\ntwitchJs.chat.connect().then((globalUserState) => {\n  // Do stuff ...\n})\n```\n\nSee\n[Refreshing access tokens](https://dev.twitch.tv/docs/authentication/#refreshing-access-tokens)\nfor more information.\n\n### More information\n\nSee the\n[Twitch Developers documentation](https://dev.twitch.tv/docs/authentication) for\nmore information on authentication.\n\n## Examples\n\nExamples are provided via [CodeSandbox](https://codesandbox.io):\n\n- [Browser](https://codesandbox.io/s/twitch-js-browser-example-upf4x)\n- [Node](https://codesandbox.io/s/twitch-js-node-example-mnel5)\n- [TypeScript](https://codesandbox.io/s/twitch-js-typescript-example-tnnys)\n\n## Contribution guidelines\n\nIf you wish to contribute, please see the\n[CONTRIBUTING](https://github.com/twitch-js/twitch-js/blob/master/CONTRIBUTING.md)\ndoc.\n\n## Special thanks\n\n[Schmoopiie](https://github.com/Schmoopiie) and all the\n[original contributors](https://github.com/tmijs/tmi.js/graphs/contributors) of\n`tmi.js`.\n\n## License\n\nMIT\n\nTwitchJS is not affiliated, associated, authorized, endorsed by, or in any way\nofficially connected with [Twitch](https://www.twitch.tv/), or any of its\nsubsidiaries or its affiliates. The name \"Twitch\" as well as related names,\nmarks, emblems and images are registered trademarks of\n[Twitch](https://www.twitch.tv/).\n","maintainers":[{"name":"marcandrews","email":"marc.cg.andrews@gmail.com"}],"time":{"modified":"2022-10-20T16:24:01.583Z","created":"2017-12-09T08:34:31.570Z","1.2.1":"2017-12-09T08:34:31.570Z","1.2.2":"2017-12-09T09:30:42.047Z","1.2.3":"2017-12-09T10:09:34.297Z","1.2.4":"2017-12-14T01:07:19.129Z","1.2.5":"2017-12-23T08:23:37.725Z","1.2.6":"2017-12-30T22:30:13.144Z","1.2.7":"2017-12-30T22:45:09.901Z","1.2.8":"2017-12-31T18:22:59.567Z","1.2.9":"2018-01-14T00:37:13.093Z","1.2.10":"2018-01-14T00:52:37.184Z","2.0.0-alpha.0":"2018-02-11T20:29:59.886Z","2.0.0-alpha.1":"2018-02-11T20:43:33.624Z","2.0.0-alpha.2":"2018-02-11T21:02:26.776Z","2.0.0-alpha.3":"2018-02-11T21:14:54.243Z","2.0.0-alpha.4":"2018-02-12T00:33:18.956Z","2.0.0-alpha.5":"2018-02-12T03:06:42.701Z","2.0.0-alpha.6":"2018-02-13T05:06:51.683Z","2.0.0-alpha.7":"2018-02-16T00:28:18.254Z","2.0.0-alpha.8":"2018-02-21T21:28:42.605Z","2.0.0-alpha.9":"2018-02-28T09:14:23.628Z","2.0.0-alpha.10":"2018-03-11T00:34:52.952Z","2.0.0-alpha.11":"2018-03-11T15:18:18.462Z","2.0.0-alpha.12":"2018-03-11T21:07:43.171Z","2.0.0-alpha.13":"2018-03-20T22:28:47.643Z","2.0.0-alpha.14":"2018-03-24T12:14:59.285Z","2.0.0-alpha.15":"2018-04-15T04:11:04.055Z","2.0.0-alpha.16":"2018-04-18T01:05:08.453Z","2.0.0-alpha.17":"2018-04-18T20:31:26.456Z","2.0.0-alpha.18":"2018-04-24T01:28:13.908Z","2.0.0-alpha.19":"2018-04-30T05:52:32.965Z","2.0.0-alpha.20":"2018-05-04T07:51:54.122Z","2.0.0-alpha.21":"2018-06-18T23:04:59.989Z","1.2.12-0":"2018-06-18T23:27:13.522Z","1.2.11-pre.0":"2018-06-18T23:52:27.308Z","1.2.11-pre.1":"2018-06-19T00:00:06.296Z","1.2.11":"2018-06-19T01:31:15.545Z","1.2.12":"2018-06-19T02:52:02.076Z","2.0.0-beta.1":"2018-06-30T18:33:09.846Z","2.0.0-beta.2":"2018-07-05T05:11:09.633Z","2.0.0-beta.3":"2018-07-10T04:10:27.441Z","2.0.0-beta.4":"2018-07-17T20:31:14.089Z","2.0.0-beta.5":"2018-07-23T23:44:51.452Z","1.2.13-pre.0":"2018-07-26T19:56:52.883Z","2.0.0-beta.6":"2018-07-27T15:37:05.603Z","1.2.13-pre.1":"2018-07-27T16:33:49.027Z","1.2.13":"2018-07-29T01:29:29.680Z","2.0.0-beta.7":"2018-07-29T17:12:57.776Z","1.2.14-pre.0":"2018-08-02T04:13:37.581Z","2.0.0-beta.8":"2018-08-05T02:39:48.606Z","2.0.0-beta.9":"2018-08-05T15:01:09.101Z","1.2.14":"2018-08-05T19:45:31.266Z","2.0.0-beta.10":"2018-08-11T15:03:03.794Z","2.0.0-beta.11":"2018-08-16T02:23:58.315Z","2.0.0-beta.12":"2018-08-16T03:31:58.795Z","2.0.0-beta.13":"2018-08-17T05:17:07.655Z","2.0.0-beta.14":"2018-08-18T18:29:15.751Z","2.0.0-beta.15":"2018-09-16T15:39:48.354Z","2.0.0-beta.16":"2018-09-16T19:57:29.094Z","2.0.0-beta.17":"2018-09-18T12:33:14.754Z","2.0.0-beta.18":"2018-09-19T01:58:25.983Z","2.0.0-beta.19":"2018-09-20T02:00:34.879Z","2.0.0-beta.20":"2018-10-05T00:36:58.140Z","2.0.0-beta.21":"2018-10-10T00:33:51.481Z","2.0.0-beta.22":"2018-10-18T01:12:28.787Z","1.2.15-pre.0":"2018-10-28T19:50:16.909Z","2.0.0-beta.23":"2018-10-29T12:54:50.470Z","1.2.15":"2018-10-29T17:03:15.504Z","2.0.0-beta.24":"2018-11-17T02:08:45.483Z","1.2.16-pre.0":"2018-11-17T13:58:56.864Z","1.2.16":"2018-11-18T10:42:41.965Z","1.2.17-pre.0":"2018-11-18T15:09:09.276Z","1.2.17":"2018-11-18T16:00:03.279Z","2.0.0-beta.25":"2018-11-27T04:10:57.420Z","2.0.0-beta.26":"2018-12-01T23:43:48.540Z","2.0.0-beta.27":"2018-12-04T06:13:08.229Z","2.0.0-beta.28":"2018-12-04T23:53:01.181Z","2.0.0-beta.29":"2018-12-10T00:16:09.219Z","2.0.0-beta.30":"2018-12-10T01:05:37.029Z","2.0.0-beta.31":"2019-12-07T15:10:59.182Z","2.0.0-beta.32":"2019-12-08T00:31:59.403Z","2.0.0-beta.33":"2019-12-10T20:20:51.608Z","2.0.0-beta.34":"2020-12-27T18:40:32.329Z","2.0.0-beta.35":"2020-12-28T14:56:41.321Z","2.0.0-beta.36":"2020-12-29T23:08:04.044Z","2.0.0-beta.37":"2020-12-30T17:31:53.940Z","2.0.0-beta.38":"2020-12-31T04:46:25.747Z","2.0.0-beta.39":"2020-12-31T05:52:28.918Z","2.0.0-beta.40":"2020-12-31T14:13:54.760Z","2.0.0-beta.41":"2020-12-31T15:01:55.936Z","2.0.0-beta.42":"2021-01-01T18:37:45.565Z","2.0.0-beta.43":"2022-02-22T16:43:32.900Z","2.0.0-beta.44":"2022-02-23T17:24:40.547Z","2.0.0-beta.45":"2022-10-20T16:24:01.500Z"},"homepage":"https://twitch-js.netlify.com","keywords":["bot","broadcast","interface","message","messaging","robot","stream","tmi","twitch.tv","twitch","websocket","ws"],"repository":{"type":"git","url":"git://github.com/twitch-js/twitch-js.git"},"author":{"name":"Marc Andrews"},"bugs":{"url":"https://github.com/twitch-js/twitch-js/issues"},"license":"MIT","readmeFilename":"README.md"}