diff --git a/chatCommands.js b/chatCommands.js index 1826c76..1b3abec 100644 --- a/chatCommands.js +++ b/chatCommands.js @@ -64,7 +64,7 @@ p.run = function (o) { client.say(o.to, o.args + " has " + (fuckyoujs * 100).toFixed(2) + "% adhs"); return true; case ".level": - client.say(o.to, o.from + " dein level: " + userLevelNames[level]); + client.say(o.to, o.from + " your level: " + userLevelNames[level]); return true; case ".reboot": if (level < getLevel("admin") || o.args != "yourself") { @@ -76,16 +76,16 @@ p.run = function (o) { return true; case ".reg": if (level < getLevel("admin")) { - client.say(o.to, o.from + ": dein level: " + userLevelNames[level] + ", benötigtes level: admin"); + client.say(o.to, o.from + ": your level: " + userLevelNames[level] + ", needed level: admin"); return true; } if (!~["open", "close"].indexOf(o.args)) { client.say(o.to, "momentane befehle: open und close"); return true; } - client.say(o.to, "kleinen moment bitte"); - exec("/bin/bash /var/www/w0bm.com/resources/views/"+o.args+".sh", (err, sout, serr)=>{ - client.say(o.to, "registrierung erfolgreich " + (o.args == "open" ? "geöffnet" : "geschlossen")); + client.say(o.to, "Your word is my command"); + exec("/bin/bash /home/sirx/web/w0bm.com/resources/views/"+o.args+".sh", (err, sout, serr)=>{ + client.say(o.to, "Registration successfully " + (o.args == "open" ? "opened you can now register your account at https://w0bm.com/register" : "closed")); }); break; case ".status": diff --git a/index.js b/index.js index fcfe822..35e2fe9 100644 --- a/index.js +++ b/index.js @@ -6,7 +6,7 @@ Raven.config(config.sentry).install(); const Irc = require("irc"); const Mysql = require("mysql"); -require('dotenv').config({path: '/var/www/w0bm.com/.env'}); +require('dotenv').config({path: '/home/sirx/web/w0bm.com/.env'}); let db = Mysql.createPool({ host: process.env.DB_HOST, @@ -46,7 +46,7 @@ irc.client = new Irc.Client(config.servers.n0xy.host, config.servers.n0xy.nick, userName: config.servers.n0xy.userName, realName: config.servers.n0xy.realName, debug: false, - selfSigned: false, + selfSigned: true, debugRaw: false, autoConnect: false, password: config.servers.n0xy.srvPassword @@ -84,8 +84,9 @@ process.nextTick(()=>irc.client.connect()); const handleChatCommands = require("./chatCommands")(irc, db); const shiftRegex = /^(\.?\w+:?)\s+(.+)/; -const w0bmregex = /(?:[^\/]|^|\/\/)w0bm\.com\/(?:\w+\/){0,3}([^ '\/@`´]+\.(webm)|\d+)/i; - +//const w0bmregex = /(?:[^\/]|^|\/\/)w0bm\.com\/(?:\w+\/){0,3}([^ '\/@`´]+\.(webm)|\d+)/i; +//const w0bmregex = /(?:[^\/]|^|\/\/)(?:b\.)?w0bm\.com\/(?:\w+\/){0,3}([^ '\/@`´]+\.(webm)|\d+)/i; +const w0bmregex = /(?:\b(\w+)\.)?\bw0bm\.com\/(?:\w+\/){0,3}([^ '\/@`´]+\.(webm)|\d+)/i; const capsmsg = [ "Captain capslock did not approve this!", "CAPS", @@ -148,25 +149,25 @@ irc.client.addListener("message", (from, to, message, raw) => { return; }*/ - if (/pr0gramm\.com/.test(message) && to == "#w0bm") { + /*if (/pr0gramm\.com/.test(message) && to == "#w0bm") { client.say(to, pr0text[Math.random()*pr0text.length|0]); return; - } + }*/ /* if (message.toUpperCase() == message && message.trim().split("").filter(c=>/[A-Z]/.test(c)).length > 5) { client.say(to, capsmsg[Math.random()*capsmsg.length|0]); } */ - if (w0bmregex.test(message)) { +if (w0bmregex.test(message)) { var link = message.match(w0bmregex); if (link) { - var id = link[1]; + var id = link[2]; if (id.length > 20) { client.say(to, "fuck you"); return; } - var webm = link[2]; + var webm = link[3]; db.getConnection((err, con) => { if (err) { client.say(to, "sorry.. there seems to be a database problem right now D:"); @@ -174,7 +175,7 @@ irc.client.addListener("message", (from, to, message, raw) => { return; } con.query( - "select v.id, v.deleted_at, u.username, c.name as category, v.interpret, v.songtitle, v.imgsource,"+ + "select v.id, v.deleted_at, u.username, c.name as category, v.videotitle, v.interpret, v.songtitle, v.imgsource,"+ " (select 1 from taggable_taggables t where t.taggable_id = v.id and t.tag_id = 1) as sfw,"+ " (select count(cm.id) from comments cm where cm.video_id = v.id and cm.deleted_at is NULL) as comments"+ " from videos v, users u, categories c where v.user_id = u.id and v.category_id = c.id"+ @@ -195,10 +196,10 @@ irc.client.addListener("message", (from, to, message, raw) => { if (vid.deleted_at) txt.push("\x02gelöscht\x0f"); if (webm) txt.push("Link: \x02https://w0bm.com/" + vid.id + "\x0f"); txt.push(vid["sfw"] ? "\x039SFW\x0f" : "\x034NSFW\x0f"); - ["interpret", "songtitle", "category", "username", "comments"].forEach((v, i) => { + ["videotitle", "interpret", "songtitle", "category", "username", "comments"].forEach((v, i) => { if (vid[v]) { txt.push( - ["Artist", "Title", "Category", "Uploader", "Comments"][i] + ": " + ["Video Title", "Artist", "Song Title", "Category", "Uploader", "Comments"][i] + ": " +"\x02" + vid[v] + "\x0f" ); } @@ -213,10 +214,10 @@ irc.client.addListener("message", (from, to, message, raw) => { } } - if (~haitext.indexOf(message.toLowerCase())) { + /*if (~haitext.indexOf(message.toLowerCase())) { client.say(to, haitext[Math.random()*haitext.length|0] + " " + from + "!"); return; - } + }*/ if (/^!d$/.test(message)) { client.say(to, from + ": the magic dice shows " + ((Math.random()*6|0)+1) + " eyes."); diff --git a/package-lock.json b/package-lock.json index 65f9e7e..40c7cc7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2,19 +2,12 @@ "name": "w0bmircbot", "version": "1.0.0", "lockfileVersion": 1, - "requires": true, "dependencies": { "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } + "dev": true }, "asn1": { "version": "0.2.3", @@ -51,10 +44,7 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } + "optional": true }, "bignumber.js": { "version": "4.0.4", @@ -72,10 +62,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "dev": true, - "requires": { - "hoek": "4.2.1" - } + "dev": true }, "caseless": { "version": "0.12.0", @@ -93,14 +80,7 @@ "version": "0.19.0", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz", "integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU=", - "dev": true, - "requires": { - "css-select": "1.0.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.8.3", - "lodash": "3.10.1" - } + "dev": true }, "co": { "version": "4.6.0", @@ -112,10 +92,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } + "dev": true }, "cookie": { "version": "0.3.1", @@ -140,18 +117,12 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "dev": true, - "requires": { - "boom": "5.2.0" - }, "dependencies": { "boom": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.2.1" - } + "dev": true } } }, @@ -159,13 +130,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz", "integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA=", - "dev": true, - "requires": { - "boolbase": "1.0.0", - "css-what": "1.0.0", - "domutils": "1.4.3", - "nth-check": "1.0.1" - } + "dev": true }, "css-what": { "version": "1.0.0", @@ -177,10 +142,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } + "dev": true }, "delayed-stream": { "version": "1.0.0", @@ -193,10 +155,6 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, "dependencies": { "domelementtype": { "version": "1.1.3", @@ -216,19 +174,13 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } + "dev": true }, "domutils": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } + "dev": true }, "dotenv": { "version": "5.0.1", @@ -241,10 +193,7 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } + "optional": true }, "entities": { "version": "1.1.1", @@ -286,31 +235,19 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" - } + "dev": true }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } + "dev": true }, "google": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/google/-/google-2.1.0.tgz", "integrity": "sha1-Edl8m1QvoqxMOlDLzZwUyC9qgQE=", - "dev": true, - "requires": { - "cheerio": "0.19.0", - "request": "2.85.0" - } + "dev": true }, "har-schema": { "version": "2.0.0", @@ -322,23 +259,13 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "dev": true, - "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" - } + "dev": true }, "hawk": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", - "dev": true, - "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" - } + "dev": true }, "hoek": { "version": "4.2.1", @@ -351,23 +278,12 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" - }, "dependencies": { "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } + "dev": true }, "entities": { "version": "1.0.0", @@ -381,22 +297,14 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" - } + "dev": true }, "iconv": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/iconv/-/iconv-2.2.3.tgz", "integrity": "sha1-4ITWDut9c9p/CpwJbkyKvgkL+u0=", "dev": true, - "optional": true, - "requires": { - "nan": "2.9.2" - } + "optional": true }, "inherits": { "version": "2.0.3", @@ -408,12 +316,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz", "integrity": "sha1-NxT0doNlqW0LL3dryRFmvrJGS7w=", - "dev": true, - "requires": { - "iconv": "2.2.3", - "irc-colors": "1.4.2", - "node-icu-charset-detector": "0.2.0" - } + "dev": true }, "irc-colors": { "version": "1.4.2", @@ -474,13 +377,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } + "dev": true }, "lodash": { "version": "3.10.1", @@ -492,12 +389,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "dev": true, - "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "1.1.6" - } + "dev": true }, "mime-db": { "version": "1.33.0", @@ -509,22 +401,13 @@ "version": "2.1.18", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dev": true, - "requires": { - "mime-db": "1.33.0" - } + "dev": true }, "mysql": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.15.0.tgz", "integrity": "sha512-C7tjzWtbN5nzkLIV+E8Crnl9bFyc7d3XJcBAvHKEVkjrYjogz3llo22q6s/hw+UcsE4/844pDob9ac+3dVjQSA==", "dev": true, - "requires": { - "bignumber.js": "4.0.4", - "readable-stream": "2.3.3", - "safe-buffer": "5.1.1", - "sqlstring": "2.3.0" - }, "dependencies": { "isarray": { "version": "1.0.0", @@ -536,25 +419,13 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } + "dev": true }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } + "dev": true } } }, @@ -570,19 +441,13 @@ "resolved": "https://registry.npmjs.org/node-icu-charset-detector/-/node-icu-charset-detector-0.2.0.tgz", "integrity": "sha1-wjINo3Tdy2cfxUy0oOBB4Vb/1jk=", "dev": true, - "optional": true, - "requires": { - "nan": "2.9.2" - } + "optional": true }, "nth-check": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "dev": true, - "requires": { - "boolbase": "1.0.0" - } + "dev": true }, "oauth-sign": { "version": "0.8.2", @@ -619,13 +484,6 @@ "resolved": "https://registry.npmjs.org/raven/-/raven-2.4.2.tgz", "integrity": "sha1-ASnircMHiGRv1TC2fQioziXU9tw=", "dev": true, - "requires": { - "cookie": "0.3.1", - "md5": "2.2.1", - "stack-trace": "0.0.9", - "timed-out": "4.0.1", - "uuid": "3.0.0" - }, "dependencies": { "uuid": { "version": "3.0.0", @@ -639,43 +497,13 @@ "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } + "dev": true }, "request": { "version": "2.85.0", "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", - "dev": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } + "dev": true }, "safe-buffer": { "version": "5.1.1", @@ -693,10 +521,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "dev": true, - "requires": { - "hoek": "4.2.1" - } + "dev": true }, "sqlstring": { "version": "2.3.0", @@ -708,17 +533,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - } + "dev": true }, "stack-trace": { "version": "0.0.9", @@ -733,9 +548,9 @@ "dev": true }, "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", "dev": true }, "timed-out": { @@ -748,19 +563,13 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", - "dev": true, - "requires": { - "punycode": "1.4.1" - } + "dev": true }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } + "dev": true }, "tweetnacl": { "version": "0.14.5", @@ -785,12 +594,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - } + "dev": true } } }