From 15ba0cc9b8d49371f916633634b6911dc27c8244 Mon Sep 17 00:00:00 2001 From: Tony Gaskell Date: Sun, 31 May 2020 14:08:29 -1000 Subject: [PATCH 1/3] fix(karma) check if user exists before granting karma Fix coffeescript syntax errors --- package-lock.json | 534 +++++++++++++++++++++---------------------- scripts/karma.coffee | 18 +- 2 files changed, 275 insertions(+), 277 deletions(-) diff --git a/package-lock.json b/package-lock.json index edd30ab..4478168 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,20 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.82.tgz", "integrity": "sha512-uFjwSPo9dyoK0bhxMIuCsqIyQW9EHN2RcadPlA2s67TxzGDL9MJKjNAsi+TCn8ProGHcntLhgvIpbZmbtk2uCQ==" }, + "CSSselect": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz", + "integrity": "sha1-+Kt+H4QYzmPNput713ioXX7EkrI=", + "requires": { + "CSSwhat": "0.4", + "domutils": "1.4" + } + }, + "CSSwhat": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz", + "integrity": "sha1-hn2g/zn3eGEyQsRM/qg/CqTr35s=" + }, "abab": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz", @@ -19,7 +33,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", "requires": { - "mime-types": "2.1.15", + "mime-types": "~2.1.6", "negotiator": "0.5.3" }, "dependencies": { @@ -33,7 +47,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } } } @@ -48,7 +62,7 @@ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.4" } }, "ajv": { @@ -56,8 +70,8 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } }, "amdefine": { @@ -137,7 +151,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "body-parser": { @@ -146,15 +160,15 @@ "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=", "requires": { "bytes": "2.1.0", - "content-type": "1.0.2", - "debug": "2.2.0", - "depd": "1.0.1", - "http-errors": "1.3.1", + "content-type": "~1.0.1", + "debug": "~2.2.0", + "depd": "~1.0.1", + "http-errors": "~1.3.1", "iconv-lite": "0.4.11", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "4.0.0", - "raw-body": "2.1.7", - "type-is": "1.6.15" + "raw-body": "~2.1.2", + "type-is": "~1.6.6" }, "dependencies": { "ee-first": { @@ -172,7 +186,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } }, "on-finished": { @@ -194,7 +208,7 @@ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.15" + "mime-types": "~2.1.15" } } } @@ -204,7 +218,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "bytes": { @@ -222,11 +236,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cheerio": { @@ -234,11 +248,11 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz", "integrity": "sha1-+lrkLMYBIRM9KW0LRtmDIV9yaOo=", "requires": { - "CSSselect": "0.4.1", - "dom-serializer": "0.0.1", - "entities": "1.1.1", - "htmlparser2": "3.7.3", - "lodash": "2.4.2" + "CSSselect": "~0.4.0", + "dom-serializer": "~0.0.0", + "entities": "~1.1.1", + "htmlparser2": "~3.7.2", + "lodash": "~2.4.1" } }, "cline": { @@ -261,7 +275,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -274,7 +288,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.10.tgz", "integrity": "sha1-/tocf3YXkScyspv4zyYlKiC57s0=", "requires": { - "mime-db": "1.29.0" + "mime-db": ">= 1.27.0 < 2" }, "dependencies": { "mime-db": { @@ -289,12 +303,12 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz", "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=", "requires": { - "accepts": "1.2.13", + "accepts": "~1.2.12", "bytes": "2.1.0", - "compressible": "2.0.10", - "debug": "2.2.0", - "on-headers": "1.0.1", - "vary": "1.0.1" + "compressible": "~2.0.5", + "debug": "~2.2.0", + "on-headers": "~1.0.0", + "vary": "~1.0.1" } }, "connect": { @@ -303,36 +317,36 @@ "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=", "requires": { "basic-auth-connect": "1.0.0", - "body-parser": "1.13.3", + "body-parser": "~1.13.3", "bytes": "2.1.0", - "compression": "1.5.2", - "connect-timeout": "1.6.2", - "content-type": "1.0.2", + "compression": "~1.5.2", + "connect-timeout": "~1.6.2", + "content-type": "~1.0.1", "cookie": "0.1.3", - "cookie-parser": "1.3.5", + "cookie-parser": "~1.3.5", "cookie-signature": "1.0.6", - "csurf": "1.8.3", - "debug": "2.2.0", - "depd": "1.0.1", - "errorhandler": "1.4.3", - "express-session": "1.11.3", + "csurf": "~1.8.3", + "debug": "~2.2.0", + "depd": "~1.0.1", + "errorhandler": "~1.4.2", + "express-session": "~1.11.3", "finalhandler": "0.4.0", "fresh": "0.3.0", - "http-errors": "1.3.1", - "method-override": "2.3.9", - "morgan": "1.6.1", + "http-errors": "~1.3.1", + "method-override": "~2.3.5", + "morgan": "~1.6.1", "multiparty": "3.3.2", - "on-headers": "1.0.1", - "parseurl": "1.3.1", + "on-headers": "~1.0.0", + "parseurl": "~1.3.0", "pause": "0.1.0", "qs": "4.0.0", - "response-time": "2.3.2", - "serve-favicon": "2.3.2", - "serve-index": "1.7.3", - "serve-static": "1.10.3", - "type-is": "1.6.15", + "response-time": "~2.3.1", + "serve-favicon": "~2.3.0", + "serve-index": "~1.7.2", + "serve-static": "~1.10.0", + "type-is": "~1.6.6", "utils-merge": "1.0.0", - "vhost": "3.0.2" + "vhost": "~3.0.1" }, "dependencies": { "mime-db": { @@ -345,7 +359,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } }, "qs": { @@ -359,7 +373,7 @@ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.15" + "mime-types": "~2.1.15" } } } @@ -369,10 +383,10 @@ "resolved": "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-1.2.5.tgz", "integrity": "sha1-L6vs/cGop3S6GUhNzmYMgYqFVec=", "requires": { - "multiparty": "3.3.2", - "on-finished": "2.1.1", - "qs": "2.2.5", - "type-is": "1.5.7" + "multiparty": "~3.3.2", + "on-finished": "~2.1.0", + "qs": "~2.2.4", + "type-is": "~1.5.2" } }, "connect-timeout": { @@ -380,10 +394,10 @@ "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz", "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=", "requires": { - "debug": "2.2.0", - "http-errors": "1.3.1", + "debug": "~2.2.0", + "http-errors": "~1.3.1", "ms": "0.7.1", - "on-headers": "1.0.1" + "on-headers": "~1.0.0" } }, "content-disposition": { @@ -435,7 +449,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "csrf": { @@ -453,28 +467,14 @@ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=" }, - "CSSselect": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz", - "integrity": "sha1-+Kt+H4QYzmPNput713ioXX7EkrI=", - "requires": { - "CSSwhat": "0.4.7", - "domutils": "1.4.3" - } - }, "cssstyle": { "version": "0.2.37", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "requires": { - "cssom": "0.3.2" + "cssom": "0.3.x" } }, - "CSSwhat": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz", - "integrity": "sha1-hn2g/zn3eGEyQsRM/qg/CqTr35s=" - }, "csurf": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz", @@ -482,8 +482,8 @@ "requires": { "cookie": "0.1.3", "cookie-signature": "1.0.6", - "csrf": "3.0.6", - "http-errors": "1.3.1" + "csrf": "~3.0.0", + "http-errors": "~1.3.1" } }, "dashdash": { @@ -491,7 +491,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -534,8 +534,8 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz", "integrity": "sha1-lYmCfx4y0iw3yCmtq9WbMkevjq8=", "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -555,7 +555,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz", "integrity": "sha1-Wd+dzSJ+gIs2Wuc+H2aErD2Ub8I=", "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -563,7 +563,7 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=", "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "ecc-jsbn": { @@ -572,7 +572,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ee-first": { @@ -590,8 +590,8 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz", "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=", "requires": { - "accepts": "1.3.3", - "escape-html": "1.0.3" + "accepts": "~1.3.0", + "escape-html": "~1.0.3" }, "dependencies": { "accepts": { @@ -599,7 +599,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", "requires": { - "mime-types": "2.1.15", + "mime-types": "~2.1.11", "negotiator": "0.6.1" } }, @@ -618,7 +618,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } }, "negotiator": { @@ -643,11 +643,11 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "requires": { - "esprima": "2.7.3", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.2.0" + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" } }, "esprima": { @@ -675,27 +675,27 @@ "resolved": "https://registry.npmjs.org/express/-/express-3.21.2.tgz", "integrity": "sha1-DCkD7lxU5j1lqWFwdkcDVQZlo94=", "requires": { - "basic-auth": "1.0.4", + "basic-auth": "~1.0.3", "commander": "2.6.0", "connect": "2.30.2", "content-disposition": "0.5.0", - "content-type": "1.0.2", + "content-type": "~1.0.1", "cookie": "0.1.3", "cookie-signature": "1.0.6", - "debug": "2.2.0", - "depd": "1.0.1", + "debug": "~2.2.0", + "depd": "~1.0.1", "escape-html": "1.0.2", - "etag": "1.7.0", + "etag": "~1.7.0", "fresh": "0.3.0", "merge-descriptors": "1.0.0", - "methods": "1.1.2", + "methods": "~1.1.1", "mkdirp": "0.5.1", - "parseurl": "1.3.1", - "proxy-addr": "1.0.10", - "range-parser": "1.0.3", + "parseurl": "~1.3.0", + "proxy-addr": "~1.0.8", + "range-parser": "~1.0.2", "send": "0.13.0", "utils-merge": "1.0.0", - "vary": "1.0.1" + "vary": "~1.0.1" } }, "express-session": { @@ -706,11 +706,11 @@ "cookie": "0.1.3", "cookie-signature": "1.0.6", "crc": "3.3.0", - "debug": "2.2.0", - "depd": "1.0.1", - "on-headers": "1.0.1", - "parseurl": "1.3.1", - "uid-safe": "2.0.0", + "debug": "~2.2.0", + "depd": "~1.0.1", + "on-headers": "~1.0.0", + "parseurl": "~1.3.0", + "uid-safe": "~2.0.0", "utils-merge": "1.0.0" }, "dependencies": { @@ -744,10 +744,10 @@ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=", "requires": { - "debug": "2.2.0", + "debug": "~2.2.0", "escape-html": "1.0.2", - "on-finished": "2.3.0", - "unpipe": "1.0.0" + "on-finished": "~2.3.0", + "unpipe": "~1.0.0" }, "dependencies": { "ee-first": { @@ -775,9 +775,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" }, "dependencies": { "mime-db": { @@ -790,7 +790,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } } } @@ -810,7 +810,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -830,8 +830,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" + "ajv": "^4.9.1", + "har-schema": "^1.0.5" } }, "has-ansi": { @@ -839,7 +839,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "hawk": { @@ -847,10 +847,10 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "hoek": { @@ -863,7 +863,7 @@ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", "requires": { - "whatwg-encoding": "1.0.1" + "whatwg-encoding": "^1.0.1" } }, "htmlparser2": { @@ -871,11 +871,11 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz", "integrity": "sha1-amTHdjfAjG8w7CqBV6UzM758sF4=", "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.2.1", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" + "domelementtype": "1", + "domhandler": "2.2", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" }, "dependencies": { "domutils": { @@ -883,8 +883,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0.0.1", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "entities": { @@ -899,8 +899,8 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", "requires": { - "inherits": "2.0.3", - "statuses": "1.3.1" + "inherits": "~2.0.1", + "statuses": "1" } }, "http-signature": { @@ -908,9 +908,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.1" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hubot": { @@ -918,12 +918,12 @@ "resolved": "https://registry.npmjs.org/hubot/-/hubot-2.19.0.tgz", "integrity": "sha1-h8Vy0hD7DV+J91YXeuACDUn/ujY=", "requires": { - "async": "0.9.2", - "chalk": "1.1.3", - "cline": "0.8.2", + "async": ">=0.1.0 <1.0.0", + "chalk": "^1.0.0", + "cline": "^0.8.2", "coffee-script": "1.6.3", - "connect-multiparty": "1.2.5", - "express": "3.21.2", + "connect-multiparty": "^1.2.5", + "express": "^3.21.2", "log": "1.4.0", "optparse": "1.0.4", "scoped-http-client": "0.11.0" @@ -983,27 +983,27 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.1.0.tgz", "integrity": "sha512-vKKDU+Xh9O6VgzdOYf5Rmqbgp+Yz4YTBC19gaLtctXch33EmNucA395KJGGboldafPW1vv9XLuiprO4+wXfl0g==", "requires": { - "abab": "1.0.3", - "acorn": "4.0.13", - "acorn-globals": "3.1.0", - "array-equal": "1.0.0", - "content-type-parser": "1.0.1", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.8.1", - "html-encoding-sniffer": "1.0.1", - "nwmatcher": "1.4.1", - "parse5": "3.0.2", - "pn": "1.0.0", - "request": "2.81.0", - "request-promise-native": "1.0.4", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.2", - "webidl-conversions": "4.0.1", - "whatwg-encoding": "1.0.1", - "whatwg-url": "6.1.0", - "xml-name-validator": "2.0.1" + "abab": "^1.0.3", + "acorn": "^4.0.4", + "acorn-globals": "^3.1.0", + "array-equal": "^1.0.0", + "content-type-parser": "^1.0.1", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": ">= 0.2.37 < 0.3.0", + "escodegen": "^1.6.1", + "html-encoding-sniffer": "^1.0.1", + "nwmatcher": "^1.4.1", + "parse5": "^3.0.2", + "pn": "^1.0.0", + "request": "^2.79.0", + "request-promise-native": "^1.0.3", + "sax": "^1.2.1", + "symbol-tree": "^3.2.1", + "tough-cookie": "^2.3.2", + "webidl-conversions": "^4.0.0", + "whatwg-encoding": "^1.0.1", + "whatwg-url": "^6.1.0", + "xml-name-validator": "^2.0.1" } }, "json-schema": { @@ -1016,7 +1016,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -1052,8 +1052,8 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "lodash": { @@ -1087,9 +1087,9 @@ "integrity": "sha1-vRUfLONM8Bp2ykAKuVwBKxAtj3E=", "requires": { "debug": "2.6.8", - "methods": "1.1.2", - "parseurl": "1.3.1", - "vary": "1.1.1" + "methods": "~1.1.2", + "parseurl": "~1.3.1", + "vary": "~1.1.1" }, "dependencies": { "debug": { @@ -1132,7 +1132,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", "requires": { - "mime-db": "1.12.0" + "mime-db": "~1.12.0" } }, "minimist": { @@ -1153,11 +1153,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz", "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=", "requires": { - "basic-auth": "1.0.4", - "debug": "2.2.0", - "depd": "1.0.1", - "on-finished": "2.3.0", - "on-headers": "1.0.1" + "basic-auth": "~1.0.3", + "debug": "~2.2.0", + "depd": "~1.0.1", + "on-finished": "~2.3.0", + "on-headers": "~1.0.0" }, "dependencies": { "ee-first": { @@ -1185,8 +1185,8 @@ "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz", "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=", "requires": { - "readable-stream": "1.1.14", - "stream-counter": "0.2.0" + "readable-stream": "~1.1.9", + "stream-counter": "~0.2.0" } }, "negotiator": { @@ -1222,12 +1222,12 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "optparse": { @@ -1240,7 +1240,7 @@ "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=", "requires": { - "@types/node": "6.0.82" + "@types/node": "^6.0.46" } }, "parseurl": { @@ -1273,7 +1273,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz", "integrity": "sha1-DUCoL4Afw1VWfS7LZe/j8HfxIcU=", "requires": { - "forwarded": "0.1.0", + "forwarded": "~0.1.0", "ipaddr.js": "1.0.5" } }, @@ -1324,10 +1324,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "redis": { @@ -1340,28 +1340,28 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" }, "dependencies": { "mime-db": { @@ -1374,7 +1374,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } }, "qs": { @@ -1389,7 +1389,7 @@ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "requires": { - "lodash": "4.17.4" + "lodash": "^4.13.1" }, "dependencies": { "lodash": { @@ -1405,8 +1405,8 @@ "integrity": "sha1-hpiOyO7kCORVefzoO/0Fs635oVU=", "requires": { "request-promise-core": "1.1.1", - "stealthy-require": "1.1.1", - "tough-cookie": "2.3.2" + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.0" } }, "response-time": { @@ -1414,8 +1414,8 @@ "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", "requires": { - "depd": "1.1.0", - "on-headers": "1.0.1" + "depd": "~1.1.0", + "on-headers": "~1.0.1" }, "dependencies": { "depd": { @@ -1450,8 +1450,8 @@ "resolved": "https://registry.npmjs.org/scraper/-/scraper-0.0.9.tgz", "integrity": "sha1-UIrPAiIOa0snZQGWKRH28dc6v+w=", "requires": { - "jsdom": "11.1.0", - "request": "2.81.0" + "jsdom": ">=0.1.20", + "request": ">=0.10.0" } }, "send": { @@ -1459,18 +1459,18 @@ "resolved": "https://registry.npmjs.org/send/-/send-0.13.0.tgz", "integrity": "sha1-UY+SGusFYK7H3KspkLFM9vPM5d4=", "requires": { - "debug": "2.2.0", - "depd": "1.0.1", + "debug": "~2.2.0", + "depd": "~1.0.1", "destroy": "1.0.3", "escape-html": "1.0.2", - "etag": "1.7.0", + "etag": "~1.7.0", "fresh": "0.3.0", - "http-errors": "1.3.1", + "http-errors": "~1.3.1", "mime": "1.3.4", "ms": "0.7.1", - "on-finished": "2.3.0", - "range-parser": "1.0.3", - "statuses": "1.2.1" + "on-finished": "~2.3.0", + "range-parser": "~1.0.2", + "statuses": "~1.2.1" }, "dependencies": { "destroy": { @@ -1503,10 +1503,10 @@ "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz", "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=", "requires": { - "etag": "1.7.0", + "etag": "~1.7.0", "fresh": "0.3.0", "ms": "0.7.2", - "parseurl": "1.3.1" + "parseurl": "~1.3.1" }, "dependencies": { "ms": { @@ -1521,13 +1521,13 @@ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz", "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=", "requires": { - "accepts": "1.2.13", + "accepts": "~1.2.13", "batch": "0.5.3", - "debug": "2.2.0", - "escape-html": "1.0.3", - "http-errors": "1.3.1", - "mime-types": "2.1.15", - "parseurl": "1.3.1" + "debug": "~2.2.0", + "escape-html": "~1.0.3", + "http-errors": "~1.3.1", + "mime-types": "~2.1.9", + "parseurl": "~1.3.1" }, "dependencies": { "escape-html": { @@ -1545,7 +1545,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } } } @@ -1555,8 +1555,8 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=", "requires": { - "escape-html": "1.0.3", - "parseurl": "1.3.1", + "escape-html": "~1.0.3", + "parseurl": "~1.3.1", "send": "0.13.2" }, "dependencies": { @@ -1588,18 +1588,18 @@ "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=", "requires": { - "debug": "2.2.0", - "depd": "1.1.0", - "destroy": "1.0.4", - "escape-html": "1.0.3", - "etag": "1.7.0", + "debug": "~2.2.0", + "depd": "~1.1.0", + "destroy": "~1.0.4", + "escape-html": "~1.0.3", + "etag": "~1.7.0", "fresh": "0.3.0", - "http-errors": "1.3.1", + "http-errors": "~1.3.1", "mime": "1.3.4", "ms": "0.7.1", - "on-finished": "2.3.0", - "range-parser": "1.0.3", - "statuses": "1.2.1" + "on-finished": "~2.3.0", + "range-parser": "~1.0.3", + "statuses": "~1.2.1" } }, "statuses": { @@ -1614,7 +1614,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "source-map": { @@ -1623,7 +1623,7 @@ "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", "optional": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } }, "sshpk": { @@ -1631,14 +1631,14 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "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" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" }, "dependencies": { "assert-plus": { @@ -1663,7 +1663,7 @@ "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=", "requires": { - "readable-stream": "1.1.14" + "readable-stream": "~1.1.8" } }, "string_decoder": { @@ -1681,7 +1681,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -1699,7 +1699,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tr46": { @@ -1717,7 +1717,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -1731,7 +1731,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-is": { @@ -1740,7 +1740,7 @@ "integrity": "sha1-uTaKWTzG730GReeLL0xky+zQXpA=", "requires": { "media-typer": "0.3.0", - "mime-types": "2.0.14" + "mime-types": "~2.0.9" } }, "uid-safe": { @@ -1748,7 +1748,7 @@ "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", "requires": { - "random-bytes": "1.0.0" + "random-bytes": "~1.0.0" } }, "unpipe": { @@ -1809,9 +1809,9 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.1.0.tgz", "integrity": "sha1-X8gnm5PXVIO5ztiyYjmFSEehhXg=", "requires": { - "lodash.sortby": "4.7.0", - "tr46": "0.0.3", - "webidl-conversions": "4.0.1" + "lodash.sortby": "^4.7.0", + "tr46": "~0.0.3", + "webidl-conversions": "^4.0.1" } }, "wordwrap": { diff --git a/scripts/karma.coffee b/scripts/karma.coffee index bd707b6..9d7fa1e 100644 --- a/scripts/karma.coffee +++ b/scripts/karma.coffee @@ -23,13 +23,13 @@ scores = [ getUserKarmaExpression = (userKarmaToken) -> hasAtSymbol = userKarmaToken.startsWith('@') username = if hasAtSymbol - then userKarmaToken.slice(1, -2) - else userKarmaToken.slice(0, -2) + then userKarmaToken.slice(1, -2) + else userKarmaToken.slice(0, -2) operator = userKarmaToken.slice(-2) { - hasAtSymbol, + type: 'UserKarmaExpression', username: username.toLowerCase(), operator } @@ -49,15 +49,13 @@ module.exports = (robot) -> seenUsernames = new Set() userKarmaExpressions = getUserKarmaExpressions(msg.match) .filter((expr) -> - # Only keep the first expression seen for per user - if expr.username && seenUsernames.has(expr.username) + # Unless the user has been already been seen, + # Or unless the user does not exist + unless seenUsernames.has(expr.username) or !robot.brain.userForName(expr.username) seenUsernames.add(expr.username) - # don't let user adjust their own score, and ignore "c" unless it - # starts with a "@" because "c++" is probably a mention of the - # language, not a person or thing - expr.username != msg.message.user.name.toLowerCase()) && - (expr.username !== 'c' || expr.hasAtSymbol) + # don't let user adjust their own score + expr.username != msg.message.user.name.toLowerCase()) for { username, operator } in userKarmaExpressions # get the current karma points From ed63bcbb4295e77bfb13033e7ca83c3df9d40224 Mon Sep 17 00:00:00 2001 From: Tony Gaskell Date: Sun, 31 May 2020 14:14:50 -1000 Subject: [PATCH 2/3] Add property to UserKarmaExpression --- scripts/karma.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/karma.coffee b/scripts/karma.coffee index 9d7fa1e..d8820d7 100644 --- a/scripts/karma.coffee +++ b/scripts/karma.coffee @@ -30,6 +30,7 @@ getUserKarmaExpression = (userKarmaToken) -> { type: 'UserKarmaExpression', + isMentioned: hasAtSymbol, username: username.toLowerCase(), operator } From a03da5db58d0ae9b202de5370797a4f6114b56d3 Mon Sep 17 00:00:00 2001 From: Tony Gaskell Date: Fri, 5 Jun 2020 22:58:48 -1000 Subject: [PATCH 3/3] De Morgan-ify CoffeeScript's sugar --- scripts/karma.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/karma.coffee b/scripts/karma.coffee index d8820d7..0024ab3 100644 --- a/scripts/karma.coffee +++ b/scripts/karma.coffee @@ -52,7 +52,7 @@ module.exports = (robot) -> .filter((expr) -> # Unless the user has been already been seen, # Or unless the user does not exist - unless seenUsernames.has(expr.username) or !robot.brain.userForName(expr.username) + if !seenUsernames.has(expr.username) and robot.brain.userForName(expr.username) seenUsernames.add(expr.username) # don't let user adjust their own score