diff --git a/packages/rocketchat-internal-hubot/.npm/package/.gitignore b/packages/rocketchat-internal-hubot/.npm/package/.gitignore deleted file mode 100644 index 3c3629e647f5..000000000000 --- a/packages/rocketchat-internal-hubot/.npm/package/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/packages/rocketchat-internal-hubot/.npm/package/README b/packages/rocketchat-internal-hubot/.npm/package/README deleted file mode 100644 index 3d492553a438..000000000000 --- a/packages/rocketchat-internal-hubot/.npm/package/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory and the files immediately inside it are automatically generated -when you change this package's NPM dependencies. Commit the files in this -directory (npm-shrinkwrap.json, .gitignore, and this README) to source control -so that others run the same versions of sub-dependencies. - -You should NOT check in the node_modules directory that Meteor automatically -creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/rocketchat-internal-hubot/.npm/package/npm-shrinkwrap.json b/packages/rocketchat-internal-hubot/.npm/package/npm-shrinkwrap.json deleted file mode 100644 index efd36a374ded..000000000000 --- a/packages/rocketchat-internal-hubot/.npm/package/npm-shrinkwrap.json +++ /dev/null @@ -1,715 +0,0 @@ -{ - "lockfileVersion": 1, - "dependencies": { - "accepts": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", - "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", - "dependencies": { - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" - } - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" - }, - "base64-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz", - "integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg=" - }, - "basic-auth": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz", - "integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA=" - }, - "basic-auth-connect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz", - "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=" - }, - "batch": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", - "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=" - }, - "body-parser": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz", - "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=", - "dependencies": { - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" - }, - "qs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz", - "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=" - }, - "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=" - } - } - }, - "bytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz", - "integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" - }, - "cline": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/cline/-/cline-0.8.2.tgz", - "integrity": "sha1-6RHnQaCtLiTSnm+rLPifoyLVnHY=" - }, - "coffee-script": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz", - "integrity": "sha1-Y1XTLPGwTN/2tITl5xF4Ky8MOb4=" - }, - "commander": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", - "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=" - }, - "compressible": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", - "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", - "dependencies": { - "mime-db": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.32.0.tgz", - "integrity": "sha512-+ZWo/xZN40Tt6S+HyakUxnSOgff+JEdaneLWIm0Z6LmpCn5DMcZntLyUY5c/rTDog28LhXLKOUZKoTxTCAdBVw==" - } - } - }, - "compression": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz", - "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=" - }, - "connect": { - "version": "2.30.2", - "resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz", - "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=", - "dependencies": { - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" - }, - "qs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz", - "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=" - }, - "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=" - } - } - }, - "connect-multiparty": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-1.2.5.tgz", - "integrity": "sha1-L6vs/cGop3S6GUhNzmYMgYqFVec=" - }, - "connect-timeout": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz", - "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=" - }, - "content-disposition": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz", - "integrity": "sha1-QoT+auBjCHRjnkToCkGMKTQTXp4=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz", - "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=" - }, - "cookie-parser": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz", - "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "crc": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz", - "integrity": "sha1-+mIuG8OIvyVzCQgta2UgDOZwkLo=" - }, - "csrf": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", - "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=" - }, - "csurf": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz", - "integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=" - }, - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=" - }, - "depd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz", - "integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "ee-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz", - "integrity": "sha1-ag18YiHkkP7v2S7D9EHJzozQl/Q=" - }, - "errorhandler": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz", - "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=", - "dependencies": { - "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - } - } - }, - "escape-html": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz", - "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "etag": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", - "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=" - }, - "express": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-3.21.2.tgz", - "integrity": "sha1-DCkD7lxU5j1lqWFwdkcDVQZlo94=" - }, - "express-session": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz", - "integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=", - "dependencies": { - "uid-safe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz", - "integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=" - } - } - }, - "finalhandler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", - "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=", - "dependencies": { - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" - } - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", - "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=" - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" - }, - "http-errors": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=" - }, - "hubot": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/hubot/-/hubot-2.19.0.tgz", - "integrity": "sha1-h8Vy0hD7DV+J91YXeuACDUn/ujY=" - }, - "hubot-help": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/hubot-help/-/hubot-help-0.2.2.tgz", - "integrity": "sha1-zqF+eCzndrdD9lOTk1s0MMLoGXw=" - }, - "iconv-lite": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz", - "integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4=" - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ipaddr.js": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz", - "integrity": "sha1-X6eM8wG4JceKvDBC2BJyMEnqI8c=" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "log": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/log/-/log-1.4.0.tgz", - "integrity": "sha1-S6HYkP3iSbAx3KA7w36q8yVlbxw=" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz", - "integrity": "sha1-IWnPdTjhsMyH+4jhUC2EdLv3mGQ=" - }, - "method-override": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz", - "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=", - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - } - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" - }, - "mime-db": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", - "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=" - }, - "mime-types": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", - "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=" - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=" - }, - "morgan": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz", - "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=", - "dependencies": { - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" - } - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - }, - "multiparty": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz", - "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=" - }, - "negotiator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz", - "integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g=" - }, - "on-finished": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.1.1.tgz", - "integrity": "sha1-+CyhyeOk8yhrG5k4YQ5bhja9PLI=" - }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" - }, - "optparse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz", - "integrity": "sha1-wGJXnS0F0kPCIaMEpx4Ml5YjzPE=" - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "pause": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz", - "integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q=" - }, - "proxy-addr": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz", - "integrity": "sha1-DUCoL4Afw1VWfS7LZe/j8HfxIcU=" - }, - "qs": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/qs/-/qs-2.2.5.tgz", - "integrity": "sha1-EIirr53MCuWuRbcJ5sa1iIsjkjw=" - }, - "random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" - }, - "range-parser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", - "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=" - }, - "raw-body": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", - "dependencies": { - "bytes": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=" - }, - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=" - } - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=" - }, - "response-time": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", - "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", - "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - } - } - }, - "rndm": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", - "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" - }, - "scoped-http-client": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/scoped-http-client/-/scoped-http-client-0.11.0.tgz", - "integrity": "sha1-iH+oKoNg8V1jmlLlBOVjwVfSbXQ=" - }, - "send": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.13.0.tgz", - "integrity": "sha1-UY+SGusFYK7H3KspkLFM9vPM5d4=", - "dependencies": { - "destroy": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz", - "integrity": "sha1-tDO0ck5x/YVR2YhRdIUcX8N34sk=" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" - }, - "statuses": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", - "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=" - } - } - }, - "serve-favicon": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz", - "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=", - "dependencies": { - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=" - } - } - }, - "serve-index": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz", - "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=", - "dependencies": { - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" - } - } - }, - "serve-static": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", - "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=", - "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" - }, - "send": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", - "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=" - }, - "statuses": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", - "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=" - } - } - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - }, - "stream-counter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", - "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "tsscmp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", - "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" - }, - "type-is": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.5.7.tgz", - "integrity": "sha1-uTaKWTzG730GReeLL0xky+zQXpA=" - }, - "uid-safe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", - "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" - }, - "vary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz", - "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=" - }, - "vhost": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz", - "integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU=" - } - } -} diff --git a/packages/rocketchat-internal-hubot/README.md b/packages/rocketchat-internal-hubot/README.md deleted file mode 100644 index e760fb78e1fe..000000000000 --- a/packages/rocketchat-internal-hubot/README.md +++ /dev/null @@ -1,21 +0,0 @@ -Meteor doesn't interact really well with NPM and the NPM module -loading mechanism which hubot uses for its scripts. So we've -split out most of hubot's scripts into this separate module. - -To add a new hubot script: - -* **If it is packaged in npm** (probably via the -[hubot-scripts organization on github](https://github.com/hubot-scripts)), -just add it to the `package.json`, for example with: -``` -$ npm install --save hubot-pugme -``` - -* **If it is included in the old [hubot-scripts repository](https://github.com/github/hubot-scripts/tree/master/src/scripts)**, -just add it to the admin settings: -``` -redis-brain.coffee,shipit.coffee,whatis.coffee,.coffee -``` - -* **If it is a custom script**, or a forked/tweaked version of a - script, add it to the `scripts/` directory. diff --git a/packages/rocketchat-internal-hubot/package.js b/packages/rocketchat-internal-hubot/package.js deleted file mode 100644 index 10b8e34a38f9..000000000000 --- a/packages/rocketchat-internal-hubot/package.js +++ /dev/null @@ -1,22 +0,0 @@ -Package.describe({ - name: 'rocketchat:internal-hubot', - version: '0.0.1', - summary: 'Internal Hubot for Rocket.Chat', - git: '', -}); - -Package.onUse(function(api) { - api.use([ - 'ecmascript', - 'tracker', - 'rocketchat:lib', - 'templating', - ]); - api.mainModule('server/index.js', 'server'); -}); - -// It needs to be here cuz they are coffee files and need to be compiled -Npm.depends({ - hubot: '2.19.0', - 'hubot-help': '0.2.2', -}); diff --git a/packages/rocketchat-internal-hubot/server/hubot.js b/packages/rocketchat-internal-hubot/server/hubot.js deleted file mode 100644 index 3c6fd1499ae9..000000000000 --- a/packages/rocketchat-internal-hubot/server/hubot.js +++ /dev/null @@ -1,264 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { RocketChat } from 'meteor/rocketchat:lib'; -import _ from 'underscore'; -import s from 'underscore.string'; - -import 'coffeescript/register'; - -const Hubot = Npm.require('hubot'); - -// Start a hubot, connected to our chat room. -// 'use strict' -// Log messages? -const DEBUG = false; - -export let InternalHubot = {}; - -const sendHelper = Meteor.bindEnvironment((robot, envelope, strings, map) => { - while (strings.length > 0) { - const string = strings.shift(); - if (typeof(string) === 'function') { - string(); - } else { - try { - map(string); - } catch (err) { - if (DEBUG) { console.error(`Hubot error: ${ err }`); } - robot.logger.error(`RocketChat send error: ${ err }`); - } - } - } -}); - -// Monkey-patch Hubot to support private messages -Hubot.Response.prototype.priv = (...strings) => this.robot.adapter.priv(this.envelope, ...strings); - -// More monkey-patching -Hubot.Robot.prototype.loadAdapter = () => {}; // disable - -export { - Hubot, -}; - -// grrrr, Meteor.bindEnvironment doesn't preserve `this` apparently -const bind = function(f) { - const g = Meteor.bindEnvironment((self, ...args) => f.apply(self, args)); - return function(...args) { return g(this, ...Array.from(args)); }; -}; - -class Robot extends Hubot.Robot { - constructor(...args) { - super(...(args || [])); - this.hear = bind(this.hear); - this.respond = bind(this.respond); - this.enter = bind(this.enter); - this.leave = bind(this.leave); - this.topic = bind(this.topic); - this.error = bind(this.error); - this.catchAll = bind(this.catchAll); - this.user = Meteor.users.findOne({ username: this.name }, { fields: { username: 1 } }); - } - loadAdapter() { return false; } - hear(regex, callback) { return super.hear(regex, Meteor.bindEnvironment(callback)); } - respond(regex, callback) { return super.respond(regex, Meteor.bindEnvironment(callback)); } - enter(callback) { return super.enter(Meteor.bindEnvironment(callback)); } - leave(callback) { return super.leave(Meteor.bindEnvironment(callback)); } - topic(callback) { return super.topic(Meteor.bindEnvironment(callback)); } - error(callback) { return super.error(Meteor.bindEnvironment(callback)); } - catchAll(callback) { return super.catchAll(Meteor.bindEnvironment(callback)); } -} - -export class RocketChatAdapter extends Hubot.Adapter { - // Public: Raw method for sending data back to the chat source. Extend this. - // - // envelope - A Object with message, room and user details. - // strings - One or more Strings for each message to send. - // - // Returns nothing. - send(envelope, ...strings) { - if (DEBUG) { console.log('ROCKETCHATADAPTER -> send'.blue); } - // console.log envelope, strings - return sendHelper(this.robot, envelope, strings, (string) => { - if (DEBUG) { console.log(`send ${ envelope.room }: ${ string } (${ envelope.user.id })`); } - return RocketChat.sendMessage(InternalHubot.user, { msg: string }, { _id: envelope.room }); - }); - } - - // Public: Raw method for sending emote data back to the chat source. - // - // envelope - A Object with message, room and user details. - // strings - One or more Strings for each message to send. - // - // Returns nothing. - emote(envelope, ...strings) { - if (DEBUG) { console.log('ROCKETCHATADAPTER -> emote'.blue); } - return sendHelper(this.robot, envelope, strings, (string) => { - if (DEBUG) { console.log(`emote ${ envelope.rid }: ${ string } (${ envelope.u.username })`); } - if (envelope.message.private) { return this.priv(envelope, `*** ${ string } ***`); } - return Meteor.call('sendMessage', { - msg: string, - rid: envelope.rid, - action: true, - } - ); - }); - } - - // Priv: our extension -- send a PM to user - priv(envelope, ...strings) { - if (DEBUG) { console.log('ROCKETCHATADAPTER -> priv'.blue); } - return sendHelper(this.robot, envelope, strings, function(string) { - if (DEBUG) { console.log(`priv ${ envelope.room }: ${ string } (${ envelope.user.id })`); } - return Meteor.call('sendMessage', { - u: { - username: RocketChat.settings.get('InternalHubot_Username'), - }, - to: `${ envelope.user.id }`, - msg: string, - rid: envelope.room, - }); - }); - } - - // Public: Raw method for building a reply and sending it back to the chat - // source. Extend this. - // - // envelope - A Object with message, room and user details. - // strings - One or more Strings for each reply to send. - // - // Returns nothing. - reply(envelope, ...strings) { - if (DEBUG) { console.log('ROCKETCHATADAPTER -> reply'.blue); } - if (envelope.message.private) { - return this.priv(envelope, ...strings); - } else { - return this.send(envelope, ...strings.map((str) => `${ envelope.user.name }: ${ str }`)); - } - } - - // Public: Raw method for setting a topic on the chat source. Extend this. - // - // envelope - A Object with message, room and user details. - // strings - One more more Strings to set as the topic. - // - // Returns nothing. - topic(/* envelope, ...strings*/) { - if (DEBUG) { return console.log('ROCKETCHATADAPTER -> topic'.blue); } - } - - // Public: Raw method for playing a sound in the chat source. Extend this. - // - // envelope - A Object with message, room and user details. - // strings - One or more strings for each play message to send. - // - // Returns nothing - play(/* envelope, ...strings*/) { - if (DEBUG) { return console.log('ROCKETCHATADAPTER -> play'.blue); } - } - - // Public: Raw method for invoking the bot to run. Extend this. - // - // Returns nothing. - run() { - if (DEBUG) { console.log('ROCKETCHATADAPTER -> run'.blue); } - this.robot.emit('connected'); - return this.robot.brain.mergeData({}); - } - // @robot.brain.emit 'loaded' - - // Public: Raw method for shutting the bot down. Extend this. - // - // Returns nothing. - close() { - if (DEBUG) { return console.log('ROCKETCHATADAPTER -> close'.blue); } - } -} - -export const InternalHubotReceiver = (message) => { - if (DEBUG) { console.log(message); } - if (message.u.username !== InternalHubot.name) { - const room = RocketChat.models.Rooms.findOneById(message.rid); - const enabledForC = RocketChat.settings.get('InternalHubot_EnableForChannels'); - const enabledForD = RocketChat.settings.get('InternalHubot_EnableForDirectMessages'); - const enabledForP = RocketChat.settings.get('InternalHubot_EnableForPrivateGroups'); - const subscribedToP = RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(room._id, InternalHubot.user._id); - - if ( - (room.t === 'c' && enabledForC) - || (room.t === 'd' && enabledForD) - || (room.t === 'p' && enabledForP && subscribedToP) - ) { - const InternalHubotUser = new Hubot.User(message.u.username, { room: message.rid }); - const InternalHubotTextMessage = new Hubot.TextMessage(InternalHubotUser, message.msg, message._id); - InternalHubot.adapter.receive(InternalHubotTextMessage); - } - } - return message; -}; - -export class HubotScripts { - constructor(robot) { - const modulesToLoad = [ - 'hubot-help/src/help.coffee', - ]; - const customPath = RocketChat.settings.get('InternalHubot_PathToLoadCustomScripts'); - HubotScripts.load(`${ __meteor_bootstrap__.serverDir }/npm/node_modules/meteor/rocketchat_internal-hubot/node_modules/`, modulesToLoad, robot); - HubotScripts.load(customPath, RocketChat.settings.get('InternalHubot_ScriptsToLoad').split(',') || [], robot); - } - - static load(path, scriptsToLoad, robot) { - if (!path || !scriptsToLoad) { - return; - } - scriptsToLoad.forEach((scriptFile) => { - try { - scriptFile = s.trim(scriptFile); - if (scriptFile === '') { - return; - } - // delete require.cache[require.resolve(path+scriptFile)]; - const fn = Npm.require(path + scriptFile); - if (typeof(fn) === 'function') { - fn(robot); - } else { - fn.default(robot); - } - robot.parseHelp(path + scriptFile); - console.log(`Loaded ${ scriptFile }`.green); - } catch (e) { - console.log(`Can't load ${ scriptFile }`.red); - console.log(e); - } - }); - } -} - -const init = _.debounce(Meteor.bindEnvironment(() => { - if (RocketChat.settings.get('InternalHubot_Enabled')) { - InternalHubot = new Robot(null, null, false, RocketChat.settings.get('InternalHubot_Username')); - InternalHubot.alias = 'bot'; - InternalHubot.adapter = new RocketChatAdapter(InternalHubot); - new HubotScripts(InternalHubot); - InternalHubot.run(); - return RocketChat.callbacks.add('afterSaveMessage', InternalHubotReceiver, RocketChat.callbacks.priority.LOW, 'InternalHubot'); - } else { - InternalHubot = {}; - return RocketChat.callbacks.remove('afterSaveMessage', 'InternalHubot'); - } -}), 1000); - -Meteor.startup(function() { - init(); - RocketChat.models.Settings.findByIds(['InternalHubot_Username', 'InternalHubot_Enabled', 'InternalHubot_ScriptsToLoad', 'InternalHubot_PathToLoadCustomScripts']).observe({ - changed() { - return init(); - }, - }); - // TODO useful when we have the ability to invalidate `require` cache - // RocketChat.RateLimiter.limitMethod('reloadInternalHubot', 1, 5000, { - // userId(/*userId*/) { return true; } - // }); - // Meteor.methods({ - // reloadInternalHubot: () => init() - // }); -}); diff --git a/packages/rocketchat-internal-hubot/server/index.js b/packages/rocketchat-internal-hubot/server/index.js deleted file mode 100644 index f0e3e889ec81..000000000000 --- a/packages/rocketchat-internal-hubot/server/index.js +++ /dev/null @@ -1,10 +0,0 @@ -import './settings'; -import { Hubot, HubotScripts, InternalHubot, InternalHubotReceiver, RocketChatAdapter } from './hubot'; - -export { - Hubot, - HubotScripts, - InternalHubot, - InternalHubotReceiver, - RocketChatAdapter, -}; diff --git a/packages/rocketchat-internal-hubot/server/settings.js b/packages/rocketchat-internal-hubot/server/settings.js deleted file mode 100644 index 82bfdec4ed95..000000000000 --- a/packages/rocketchat-internal-hubot/server/settings.js +++ /dev/null @@ -1,15 +0,0 @@ -import { RocketChat } from 'meteor/rocketchat:lib'; - -RocketChat.settings.addGroup('InternalHubot', function() { - this.add('InternalHubot_Enabled', false, { type: 'boolean', i18nLabel: 'Enabled' }); - this.add('InternalHubot_Username', 'rocket.cat', { type: 'string', i18nLabel: 'Username', i18nDescription: 'InternalHubot_Username_Description', public: true }); - this.add('InternalHubot_ScriptsToLoad', '', { type: 'string' }); - this.add('InternalHubot_PathToLoadCustomScripts', '', { type: 'string' }); - this.add('InternalHubot_EnableForChannels', true, { type: 'boolean' }); - this.add('InternalHubot_EnableForDirectMessages', false, { type: 'boolean' }); - this.add('InternalHubot_EnableForPrivateGroups', false, { type: 'boolean' }); - // this.add('InternalHubot_reload', 'reloadInternalHubot', { - // type: 'action', - // actionText: 'reload' - // }); -}); diff --git a/server/startup/migrations/v138.js b/server/startup/migrations/v138.js new file mode 100644 index 000000000000..b6128f87e285 --- /dev/null +++ b/server/startup/migrations/v138.js @@ -0,0 +1,15 @@ +import { Migrations } from 'meteor/rocketchat:migrations'; +import { Settings } from 'meteor/rocketchat:models'; + +Migrations.add({ + version: 138, + up() { + Settings.remove({ _id: 'InternalHubot_Enabled' }); + Settings.remove({ _id: 'InternalHubot_Username' }); + Settings.remove({ _id: 'InternalHubot_ScriptsToLoad' }); + Settings.remove({ _id: 'InternalHubot_PathToLoadCustomScripts' }); + Settings.remove({ _id: 'InternalHubot_EnableForChannels' }); + Settings.remove({ _id: 'InternalHubot_EnableForPrivateGroups' }); + Settings.remove({ _id: 'InternalHubot_EnableForDirectMessages' }); + }, +});