diff --git a/config.template.json b/config.template.json index f49fbaa..6e9ff50 100644 --- a/config.template.json +++ b/config.template.json @@ -1,8 +1,5 @@ { "development": { - "stripe": { - "secretKey": "" - }, "slack": { "token": "", "privateChannel": "", @@ -24,9 +21,6 @@ } }, "production": { - "stripe": { - "secretKey": "" - }, "slack": { "token": "", "privateChannel": "", @@ -42,6 +36,5 @@ "tokenSecret": "" } }, - "all": { - } + "all": {} } diff --git a/package-lock.json b/package-lock.json index 748c88e..a236081 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,8 +23,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" } }, "align-text": { @@ -32,9 +32,9 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "ansi-escapes": { @@ -62,8 +62,8 @@ "resolved": "https://registry.npmjs.org/apicache/-/apicache-0.0.12.tgz", "integrity": "sha1-N7p+m5Qt5UvZeQNIO+JZuNcbyM8=", "requires": { - "inflection": "1.2.7", - "lodash": "1.3.1", + "inflection": "~1.2.6", + "lodash": "~1.3.1", "memory-cache": "0.0.5" }, "dependencies": { @@ -84,7 +84,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "array-flatten": { @@ -112,7 +112,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", "requires": { - "lodash": "4.17.4" + "lodash": "^4.14.0" }, "dependencies": { "lodash": { @@ -147,8 +147,8 @@ "resolved": "https://registry.npmjs.org/base64url/-/base64url-1.0.6.tgz", "integrity": "sha1-1k03XWinxkDZEuI1jRcNylu1RoE=", "requires": { - "concat-stream": "1.4.10", - "meow": "2.0.0" + "concat-stream": "~1.4.7", + "meow": "~2.0.0" } }, "basic-auth": { @@ -162,7 +162,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "bl": { @@ -170,7 +170,7 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=", "requires": { - "readable-stream": "2.0.6" + "readable-stream": "~2.0.5" }, "dependencies": { "isarray": { @@ -183,12 +183,12 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } } } @@ -204,15 +204,15 @@ "integrity": "sha1-+IkqvI+eYn1Crtr7yma/WrmRBO4=", "requires": { "bytes": "2.4.0", - "content-type": "1.0.2", + "content-type": "~1.0.2", "debug": "2.6.7", - "depd": "1.1.1", - "http-errors": "1.6.2", + "depd": "~1.1.0", + "http-errors": "~1.6.1", "iconv-lite": "0.4.15", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.4.0", - "raw-body": "2.2.0", - "type-is": "1.6.15" + "raw-body": "~2.2.0", + "type-is": "~1.6.15" } }, "boom": { @@ -220,7 +220,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" } }, "boxen": { @@ -228,12 +228,12 @@ "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.3.1.tgz", "integrity": "sha1-p9iYJDrmIvertrtgTXQKdsalRhs=", "requires": { - "chalk": "1.1.3", - "filled-array": "1.1.0", - "object-assign": "4.1.1", - "repeating": "2.0.1", - "string-width": "1.0.2", - "widest-line": "1.0.0" + "chalk": "^1.1.1", + "filled-array": "^1.0.0", + "object-assign": "^4.0.1", + "repeating": "^2.0.0", + "string-width": "^1.0.1", + "widest-line": "^1.0.0" }, "dependencies": { "repeating": { @@ -241,7 +241,7 @@ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } } } @@ -251,7 +251,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -280,8 +280,8 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz", "integrity": "sha1-vRoRv5sxoc5JNJOpMN4aC69K1+w=", "requires": { - "camelcase": "1.2.1", - "map-obj": "1.0.1" + "camelcase": "^1.0.1", + "map-obj": "^1.0.0" } }, "capture-stack-trace": { @@ -299,8 +299,8 @@ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -308,11 +308,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" } }, "cli-cursor": { @@ -320,7 +320,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "requires": { - "restore-cursor": "1.0.1" + "restore-cursor": "^1.0.1" } }, "cli-width": { @@ -333,15 +333,15 @@ "resolved": "https://registry.npmjs.org/clite/-/clite-0.3.0.tgz", "integrity": "sha1-5/y8jMW9Pn+LhO1I2xLpR0zHNEE=", "requires": { - "abbrev": "1.1.0", - "debug": "2.6.7", - "es6-promise": "3.3.1", - "lodash.defaults": "4.2.0", - "lodash.defaultsdeep": "4.6.0", - "lodash.mergewith": "4.6.0", - "then-fs": "2.0.0", - "update-notifier": "0.6.3", - "yargs": "4.8.1" + "abbrev": "^1.0.7", + "debug": "^2.2.0", + "es6-promise": "^3.1.2", + "lodash.defaults": "^4.0.1", + "lodash.defaultsdeep": "^4.3.1", + "lodash.mergewith": "^4.3.1", + "then-fs": "^2.0.0", + "update-notifier": "^0.6.0", + "yargs": "^4.3.2" }, "dependencies": { "cliui": { @@ -349,9 +349,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "configstore": { @@ -359,15 +359,15 @@ "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.1.0.tgz", "integrity": "sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE=", "requires": { - "dot-prop": "3.0.0", - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1", - "os-tmpdir": "1.0.2", - "osenv": "0.1.4", - "uuid": "2.0.3", - "write-file-atomic": "1.3.4", - "xdg-basedir": "2.0.0" + "dot-prop": "^3.0.0", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "object-assign": "^4.0.1", + "os-tmpdir": "^1.0.0", + "osenv": "^0.1.0", + "uuid": "^2.0.1", + "write-file-atomic": "^1.1.2", + "xdg-basedir": "^2.0.0" } }, "update-notifier": { @@ -375,12 +375,12 @@ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.6.3.tgz", "integrity": "sha1-d23sjaoT6WKjQeih2YNUMGtnrgg=", "requires": { - "boxen": "0.3.1", - "chalk": "1.1.3", - "configstore": "2.1.0", - "is-npm": "1.0.0", - "latest-version": "2.0.0", - "semver-diff": "2.1.0" + "boxen": "^0.3.1", + "chalk": "^1.0.0", + "configstore": "^2.0.0", + "is-npm": "^1.0.0", + "latest-version": "^2.0.0", + "semver-diff": "^2.0.0" } }, "uuid": { @@ -398,20 +398,20 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "lodash.assign": "4.2.0", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "window-size": "0.2.0", - "y18n": "3.2.1", - "yargs-parser": "2.4.1" + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" } } } @@ -421,8 +421,8 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -431,10 +431,10 @@ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", "requires": { - "for-own": "1.0.0", - "is-plain-object": "2.0.4", - "kind-of": "3.2.2", - "shallow-clone": "0.1.2" + "for-own": "^1.0.0", + "is-plain-object": "^2.0.1", + "kind-of": "^3.2.2", + "shallow-clone": "^0.1.2" } }, "co": { @@ -452,7 +452,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": { @@ -475,9 +475,9 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.10.tgz", "integrity": "sha1-rMO79WAsuMyYDGrIQPp9hgPj7zY=", "requires": { - "inherits": "2.0.3", - "readable-stream": "1.1.14", - "typedarray": "0.0.6" + "inherits": "~2.0.1", + "readable-stream": "~1.1.9", + "typedarray": "~0.0.5" } }, "configstore": { @@ -485,14 +485,14 @@ "resolved": "https://registry.npmjs.org/configstore/-/configstore-1.4.0.tgz", "integrity": "sha1-w1eB0FAdJowlxUuLF/YkDopPsCE=", "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1", - "os-tmpdir": "1.0.2", - "osenv": "0.1.4", - "uuid": "2.0.3", - "write-file-atomic": "1.3.4", - "xdg-basedir": "2.0.0" + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "object-assign": "^4.0.1", + "os-tmpdir": "^1.0.0", + "osenv": "^0.1.0", + "uuid": "^2.0.1", + "write-file-atomic": "^1.1.2", + "xdg-basedir": "^2.0.0" }, "dependencies": { "uuid": { @@ -537,8 +537,8 @@ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", "requires": { - "object-assign": "4.1.1", - "vary": "1.1.1" + "object-assign": "^4", + "vary": "^1" } }, "create-error-class": { @@ -546,7 +546,7 @@ "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cryptiles": { @@ -554,7 +554,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" } }, "dashdash": { @@ -562,7 +562,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": { @@ -610,7 +610,7 @@ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer2": { @@ -618,7 +618,7 @@ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "requires": { - "readable-stream": "2.3.3" + "readable-stream": "^2.0.2" }, "dependencies": { "isarray": { @@ -631,13 +631,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "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" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -645,7 +645,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -655,10 +655,10 @@ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", "requires": { - "end-of-stream": "1.4.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" }, "dependencies": { "isarray": { @@ -671,13 +671,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "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" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -685,7 +685,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -696,7 +696,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ecdsa-sig-formatter": { @@ -704,8 +704,8 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz", "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=", "requires": { - "base64url": "2.0.0", - "safe-buffer": "5.1.1" + "base64url": "^2.0.0", + "safe-buffer": "^5.0.1" }, "dependencies": { "base64url": { @@ -730,7 +730,7 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "error-ex": { @@ -738,7 +738,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es6-promise": { @@ -776,34 +776,34 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.15.4.tgz", "integrity": "sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE=", "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.3", "array-flatten": "1.1.1", "content-disposition": "0.5.2", - "content-type": "1.0.2", + "content-type": "~1.0.2", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.8", - "depd": "1.1.1", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.0", - "finalhandler": "1.0.4", + "depd": "~1.1.1", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.0", + "finalhandler": "~1.0.4", "fresh": "0.5.0", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.1", "path-to-regexp": "0.1.7", - "proxy-addr": "1.1.5", + "proxy-addr": "~1.1.5", "qs": "6.5.0", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "send": "0.15.4", "serve-static": "1.12.4", "setprototypeof": "1.0.3", - "statuses": "1.3.1", - "type-is": "1.6.15", + "statuses": "~1.3.1", + "type-is": "~1.6.15", "utils-merge": "1.0.0", - "vary": "1.1.1" + "vary": "~1.1.1" }, "dependencies": { "debug": { @@ -836,8 +836,8 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "filled-array": { @@ -851,12 +851,12 @@ "integrity": "sha512-16l/r8RgzlXKmFOhZpHBztvye+lAhC5SU7hXavnerC9UfZqZxxXl3BzL8MhffPT3kF61lj9Oav2LKEzh0ei7tg==", "requires": { "debug": "2.6.8", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.1", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.1", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" }, "dependencies": { "debug": { @@ -874,8 +874,8 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "for-in": { @@ -888,7 +888,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "forever-agent": { @@ -901,9 +901,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.17" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "formidable": { @@ -936,7 +936,7 @@ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "requires": { - "is-property": "1.0.2" + "is-property": "^1.0.0" } }, "get-caller-file": { @@ -954,7 +954,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": { @@ -969,12 +969,12 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-0.9.10.tgz", "integrity": "sha1-SZPcB7tINLjKA1AhOmhzoyxgUbk=", "requires": { - "async": "1.4.2", - "gtoken": "1.2.2", - "jws": "3.0.0", - "lodash.noop": "3.0.1", - "request": "2.74.0", - "string-template": "0.2.1" + "async": "~1.4.2", + "gtoken": "^1.1.0", + "jws": "~3.0.0", + "lodash.noop": "~3.0.0", + "request": "~2.74.0", + "string-template": "~0.2.0" }, "dependencies": { "async": { @@ -992,9 +992,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=", "requires": { - "async": "2.5.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "async": "^2.0.1", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" }, "dependencies": { "async": { @@ -1002,7 +1002,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", "requires": { - "lodash": "4.17.4" + "lodash": "^4.14.0" } } } @@ -1012,10 +1012,10 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "requires": { - "chalk": "1.1.3", - "commander": "2.11.0", - "is-my-json-valid": "2.16.1", - "pinkie-promise": "2.0.1" + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" } }, "lodash": { @@ -1038,27 +1038,27 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz", "integrity": "sha1-dpPKdou7DqXIzgjAhKRe+gW4kqs=", "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "bl": "1.1.2", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "1.0.1", - "har-validator": "2.0.6", - "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.17", - "node-uuid": "1.4.8", - "oauth-sign": "0.8.2", - "qs": "6.2.3", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.4.3" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~1.0.0-rc4", + "har-validator": "~2.0.6", + "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", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1" } }, "tunnel-agent": { @@ -1073,7 +1073,7 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-0.1.2.tgz", "integrity": "sha1-M8RqsCGqc0+gMys5YKmj/8svMXc=", "requires": { - "node-forge": "0.7.1" + "node-forge": "^0.7.1" } }, "google-spreadsheet": { @@ -1081,11 +1081,11 @@ "resolved": "https://registry.npmjs.org/google-spreadsheet/-/google-spreadsheet-2.0.4.tgz", "integrity": "sha1-gH7ojIeIZKy6R94gzbT0yBF4DLg=", "requires": { - "async": "1.5.2", - "google-auth-library": "0.9.10", - "lodash": "3.10.1", - "request": "2.81.0", - "xml2js": "0.4.19" + "async": "^1.3.0", + "google-auth-library": "^0.9.6", + "lodash": "^3.7.0", + "request": "^2.69.0", + "xml2js": "~0.4.0" }, "dependencies": { "async": { @@ -1100,21 +1100,21 @@ "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", "requires": { - "create-error-class": "3.0.2", - "duplexer2": "0.1.4", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "node-status-codes": "1.0.0", - "object-assign": "4.1.1", - "parse-json": "2.2.0", - "pinkie-promise": "2.0.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.3.3", - "timed-out": "3.1.3", - "unzip-response": "1.0.2", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.1", + "duplexer2": "^0.1.4", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "node-status-codes": "^1.0.0", + "object-assign": "^4.0.1", + "parse-json": "^2.1.0", + "pinkie-promise": "^2.0.0", + "read-all-stream": "^3.0.0", + "readable-stream": "^2.0.5", + "timed-out": "^3.0.0", + "unzip-response": "^1.0.2", + "url-parse-lax": "^1.0.0" }, "dependencies": { "isarray": { @@ -1127,13 +1127,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "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" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -1141,7 +1141,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -1156,10 +1156,10 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-1.2.2.tgz", "integrity": "sha1-Fyd2oanZasCfwioA9b6DzubeiCA=", "requires": { - "google-p12-pem": "0.1.2", - "jws": "3.0.0", - "mime": "1.3.4", - "request": "2.81.0" + "google-p12-pem": "^0.1.0", + "jws": "^3.0.0", + "mime": "^1.2.11", + "request": "^2.72.0" } }, "har-schema": { @@ -1172,8 +1172,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": { @@ -1181,7 +1181,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" } }, "hasbin": { @@ -1189,7 +1189,7 @@ "resolved": "https://registry.npmjs.org/hasbin/-/hasbin-1.2.3.tgz", "integrity": "sha1-eMWSaJPIAhXCtWiuH9P8q3omlrA=", "requires": { - "async": "1.5.2" + "async": "~1.5" }, "dependencies": { "async": { @@ -1204,10 +1204,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": { @@ -1228,7 +1228,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.3.1" + "statuses": ">= 1.3.1 < 2" } }, "http-signature": { @@ -1236,9 +1236,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.1", - "sshpk": "1.13.1" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "iconv-lite": { @@ -1256,9 +1256,9 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-1.2.2.tgz", "integrity": "sha1-25m8xYPrarux5I3LsZmamGBBy2s=", "requires": { - "get-stdin": "4.0.1", - "minimist": "1.2.0", - "repeating": "1.1.3" + "get-stdin": "^4.0.1", + "minimist": "^1.1.0", + "repeating": "^1.1.0" } }, "infinity-agent": { @@ -1286,19 +1286,19 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.0.3.tgz", "integrity": "sha1-6+OglIVxvMRszMvi+bzsJR6YS9A=", "requires": { - "ansi-escapes": "1.4.0", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.2.0", - "figures": "1.7.0", - "lodash": "4.17.4", + "ansi-escapes": "^1.1.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", "mute-stream": "0.0.6", - "pinkie-promise": "2.0.1", - "run-async": "2.3.0", - "rx": "4.1.0", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" + "pinkie-promise": "^2.0.0", + "run-async": "^2.2.0", + "rx": "^4.1.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" }, "dependencies": { "lodash": { @@ -1333,7 +1333,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-extendable": { @@ -1346,7 +1346,7 @@ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -1354,7 +1354,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-my-json-valid": { @@ -1362,10 +1362,10 @@ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" } }, "is-npm": { @@ -1383,7 +1383,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-promise": { @@ -1451,10 +1451,10 @@ "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", "requires": { - "hoek": "4.2.0", - "isemail": "2.2.1", - "items": "2.1.1", - "topo": "2.0.2" + "hoek": "4.x.x", + "isemail": "2.x.x", + "items": "2.x.x", + "topo": "2.x.x" }, "dependencies": { "hoek": { @@ -1469,8 +1469,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==", "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -1489,7 +1489,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": { @@ -1530,9 +1530,9 @@ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.0.2.tgz", "integrity": "sha1-/Xlgnx53Limdzo3bdtAGWd2DUR8=", "requires": { - "base64url": "0.0.6", - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.9" + "base64url": "~0.0.4", + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "^1.0.0" }, "dependencies": { "base64url": { @@ -1547,8 +1547,8 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.0.0.tgz", "integrity": "sha1-2l8meJfdTpz4E3l52zP8VKPAVBg=", "requires": { - "base64url": "1.0.6", - "jwa": "1.0.2" + "base64url": "~1.0.4", + "jwa": "~1.0.0" } }, "kind-of": { @@ -1556,7 +1556,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.5" + "is-buffer": "^1.1.5" } }, "latest-version": { @@ -1564,7 +1564,7 @@ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz", "integrity": "sha1-VvjWE5YghHuAF/jx9NeOIRMkFos=", "requires": { - "package-json": "2.4.0" + "package-json": "^2.0.0" } }, "lazy-cache": { @@ -1577,7 +1577,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "load-json-file": { @@ -1585,11 +1585,11 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "lodash": { @@ -1617,11 +1617,6 @@ "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz", "integrity": "sha1-vsECT4WxvZbL6kBbI8FK1kQ6b4E=" }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, "lodash.mergewith": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", @@ -1647,8 +1642,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-obj": { @@ -1671,10 +1666,10 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-2.0.0.tgz", "integrity": "sha1-j1MKjs9dQNP0tN+Tw0cpAPuiqPE=", "requires": { - "camelcase-keys": "1.0.0", - "indent-string": "1.2.2", - "minimist": "1.2.0", - "object-assign": "1.0.0" + "camelcase-keys": "^1.0.0", + "indent-string": "^1.1.0", + "minimist": "^1.1.0", + "object-assign": "^1.0.0" }, "dependencies": { "object-assign": { @@ -1709,7 +1704,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "requires": { - "mime-db": "1.30.0" + "mime-db": "~1.30.0" } }, "minimatch": { @@ -1717,7 +1712,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.0.0" } }, "minimist": { @@ -1730,8 +1725,8 @@ "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "requires": { - "for-in": "0.1.8", - "is-extendable": "0.1.1" + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" }, "dependencies": { "for-in": { @@ -1766,11 +1761,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.8.2.tgz", "integrity": "sha1-eErHc05KRTqcbm6GgKkyknXItoc=", "requires": { - "basic-auth": "1.1.0", + "basic-auth": "~1.1.0", "debug": "2.6.8", - "depd": "1.1.1", - "on-finished": "2.3.0", - "on-headers": "1.0.1" + "depd": "~1.1.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" }, "dependencies": { "debug": { @@ -1798,9 +1793,9 @@ "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.7.2.tgz", "integrity": "sha1-oF/fItwBw3jdXE3yfy3JC5qouwA=", "requires": { - "async": "0.9.2", - "ini": "1.3.4", - "yargs": "3.15.0" + "async": "~0.9.0", + "ini": "1.x.x", + "yargs": "~3.15.0" }, "dependencies": { "async": { @@ -1820,7 +1815,7 @@ "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz", "integrity": "sha1-GfYZWRUZ8JZ2mlupqG5u7sgjw88=", "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.1" } }, "newrelic": { @@ -1828,20 +1823,20 @@ "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-1.40.0.tgz", "integrity": "sha1-JUjfFMRB6/ydO465idE397aaHW8=", "requires": { - "concat-stream": "1.6.0", - "https-proxy-agent": "0.3.6", - "json-stringify-safe": "5.0.1", - "readable-stream": "1.1.14", - "semver": "5.3.0" + "concat-stream": "^1.5.0", + "https-proxy-agent": "^0.3.5", + "json-stringify-safe": "^5.0.0", + "readable-stream": "^1.1.13", + "semver": "^5.3.0" }, "dependencies": { "concat-stream": { "version": "1.6.0", "bundled": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.2.11", - "typedarray": "0.0.6" + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" }, "dependencies": { "inherits": { @@ -1852,13 +1847,13 @@ "version": "2.2.11", "bundled": 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.0.1", - "string_decoder": "1.0.2", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.0.1", + "string_decoder": "~1.0.0", + "util-deprecate": "~1.0.1" }, "dependencies": { "core-util-is": { @@ -1881,7 +1876,7 @@ "version": "1.0.2", "bundled": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "~5.0.1" } }, "util-deprecate": { @@ -1900,9 +1895,9 @@ "version": "0.3.6", "bundled": true, "requires": { - "agent-base": "1.0.2", - "debug": "2.6.8", - "extend": "3.0.1" + "agent-base": "~1.0.1", + "debug": "2", + "extend": "3" }, "dependencies": { "agent-base": { @@ -1936,10 +1931,10 @@ "version": "1.1.14", "bundled": true, "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" }, "dependencies": { "core-util-is": { @@ -1981,7 +1976,7 @@ "resolved": "https://registry.npmjs.org/node-twitter/-/node-twitter-0.5.2.tgz", "integrity": "sha1-ccNkdlcSsUxOPqXo+owHMuLi1EI=", "requires": { - "request": "2.9.203" + "request": "2.9.x" }, "dependencies": { "request": { @@ -1996,10 +1991,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "number-is-nan": { @@ -2035,7 +2030,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -2058,7 +2053,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-name": { @@ -2066,8 +2061,8 @@ "resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz", "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=", "requires": { - "osx-release": "1.1.0", - "win-release": "1.1.1" + "osx-release": "^1.0.0", + "win-release": "^1.0.0" } }, "os-tmpdir": { @@ -2080,8 +2075,8 @@ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "osx-release": { @@ -2089,7 +2084,7 @@ "resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz", "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=", "requires": { - "minimist": "1.2.0" + "minimist": "^1.1.0" } }, "package-json": { @@ -2097,10 +2092,10 @@ "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz", "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=", "requires": { - "got": "5.7.1", - "registry-auth-token": "3.3.1", - "registry-url": "3.1.0", - "semver": "5.4.1" + "got": "^5.0.0", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" } }, "parse-json": { @@ -2108,7 +2103,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parseurl": { @@ -2121,7 +2116,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -2139,9 +2134,9 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "performance-now": { @@ -2164,7 +2159,7 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "prepend-http": { @@ -2182,7 +2177,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "proxy-addr": { @@ -2190,7 +2185,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz", "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=", "requires": { - "forwarded": "0.1.0", + "forwarded": "~0.1.0", "ipaddr.js": "1.4.0" } }, @@ -2234,10 +2229,10 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, "read-all-stream": { @@ -2245,8 +2240,8 @@ "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", "requires": { - "pinkie-promise": "2.0.1", - "readable-stream": "2.3.3" + "pinkie-promise": "^2.0.0", + "readable-stream": "^2.0.0" }, "dependencies": { "isarray": { @@ -2259,13 +2254,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "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" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -2273,7 +2268,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -2283,9 +2278,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -2293,8 +2288,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "readable-stream": { @@ -2302,10 +2297,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" } }, "registry-auth-token": { @@ -2313,8 +2308,8 @@ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", "requires": { - "rc": "1.2.1", - "safe-buffer": "5.1.1" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -2322,7 +2317,7 @@ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "requires": { - "rc": "1.2.1" + "rc": "^1.0.1" } }, "repeat-string": { @@ -2335,7 +2330,7 @@ "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=", "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -2343,28 +2338,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.17", - "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" } }, "require-directory": { @@ -2382,8 +2377,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" } }, "right-align": { @@ -2391,7 +2386,7 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "run-async": { @@ -2399,7 +2394,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx": { @@ -2427,7 +2422,7 @@ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "requires": { - "semver": "5.4.1" + "semver": "^5.0.3" } }, "send": { @@ -2436,18 +2431,18 @@ "integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=", "requires": { "debug": "2.6.8", - "depd": "1.1.1", - "destroy": "1.0.4", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.0", + "depd": "~1.1.1", + "destroy": "~1.0.4", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.0", "fresh": "0.5.0", - "http-errors": "1.6.2", + "http-errors": "~1.6.2", "mime": "1.3.4", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.3.1" }, "dependencies": { "debug": { @@ -2465,9 +2460,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.4.tgz", "integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=", "requires": { - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "parseurl": "1.3.1", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "parseurl": "~1.3.1", "send": "0.15.4" } }, @@ -2486,10 +2481,10 @@ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", "requires": { - "is-extendable": "0.1.1", - "kind-of": "2.0.1", - "lazy-cache": "0.2.7", - "mixin-object": "2.0.1" + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" }, "dependencies": { "kind-of": { @@ -2497,7 +2492,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", "requires": { - "is-buffer": "1.1.5" + "is-buffer": "^1.0.2" } }, "lazy-cache": { @@ -2517,7 +2512,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "snyk": { @@ -2525,18 +2520,18 @@ "resolved": "https://registry.npmjs.org/snyk/-/snyk-1.40.2.tgz", "integrity": "sha1-AITNuWnw7gKC9bHeViQ02RbHMsU=", "requires": { - "abbrev": "1.1.0", - "ansi-escapes": "1.4.0", - "chalk": "1.1.3", - "configstore": "1.4.0", - "debug": "2.6.7", - "es6-promise": "3.3.1", - "hasbin": "1.2.3", + "abbrev": "^1.0.7", + "ansi-escapes": "^1.3.0", + "chalk": "^1.1.1", + "configstore": "^1.2.0", + "debug": "^2.2.0", + "es6-promise": "^3.0.2", + "hasbin": "^1.2.3", "inquirer": "1.0.3", - "open": "0.0.5", - "os-name": "1.0.3", - "request": "2.81.0", - "semver": "5.4.1", + "open": "^0.0.5", + "os-name": "^1.0.3", + "request": "^2.74.0", + "semver": "^5.1.0", "snyk-config": "1.0.1", "snyk-go-plugin": "1.1.3", "snyk-gradle-plugin": "1.1.2", @@ -2544,18 +2539,18 @@ "snyk-mvn-plugin": "1.0.1", "snyk-policy": "1.7.1", "snyk-python-plugin": "1.2.4", - "snyk-recursive-readdir": "2.0.0", + "snyk-recursive-readdir": "^2.0.0", "snyk-resolve": "1.0.0", "snyk-resolve-deps": "1.7.0", "snyk-sbt-plugin": "1.1.1", - "snyk-tree": "1.0.0", - "snyk-try-require": "1.2.0", - "tempfile": "1.1.1", - "then-fs": "2.0.0", + "snyk-tree": "^1.0.0", + "snyk-try-require": "^1.2.0", + "tempfile": "^1.1.1", + "then-fs": "^2.0.0", "undefsafe": "0.0.3", - "update-notifier": "0.5.0", - "url": "0.11.0", - "uuid": "3.1.0" + "update-notifier": "^0.5.0", + "url": "^0.11.0", + "uuid": "^3.0.1" } }, "snyk-config": { @@ -2563,9 +2558,9 @@ "resolved": "https://registry.npmjs.org/snyk-config/-/snyk-config-1.0.1.tgz", "integrity": "sha1-8nrsJJiyQCescZIUAmUhWRERUI8=", "requires": { - "debug": "2.6.7", - "nconf": "0.7.2", - "path-is-absolute": "1.0.1" + "debug": "^2.2.0", + "nconf": "^0.7.2", + "path-is-absolute": "^1.0.0" } }, "snyk-go-plugin": { @@ -2574,7 +2569,7 @@ "integrity": "sha512-UUheeILvg4ZcNBF5JxJ7qTVQ9ytIpeGZkG94M7dbJgTo5zFFy0lNXQkWiKcEDbgGdoOl8zeeCED1nmKAM7HcvQ==", "requires": { "fs": "0.0.1-security", - "toml": "2.3.3" + "toml": "^2.3.2" } }, "snyk-gradle-plugin": { @@ -2582,7 +2577,7 @@ "resolved": "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-1.1.2.tgz", "integrity": "sha512-OLakszcbTzdL6n4H26xhf9LwivxSQ7AWUH4hyFGwWRNt2Xs+BbWXRPFZV52rR3LpU1wQln9wDSDfVZ+Mr+7VTw==", "requires": { - "clone-deep": "0.3.0" + "clone-deep": "^0.3.0" } }, "snyk-module": { @@ -2590,8 +2585,8 @@ "resolved": "https://registry.npmjs.org/snyk-module/-/snyk-module-1.8.1.tgz", "integrity": "sha1-MdUID7HA39b6hWfdNKUj/QK/H8o=", "requires": { - "debug": "2.6.7", - "hosted-git-info": "2.5.0" + "debug": "^2.2.0", + "hosted-git-info": "^2.1.4" } }, "snyk-mvn-plugin": { @@ -2604,15 +2599,15 @@ "resolved": "https://registry.npmjs.org/snyk-policy/-/snyk-policy-1.7.1.tgz", "integrity": "sha1-5BO2vUr2BQxeX0RSh5CeTpigmyI=", "requires": { - "debug": "2.6.7", - "es6-promise": "3.3.1", - "js-yaml": "3.9.1", - "lodash.clonedeep": "4.5.0", - "semver": "5.4.1", - "snyk-module": "1.8.1", - "snyk-resolve": "1.0.0", - "snyk-try-require": "1.2.0", - "then-fs": "2.0.0" + "debug": "^2.2.0", + "es6-promise": "^3.1.2", + "js-yaml": "^3.5.3", + "lodash.clonedeep": "^4.3.1", + "semver": "^5.1.0", + "snyk-module": "^1.8.1", + "snyk-resolve": "^1.0.0", + "snyk-try-require": "^1.1.1", + "then-fs": "^2.0.0" } }, "snyk-python-plugin": { @@ -2633,8 +2628,8 @@ "resolved": "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.0.0.tgz", "integrity": "sha1-u+kZbTf1fDklHmvnXM3Vsgl+maI=", "requires": { - "debug": "2.6.7", - "then-fs": "2.0.0" + "debug": "^2.2.0", + "then-fs": "^2.0.0" } }, "snyk-resolve-deps": { @@ -2642,20 +2637,20 @@ "resolved": "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-1.7.0.tgz", "integrity": "sha1-E3Q6BYQ33/iQuq9DfDM8lmp0PLY=", "requires": { - "abbrev": "1.1.0", - "ansicolors": "0.3.2", - "clite": "0.3.0", - "debug": "2.6.7", - "es6-promise": "3.3.1", - "lodash": "4.17.4", - "lru-cache": "4.1.1", - "minimist": "1.2.0", - "semver": "5.4.1", - "snyk-module": "1.8.1", - "snyk-resolve": "1.0.0", - "snyk-tree": "1.0.0", - "snyk-try-require": "1.2.0", - "then-fs": "2.0.0" + "abbrev": "^1.0.7", + "ansicolors": "^0.3.2", + "clite": "^0.3.0", + "debug": "^2.2.0", + "es6-promise": "^3.0.2", + "lodash": "^4.0.0", + "lru-cache": "^4.0.0", + "minimist": "^1.2.0", + "semver": "^5.1.0", + "snyk-module": "^1.6.0", + "snyk-resolve": "^1.0.0", + "snyk-tree": "^1.0.0", + "snyk-try-require": "^1.1.1", + "then-fs": "^2.0.0" }, "dependencies": { "lodash": { @@ -2675,7 +2670,7 @@ "resolved": "https://registry.npmjs.org/snyk-tree/-/snyk-tree-1.0.0.tgz", "integrity": "sha1-D7cxdtvzLngvGRAClBYESPkRHMg=", "requires": { - "archy": "1.0.0" + "archy": "^1.0.0" } }, "snyk-try-require": { @@ -2683,11 +2678,11 @@ "resolved": "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.2.0.tgz", "integrity": "sha1-MPwrEcBwZFke41eAyCa+kTEvIUQ=", "requires": { - "debug": "2.6.7", - "es6-promise": "3.3.1", - "lodash.clonedeep": "4.5.0", - "lru-cache": "4.1.1", - "then-fs": "2.0.0" + "debug": "^2.2.0", + "es6-promise": "^3.1.2", + "lodash.clonedeep": "^4.3.0", + "lru-cache": "^4.0.0", + "then-fs": "^2.0.0" } }, "spdx-correct": { @@ -2695,7 +2690,7 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -2718,14 +2713,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": { @@ -2745,17 +2740,12 @@ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, "string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", "requires": { - "strip-ansi": "3.0.1" + "strip-ansi": "^3.0.0" } }, "string-template": { @@ -2768,11 +2758,16 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -2783,7 +2778,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" } }, "strip-bom": { @@ -2791,7 +2786,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-json-comments": { @@ -2799,39 +2794,21 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, - "stripe": { - "version": "4.24.1", - "resolved": "https://registry.npmjs.org/stripe/-/stripe-4.24.1.tgz", - "integrity": "sha512-qpNphrz1LiZHFC4twMhHlsT9MllgVKjOdvhoc0MJ3yWXWHcK1FnkgNxbACJZ9FEInx6gXs1yySm7psOZGkGCpQ==", - "requires": { - "bluebird": "2.11.0", - "lodash.isplainobject": "4.0.6", - "object-assign": "4.1.1", - "qs": "6.0.4" - }, - "dependencies": { - "qs": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.0.4.tgz", - "integrity": "sha1-UQGdhHIMk5uCc36EVWp4Izjs6ns=" - } - } - }, "superagent": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/superagent/-/superagent-2.3.0.tgz", "integrity": "sha1-cDUpoHFOV+EjlZ3e+84ZOy5Q0RU=", "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.1", - "debug": "2.6.7", - "extend": "3.0.1", + "component-emitter": "^1.2.0", + "cookiejar": "^2.0.6", + "debug": "^2.2.0", + "extend": "^3.0.0", "form-data": "1.0.0-rc4", - "formidable": "1.1.1", - "methods": "1.1.2", - "mime": "1.3.4", - "qs": "6.4.0", - "readable-stream": "2.3.3" + "formidable": "^1.0.17", + "methods": "^1.1.1", + "mime": "^1.3.4", + "qs": "^6.1.0", + "readable-stream": "^2.0.5" }, "dependencies": { "async": { @@ -2844,9 +2821,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", "integrity": "sha1-BaxrwiIntD5EYfSIFhVUaZ1Pi14=", "requires": { - "async": "1.5.2", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "async": "^1.5.2", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.10" } }, "isarray": { @@ -2859,13 +2836,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "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" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -2873,7 +2850,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -2888,8 +2865,8 @@ "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", "requires": { - "os-tmpdir": "1.0.2", - "uuid": "2.0.3" + "os-tmpdir": "^1.0.0", + "uuid": "^2.0.1" }, "dependencies": { "uuid": { @@ -2904,7 +2881,7 @@ "resolved": "https://registry.npmjs.org/then-fs/-/then-fs-2.0.0.tgz", "integrity": "sha1-cveS3Z0xcFqRrhnr/Piz+WjIHaI=", "requires": { - "promise": "7.3.1" + "promise": ">=3.2 <8" } }, "through": { @@ -2927,7 +2904,7 @@ "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" }, "dependencies": { "hoek": { @@ -2942,7 +2919,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" } }, "tunnel-agent": { @@ -2950,7 +2927,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": { @@ -2965,7 +2942,7 @@ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "~2.1.15" } }, "typedarray": { @@ -2993,13 +2970,13 @@ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.5.0.tgz", "integrity": "sha1-B7XcIGazYnqztPUwEw9+3doHpMw=", "requires": { - "chalk": "1.1.3", - "configstore": "1.4.0", - "is-npm": "1.0.0", - "latest-version": "1.0.1", - "repeating": "1.1.3", - "semver-diff": "2.1.0", - "string-length": "1.0.1" + "chalk": "^1.0.0", + "configstore": "^1.0.0", + "is-npm": "^1.0.0", + "latest-version": "^1.0.0", + "repeating": "^1.1.2", + "semver-diff": "^2.0.0", + "string-length": "^1.0.0" }, "dependencies": { "got": { @@ -3007,16 +2984,16 @@ "resolved": "https://registry.npmjs.org/got/-/got-3.3.1.tgz", "integrity": "sha1-5dDtSvVfw+701WAHdp2YGSvLLso=", "requires": { - "duplexify": "3.5.1", - "infinity-agent": "2.0.3", - "is-redirect": "1.0.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "nested-error-stacks": "1.0.2", - "object-assign": "3.0.0", - "prepend-http": "1.0.4", - "read-all-stream": "3.1.0", - "timed-out": "2.0.0" + "duplexify": "^3.2.0", + "infinity-agent": "^2.0.0", + "is-redirect": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "nested-error-stacks": "^1.0.0", + "object-assign": "^3.0.0", + "prepend-http": "^1.0.0", + "read-all-stream": "^3.0.0", + "timed-out": "^2.0.0" } }, "latest-version": { @@ -3024,7 +3001,7 @@ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-1.0.1.tgz", "integrity": "sha1-cs/Ebj6NG+ZR4eu1Tqn26pbzdLs=", "requires": { - "package-json": "1.2.0" + "package-json": "^1.0.0" } }, "object-assign": { @@ -3037,8 +3014,8 @@ "resolved": "https://registry.npmjs.org/package-json/-/package-json-1.2.0.tgz", "integrity": "sha1-yOysCUInzfdqMWh07QXifMk5oOA=", "requires": { - "got": "3.3.1", - "registry-url": "3.1.0" + "got": "^3.2.0", + "registry-url": "^3.0.0" } }, "timed-out": { @@ -3069,7 +3046,7 @@ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "util-deprecate": { @@ -3092,8 +3069,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "validator": { @@ -3111,9 +3088,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" }, "dependencies": { "assert-plus": { @@ -3133,7 +3110,7 @@ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.1" } }, "win-release": { @@ -3141,7 +3118,7 @@ "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", "requires": { - "semver": "5.4.1" + "semver": "^5.0.1" } }, "window-size": { @@ -3159,8 +3136,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -3173,9 +3150,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "xdg-basedir": { @@ -3183,7 +3160,7 @@ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=", "requires": { - "os-homedir": "1.0.2" + "os-homedir": "^1.0.0" } }, "xml2js": { @@ -3191,8 +3168,8 @@ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", "requires": { - "sax": "1.2.4", - "xmlbuilder": "9.0.4" + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" } }, "xmlbuilder": { @@ -3220,10 +3197,10 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.15.0.tgz", "integrity": "sha1-PZRG7yH7N5GzmFaQZi5LloPH8YE=", "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.4" + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "^0.1.1" } }, "yargs-parser": { @@ -3231,8 +3208,8 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", "requires": { - "camelcase": "3.0.0", - "lodash.assign": "4.2.0" + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" }, "dependencies": { "camelcase": { diff --git a/package.json b/package.json index fc75527..0256995 100644 --- a/package.json +++ b/package.json @@ -33,10 +33,9 @@ "morgan": "^1.5.1", "newrelic": "^1.18.0", "node-twitter": "0.5.2", - "stripe": "^4.23.1", + "snyk": "^1.38.1", "superagent": "^2.0.0", - "validator": "^3.27.0", - "snyk": "^1.38.1" + "validator": "^3.27.0" }, "snyk": true } diff --git a/routes/membership.js b/routes/membership.js index 061e727..4e9db2d 100644 --- a/routes/membership.js +++ b/routes/membership.js @@ -1,14 +1,13 @@ 'use strict'; -var Promise = require('bluebird'); +var Promise = require('bluebird'); var GoogleSpreadsheet = require('google-spreadsheet'); -var async = require('async'); -var moment = require('moment'); -var Joi = require('joi'); +var async = require('async'); +var moment = require('moment'); +var Joi = require('joi'); -var slack = require('../services/slack'); -var config = require('../lib/config'); -var stripe = require('stripe')(config.stripe.secretKey); +var slack = require('../services/slack'); +var config = require('../lib/config'); var validateRequest = require('../utils/validateRequest'); function log(message) { @@ -17,45 +16,54 @@ function log(message) { } function addNewMemberToSheets(data, callback) { - var {name, email, address, postcode, city, handle} = data; + var { name, email, address, postcode, city, handle } = data; var doc = new GoogleSpreadsheet(config.google.spreadsheetId); - async.waterfall([ - function setAuth(cb) { - console.log('Start Google Spreadsheed auth.'); - doc.useServiceAccountAuth({ - client_email: config.google.clientEmail, - private_key: config.google.privateKey - }, (err) => cb(err)); - }, - function getInfoAndWorksheets(cb) { - console.log('Start Google Spreadsheet info fetch.'); - doc.getInfo(function(err, info) { - if(err) { - cb(err); - } else { - cb(null, info.worksheets[0]); - } - }); - }, - function addRow(sheet, cb) { - console.log('Start Google Spreadsheet row write.'); - sheet.addRow({ - 'jäsenmaksu': true, - 'koko nimi': name, - 'liittymispäivä': moment().format('DD.MM.YYYY'), - 'lisääjä': 'Koodiklinikka.fi-api', - 'katuosoite': address, - 'postinumero': postcode, - 'paikkakunta': city, - 'slack': handle, - 'sähköposti': email - }, cb); - } - ], callback); + async.waterfall( + [ + function setAuth(cb) { + console.log('Start Google Spreadsheed auth.'); + doc.useServiceAccountAuth( + { + client_email: config.google.clientEmail, + private_key: config.google.privateKey, + }, + err => cb(err), + ); + }, + function getInfoAndWorksheets(cb) { + console.log('Start Google Spreadsheet info fetch.'); + doc.getInfo(function(err, info) { + if (err) { + cb(err); + } else { + cb(null, info.worksheets[0]); + } + }); + }, + function addRow(sheet, cb) { + console.log('Start Google Spreadsheet row write.'); + sheet.addRow( + { + jäsenmaksu: false, + 'koko nimi': name, + liittymispäivä: moment().format('DD.MM.YYYY'), + lisääjä: 'Koodiklinikka.fi-api', + katuosoite: address, + postinumero: postcode, + paikkakunta: city, + slack: handle, + sähköposti: email, + }, + cb, + ); + }, + ], + callback, + ); } -module.exports = function (app) { +module.exports = function(app) { /* * POST /membership * Endpoint for adding a new member to the association @@ -68,50 +76,27 @@ module.exports = function (app) { handle: Joi.string().required(), address: Joi.string().required(), city: Joi.string().required(), - postcode: Joi.string().required() + postcode: Joi.string().required(), }), - stripeToken: Joi.string().required() - }) + }); app.post('/membership', validateRequest(schema), function(req, res, next) { + console.log( + `Start membership addition with body: ${JSON.stringify(req.body)}`, + ); - console.log(`Start membership addition with body: ${JSON.stringify(req.body)}`); - - const { handle, name, email } = req.body.userInfo - - const createCustomer = (callback) => - stripe.customers.create({ - description: `${handle} - ${name}`, - email: email, - source: req.body.stripeToken, - metadata: req.body.userInfo - }, callback) - - const createSubscription = (customer, callback) => - stripe.subscriptions.create({ - customer: customer.id, - plan: 'koodiklinikka' - }, callback) - - async.waterfall([ - createCustomer, - createSubscription - ], (err) => { + addNewMemberToSheets(req.body.userInfo, err => { if (err) { - log(`Membership payment FAILED for: ${JSON.stringify(req.body.userInfo.email)}. Reason: ${err.message}`); - res.status(500).send('payment_error'); + log( + `Storing membership info FAILED for: ${JSON.stringify( + req.body.userInfo.email, + )}. Reason: ${err.message}`, + ); + res.status(200).send('membership_storage_error'); return; } - - log(`Membership payment SUCCESSFUL for: ${JSON.stringify(req.body.userInfo.email)}`); - addNewMemberToSheets(req.body.userInfo, (err) => { - if(err) { - log(`Storing membership info FAILED for: ${JSON.stringify(req.body.userInfo.email)}. Reason: ${err.message}`); - res.status(500).send('membership_storage_error'); - return; - } - res.status(200).send('payment_success'); - }); + res.status(200).send('membership_added'); + return; }); }); };