From e6b2390662715c0a9a3b5ff26e90797ce27326c5 Mon Sep 17 00:00:00 2001 From: Ash Furrow Date: Thu, 16 Aug 2018 17:46:52 -0400 Subject: [PATCH 01/11] Attempted fix for platformResultsPreMapper. --- source/danger/peril_platform.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/danger/peril_platform.ts b/source/danger/peril_platform.ts index 45e4c790..3af8817c 100644 --- a/source/danger/peril_platform.ts +++ b/source/danger/peril_platform.ts @@ -34,14 +34,14 @@ export const getPerilPlatformForDSL = (type: RunType, github: GitHubType | null, } const nullFunc: any = () => "" + const platformResultsPreMapper = github + ? !SKIP_CHECKS_SUPPORT && github.platformResultsPreMapper && github.platformResultsPreMapper.bind(github) + : nullFunc const platform: Platform = { name: "Peril", getFileContents: github ? github.getFileContents.bind(github) : nullFunc, // Checks Support - platformResultsPreMapper: () => - github - ? !SKIP_CHECKS_SUPPORT && github.platformResultsPreMapper && github.platformResultsPreMapper.bind(github) - : nullFunc, + platformResultsPreMapper, // deprecated, and not used to my knowledge handlePostingResults: () => From 8a2c0db13615a37deffaf83502a3e91425e7487a Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Fri, 24 Aug 2018 18:04:02 -0400 Subject: [PATCH 02/11] Adds deploy / logs scripts --- package.json | 4 +- yarn.lock | 1148 ++++---------------------------------------------- 2 files changed, 88 insertions(+), 1064 deletions(-) diff --git a/package.json b/package.json index c8a08e54..49406e95 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,8 @@ "setup": "yarn run setup:plugins && yarn run setup:env", "setup:env": "node out/scripts/setup-env.js", "setup:plugins": "node out/scripts/setup-plugins.js", + "deploy:staging": "nf run scripts/deploy_staging.sh", + "logs:staging": "/usr/local/bin/now logs --team peril staging-api.peril.systems", "docker:build:site": "docker build .", "docker:build:runner": "docker build -f Dockerfile.runner -t runner .", "runner": "node out/runner/index.js", @@ -114,12 +116,12 @@ "ws": "^5.2.0" }, "devDependencies": { + "@heroku/foreman": "^2.0.2", "@types/cookie": "^0.3.1", "@types/require-from-string": "^1.2.0", "husky": "^0.14.0", "lint-staged": "^7.2.0", "mockingoose": "^2.10.1", - "now-travis": "^1.2.0", "prettier": "^1.14.0", "tslint-config-prettier": "^1.14.0", "typescript-json-schema": "^0.31.0" diff --git a/yarn.lock b/yarn.lock index f14a39a9..9d400f8f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,6 +17,15 @@ core-js "^2.5.3" regenerator-runtime "^0.11.1" +"@heroku/foreman@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@heroku/foreman/-/foreman-2.0.2.tgz#e24f8611bb0633ca89095648243d3a90564749fc" + dependencies: + commander "^2.11.0" + http-proxy "^1.16.2" + mustache "^2.2.1" + shell-quote "^1.6.1" + "@octokit/rest@^15.9.5": version "15.9.5" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-15.9.5.tgz#e356d202bd0b517e381f705ad77d98ccb84e0c65" @@ -362,10 +371,6 @@ acorn@^5.0.0, acorn@^5.1.2: version "5.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822" -after@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" - agenda@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/agenda/-/agenda-2.0.0.tgz#721f940914cc047924a03ef140cda42e4200c920" @@ -424,19 +429,13 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" - dependencies: - string-width "^1.0.1" - ansi-align@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" dependencies: string-width "^2.0.0" -ansi-escapes@1.4.0, ansi-escapes@^1.0.0, ansi-escapes@^1.4.0: +ansi-escapes@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -648,13 +647,21 @@ array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" +array-filter@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" -array-uniq@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.2.tgz#5fcc373920775723cfd64d65c64bef53bf9eba6d" +array-map@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + +array-reduce@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" array-uniq@^1.0.2: version "1.0.3" @@ -668,10 +675,6 @@ array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" -arraybuffer.slice@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" - arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -708,21 +711,6 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" -async-retry@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-0.2.1.tgz#a8ca3a101bc146dd75de5e6464263f26c1fcd44f" - dependencies: - babel-runtime "6.5.0" - retry "0.9.0" - -async-to-gen@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/async-to-gen/-/async-to-gen-1.4.0.tgz#f8157f9013e0c487e1e940150a4d1a1b78b2dd6b" - dependencies: - babylon "^6.14.0" - magic-string "^0.22.0" - pirates "^3.0.2" - async@2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" @@ -1348,12 +1336,6 @@ babel-runtime@6.26.0, babel-runtime@^6.26.0: core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-runtime@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.5.0.tgz#fb7c1889069bd9f8200238a9bc6ad5b5e8ab5bfb" - dependencies: - core-js "^1.2.0" - babel-runtime@^6.18.0, babel-runtime@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" @@ -1494,7 +1476,7 @@ babylon@^6.11.0, babylon@^6.15.0: version "6.16.1" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" -babylon@^6.14.0, babylon@^6.18.0: +babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -1502,7 +1484,7 @@ babylon@^6.7.0: version "6.17.4" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" -backo2@1.0.2, backo2@^1.0.2: +backo2@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -1514,14 +1496,6 @@ balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - -base64-js@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" - base64-js@^1.0.2: version "1.3.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" @@ -1552,27 +1526,10 @@ before-after-hook@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.1.0.tgz#83165e15a59460d13702cb8febd6a1807896db5a" -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" - dependencies: - callsite "1.0.0" - binary-extensions@^1.0.0: version "1.8.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" -bl@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - -blob@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" - block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" @@ -1583,10 +1540,6 @@ bluebird@3.5.0, bluebird@^3.1.1: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" -bluebird@^3.5.0: - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" - body-parser-graphql@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/body-parser-graphql/-/body-parser-graphql-1.0.0.tgz#997de1792ed222cbc4845d404f4549eb88ec6d37" @@ -1630,20 +1583,6 @@ boom@5.x.x: dependencies: hoek "4.x.x" -boxen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" - dependencies: - ansi-align "^1.1.0" - camelcase "^2.1.0" - chalk "^1.1.1" - cli-boxes "^1.0.0" - filled-array "^1.0.0" - object-assign "^4.0.1" - repeating "^2.0.0" - string-width "^1.0.1" - widest-line "^1.0.0" - boxen@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" @@ -1719,10 +1658,6 @@ btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -1747,14 +1682,6 @@ buffer@4.9.1: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^3.0.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" - dependencies: - base64-js "0.0.8" - ieee754 "^1.1.4" - isarray "^1.0.0" - builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1774,10 +1701,6 @@ bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" -bytes@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.5.0.tgz#4c9423ea2d252c270c41b2bdefeff9bb6b62c06a" - cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -1792,10 +1715,6 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -callsite@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" - callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" @@ -1804,10 +1723,6 @@ camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" -camelcase@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" @@ -1824,15 +1739,6 @@ caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" -caw@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95" - dependencies: - get-proxy "^2.0.0" - isurl "^1.0.0-alpha5" - tunnel-agent "^0.6.0" - url-to-options "^1.0.1" - center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" @@ -1840,21 +1746,21 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@1.1.3, chalk@^1.1.0, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" +chalk@^1.0.0, chalk@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" dependencies: - ansi-styles "^2.2.1" + ansi-styles "^2.1.0" escape-string-regexp "^1.0.2" has-ansi "^2.0.0" strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^1.0.0, chalk@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" +chalk@^1.1.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: - ansi-styles "^2.1.0" + ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" has-ansi "^2.0.0" strip-ansi "^3.0.0" @@ -1868,14 +1774,6 @@ chalk@^2.0.0, chalk@^2.0.1: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chalk@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.0.tgz#a060a297a6b57e15b61ca63ce84995daa0fe6e52" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" @@ -1971,20 +1869,10 @@ cli-cursor@^1.0.2: dependencies: restore-cursor "^1.0.1" -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - dependencies: - restore-cursor "^2.0.0" - cli-spinners@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" -cli-spinners@^1.0.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" - cli-truncate@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" @@ -2109,6 +1997,10 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" +commander@^2.11.0: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + commander@^2.12.1, commander@^2.13.0, commander@^2.9.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -2127,12 +2019,6 @@ commander@^2.8.1: dependencies: graceful-readlink ">= 1.0.0" -commander@~2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - dependencies: - graceful-readlink ">= 1.0.0" - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -2141,22 +2027,10 @@ compare-versions@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.2.1.tgz#a49eb7689d4caaf0b6db5220173fd279614000f7" -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - -component-emitter@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" - -component-emitter@1.2.1, component-emitter@^1.2.1: +component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -2169,27 +2043,6 @@ concat-stream@^1.4.7: readable-stream "^2.2.2" typedarray "^0.0.6" -config-chain@^1.1.11: - version "1.1.11" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" - dependencies: - 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" - configstore@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.0.0.tgz#e1b8669c1803ccc50b545e92f8e6e79aa80e0196" @@ -2244,18 +2097,6 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -copy-paste@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/copy-paste/-/copy-paste-1.3.0.tgz#a7e6c4a1c28fdedf2b081e72b97df2ef95f471ed" - dependencies: - iconv-lite "^0.4.8" - optionalDependencies: - sync-exec "~0.6.x" - -core-js@^1.2.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - core-js@^2.4.0, core-js@^2.5.0: version "2.5.3" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" @@ -2283,7 +2124,7 @@ cosmiconfig@^5.0.2: js-yaml "^3.9.0" parse-json "^4.0.0" -create-error-class@^3.0.0, create-error-class@^3.0.1: +create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: @@ -2443,18 +2284,6 @@ debug@2, debug@^2.2.0: dependencies: ms "0.7.2" -debug@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -debug@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" - dependencies: - ms "0.7.2" - debug@2.6.9, debug@^2.3.3, debug@^2.6.8: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2487,54 +2316,6 @@ decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" -decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" - dependencies: - file-type "^5.2.0" - is-stream "^1.1.0" - tar-stream "^1.5.2" - -decompress-tarbz2@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" - dependencies: - decompress-tar "^4.1.0" - file-type "^6.1.0" - is-stream "^1.1.0" - seek-bzip "^1.0.5" - unbzip2-stream "^1.0.9" - -decompress-targz@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" - dependencies: - decompress-tar "^4.1.1" - file-type "^5.2.0" - is-stream "^1.1.0" - -decompress-unzip@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" - dependencies: - file-type "^3.8.0" - get-stream "^2.2.0" - pify "^2.3.0" - yauzl "^2.4.2" - -decompress@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" - dependencies: - decompress-tar "^4.0.0" - decompress-tarbz2 "^4.0.0" - decompress-targz "^4.0.0" - decompress-unzip "^4.0.1" - graceful-fs "^4.1.10" - make-dir "^1.0.0" - pify "^2.3.0" - strip-dirs "^2.0.0" - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -2543,10 +2324,6 @@ deep-equal@^1.0.1, deep-equal@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" -deep-extend@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - deep-extend@~0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" @@ -2643,10 +2420,6 @@ detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" -detect-node@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" - diagnostics@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.0.tgz#e1090900b49523e8527be20f081275205f2ae36a" @@ -2666,10 +2439,6 @@ diff@^3.1.0, diff@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" -docker-file-parser@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/docker-file-parser/-/docker-file-parser-0.1.0.tgz#8aff4967aa36df61e50f36091571f95e4457ae8b" - dom-serializer@0, dom-serializer@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" @@ -2715,12 +2484,6 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - dependencies: - is-obj "^1.0.0" - dot-prop@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" @@ -2735,28 +2498,10 @@ dotenv@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" -download@^5.0.2: - version "5.0.3" - resolved "https://registry.yarnpkg.com/download/-/download-5.0.3.tgz#63537f977f99266a30eb8a2a2fbd1f20b8000f7a" - dependencies: - caw "^2.0.0" - decompress "^4.0.0" - filenamify "^2.0.0" - get-stream "^3.0.0" - got "^6.3.0" - mkdirp "^0.5.1" - pify "^2.3.0" - ducky@2.6.6: version "2.6.6" resolved "https://registry.yarnpkg.com/ducky/-/ducky-2.6.6.tgz#ef05e4d52deb6073986a8cfc7c370e4847a7f54f" -duplexer2@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - dependencies: - readable-stream "^2.0.2" - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -2786,17 +2531,6 @@ elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" -email-prompt@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/email-prompt/-/email-prompt-0.2.0.tgz#b16d1970b7b2537b01920fe01f5062641a1f41f3" - dependencies: - ansi-escapes "1.4.0" - chalk "1.1.3" - -email-validator@^1.0.7: - version "1.2.3" - resolved "https://registry.yarnpkg.com/email-validator/-/email-validator-1.2.3.tgz#3e3aa65595e079a4686b41c004485a53638a6ed5" - emits@3.0.x: version "3.0.0" resolved "https://registry.yarnpkg.com/emits/-/emits-3.0.0.tgz#32752bba95e1707b219562384ab9bb8b1fd62f70" @@ -2817,40 +2551,6 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -end-of-stream@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - dependencies: - once "^1.4.0" - -engine.io-client@~1.8.4: - version "1.8.5" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.5.tgz#fe7fb60cb0dcf2fa2859489329cb5968dedeb11f" - dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "2.3.3" - engine.io-parser "1.3.2" - has-cors "1.1.0" - indexof "0.0.1" - parsejson "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - ws "~1.1.5" - xmlhttprequest-ssl "1.5.3" - yeast "0.1.2" - -engine.io-parser@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a" - dependencies: - after "0.8.2" - arraybuffer.slice "0.0.6" - base64-arraybuffer "0.1.5" - blob "0.0.4" - has-binary "0.1.7" - wtf-8 "1.0.0" - entities@1.0: version "1.0.0" resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" @@ -2985,7 +2685,7 @@ eventemitter3@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba" -eventemitter3@~3.1.0: +eventemitter3@^3.0.0, eventemitter3@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" @@ -3184,12 +2884,6 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - dependencies: - pend "~1.2.0" - figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -3197,34 +2891,10 @@ figures@^1.7.0: escape-string-regexp "^1.0.5" object-assign "^4.1.0" -file-type@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - -file-type@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" - -file-type@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" - filename-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" - -filenamify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-2.0.0.tgz#bd162262c0b6e94bfbcdcf19a3bbb3764f785695" - dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.0" - trim-repeated "^1.0.0" - fileset@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" @@ -3251,10 +2921,6 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -filled-array@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" - finalhandler@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" @@ -3286,7 +2952,7 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: @@ -3298,6 +2964,12 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +follow-redirects@^1.0.0: + version "1.5.7" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.7.tgz#a39e4804dacb90202bca76a9e2ac10433ca6a69a" + dependencies: + debug "^3.1.0" + for-each@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" @@ -3360,7 +3032,7 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" -fs-extra@1.0.0, fs-extra@^1.0.0: +fs-extra@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" dependencies: @@ -3376,15 +3048,6 @@ fs-extra@6.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-promise@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-promise/-/fs-promise-1.0.0.tgz#4246a4cd45497d2ed57e6e4b22167d3864b23679" - dependencies: - any-promise "^1.0.0" - fs-extra "^1.0.0" - mz "^2.3.1" - thenify-all "^1.6.0" - fs-readdir-recursive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" @@ -3460,12 +3123,6 @@ get-own-enumerable-property-symbols@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" -get-proxy@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93" - dependencies: - npm-conf "^1.1.0" - get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -3474,13 +3131,6 @@ get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" -get-stream@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -3568,27 +3218,7 @@ glossy@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/glossy/-/glossy-0.1.7.tgz#769b5984a96f6066ab9ea758224825ee6c210f0b" -got@^5.0.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" - dependencies: - 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" - -got@^6.3.0, got@^6.7.1: +got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" dependencies: @@ -3604,7 +3234,7 @@ got@^6.3.0, got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -3750,10 +3380,6 @@ growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" -handle-thing@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" - handlebars@^4.0.3: version "4.0.6" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" @@ -3792,16 +3418,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-binary@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" - dependencies: - isarray "0.0.1" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -3814,16 +3430,6 @@ has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - dependencies: - has-symbol-support-x "^1.4.1" - has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -3908,15 +3514,6 @@ hosted-git-info@^2.1.4: version "2.4.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.1.tgz#4b0445e41c004a8bd1337773a4ff790ca40318c8" -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - html-encoding-sniffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" @@ -3944,10 +3541,6 @@ htmlparser2@~3.8.1: entities "1.0" readable-stream "1.1" -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - http-errors@1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" @@ -3981,6 +3574,14 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy@^1.16.2: + version "1.17.0" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" + dependencies: + eventemitter3 "^3.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + http-signature@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" @@ -4053,12 +3654,6 @@ iconv-lite@0.4.19, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" -iconv-lite@^0.4.8: - version "0.4.21" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798" - dependencies: - safer-buffer "^2.1.0" - ieee754@1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -4067,10 +3662,6 @@ ieee754@^1.1.4: version "1.1.11" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" -ignore@^3.2.0: - version "3.3.7" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" - import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" @@ -4096,10 +3687,6 @@ indent-string@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -4135,10 +3722,6 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ip-regex@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" - ipaddr.js@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" @@ -4309,10 +3892,6 @@ is-nan@^1.2.1: dependencies: define-properties "^1.1.1" -is-natural-number@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" - is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -4337,10 +3916,6 @@ is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" -is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - is-observable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" @@ -4423,10 +3998,6 @@ is-unc-path@^0.1.1: dependencies: unc-path-regex "^0.1.0" -is-url@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" - is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -4529,13 +4100,6 @@ istanbul-reports@^1.3.0: dependencies: handlebars "^4.0.3" -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - iterall@^1.1.3, iterall@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" @@ -4977,10 +4541,6 @@ json2ts@orta/json2ts#ts-less: dependencies: underscore "^1.8.3" -json3@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - json5@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -5112,12 +4672,6 @@ kuler@0.0.x: dependencies: colornames "0.0.2" -latest-version@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" - dependencies: - package-json "^2.0.0" - latest-version@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" @@ -5134,10 +4688,6 @@ lazy-cache@^2.0.2: dependencies: set-getter "^0.1.0" -lazy-req@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -5248,18 +4798,9 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: +locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" dependencies: p-locate "^2.0.0" path-exists "^3.0.0" @@ -5393,7 +4934,7 @@ log-symbols@^1.0.2: dependencies: chalk "^1.0.0" -log-symbols@^2.1.0, log-symbols@^2.2.0: +log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" dependencies: @@ -5431,12 +4972,6 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" -magic-string@^0.22.0: - version "0.22.5" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" - dependencies: - vlq "^0.2.2" - make-dir@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b" @@ -5583,10 +5118,6 @@ mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - minimatch@^3.0.0, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -5701,10 +5232,6 @@ mquery@3.0.0: regexp-clone "0.0.1" sliced "0.0.5" -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - ms@0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" @@ -5713,21 +5240,13 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -ms@^0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" - ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" -mz@^2.3.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" +mustache@^2.2.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5" nan@^2.3.0: version "2.5.1" @@ -5778,7 +5297,7 @@ node-fetch@2.1.2, node-fetch@^2.1.1, node-fetch@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" -node-fetch@^1.6.3, node-fetch@^1.7.1: +node-fetch@^1.7.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" dependencies: @@ -5854,14 +5373,6 @@ node-schedule@^1.3.0: long-timeout "0.1.1" sorted-array-functions "^1.0.0" -node-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" - -node-version@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/node-version/-/node-version-1.1.3.tgz#1081c87cce6d2dbbd61d0e51e28c287782678496" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -5892,72 +5403,6 @@ normalize-path@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" -normalize-url@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -now-travis@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/now-travis/-/now-travis-1.2.0.tgz#14f2d1f6d236f5aece0c98e30be29ba7f13522b5" - dependencies: - cross-spawn "^5.0.1" - normalize-url "^1.9.0" - now "^2.0.3" - octonode "^0.7.8" - url-regex "^4.0.0" - yargs "^8.0.2" - -now@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/now/-/now-2.0.5.tgz#b2621d679364a6fb616f8a4648d380880b5886b8" - dependencies: - ansi-escapes "^1.4.0" - arr-flatten "^1.0.1" - array-unique "^0.3.2" - async-retry "^0.2.1" - async-to-gen "^1.3.0" - bytes "^2.4.0" - chalk "^1.1.3" - copy-paste "^1.3.0" - cross-spawn "^5.0.1" - docker-file-parser "^0.1.0" - download "^5.0.2" - email-prompt "^0.2.0" - email-validator "^1.0.7" - fs-promise "^1.0.0" - glob "^7.1.1" - graceful-fs "^4.1.11" - ignore "^3.2.0" - ini "^1.3.4" - is-url "^1.2.2" - minimist "^1.2.0" - ms "^0.7.2" - node-fetch "^1.6.3" - node-version "^1.0.0" - ora "^1.0.0" - progress "^1.1.8" - psl "^1.1.15" - resumer "^0.0.0" - semver-compare "^1.0.0" - socket.io-client "^1.7.2" - spdy "^3.4.4" - split-array "^1.0.1" - text-table "^0.2.0" - tmp-promise "^1.0.3" - update-notifier "^1.0.3" - -npm-conf@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" - dependencies: - config-chain "^1.1.11" - pify "^3.0.0" - npm-path@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" @@ -6013,10 +5458,6 @@ object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" @@ -6069,18 +5510,6 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -obuf@^1.0.0, obuf@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - -octonode@^0.7.8: - version "0.7.13" - resolved "https://registry.yarnpkg.com/octonode/-/octonode-0.7.13.tgz#d66cb26b9efefc4089e0df8830a6efab73976cad" - dependencies: - deep-extend "^0.4.1" - randomstring "^1.1.5" - request "^2.72.0" - on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -6097,12 +5526,6 @@ onetime@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - dependencies: - mimic-fn "^1.0.0" - optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -6121,10 +5544,6 @@ optionator@^0.8.1: type-check "~0.3.2" wordwrap "~1.0.0" -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - ora@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" @@ -6134,15 +5553,6 @@ ora@^0.2.3: cli-spinners "^0.1.2" object-assign "^4.0.1" -ora@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-1.4.0.tgz#884458215b3a5d4097592285f93321bb7a79e2e5" - dependencies: - chalk "^2.1.0" - cli-cursor "^2.1.0" - cli-spinners "^1.0.1" - log-symbols "^2.1.0" - os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -6161,11 +5571,11 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@^0.1.0, osenv@^0.1.4: +osenv@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: @@ -6228,15 +5638,6 @@ p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" -package-json@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" - dependencies: - got "^5.0.0" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - package-json@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" @@ -6271,7 +5672,7 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-json@^2.1.0, parse-json@^2.2.0: +parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: @@ -6304,24 +5705,6 @@ parse5@^3.0.2: dependencies: "@types/node" "*" -parsejson@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" - dependencies: - better-assert "~1.0.0" - -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - dependencies: - better-assert "~1.0.0" - -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - dependencies: - better-assert "~1.0.0" - parseurl@^1.3.1, parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" @@ -6368,16 +5751,6 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" @@ -6386,7 +5759,7 @@ performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" -pify@^2.0.0, pify@^2.3.0: +pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -6408,7 +5781,7 @@ pinpoint@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pinpoint/-/pinpoint-1.1.0.tgz#0cf7757a6977f1bf7f6a32207b709e377388e874" -pirates@^3.0.1, pirates@^3.0.2: +pirates@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/pirates/-/pirates-3.0.2.tgz#7e6f85413fd9161ab4e12b539b06010d85954bb9" dependencies: @@ -6475,7 +5848,7 @@ prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" -prepend-http@^1.0.0, prepend-http@^1.0.1: +prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -6524,14 +5897,6 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" -process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - promise-finally@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/promise-finally/-/promise-finally-3.0.0.tgz#ddd5d0f895432b1206ceb8da1275064d18e7aa23" @@ -6543,10 +5908,6 @@ prompts@^0.1.9: kleur "^2.0.1" sisteransi "^0.1.1" -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - proxy-addr@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" @@ -6558,10 +5919,6 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" -psl@^1.1.15: - version "1.1.25" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.25.tgz#135edc9c7ba48cd8e4a6903fded8c7f348a5d2ee" - punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" @@ -6586,13 +5943,6 @@ qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -6604,12 +5954,6 @@ randomatic@^1.1.3: is-number "^2.0.2" kind-of "^3.0.2" -randomstring@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/randomstring/-/randomstring-1.1.5.tgz#6df0628f75cbd5932930d9fe3ab4e956a18518c3" - dependencies: - array-uniq "1.0.2" - range-parser@^1.2.0, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" @@ -6640,13 +5984,6 @@ rc@^1.0.1, rc@^1.1.5, rc@^1.1.6, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -6654,13 +5991,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -6669,14 +5999,6 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - readable-stream@1.1: version "1.1.13" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" @@ -6695,7 +6017,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.2.2: +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.1.4, readable-stream@^2.2.2: version "2.2.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.6.tgz#8b43aed76e71483938d12a8d46c6cf1a00b1f816" dependencies: @@ -6719,18 +6041,6 @@ readable-stream@^2.0.1: string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@^2.2.9, readable-stream@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -6892,33 +6202,6 @@ request@^2.55.0, request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@^2.72.0: - version "2.85.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" - dependencies: - aws-sign2 "~0.7.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.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - request@^2.83.0: version "2.83.0" resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" @@ -6965,6 +6248,10 @@ require_optional@^1.0.1: resolve-from "^2.0.0" semver "^5.1.0" +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -7006,14 +6293,7 @@ restore-cursor@^1.0.1: exit-hook "^1.0.0" onetime "^1.0.0" -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -resumer@^0.0.0, resumer@~0.0.0: +resumer@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" dependencies: @@ -7023,10 +6303,6 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -retry@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.9.0.tgz#6f697e50a0e4ddc8c8f7fb547a9b60dead43678d" - rfc6902@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/rfc6902/-/rfc6902-2.2.2.tgz#518a4e9caac1688f3d94c9df2fdcdb6ce21f29be" @@ -7069,10 +6345,6 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -safer-buffer@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - sane@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sane/-/sane-2.0.0.tgz#99cb79f21f4a53a69d4d0cd957c2db04024b8eb2" @@ -7103,16 +6375,6 @@ sax@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" -seek-bzip@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" - dependencies: - commander "~2.8.1" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -7222,6 +6484,15 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" +shell-quote@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + dependencies: + array-filter "~0.0.0" + array-map "~0.0.0" + array-reduce "~0.0.0" + jsonify "~0.0.0" + shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -7299,31 +6570,6 @@ sntp@2.x.x: dependencies: hoek "4.x.x" -socket.io-client@^1.7.2: - version "1.7.4" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.4.tgz#ec9f820356ed99ef6d357f0756d648717bdd4281" - dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "1.2.1" - debug "2.3.3" - engine.io-client "~1.8.4" - has-binary "0.1.7" - indexof "0.0.1" - object-component "0.0.3" - parseuri "0.0.5" - socket.io-parser "2.3.1" - to-array "0.1.4" - -socket.io-parser@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0" - dependencies: - component-emitter "1.1.2" - debug "2.2.0" - isarray "0.0.1" - json3 "3.3.2" - sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" @@ -7405,33 +6651,6 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" -spdy-transport@^2.0.18: - version "2.1.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1" - dependencies: - debug "^2.6.8" - detect-node "^2.0.3" - hpack.js "^2.1.6" - obuf "^1.1.1" - readable-stream "^2.2.9" - safe-buffer "^5.0.1" - wbuf "^1.7.2" - -spdy@^3.4.4: - version "3.4.7" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" - dependencies: - debug "^2.6.8" - handle-thing "^1.2.5" - http-deceiver "^1.2.7" - safe-buffer "^5.0.1" - select-hose "^2.0.0" - spdy-transport "^2.0.18" - -split-array@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split-array/-/split-array-1.0.1.tgz#7d0c10366705f3aa4620529ab755bf7ed2220da1" - split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -7492,10 +6711,6 @@ streamsearch@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - string-argv@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" @@ -7544,12 +6759,6 @@ string_decoder@~1.0.3: dependencies: safe-buffer "~5.1.0" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - dependencies: - safe-buffer "~5.1.0" - stringify-object@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd" @@ -7584,12 +6793,6 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" -strip-dirs@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" - dependencies: - is-natural-number "^4.0.1" - strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -7602,12 +6805,6 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -strip-outer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" - dependencies: - escape-string-regexp "^1.0.2" - subscriptions-transport-ws@^0.9.7: version "0.9.7" resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.7.tgz#9be456d6e188c96a53c91f570850e59bee5840ac" @@ -7670,10 +6867,6 @@ symbol-observable@^1.0.4, symbol-observable@^1.1.0: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -sync-exec@~0.6.x: - version "0.6.2" - resolved "https://registry.yarnpkg.com/sync-exec/-/sync-exec-0.6.2.tgz#717d22cc53f0ce1def5594362f3a89a2ebb91105" - taffydb@2.7.2: version "2.7.2" resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.7.2.tgz#7bf8106a5c1a48251b3e3bc0a0e1732489fd0dc8" @@ -7709,15 +6902,6 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" -tar-stream@^1.5.2: - version "1.5.5" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55" - dependencies: - bl "^1.0.0" - end-of-stream "^1.0.0" - readable-stream "^2.0.0" - xtend "^4.0.0" - tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" @@ -7746,22 +6930,6 @@ text-hex@0.0.x: version "0.0.0" resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-0.0.0.tgz#578fbc85a6a92636e42dd17b41d0218cce9eb2b3" -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -thenify-all@^1.0.0, thenify-all@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - dependencies: - any-promise "^1.0.0" - thenify@^3.1.0, thenify@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.2.1.tgz#251fd1c80aff6e5cf57cb179ab1fcb724269bd11" @@ -7776,43 +6944,18 @@ throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" -through@^2.3.6, through@~2.3.4, through@~2.3.8: +through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" -timed-out@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" - timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" -tlds@^1.187.0: - version "1.203.1" - resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" - -tmp-promise@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-1.0.4.tgz#cfe2131b78392992e756d8692a059dc4b48be7ac" - dependencies: - bluebird "^3.5.0" - tmp "0.0.33" - -tmp@0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - dependencies: - os-tmpdir "~1.0.2" - tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - to-fast-properties@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" @@ -7875,12 +7018,6 @@ tr46@~0.0.1: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - dependencies: - escape-string-regexp "^1.0.2" - trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -8066,21 +7203,10 @@ uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" -unbzip2-stream@^1.0.9: - version "1.2.5" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47" - dependencies: - buffer "^3.0.1" - through "^2.3.6" - unc-path-regex@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" @@ -8138,27 +7264,10 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -unzip-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" - unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" -update-notifier@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" - dependencies: - boxen "^0.6.0" - chalk "^1.0.0" - configstore "^2.0.0" - is-npm "^1.0.0" - latest-version "^2.0.0" - lazy-req "^1.1.0" - semver-diff "^2.0.0" - xdg-basedir "^2.0.0" - update-notifier@^2.0.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" @@ -8184,21 +7293,10 @@ url-parse-lax@^1.0.0: dependencies: prepend-http "^1.0.1" -url-regex@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-4.1.1.tgz#a5617b22e15e26dac57ce74c3f52088bcdfec995" - dependencies: - ip-regex "^1.0.1" - tlds "^1.187.0" - url-template@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - url@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" @@ -8233,10 +7331,6 @@ uuid@3.1.0, uuid@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - uuid@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" @@ -8264,10 +7358,6 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" -vlq@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" - vm2@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.6.0.tgz#a6e6370c57e6edd77decfb7b1ad64fc87dbf2d4e" @@ -8286,12 +7376,6 @@ watch@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" -wbuf@^1.1.0, wbuf@^1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - dependencies: - minimalistic-assert "^1.0.0" - wcwidth@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -8356,12 +7440,6 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.1" -widest-line@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" - dependencies: - string-width "^1.0.1" - widest-line@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273" @@ -8446,23 +7524,6 @@ ws@^5.2.0: dependencies: async-limiter "~1.0.0" -ws@~1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -wtf-8@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" - -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - dependencies: - os-homedir "^1.0.0" - xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" @@ -8484,10 +7545,6 @@ xmlbuilder@4.2.1, xmlbuilder@^4.1.0: dependencies: lodash "^4.0.0" -xmlhttprequest-ssl@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" - xregexp@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" @@ -8521,12 +7578,6 @@ yargs-parser@^2.4.1: camelcase "^3.0.0" lodash.assign "^4.0.6" -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - dependencies: - camelcase "^4.1.0" - yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" @@ -8586,24 +7637,6 @@ yargs@^4.8.0: y18n "^3.2.1" yargs-parser "^2.4.1" -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" @@ -8613,17 +7646,6 @@ yargs@~3.10.0: decamelize "^1.0.0" window-size "0.1.0" -yauzl@^2.4.2: - version "2.9.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.9.1.tgz#a81981ea70a57946133883f029c5821a89359a7f" - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.0.1" - -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - yn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" From 512a293028ea57a95b7d37056c1b71d095adda3e Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sat, 25 Aug 2018 19:27:18 -0400 Subject: [PATCH 03/11] Some potential improvem ents to the task scheduler --- .vscode/settings.json | 1 + docs/debugging.md | 17 +++++++++ source/listen.ts | 1 - source/peril.ts | 2 +- .../scheduler/_tests/_startScheduler.test.ts | 2 +- ...duler.ts => startRepeatedTaskScheduler.ts} | 0 source/tasks/startTaskScheduler.ts | 38 +++++++++++-------- 7 files changed, 43 insertions(+), 18 deletions(-) create mode 100644 docs/debugging.md rename source/scheduler/{startScheduler.ts => startRepeatedTaskScheduler.ts} (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json index b9b6f615..c0558da8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -32,6 +32,7 @@ "PAPERTRAIL", "PRDSL", "PRJSONDSL", + "Schedulable", "Sidenote", "dockerhub", "doggos", diff --git a/docs/debugging.md b/docs/debugging.md new file mode 100644 index 00000000..c814411a --- /dev/null +++ b/docs/debugging.md @@ -0,0 +1,17 @@ +### How do debug agenda + +Edit `now.staging.json` to include `DEBUG` + +```diff +{ + "env": { ++ "DEBUG": "agenda:*" + } +} +``` + +You can throw up a UI to the db using: + +```sh +echo "http://localhost:3001"; npx agendash --db=[get this from .env] --collection=agendaJobs --port=3001 +``` diff --git a/source/listen.ts b/source/listen.ts index d068b606..ebea8c27 100644 --- a/source/listen.ts +++ b/source/listen.ts @@ -41,6 +41,5 @@ export const startApp = (app: express.Express, callback: any) => { const tick = chalk.bold.greenBright("✓") logger.info(" - " + tick + " Apollo Engine") logger.info(" - " + tick + " Primus Sockets") - logger.info("") }) } diff --git a/source/peril.ts b/source/peril.ts index a2f250d3..570cfdc8 100644 --- a/source/peril.ts +++ b/source/peril.ts @@ -24,7 +24,7 @@ import { setupPublicAPI } from "./api/api" import logger from "./logger" import { hyperUpdater } from "./routing/hyper_updater" import { githubRouter } from "./routing/router" -import { startScheduler } from "./scheduler/startScheduler" +import { startScheduler } from "./scheduler/startRepeatedTaskScheduler" import { startTaskScheduler } from "./tasks/startTaskScheduler" const welcomeMessages = [] as string[] diff --git a/source/scheduler/_tests/_startScheduler.test.ts b/source/scheduler/_tests/_startScheduler.test.ts index bb65f7cb..e6cfe93a 100644 --- a/source/scheduler/_tests/_startScheduler.test.ts +++ b/source/scheduler/_tests/_startScheduler.test.ts @@ -7,7 +7,7 @@ import { getDB } from "../../db/getDB" const mockDB = getDB() as MockDB import installationFactory from "../../testing/installationFactory" -import { runSchedule } from "../startScheduler" +import { runSchedule } from "../startRepeatedTaskScheduler" it("runs scheduleJob for your tasks", async () => { const scheduler = { diff --git a/source/scheduler/startScheduler.ts b/source/scheduler/startRepeatedTaskScheduler.ts similarity index 100% rename from source/scheduler/startScheduler.ts rename to source/scheduler/startRepeatedTaskScheduler.ts diff --git a/source/tasks/startTaskScheduler.ts b/source/tasks/startTaskScheduler.ts index b1314336..c178111b 100644 --- a/source/tasks/startTaskScheduler.ts +++ b/source/tasks/startTaskScheduler.ts @@ -1,6 +1,7 @@ import { MONGODB_URI } from "../globals" import * as Agenda from "agenda" +import chalk from "chalk" import { GitHubInstallation } from "../db" import { getDB } from "../db/getDB" import logger from "../logger" @@ -15,29 +16,36 @@ export interface DangerFileTaskConfig { export let agenda: Agenda export const runDangerfileTaskName = "runDangerfile" +const tick = chalk.bold.greenBright("✓") + export const startTaskScheduler = async () => { agenda = new Agenda({ db: { address: MONGODB_URI } }) - agenda.on("ready", () => { - agenda.start() - }) + agenda.on("ready", async () => { + await agenda.start() + logger.info(" - " + tick + " Agenda Task Scheduler") - agenda.define(runDangerfileTaskName, async (job, done) => { - const data = job.attrs.data as DangerFileTaskConfig - logger.info(`Received a new task, ${data.taskName}`) + agenda.define(runDangerfileTaskName, { priority: "high", concurrency: 10, lockLimit: 0 }, (job, done) => { + const data = job.attrs.data as DangerFileTaskConfig + logger.info(`Received a new task, ${data.taskName}`) + done() + startRunningTask(data) + }) + }) +} - const db = getDB() - const installation = await db.getInstallation(data.installationID) - if (!installation) { - logger.error(`Could not find installation for task: ${data.taskName}`) - return - } +const startRunningTask = async (data: DangerFileTaskConfig) => { + const db = getDB() + const installation = await db.getInstallation(data.installationID) + if (!installation) { + logger.error(`Could not find installation for task: ${data.taskName}`) + return + } - await runTaskForInstallation(installation, data.taskName, data.data) - done() - }) + await runTaskForInstallation(installation, data.taskName, data.data) } export const runTaskForInstallation = async (installation: GitHubInstallation, task: string, data: any) => { + logger.info(`Running task ${task} for ${installation.login}:`) const taskDangerfiles = installation.tasks[task] if (!taskDangerfiles) { logger.error(`Could not find the task: ${task} on installation ${installation.iID}`) From e43df72d349190dd14d97102696c2503c3144da3 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sat, 25 Aug 2018 20:51:57 -0400 Subject: [PATCH 04/11] Allow auto-prefixing of the settings json to whole-org rules --- CHANGELOG.md | 34 ++++++++++++++++++++++++ source/danger/_tests/_danger_run.test.ts | 24 ++++++++++++++++- source/danger/danger_run.ts | 9 ++++++- source/danger/peril_platform.ts | 10 +++---- source/github/events/github_runner.ts | 13 ++++++--- 5 files changed, 78 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df7b4a16..e6472890 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,37 @@ +## 2018 - August 25 + +- Generic rules for all the org now default to the settings JSON repo, reducing dupes in the settings json - orta + +```diff +{ + "$schema": "https://raw.githubusercontent.com/danger/peril/master/peril-settings-json.schema", + "rules": { + "create (ref_type == tag)": [ ++ "org/new_tag.ts", +- "danger/peril-settings@org/new_tag.ts", ++ "org/updateDangerSystems.ts", +- "danger/peril-settings@org/updateDangerSystems.ts" + ], ++ "pull_request.closed": "org/aeryn.ts", +- "pull_request.closed": "danger/peril-settings@org/aeryn.ts", ++ "pull_request": ["org/debug.ts", "org/changelog.ts"], +- "pull_request": ["danger/peril-settings@org/debug.ts", "danger/peril-settings@org/changelog.ts"], ++ "issue_comment": "org/markAsMergeOnGreen.ts", +- "issue_comment": "danger/peril-settings@org/markAsMergeOnGreen.ts", ++ "issues.opened": "org/checkTemplate.ts", +- "issues.opened": "danger/peril-settings@org/checkTemplate.ts", ++ "status.success": "org/mergeOnGreen.ts" +- "status.success": "danger/peril-settings@org/mergeOnGreen.ts" + }, + "tasks": { ++ "trigger-scheduler": "testing/trigger-scheduler.ts", +- "trigger-scheduler": "danger/peril-settings@testing/trigger-scheduler.ts", ++ "logger": "testing/logger.ts" +- "logger": "danger/peril-settings@testing/logger.ts" + } +} +``` + ## 2018 - August 5 - Adds support for relative file imports inside a Dangerfile - orta diff --git a/source/danger/_tests/_danger_run.test.ts b/source/danger/_tests/_danger_run.test.ts index 819ffdd1..628dcb97 100644 --- a/source/danger/_tests/_danger_run.test.ts +++ b/source/danger/_tests/_danger_run.test.ts @@ -86,7 +86,7 @@ describe("for PRs", () => { ]) }) - it("returns many runs when there are mutliple potential matches", () => { + it("returns many runs when there are multiple potential matches", () => { const rules = { issue: "dangerfile.js", pull_request: "dangerfile.js", @@ -114,6 +114,28 @@ describe("for PRs", () => { ]) }) + it("prefixes the repo when that's passed in", () => { + const rules = { + "issue.created, issue.closed": "dangerfile.js", + pull_request: "dangerfile.js", + } + + expect( + dangerRunForRules("pull_request", "created", rules, {}, "danger/olives").map(m => m.referenceString) + ).toEqual(["danger/olives@dangerfile.js"]) + }) + + it("doesn't prefix the repo when that's passed in and has a repo reference", () => { + const rules = { + "issue.created, issue.closed": "dangerfile.js", + pull_request: "danger/phone@dangerfile.js", + } + + expect( + dangerRunForRules("pull_request", "created", rules, {}, "danger/olives").map(m => m.referenceString) + ).toEqual(["danger/phone@dangerfile.js"]) + }) + it("returns null when no multi inline rules match", () => { const rules = { "issue.created, pull_request.closed": "dangerfile.js", diff --git a/source/danger/danger_run.ts b/source/danger/danger_run.ts index 311de977..77aaa2ab 100644 --- a/source/danger/danger_run.ts +++ b/source/danger/danger_run.ts @@ -38,7 +38,8 @@ export const dangerRunForRules = ( event: string, action: string | null, rule: RunnerRuleset | undefined | null, - webhook: any + webhook: any, + prefixRepo?: string ): DangerRun[] => { // tslint:disable-line // Can't do anything with nothing @@ -103,6 +104,12 @@ export const dangerRunForRules = ( possibilities = possibilities.concat(arr) }) + // Basically, if we provide a prefix repo, the blank repos + // should use that repo + if (prefixRepo) { + possibilities = possibilities.map(p => (p.includes("@") ? p : `${prefixRepo}@${p}`)) + } + return possibilities.map(path => ({ action, dslType: dslTypeForEvent(event), diff --git a/source/danger/peril_platform.ts b/source/danger/peril_platform.ts index 3af8817c..2b8e0973 100644 --- a/source/danger/peril_platform.ts +++ b/source/danger/peril_platform.ts @@ -9,8 +9,6 @@ import { import { Platform } from "danger/distribution/platforms/platform" import { RunType } from "./danger_run" -const { SKIP_CHECKS_SUPPORT } = process.env - /** * When Peril is running a dangerfile for a PR we can use the default GitHub from Danger * however, an event like an issue comment or a user creation has no way to provide any kind of @@ -34,14 +32,12 @@ export const getPerilPlatformForDSL = (type: RunType, github: GitHubType | null, } const nullFunc: any = () => "" - const platformResultsPreMapper = github - ? !SKIP_CHECKS_SUPPORT && github.platformResultsPreMapper && github.platformResultsPreMapper.bind(github) - : nullFunc + const platform: Platform = { name: "Peril", getFileContents: github ? github.getFileContents.bind(github) : nullFunc, - // Checks Support - platformResultsPreMapper, + // Checks Support should *not* be available if we're not in a GH PR + platformResultsPreMapper: undefined, // deprecated, and not used to my knowledge handlePostingResults: () => diff --git a/source/github/events/github_runner.ts b/source/github/events/github_runner.ts index c60ddd46..be039740 100644 --- a/source/github/events/github_runner.ts +++ b/source/github/events/github_runner.ts @@ -2,12 +2,18 @@ import * as express from "express" import { DangerResults } from "danger/distribution/dsl/DangerResults" import { getTemporaryAccessTokenForInstallation } from "../../api/github" -import { DangerRun, dangerRunForRules, RunFeedback, RunType } from "../../danger/danger_run" +import { + dangerRepresentationForPath, + DangerRun, + dangerRunForRules, + RunFeedback, + RunType, +} from "../../danger/danger_run" import { GitHubInstallation, GithubRepo } from "../../db" import { getDB } from "../../db/getDB" import { GitHubInstallationSettings } from "../../db/GitHubRepoSettings" -import logger from "../../logger" import winston from "../../logger" +import logger from "../../logger" import { runEventRun } from "./handlers/event" import { runPRRun } from "./handlers/pr" import { actionForWebhook } from "./utils/actions" @@ -145,7 +151,8 @@ export function runsForEvent( webhook: any, settings: GitHubRunSettings ) { - const installationRun = dangerRunForRules(event, action, installation.rules, webhook) + const prefix = dangerRepresentationForPath(installation.perilSettingsJSONURL).repoSlug + const installationRun = dangerRunForRules(event, action, installation.rules, webhook, prefix) const repoRun = dangerRunForRules(event, action, settings.repoSpecificRules, webhook) return [...installationRun, ...repoRun].filter(r => !!r) as DangerRun[] } From 71f24a636050b5480a816f23250d94aa3d61cfcc Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sat, 25 Aug 2018 21:27:15 -0400 Subject: [PATCH 05/11] Remove apollo engine, I wasn't using it, and it would occasionally go wrong --- .vscode/settings.json | 1 + CHANGELOG.md | 2 + package.json | 60 ++- yarn.lock | 866 ++++++++++++++++++++++++++---------------- 4 files changed, 560 insertions(+), 369 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index c0558da8..f8d7dff4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -36,6 +36,7 @@ "Sidenote", "dockerhub", "doggos", + "mockingoose", "prioritise" ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index e6472890..f7f855b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,8 @@ } ``` +I'll update thee docs later, once I'm certain all the edge cases are handled. + ## 2018 - August 5 - Adds support for relative file imports inside a Dangerfile - orta diff --git a/package.json b/package.json index bc1de561..83cc4663 100644 --- a/package.json +++ b/package.json @@ -41,28 +41,26 @@ "semver-sort": "0.0.4" }, "dependencies": { - "@types/agenda": "^2.0.1", + "@types/agenda": "^2.0.2", "@types/body-parser": "^1.17.0", "@types/cookie-parser": "^1.4.1", "@types/debug": "^0.0.30", "@types/dotenv": "^4.0.3", - "@types/ejs": "^2.5.1", - "@types/express": "^4.11.1", + "@types/express": "^4.16.0", "@types/get-stdin": "^5.0.1", "@types/glob": "^5.0.35", "@types/jest": "^23.3.1", - "@types/json5": "^0.0.29", - "@types/jsonwebtoken": "^7.2.6", + "@types/json5": "^0.0.30", + "@types/jsonwebtoken": "^7.2.8", "@types/lodash": "^4.14.116", - "@types/mongodb": "^3.0.15", - "@types/mongoose": "^5.0.10", - "@types/node": "^9.6.6", + "@types/mongodb": "^3.1.4", + "@types/mongoose": "^5.2.7", + "@types/node": "^9.1.2", "@types/node-cleanup": "^2.1.0", - "@types/node-fetch": "^1.6.9", + "@types/node-fetch": "^2.1.2", "@types/node-schedule": "^1.2.2", - "@types/winston": "^2.3.9", + "@types/winston": "^2.4.4", "agenda": "^2.0.0", - "apollo-engine": "^1.1.1", "apollo-server-express": "^1.3.6", "async-exit-hook": "^2.0.1", "babel-cli": "7.0.0-alpha.19", @@ -73,7 +71,7 @@ "babel-polyfill": "^6.26.0", "babel-preset-es2015": "7.0.0-alpha.19", "babel-preset-stage-3": "7.0.0-alpha.19", - "body-parser": "^1.18.2", + "body-parser": "^1.18.3", "chalk": "^2.4.1", "cookie": "^0.3.1", "cookie-parser": "^1.4.3", @@ -81,33 +79,32 @@ "danger": "^3.8.6", "danger-plugin-yarn": "^1.3.0", "dotenv": "^5.0.1", - "ejs": "^2.5.9", "express": "^4.16.3", "express-x-hub": "^1.0.4", "get-stdin": "^6.0.0", "github-webhook-event-types": "^1.1.0", "glob": "^7.1.2", "graphql": "^0.13.2", - "graphql-playground-middleware-express": "^1.6.1", + "graphql-playground-middleware-express": "^1.7.3", "graphql-relay-tools": "^0.1.1", "graphql-resolvers": "^0.2.2", - "graphql-tools": "^3.0.1", - "graphql-tools-types": "^1.1.18", - "graphql-yoga": "^1.8.5", + "graphql-tools": "^3.1.1", + "graphql-tools-types": "^1.1.26", + "graphql-yoga": "^1.16.1", "hyper-aws4": "^1.1.3", - "jest": "^23.4.2", + "jest": "^23.5.0", "json2ts": "orta/json2ts#ts-less", - "json5": "^1.0.1", - "jsonwebtoken": "^8.2.1", + "json5": "^2.0.1", + "jsonwebtoken": "^8.3.0", "lodash": "^4.17.10", - "mongoose": "^5.0.16", - "node-fetch": "2.1.2", - "node-mocks-http": "^1.5.8", + "mongoose": "^5.2.9", + "node-fetch": "2.2.0", + "node-mocks-http": "^1.7.0", "node-schedule": "^1.3.0", "override-require": "^1.1.1", - "primus": "^7.2.1", - "ts-jest": "^23.1.2", - "ts-node": "^7.0.0", + "primus": "^7.2.2", + "ts-jest": "^23.1.4", + "ts-node": "^7.0.1", "tslint": "^5.11.0", "typescript": "^3.0.1", "typings": "^2.1.1", @@ -120,14 +117,11 @@ "@types/cookie": "^0.3.1", "@types/require-from-string": "^1.2.0", "husky": "^0.14.0", - "lint-staged": "^7.2.0", + "lint-staged": "^7.2.2", "mockingoose": "^2.10.1", - "prettier": "^1.14.0", - "tslint-config-prettier": "^1.14.0", - "typescript-json-schema": "^0.31.0" - }, - "engines": { - "node": "9" + "prettier": "^1.14.2", + "tslint-config-prettier": "^1.15.0", + "typescript-json-schema": "^0.32.0" }, "jest": { "transform": { diff --git a/yarn.lock b/yarn.lock index 9d400f8f..956bf4fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -51,9 +51,9 @@ dependencies: "@types/node" "*" -"@types/agenda@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/agenda/-/agenda-2.0.1.tgz#78b7b6d82a091e8094a97b730937eb6d00bc4d19" +"@types/agenda@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/agenda/-/agenda-2.0.2.tgz#6f3e18083ff141e7983b86e7f67027fd17f43c1d" dependencies: "@types/events" "*" "@types/mongodb" "*" @@ -111,9 +111,9 @@ "@types/keygrip" "*" "@types/node" "*" -"@types/cors@^2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.3.tgz#eaf6e476da0d36bee6b061a24d57e343ddce86d6" +"@types/cors@^2.8.4": + version "2.8.4" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.4.tgz#50991a759a29c0b89492751008c6af7a7c8267b0" dependencies: "@types/express" "*" @@ -127,10 +127,6 @@ dependencies: "@types/node" "*" -"@types/ejs@^2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-2.5.1.tgz#cd9a5392c00ebba94cb6fe85022c5621e50b4dec" - "@types/events@*": version "1.1.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-1.1.0.tgz#93b1be91f63c184450385272c47b6496fd028e02" @@ -156,6 +152,14 @@ "@types/express-serve-static-core" "*" "@types/serve-static" "*" +"@types/express@^4.16.0": + version "4.16.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19" + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/serve-static" "*" + "@types/get-stdin@^5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@types/get-stdin/-/get-stdin-5.0.1.tgz#46afbcaf09e94fe025afa07ae994ac3168adbdf3" @@ -170,6 +174,10 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/graphql-deduplicator@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/graphql-deduplicator/-/graphql-deduplicator-2.0.0.tgz#9e577b8f3feb3d067b0ca756f4a1fb356d533922" + "@types/graphql@0.12.6": version "0.12.6" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.12.6.tgz#3d619198585fcabe5f4e1adfb5cf5f3388c66c13" @@ -186,13 +194,13 @@ version "23.3.1" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf" -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" +"@types/json5@^0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.30.tgz#44cb52f32a809734ca562e685c6473b5754a7818" -"@types/jsonwebtoken@^7.2.6": - version "7.2.6" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-7.2.6.tgz#8d018c21ca5910b5eb3ebcb385656606a215032f" +"@types/jsonwebtoken@^7.2.8": + version "7.2.8" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-7.2.8.tgz#8d199dab4ddb5bba3234f8311b804d2027af2b3a" dependencies: "@types/node" "*" @@ -248,17 +256,17 @@ "@types/events" "*" "@types/node" "*" -"@types/mongodb@^3.0.15": - version "3.0.15" - resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.0.15.tgz#b9ae8d6dd4d24f6cc83aec23b224d03d58ae131c" +"@types/mongodb@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.1.4.tgz#f0f6dc8d509500c4a8213238066b68f0c8cb25a9" dependencies: "@types/bson" "*" "@types/events" "*" "@types/node" "*" -"@types/mongoose@^5.0.10": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@types/mongoose/-/mongoose-5.0.10.tgz#fb370719379ed1a96cae6000e71673e3dd1f4ffb" +"@types/mongoose@^5.2.7": + version "5.2.7" + resolved "https://registry.yarnpkg.com/@types/mongoose/-/mongoose-5.2.7.tgz#05c9ae08b41e5d18afa9e686af26efc89a95a18f" dependencies: "@types/events" "*" "@types/mongodb" "*" @@ -268,9 +276,9 @@ version "2.1.0" resolved "https://registry.yarnpkg.com/@types/node-cleanup/-/node-cleanup-2.1.0.tgz#e9aabbe167907b0fafbb6155305824040c4d25c1" -"@types/node-fetch@^1.6.9": - version "1.6.9" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-1.6.9.tgz#a750fb0f4cf2960bf72b462e4c86908022dd69c5" +"@types/node-fetch@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.1.2.tgz#8c5da14d70321e4c4ecd5db668e3f93cf6c7399f" dependencies: "@types/node" "*" @@ -285,13 +293,9 @@ version "7.0.11" resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.11.tgz#55680189f2335f080f0aeb57871f0b9823646d89" -"@types/node@^9.4.6": - version "9.6.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.15.tgz#8a5a313ea0a43a95277235841be5d3f5fb3dfeda" - -"@types/node@^9.6.6": - version "9.6.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.6.tgz#439b91f9caf3983cad2eef1e11f6bedcbf9431d2" +"@types/node@^10.9.2": + version "10.9.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.2.tgz#f0ab8dced5cd6c56b26765e1c0d9e4fdcc9f2a00" "@types/require-from-string@^1.2.0": version "1.2.0" @@ -318,11 +322,11 @@ dependencies: "@types/node" "*" -"@types/winston@^2.3.9": - version "2.3.9" - resolved "https://registry.yarnpkg.com/@types/winston/-/winston-2.3.9.tgz#1ff9f1bb57952fe3d88c1b21c4899ede316a35bc" +"@types/winston@^2.4.4": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/winston/-/winston-2.4.4.tgz#48cc744b7b42fad74b9a2e8490e0112bd9a3d08d" dependencies: - "@types/node" "*" + winston "*" "@types/zen-observable@^0.5.3": version "0.5.3" @@ -488,21 +492,21 @@ apollo-cache-control@^0.1.0: dependencies: graphql-extensions "^0.0.x" -apollo-engine-binary-darwin@0.2018.4-86-gf35bdc892: - version "0.2018.4-86-gf35bdc892" - resolved "https://registry.yarnpkg.com/apollo-engine-binary-darwin/-/apollo-engine-binary-darwin-0.2018.4-86-gf35bdc892.tgz#f1e4ae4b72afdb298039d0230e38dab8774c8890" +apollo-engine-binary-darwin@0.2018.6-20-gc0e4bb519: + version "0.2018.6-20-gc0e4bb519" + resolved "https://registry.yarnpkg.com/apollo-engine-binary-darwin/-/apollo-engine-binary-darwin-0.2018.6-20-gc0e4bb519.tgz#1458cf9af9adff1248730b9e7ea3408a778ff20e" -apollo-engine-binary-linux@0.2018.4-86-gf35bdc892: - version "0.2018.4-86-gf35bdc892" - resolved "https://registry.yarnpkg.com/apollo-engine-binary-linux/-/apollo-engine-binary-linux-0.2018.4-86-gf35bdc892.tgz#bc63eee10cb5191d7eb5e61f01d50e28983c89d7" +apollo-engine-binary-linux@0.2018.6-20-gc0e4bb519: + version "0.2018.6-20-gc0e4bb519" + resolved "https://registry.yarnpkg.com/apollo-engine-binary-linux/-/apollo-engine-binary-linux-0.2018.6-20-gc0e4bb519.tgz#0f61d7e7888a58d8723516d1dc44d4c8a6688df2" -apollo-engine-binary-windows@0.2018.4-86-gf35bdc892: - version "0.2018.4-86-gf35bdc892" - resolved "https://registry.yarnpkg.com/apollo-engine-binary-windows/-/apollo-engine-binary-windows-0.2018.4-86-gf35bdc892.tgz#1e02f8ceb9f75ab72551f584a4730260907ef199" +apollo-engine-binary-windows@0.2018.6-20-gc0e4bb519: + version "0.2018.6-20-gc0e4bb519" + resolved "https://registry.yarnpkg.com/apollo-engine-binary-windows/-/apollo-engine-binary-windows-0.2018.6-20-gc0e4bb519.tgz#288c718a730f2a1f8bb0aae9fff3e6da23c1f00f" -apollo-engine@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/apollo-engine/-/apollo-engine-1.1.1.tgz#5e0ea8f1d6d23b5b931cee5404c472893045b201" +apollo-engine@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/apollo-engine/-/apollo-engine-1.1.2.tgz#ef8465fe5234b3bfe034b7e96d37bc441b72a9cb" dependencies: "@types/connect" "^3.4.31" "@types/express" "^4.0.36" @@ -511,19 +515,11 @@ apollo-engine@^1.1.1: "@types/koa-router" "^7.0.27" "@types/restify" "^5.0.7" optionalDependencies: - apollo-engine-binary-darwin "0.2018.4-86-gf35bdc892" - apollo-engine-binary-linux "0.2018.4-86-gf35bdc892" - apollo-engine-binary-windows "0.2018.4-86-gf35bdc892" - -apollo-link@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.1.tgz#c120b16059f9bd93401b9f72b94d2f80f3f305d2" - dependencies: - "@types/node" "^9.4.6" - apollo-utilities "^1.0.0" - zen-observable-ts "^0.8.6" + apollo-engine-binary-darwin "0.2018.6-20-gc0e4bb519" + apollo-engine-binary-linux "0.2018.6-20-gc0e4bb519" + apollo-engine-binary-windows "0.2018.6-20-gc0e4bb519" -apollo-link@^1.2.1: +apollo-link@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.2.tgz#54c84199b18ac1af8d63553a68ca389c05217a03" dependencies: @@ -531,14 +527,6 @@ apollo-link@^1.2.1: apollo-utilities "^1.0.0" zen-observable-ts "^0.8.9" -apollo-server-core@^1.3.4, apollo-server-core@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.3.5.tgz#36da3a6ee52b92fc4bb5710d44ced6b8fafebe2d" - dependencies: - apollo-cache-control "^0.1.0" - apollo-tracing "^0.1.0" - graphql-extensions "^0.0.x" - apollo-server-core@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.3.6.tgz#08636243c2de56fa8c267d68dd602cb1fbd323e3" @@ -547,13 +535,6 @@ apollo-server-core@^1.3.6: apollo-tracing "^0.1.0" graphql-extensions "^0.0.x" -apollo-server-express@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-1.3.5.tgz#7cd010f7921356cd9b832032828aa0add36cb7ed" - dependencies: - apollo-server-core "^1.3.5" - apollo-server-module-graphiql "^1.3.4" - apollo-server-express@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-1.3.6.tgz#2120b05021a87def44fafd846e8a0e2a32852db7" @@ -561,11 +542,11 @@ apollo-server-express@^1.3.6: apollo-server-core "^1.3.6" apollo-server-module-graphiql "^1.3.4" -apollo-server-lambda@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/apollo-server-lambda/-/apollo-server-lambda-1.3.4.tgz#fc168891e0034e2884f259b573f6ed208abc2fc2" +apollo-server-lambda@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/apollo-server-lambda/-/apollo-server-lambda-1.3.6.tgz#bdaac37f143c6798e40b8ae75580ba673cea260e" dependencies: - apollo-server-core "^1.3.4" + apollo-server-core "^1.3.6" apollo-server-module-graphiql "^1.3.4" apollo-server-module-graphiql@^1.3.4: @@ -590,10 +571,6 @@ apollo-utilities@^1.0.0, apollo-utilities@^1.0.1: version "1.0.11" resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.11.tgz#cd36bfa6e5c04eea2caf0c204a0f38a0ad550802" -app-root-path@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" - append-transform@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" @@ -711,11 +688,11 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" -async@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" +async@2.6.1, async@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" dependencies: - lodash "^4.14.0" + lodash "^4.17.10" async@^1.4.0: version "1.5.2" @@ -1536,13 +1513,17 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@3.5.0, bluebird@^3.1.1: +bluebird@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + +bluebird@^3.1.1: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" -body-parser-graphql@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/body-parser-graphql/-/body-parser-graphql-1.0.0.tgz#997de1792ed222cbc4845d404f4549eb88ec6d37" +body-parser-graphql@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/body-parser-graphql/-/body-parser-graphql-1.1.0.tgz#80a80353c7cb623562fd375750dfe018d75f0f7c" dependencies: body-parser "^1.18.2" @@ -1561,6 +1542,21 @@ body-parser@1.18.2, body-parser@^1.18.2: raw-body "2.3.2" type-is "~1.6.15" +body-parser@^1.18.3: + version "1.18.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "~1.6.3" + iconv-lite "0.4.23" + on-finished "~2.3.0" + qs "6.5.2" + raw-body "2.3.3" + type-is "~1.6.16" + boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -1650,10 +1646,18 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" +bson@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.0.tgz#bee57d1fb6a87713471af4e32bcae36de814b5b0" + bson@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/bson/-/bson-1.0.4.tgz#93c10d39eaa5b58415cbc4052f3e53e562b0b72c" +bson@~1.0.5: + version "1.0.9" + resolved "https://registry.yarnpkg.com/bson/-/bson-1.0.9.tgz#12319f8323b1254739b7c6bef8d3e89ae05a2f57" + btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" @@ -1944,10 +1948,20 @@ color-convert@^1.9.0: dependencies: color-name "^1.1.1" +color-convert@^1.9.1: + version "1.9.2" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" + dependencies: + color-name "1.1.1" + color-logger@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/color-logger/-/color-logger-0.0.3.tgz#d9b22dd1d973e166b18bf313f9f481bba4df2018" +color-name@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" + color-name@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" @@ -1962,6 +1976,13 @@ color-string@^0.3.0: dependencies: color-name "^1.0.0" +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + color@0.8.x: version "0.8.0" resolved "https://registry.yarnpkg.com/color/-/color-0.8.0.tgz#890c07c3fd4e649537638911cf691e5458b6fca5" @@ -1969,14 +1990,29 @@ color@0.8.x: color-convert "^0.5.0" color-string "^0.3.0" +color@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + colornames@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/colornames/-/colornames-0.0.2.tgz#d811fd6c84f59029499a8ac4436202935b92be31" +colornames@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/colornames/-/colornames-1.1.1.tgz#f8889030685c7c4ff9e2a559f5077eb76a816f96" + colors@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" +colors@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.2.tgz#2df8ff573dfbf255af562f8ce7181d6b971a359b" + colorspace@1.0.x: version "1.0.1" resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.0.1.tgz#c99c796ed31128b9876a52e1ee5ee03a4a719749" @@ -1984,6 +2020,13 @@ colorspace@1.0.x: color "0.8.x" text-hex "0.0.x" +colorspace@1.1.x: + version "1.1.1" + resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.1.tgz#9ac2491e1bc6f8fb690e2176814f8d091636d972" + dependencies: + color "3.0.x" + text-hex "1.0.x" + columnify@^1.5.2: version "1.5.4" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" @@ -2420,6 +2463,14 @@ detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" +diagnostics@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.1.tgz#cab6ac33df70c9d9a727490ae43ac995a769b22a" + dependencies: + colorspace "1.1.x" + enabled "1.0.x" + kuler "1.0.x" + diagnostics@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.0.tgz#e1090900b49523e8527be20f081275205f2ae36a" @@ -2498,9 +2549,9 @@ dotenv@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" -ducky@2.6.6: - version "2.6.6" - resolved "https://registry.yarnpkg.com/ducky/-/ducky-2.6.6.tgz#ef05e4d52deb6073986a8cfc7c370e4847a7f54f" +ducky@2.6.11: + version "2.6.11" + resolved "https://registry.yarnpkg.com/ducky/-/ducky-2.6.11.tgz#b1ed769398a4b563d3dd55c0b28ab8b93bcfe3de" duplexer3@^0.1.4: version "0.1.4" @@ -2512,6 +2563,12 @@ ecc-jsbn@~0.1.1: dependencies: jsbn "~0.1.0" +ecdsa-sig-formatter@1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz#1c595000f04a8897dfb85000892a0f4c33af86c3" + dependencies: + safe-buffer "^5.0.1" + ecdsa-sig-formatter@1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz#4bc926274ec3b5abb5016e7e1d60921ac262b2a1" @@ -2523,10 +2580,6 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -ejs@^2.5.9: - version "2.5.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.9.tgz#7ba254582a560d267437109a68354112475b0ce5" - elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -2681,11 +2734,7 @@ etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" -eventemitter3@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba" - -eventemitter3@^3.0.0, eventemitter3@~3.1.0: +eventemitter3@^3.0.0, eventemitter3@^3.1.0, eventemitter3@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" @@ -2761,14 +2810,14 @@ expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-23.4.0.tgz#6da4ecc99c1471253e7288338983ad1ebadb60c3" +expect@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-23.5.0.tgz#18999a0eef8f8acf99023fde766d9c323c2562ed" dependencies: ansi-styles "^3.2.0" - jest-diff "^23.2.0" + jest-diff "^23.5.0" jest-get-type "^22.1.0" - jest-matcher-utils "^23.2.0" + jest-matcher-utils "^23.5.0" jest-message-util "^23.4.0" jest-regex-util "^23.3.0" @@ -2878,12 +2927,20 @@ fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" +fast-safe-stringify@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz#04b26106cc56681f51a044cfc0d76cf0008ac2c2" + fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" dependencies: bser "^2.0.0" +fecha@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-2.3.3.tgz#948e74157df1a32fd1b12c3a3c3cdcb6ec9d96cd" + figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -3252,6 +3309,10 @@ graphql-config@2.0.0: lodash "^4.17.4" minimatch "^3.0.4" +graphql-deduplicator@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/graphql-deduplicator/-/graphql-deduplicator-2.0.1.tgz#20c6b39e3a6f096b46dfc8491432818739c0ee37" + graphql-extensions@^0.0.x: version "0.0.5" resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.0.5.tgz#63bc4a3fd31aab12bfadf783cbc038a9a6937cf0" @@ -3265,27 +3326,45 @@ graphql-import@^0.4.0: dependencies: lodash "^4.17.4" -graphql-import@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.5.0.tgz#5f678a6d4636d02a829308884aa1f2fa2197f06d" +graphql-import@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.6.0.tgz#c00cb8a269ceea263e062922c8c81a2272d1ffcb" dependencies: lodash "^4.17.4" +graphql-middleware@1.6.6: + version "1.6.6" + resolved "https://registry.yarnpkg.com/graphql-middleware/-/graphql-middleware-1.6.6.tgz#f40f4e836ced479df718dbc1869ea4cd3b64027b" + dependencies: + graphql-tools "^3.0.5" + graphql-playground-html@1.5.5: version "1.5.5" resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.5.5.tgz#e2aca543eb66b435ead495b45244b2604d6b2d48" dependencies: graphql-config "2.0.0" -graphql-playground-middleware-express@1.6.1, graphql-playground-middleware-express@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.6.1.tgz#d6287d124a1c55845a52a7d727c371da99cdf0b0" +graphql-playground-html@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.6.0.tgz#6ec4d54325ab2e5352506fdb89eb37c3fc718bf8" dependencies: - graphql-playground-html "1.5.5" + graphql-config "2.0.0" -graphql-playground-middleware-lambda@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/graphql-playground-middleware-lambda/-/graphql-playground-middleware-lambda-1.5.0.tgz#41a06faf185103660a324257c5293e9f50839fce" +graphql-playground-middleware-express@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.2.tgz#5f7bf3683494fe17893d1b54bbecee5e222c2e78" + dependencies: + graphql-playground-html "1.6.0" + +graphql-playground-middleware-express@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.3.tgz#3e8c0cb678270e290b4d4f163245b10d7c0a2a22" + dependencies: + graphql-playground-html "1.6.0" + +graphql-playground-middleware-lambda@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/graphql-playground-middleware-lambda/-/graphql-playground-middleware-lambda-1.6.1.tgz#e0f1944558136dd3975570c92c702d6009cc779c" dependencies: graphql-playground-html "1.5.5" @@ -3318,57 +3397,50 @@ graphql-subscriptions@^0.5.8: dependencies: iterall "^1.2.1" -graphql-tools-types@^1.1.18: - version "1.1.18" - resolved "https://registry.yarnpkg.com/graphql-tools-types/-/graphql-tools-types-1.1.18.tgz#3f14b6125aa76eeee700481a7fea283469c66f1c" +graphql-tools-types@^1.1.26: + version "1.1.26" + resolved "https://registry.yarnpkg.com/graphql-tools-types/-/graphql-tools-types-1.1.26.tgz#860d50c101eb1e0f096f0350fc1ce9d0517849fe" dependencies: babel-runtime "6.26.0" - ducky "2.6.6" + ducky "2.6.11" graphql "0.13.2" - pure-uuid "1.5.1" + pure-uuid "1.5.3" -graphql-tools@^2.23.1: - version "2.24.0" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-2.24.0.tgz#bbacaad03924012a0edb8735a5e65df5d5563675" - dependencies: - apollo-link "^1.2.1" - apollo-utilities "^1.0.1" - deprecated-decorator "^0.1.6" - iterall "^1.1.3" - uuid "^3.1.0" - -graphql-tools@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-3.0.1.tgz#456c27061fb2f1040f6bb7bf8a68459651090462" +graphql-tools@^3.0.0, graphql-tools@^3.0.5, graphql-tools@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-3.1.1.tgz#d593358f01e7c8b1671a17b70ddb034dea9dbc50" dependencies: - apollo-link "1.2.1" + apollo-link "^1.2.2" apollo-utilities "^1.0.1" deprecated-decorator "^0.1.6" iterall "^1.1.3" uuid "^3.1.0" -graphql-yoga@^1.8.5: - version "1.8.5" - resolved "https://registry.yarnpkg.com/graphql-yoga/-/graphql-yoga-1.8.5.tgz#e06c77fbfd6a186afeaf21baf9617bdf8636d502" +graphql-yoga@^1.16.1: + version "1.16.1" + resolved "https://registry.yarnpkg.com/graphql-yoga/-/graphql-yoga-1.16.1.tgz#9ebb3c8c17c113e80fe2d37da804a6610ce744d9" dependencies: - "@types/cors" "^2.8.3" + "@types/cors" "^2.8.4" "@types/express" "^4.11.1" "@types/graphql" "^0.13.0" + "@types/graphql-deduplicator" "^2.0.0" "@types/zen-observable" "^0.5.3" - apollo-server-express "^1.3.4" - apollo-server-lambda "1.3.4" + apollo-server-express "^1.3.6" + apollo-server-lambda "1.3.6" apollo-upload-server "^5.0.0" aws-lambda "^0.1.2" - body-parser-graphql "1.0.0" + body-parser-graphql "1.1.0" cors "^2.8.4" express "^4.16.3" graphql "^0.11.0 || ^0.12.0 || ^0.13.0" - graphql-import "^0.5.0" - graphql-playground-middleware-express "1.6.1" - graphql-playground-middleware-lambda "1.5.0" + graphql-deduplicator "^2.0.1" + graphql-import "^0.6.0" + graphql-middleware "1.6.6" + graphql-playground-middleware-express "1.7.2" + graphql-playground-middleware-lambda "1.6.1" graphql-subscriptions "^0.5.8" - graphql-tools "^2.23.1" - subscriptions-transport-ws "^0.9.7" + graphql-tools "^3.0.0" + subscriptions-transport-ws "^0.9.8" graphql@0.13.2, "graphql@^0.11.0 || ^0.12.0 || ^0.13.0", graphql@^0.13.2: version "0.13.2" @@ -3550,7 +3622,7 @@ http-errors@1.6.2: setprototypeof "1.0.3" statuses ">= 1.3.1 < 2" -http-errors@~1.6.2: +http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" dependencies: @@ -3654,6 +3726,12 @@ iconv-lite@0.4.19, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" +iconv-lite@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + ieee754@1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -3712,7 +3790,7 @@ invariant@^2.2.0: dependencies: loose-envify "^1.0.0" -invariant@^2.2.2: +invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" dependencies: @@ -3749,6 +3827,10 @@ is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -4110,9 +4192,9 @@ jest-changed-files@^23.4.2: dependencies: throat "^4.0.0" -jest-cli@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.4.2.tgz#49d56bcfe6cf01871bfcc4a0494e08edaf2b61d0" +jest-cli@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.5.0.tgz#d316b8e34a38a610a1efc4f0403d8ef8a55e4492" dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -4126,18 +4208,18 @@ jest-cli@^23.4.2: istanbul-lib-instrument "^1.10.1" istanbul-lib-source-maps "^1.2.4" jest-changed-files "^23.4.2" - jest-config "^23.4.2" + jest-config "^23.5.0" jest-environment-jsdom "^23.4.0" jest-get-type "^22.1.0" - jest-haste-map "^23.4.1" + jest-haste-map "^23.5.0" jest-message-util "^23.4.0" jest-regex-util "^23.3.0" - jest-resolve-dependencies "^23.4.2" - jest-runner "^23.4.2" - jest-runtime "^23.4.2" - jest-snapshot "^23.4.2" + jest-resolve-dependencies "^23.5.0" + jest-runner "^23.5.0" + jest-runtime "^23.5.0" + jest-snapshot "^23.5.0" jest-util "^23.4.0" - jest-validate "^23.4.0" + jest-validate "^23.5.0" jest-watcher "^23.4.0" jest-worker "^23.2.0" micromatch "^2.3.11" @@ -4151,9 +4233,9 @@ jest-cli@^23.4.2: which "^1.2.12" yargs "^11.0.0" -jest-config@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.4.2.tgz#62a105e14b8266458f2bf4d32403b2c44418fa77" +jest-config@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.5.0.tgz#3770fba03f7507ee15f3b8867c742e48f31a9773" dependencies: babel-core "^6.0.0" babel-jest "^23.4.2" @@ -4162,21 +4244,22 @@ jest-config@^23.4.2: jest-environment-jsdom "^23.4.0" jest-environment-node "^23.4.0" jest-get-type "^22.1.0" - jest-jasmine2 "^23.4.2" + jest-jasmine2 "^23.5.0" jest-regex-util "^23.3.0" - jest-resolve "^23.4.1" + jest-resolve "^23.5.0" jest-util "^23.4.0" - jest-validate "^23.4.0" - pretty-format "^23.2.0" + jest-validate "^23.5.0" + micromatch "^2.3.11" + pretty-format "^23.5.0" -jest-diff@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.2.0.tgz#9f2cf4b51e12c791550200abc16b47130af1062a" +jest-diff@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.5.0.tgz#250651a433dd0050290a07642946cc9baaf06fba" dependencies: chalk "^2.0.1" diff "^3.2.0" jest-get-type "^22.1.0" - pretty-format "^23.2.0" + pretty-format "^23.5.0" jest-docblock@^23.2.0: version "23.2.0" @@ -4184,12 +4267,12 @@ jest-docblock@^23.2.0: dependencies: detect-newline "^2.1.0" -jest-each@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.4.0.tgz#2fa9edd89daa1a4edc9ff9bf6062a36b71345143" +jest-each@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.5.0.tgz#77f7e2afe6132a80954b920006e78239862b10ba" dependencies: chalk "^2.0.1" - pretty-format "^23.2.0" + pretty-format "^23.5.0" jest-environment-jsdom@^23.4.0: version "23.4.0" @@ -4210,48 +4293,49 @@ jest-get-type@^22.1.0: version "22.1.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.1.0.tgz#4e90af298ed6181edc85d2da500dbd2753e0d5a9" -jest-haste-map@^23.4.1: - version "23.4.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.4.1.tgz#43a174ba7ac079ae1dd74eaf5a5fe78989474dd2" +jest-haste-map@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.5.0.tgz#d4ca618188bd38caa6cb20349ce6610e194a8065" dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" + invariant "^2.2.4" jest-docblock "^23.2.0" jest-serializer "^23.0.1" jest-worker "^23.2.0" micromatch "^2.3.11" sane "^2.0.0" -jest-jasmine2@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.4.2.tgz#2fbf52f93e43ed4c5e7326a90bb1d785be4321ac" +jest-jasmine2@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.5.0.tgz#05fe7f1788e650eeb5a03929e6461ea2e9f3db53" dependencies: babel-traverse "^6.0.0" chalk "^2.0.1" co "^4.6.0" - expect "^23.4.0" + expect "^23.5.0" is-generator-fn "^1.0.0" - jest-diff "^23.2.0" - jest-each "^23.4.0" - jest-matcher-utils "^23.2.0" + jest-diff "^23.5.0" + jest-each "^23.5.0" + jest-matcher-utils "^23.5.0" jest-message-util "^23.4.0" - jest-snapshot "^23.4.2" + jest-snapshot "^23.5.0" jest-util "^23.4.0" - pretty-format "^23.2.0" + pretty-format "^23.5.0" -jest-leak-detector@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.2.0.tgz#c289d961dc638f14357d4ef96e0431ecc1aa377d" +jest-leak-detector@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.5.0.tgz#14ac2a785bd625160a2ea968fd5d98b7dcea3e64" dependencies: - pretty-format "^23.2.0" + pretty-format "^23.5.0" -jest-matcher-utils@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.2.0.tgz#4d4981f23213e939e3cedf23dc34c747b5ae1913" +jest-matcher-utils@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.5.0.tgz#0e2ea67744cab78c9ab15011c4d888bdd3e49e2a" dependencies: chalk "^2.0.1" jest-get-type "^22.1.0" - pretty-format "^23.2.0" + pretty-format "^23.5.0" jest-message-util@^23.4.0: version "23.4.0" @@ -4271,42 +4355,42 @@ jest-regex-util@^23.3.0: version "23.3.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5" -jest-resolve-dependencies@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.4.2.tgz#0675ba876a5b819deffc449ad72e9985c2592048" +jest-resolve-dependencies@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.5.0.tgz#10c4d135beb9d2256de1fedc7094916c3ad74af7" dependencies: jest-regex-util "^23.3.0" - jest-snapshot "^23.4.2" + jest-snapshot "^23.5.0" -jest-resolve@^23.4.1: - version "23.4.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.4.1.tgz#7f3c17104732a2c0c940a01256025ed745814982" +jest-resolve@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.5.0.tgz#3b8e7f67e84598f0caf63d1530bd8534a189d0e6" dependencies: browser-resolve "^1.11.3" chalk "^2.0.1" realpath-native "^1.0.0" -jest-runner@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.4.2.tgz#579a88524ac52c846075b0129a21c7b483e75a7e" +jest-runner@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.5.0.tgz#570f7a044da91648b5bb9b6baacdd511076c71d7" dependencies: exit "^0.1.2" graceful-fs "^4.1.11" - jest-config "^23.4.2" + jest-config "^23.5.0" jest-docblock "^23.2.0" - jest-haste-map "^23.4.1" - jest-jasmine2 "^23.4.2" - jest-leak-detector "^23.2.0" + jest-haste-map "^23.5.0" + jest-jasmine2 "^23.5.0" + jest-leak-detector "^23.5.0" jest-message-util "^23.4.0" - jest-runtime "^23.4.2" + jest-runtime "^23.5.0" jest-util "^23.4.0" jest-worker "^23.2.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.4.2.tgz#00c3bb8385253d401a394a27d1112d3615e5a65c" +jest-runtime@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.5.0.tgz#eb503525a196dc32f2f9974e3482d26bdf7b63ce" dependencies: babel-core "^6.0.0" babel-plugin-istanbul "^4.1.6" @@ -4315,14 +4399,14 @@ jest-runtime@^23.4.2: exit "^0.1.2" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.11" - jest-config "^23.4.2" - jest-haste-map "^23.4.1" + jest-config "^23.5.0" + jest-haste-map "^23.5.0" jest-message-util "^23.4.0" jest-regex-util "^23.3.0" - jest-resolve "^23.4.1" - jest-snapshot "^23.4.2" + jest-resolve "^23.5.0" + jest-snapshot "^23.5.0" jest-util "^23.4.0" - jest-validate "^23.4.0" + jest-validate "^23.5.0" micromatch "^2.3.11" realpath-native "^1.0.0" slash "^1.0.0" @@ -4334,19 +4418,19 @@ jest-serializer@^23.0.1: version "23.0.1" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" -jest-snapshot@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.4.2.tgz#8fa6130feb5a527dac73e5fa80d86f29f7c42ab6" +jest-snapshot@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.5.0.tgz#cc368ebd8513e1175e2a7277f37a801b7358ae79" dependencies: babel-types "^6.0.0" chalk "^2.0.1" - jest-diff "^23.2.0" - jest-matcher-utils "^23.2.0" + jest-diff "^23.5.0" + jest-matcher-utils "^23.5.0" jest-message-util "^23.4.0" - jest-resolve "^23.4.1" + jest-resolve "^23.5.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^23.2.0" + pretty-format "^23.5.0" semver "^5.5.0" jest-util@^23.4.0: @@ -4362,23 +4446,14 @@ jest-util@^23.4.0: slash "^1.0.0" source-map "^0.6.0" -jest-validate@^23.0.0: - version "23.0.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.0.0.tgz#f88bc897b6cc376979aff0262d1025df1302d520" - dependencies: - chalk "^2.0.1" - jest-get-type "^22.1.0" - leven "^2.1.0" - pretty-format "^23.0.0" - -jest-validate@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.4.0.tgz#d96eede01ef03ac909c009e9c8e455197d48c201" +jest-validate@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.5.0.tgz#f5df8f761cf43155e1b2e21d6e9de8a2852d0231" dependencies: chalk "^2.0.1" jest-get-type "^22.1.0" leven "^2.1.0" - pretty-format "^23.2.0" + pretty-format "^23.5.0" jest-watcher@^23.4.0: version "23.4.0" @@ -4394,12 +4469,12 @@ jest-worker@^23.2.0: dependencies: merge-stream "^1.0.1" -jest@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-23.4.2.tgz#1fae3ed832192143070ae85156b25cea891a1260" +jest@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-23.5.0.tgz#80de353d156ea5ea4a7332f7962ac79135fbc62e" dependencies: import-local "^1.0.0" - jest-cli "^23.4.2" + jest-cli "^23.5.0" jmespath@0.15.0: version "0.15.0" @@ -4545,12 +4620,18 @@ json5@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" -json5@^1.0.0, json5@^1.0.1: +json5@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" dependencies: minimist "^1.2.0" +json5@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.0.1.tgz#3d6d0d1066039eb50984e66a7840e4f4b7a2c660" + dependencies: + minimist "^1.2.0" + jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -4586,6 +4667,20 @@ jsonwebtoken@^8.2.1: ms "^2.1.1" xtend "^4.0.1" +jsonwebtoken@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz#056c90eee9a65ed6e6c72ddb0a1d325109aaf643" + dependencies: + jws "^3.1.5" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + jspm-config@^0.3.0: version "0.3.4" resolved "https://registry.yarnpkg.com/jspm-config/-/jspm-config-0.3.4.tgz#44c26902e4ae8ece2366cedc9ff16b10a5f391c6" @@ -4618,6 +4713,14 @@ jwa@^1.1.4: ecdsa-sig-formatter "1.0.9" safe-buffer "^5.0.1" +jwa@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.1.6.tgz#87240e76c9808dbde18783cf2264ef4929ee50e6" + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.10" + safe-buffer "^5.0.1" + jws@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.4.tgz#f9e8b9338e8a847277d6444b1464f61880e050a2" @@ -4626,9 +4729,16 @@ jws@^3.1.4: jwa "^1.1.4" safe-buffer "^5.0.1" -kareem@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.0.6.tgz#011ed59fd718bb147c63141a799fc888cd5a211b" +jws@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.5.tgz#80d12d05b293d1e841e7cb8b4e69e561adcf834f" + dependencies: + jwa "^1.1.5" + safe-buffer "^5.0.1" + +kareem@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.2.1.tgz#9950809415aa3cde62ab43b4f7b919d99816e015" kind-of@^3.0.2: version "3.1.0" @@ -4672,6 +4782,12 @@ kuler@0.0.x: dependencies: colornames "0.0.2" +kuler@1.0.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/kuler/-/kuler-1.0.0.tgz#904ad31c373b781695854d32be33818bf1d60250" + dependencies: + colornames "^1.1.1" + latest-version@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" @@ -4709,11 +4825,10 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lint-staged@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-7.2.0.tgz#bdf4bb7f2f37fe689acfaec9999db288a5b26888" +lint-staged@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-7.2.2.tgz#0983d55d497f19f36d11ff2c8242b2f56cc2dd05" dependencies: - app-root-path "^2.0.1" chalk "^2.3.1" commander "^2.14.1" cosmiconfig "^5.0.2" @@ -4723,7 +4838,7 @@ lint-staged@^7.2.0: find-parent-dir "^0.3.0" is-glob "^4.0.0" is-windows "^1.0.2" - jest-validate "^23.0.0" + jest-validate "^23.5.0" listr "^0.14.1" lodash "^4.17.5" log-symbols "^2.2.0" @@ -4816,7 +4931,7 @@ lockfile@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.3.tgz#2638fc39a0331e9cac1a04b71799931c9c50df79" -lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: +lodash.assign@^4.0.3, lodash.assign@^4.0.6: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -4947,6 +5062,16 @@ log-update@^1.0.2: ansi-escapes "^1.0.0" cli-cursor "^1.0.2" +logform@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/logform/-/logform-1.9.1.tgz#58b29d7b11c332456d7a217e17b48a13ad69d60a" + dependencies: + colors "^1.2.1" + fast-safe-stringify "^2.0.4" + fecha "^2.3.3" + ms "^2.1.1" + triple-beam "^1.2.0" + long-timeout@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/long-timeout/-/long-timeout-0.1.1.tgz#9721d788b47e0bcb5a24c2e2bee1a0da55dab514" @@ -5171,13 +5296,6 @@ moment-timezone@^0.5.x, moment-timezone@~0.5.0: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" -mongodb-core@3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-3.0.7.tgz#a9941f14883a75768d554cef5fd67756a9cc0f25" - dependencies: - bson "~1.0.4" - require_optional "^1.0.1" - mongodb-core@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-3.1.0.tgz#af91f36fd560ed785f4e61e694432df4d3698aad" @@ -5187,11 +5305,20 @@ mongodb-core@3.1.0: optionalDependencies: saslprep "^1.0.0" -mongodb@3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.0.7.tgz#cfcbaee992d78dabca67177f8f9db9cf13ac3a44" +mongodb-core@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-3.1.2.tgz#c85055a2691ac3661951e557a0d6482796ad5c42" + dependencies: + bson "^1.1.0" + require_optional "^1.0.1" + optionalDependencies: + saslprep "^1.0.0" + +mongodb@3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.1.3.tgz#7523d438d190e80a757c5947dbc226768cb7b1d5" dependencies: - mongodb-core "3.0.7" + mongodb-core "3.1.2" mongodb@~3.1: version "3.1.1" @@ -5203,34 +5330,36 @@ mongoose-legacy-pluralize@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4" -mongoose@^5.0.16: - version "5.0.16" - resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.0.16.tgz#a405ff0a6583442d9c55fead8ea4fdbdc0b4f5ba" +mongoose@^5.2.9: + version "5.2.9" + resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.2.9.tgz#1b4a01de776504193ecdeda87c0c7d1962c2d632" dependencies: - async "2.1.4" - bson "~1.0.4" - kareem "2.0.6" + async "2.6.1" + bson "~1.0.5" + kareem "2.2.1" lodash.get "4.4.2" - mongodb "3.0.7" + mongodb "3.1.3" + mongodb-core "3.1.2" mongoose-legacy-pluralize "1.0.2" mpath "0.4.1" - mquery "3.0.0" + mquery "3.1.2" ms "2.0.0" regexp-clone "0.0.1" + safe-buffer "5.1.2" sliced "1.0.1" mpath@0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.4.1.tgz#ed10388430380bf7bbb5be1391e5d6969cb08e89" -mquery@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.0.0.tgz#e5f387dbabc0b9b69859e550e810faabe0ceabb0" +mquery@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.1.2.tgz#46c2ea6d7a08c9b9e0716022fb2990708ddba9ff" dependencies: - bluebird "3.5.0" - debug "2.6.9" + bluebird "3.5.1" + debug "3.1.0" regexp-clone "0.0.1" - sliced "0.0.5" + sliced "1.0.1" ms@0.7.2: version "0.7.2" @@ -5293,9 +5422,9 @@ node-fetch@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.0.0.tgz#982bba43ecd4f2922a29cc186a6bbb0bb73fcba6" -node-fetch@2.1.2, node-fetch@^2.1.1, node-fetch@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" +node-fetch@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.2.0.tgz#4ee79bde909262f9775f731e3656d0db55ced5b5" node-fetch@^1.7.1: version "1.7.3" @@ -5304,13 +5433,17 @@ node-fetch@^1.7.1: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.1.1, node-fetch@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" -node-mocks-http@^1.5.8: - version "1.5.8" - resolved "https://registry.yarnpkg.com/node-mocks-http/-/node-mocks-http-1.5.8.tgz#cbcc6dc8278861f96522c51ae858cf62806e2f80" +node-mocks-http@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/node-mocks-http/-/node-mocks-http-1.7.0.tgz#d252191d7adc88dd972b731a2ed781d95e72d6cb" dependencies: accepts "^1.3.3" depd "^1.1.0" @@ -5522,6 +5655,10 @@ once@^1.3.0, once@^1.3.3, once@^1.4.0: dependencies: wrappy "1" +one-time@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz#f8cdf77884826fe4dff93e3a9cc37b1e4480742e" + onetime@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" @@ -5856,27 +5993,20 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.0.tgz#847c235522035fd988100f1f43cf20a7d24f9372" +prettier@^1.14.2: + version "1.14.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.2.tgz#0ac1c6e1a90baa22a62925f41963c841983282f9" -pretty-format@^23.0.0: - version "23.0.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.0.0.tgz#b66dc584a0907b1969783c4c20e4d1180b18ac75" +pretty-format@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.5.0.tgz#0f9601ad9da70fe690a269cd3efca732c210687c" dependencies: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.2.0.tgz#3b0aaa63c018a53583373c1cb3a5d96cc5e83017" - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - -primus@^7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/primus/-/primus-7.2.1.tgz#737c37dda10fd6e3d9152836463d9a568eecccf3" +primus@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/primus/-/primus-7.2.2.tgz#0d399115fb5f5e4e9bba4a2a13381d75dfeb8d4e" dependencies: access-control "~1.0.0" asyncemit "~3.0.1" @@ -5897,6 +6027,10 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + promise-finally@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/promise-finally/-/promise-finally-3.0.0.tgz#ddd5d0f895432b1206ceb8da1275064d18e7aa23" @@ -5931,14 +6065,18 @@ punycode@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" -pure-uuid@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pure-uuid/-/pure-uuid-1.5.1.tgz#584ed52894df0967660a39b14679d89497f87dc3" +pure-uuid@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/pure-uuid/-/pure-uuid-1.5.3.tgz#cafee7e95b5ff96d7fb737346214967e009d5bce" qs@6.5.1, qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" +qs@6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -5967,6 +6105,15 @@ raw-body@2.3.2: iconv-lite "0.4.19" unpipe "1.0.0" +raw-body@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + dependencies: + bytes "3.0.0" + http-errors "1.6.3" + iconv-lite "0.4.23" + unpipe "1.0.0" + raw-body@^2.1.4: version "2.2.0" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96" @@ -6041,6 +6188,18 @@ readable-stream@^2.0.1: string_decoder "~1.0.3" util-deprecate "~1.0.1" +readable-stream@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -6335,6 +6494,10 @@ safe-buffer@5.1.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" +safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" @@ -6345,6 +6508,10 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + sane@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sane/-/sane-2.0.0.tgz#99cb79f21f4a53a69d4d0cd957c2db04024b8eb2" @@ -6501,6 +6668,12 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + dependencies: + is-arrayish "^0.3.1" + sisteransi@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" @@ -6519,10 +6692,6 @@ slice-ansi@^1.0.0: dependencies: is-fullwidth-code-point "^2.0.0" -sliced@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/sliced/-/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f" - sliced@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" @@ -6759,6 +6928,12 @@ string_decoder@~1.0.3: dependencies: safe-buffer "~5.1.0" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + stringify-object@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd" @@ -6805,18 +6980,15 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -subscriptions-transport-ws@^0.9.7: - version "0.9.7" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.7.tgz#9be456d6e188c96a53c91f570850e59bee5840ac" +subscriptions-transport-ws@^0.9.8: + version "0.9.14" + resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.14.tgz#a39e08edba89ee4cfd95f30484c55d865f5d8451" dependencies: backo2 "^1.0.2" - eventemitter3 "^2.0.3" + eventemitter3 "^3.1.0" iterall "^1.2.1" - lodash.assign "^4.2.0" - lodash.isobject "^3.0.2" - lodash.isstring "^4.0.1" symbol-observable "^1.0.4" - ws "^3.0.0" + ws "^5.2.0" supports-color@^2.0.0: version "2.0.0" @@ -6930,6 +7102,10 @@ text-hex@0.0.x: version "0.0.0" resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-0.0.0.tgz#578fbc85a6a92636e42dd17b41d0218cce9eb2b3" +text-hex@1.0.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" + thenify@^3.1.0, thenify@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.2.1.tgz#251fd1c80aff6e5cf57cb179ab1fcb724269bd11" @@ -7022,17 +7198,22 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" -ts-jest@^23.1.2: - version "23.1.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.1.2.tgz#34cd26f3f566924dbd385ad188ae3c3b75757f9e" +triple-beam@^1.2.0, triple-beam@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" + +ts-jest@^23.1.4: + version "23.1.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.1.4.tgz#66ac1d8d3fbf8f9a98432b11aa377aa850664b2b" dependencies: closest-file-data "^0.1.4" fs-extra "6.0.1" + json5 "^0.5.0" lodash "^4.17.10" -ts-node@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.0.tgz#a94a13c75e5e1aa6b82814b84c68deb339ba7bff" +ts-node@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" dependencies: arrify "^1.0.0" buffer-from "^1.1.0" @@ -7051,9 +7232,9 @@ tslib@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" -tslint-config-prettier@^1.14.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.14.0.tgz#860b36634e53f4c70c64c51ff3ef7fd9bbab7676" +tslint-config-prettier@^1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.15.0.tgz#76b9714399004ab6831fdcf76d89b73691c812cf" tslint@^5.11.0: version "5.11.0" @@ -7112,9 +7293,9 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript-json-schema@^0.31.0: - version "0.31.0" - resolved "https://registry.yarnpkg.com/typescript-json-schema/-/typescript-json-schema-0.31.0.tgz#86bb7b31a0cda58e399363966b2a89ae0ba002fa" +typescript-json-schema@^0.32.0: + version "0.32.0" + resolved "https://registry.yarnpkg.com/typescript-json-schema/-/typescript-json-schema-0.32.0.tgz#d95af55eaf01be6d44b280fdc3f9b3a264435642" dependencies: glob "~7.1.2" json-stable-stringify "^1.0.1" @@ -7460,6 +7641,27 @@ winston-papertrail@^1.0.5: dependencies: glossy "^0.1.7" +winston-transport@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.2.0.tgz#a20be89edf2ea2ca39ba25f3e50344d73e6520e5" + dependencies: + readable-stream "^2.3.6" + triple-beam "^1.2.0" + +winston@*: + version "3.0.0" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.0.0.tgz#1f0b24a96586798bcf0cd149fb07ed47cb01a1b2" + dependencies: + async "^2.6.0" + diagnostics "^1.0.1" + is-stream "^1.1.0" + logform "^1.9.0" + one-time "0.0.4" + readable-stream "^2.3.6" + stack-trace "0.0.x" + triple-beam "^1.3.0" + winston-transport "^4.2.0" + winston@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.2.tgz#3ca01f763116fc48db61053b7544e750431f8db0" @@ -7510,14 +7712,6 @@ write-file-atomic@^2.1.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - ws@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.0.tgz#9fd95e3ac7c76f6ae8bcc868a0e3f11f1290c33e" @@ -7650,7 +7844,7 @@ yn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" -zen-observable-ts@^0.8.6, zen-observable-ts@^0.8.9: +zen-observable-ts@^0.8.9: version "0.8.9" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.9.tgz#d3c97af08c0afdca37ebcadf7cc3ee96bda9bab1" dependencies: From 1eace5e02601dc0c13ecf0523c7c8e13b9abb8f9 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sat, 25 Aug 2018 21:28:28 -0400 Subject: [PATCH 06/11] Remove apollo engine, I wasn't using it, and it would occasionally go wrong --- package.json | 3 ++ source/ambient.d.ts | 3 +- source/globals.ts | 3 -- source/listen.ts | 21 ++------- yarn.lock | 109 ++------------------------------------------ 5 files changed, 14 insertions(+), 125 deletions(-) diff --git a/package.json b/package.json index 83cc4663..83d9b6d8 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,9 @@ "type": "git", "url": "https://github.com/danger/peril.git" }, + "engines": { + "node": "9" + }, "author": "Orta", "license": "MIT", "availablePerilRuntimeDependencies": { diff --git a/source/ambient.d.ts b/source/ambient.d.ts index bc1a2cca..c667f472 100644 --- a/source/ambient.d.ts +++ b/source/ambient.d.ts @@ -6,8 +6,9 @@ declare module "json2ts" declare module "async-exit-hook" declare module "graphql-resolvers" -// TODO: Make types for these two +// TODO: Make types for these two? declare module "graphql-tools-types" +declare module "winston" // https://github.com/excitement-engineer/graphql-relay-tools declare module "graphql-relay-tools" { diff --git a/source/globals.ts b/source/globals.ts index 2e3e0576..2b6a37da 100644 --- a/source/globals.ts +++ b/source/globals.ts @@ -136,9 +136,6 @@ export const HYPER_FUNC_NAME = getEnv("HYPER_FUNC_NAME") /** Optional: Any truthy value here will start up clustering for Peril */ export const WEB_CONCURRENCY = getEnv("WEB_CONCURRENCY") -/** Optional: the key for running apollo engine */ -export const APOLLO_ENGINE_KEY = getEnv("APOLLO_ENGINE_KEY") - export const validateENVForPerilServer = () => { // Can't run without these validates(["PRIVATE_GITHUB_SIGNING_KEY", "PERIL_INTEGRATION_ID"]) diff --git a/source/listen.ts b/source/listen.ts index ebea8c27..009dbf6e 100644 --- a/source/listen.ts +++ b/source/listen.ts @@ -1,45 +1,32 @@ import chalk from "chalk" import * as express from "express" -import { ApolloEngine } from "apollo-engine" import { createServer } from "http" import * as Primus from "primus" import { setupPublicWebsocket } from "./api/api" -import { APOLLO_ENGINE_KEY } from "./globals" +import { PUBLIC_API_ROOT_URL } from "./globals" import logger from "./logger" export let primus: any = null -/** - * A function which either starts the app normally, or starts - * it wrapped by apollo engine (for tracing and error logging) - * - * This is complex: - * - * - It creates an Apollo Engine, and a node http server - * - The http server wraps the express app - * - Apollo Engine then starts the listening process - */ export const startApp = (app: express.Express, callback: any) => { - if (!APOLLO_ENGINE_KEY) { + // Skip primus setup + if (!PUBLIC_API_ROOT_URL) { app.listen(app.get("port"), callback) logger.info("") return } - // https://www.apollographql.com/docs/engine/ - const engine = new ApolloEngine({ apiKey: APOLLO_ENGINE_KEY }) const httpServer = createServer(app as any) primus = new Primus(httpServer, { transformer: "websockets", iknowclusterwillbreakconnections: true }) setupPublicWebsocket() // Call engine.listen instead of app.listen(port) - engine.listen({ port: app.get("port"), httpServer }, () => { + app.listen(app.get("port"), () => { callback() const tick = chalk.bold.greenBright("✓") - logger.info(" - " + tick + " Apollo Engine") logger.info(" - " + tick + " Primus Sockets") }) } diff --git a/yarn.lock b/yarn.lock index 956bf4fe..5be2c8b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -45,12 +45,6 @@ dependencies: any-observable "^0.3.0" -"@types/accepts@*": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" - dependencies: - "@types/node" "*" - "@types/agenda@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/agenda/-/agenda-2.0.2.tgz#6f3e18083ff141e7983b86e7f67027fd17f43c1d" @@ -79,14 +73,7 @@ dependencies: "@types/node" "*" -"@types/bunyan@*": - version "1.8.4" - resolved "https://registry.yarnpkg.com/@types/bunyan/-/bunyan-1.8.4.tgz#69c11adc7b50538d45fb68d9ae39d062b9432f38" - dependencies: - "@types/events" "*" - "@types/node" "*" - -"@types/connect@*", "@types/connect@^3.4.31": +"@types/connect@*": version "3.4.32" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28" dependencies: @@ -102,15 +89,6 @@ version "0.3.1" resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.3.1.tgz#720a756ea8e760a258708b52441bd341f1ef4296" -"@types/cookies@*": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.1.tgz#f9f204bd6767d389eea3b87609e30c090c77a540" - dependencies: - "@types/connect" "*" - "@types/express" "*" - "@types/keygrip" "*" - "@types/node" "*" - "@types/cors@^2.8.4": version "2.8.4" resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.4.tgz#50991a759a29c0b89492751008c6af7a7c8267b0" @@ -144,7 +122,7 @@ "@types/express-serve-static-core" "*" "@types/serve-static" "*" -"@types/express@^4.0.36", "@types/express@^4.11.1": +"@types/express@^4.11.1": version "4.11.1" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.11.1.tgz#f99663b3ab32d04cb11db612ef5dd7933f75465b" dependencies: @@ -186,10 +164,6 @@ version "0.13.0" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.13.0.tgz#78a33a7f429a06a64714817d9130d578e0f35ecb" -"@types/http-assert@*": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.3.0.tgz#5e932606153da28e1d04f9043f4912cf61fd55dd" - "@types/jest@^23.3.1": version "23.3.1" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf" @@ -204,38 +178,6 @@ dependencies: "@types/node" "*" -"@types/keygrip@*": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.1.tgz#ff540462d2fb4d0a88441ceaf27d287b01c3d878" - -"@types/koa-bodyparser@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@types/koa-bodyparser/-/koa-bodyparser-4.2.0.tgz#04febc567f3d3dd40e3d1a0e095cdf7b07c4d7ce" - dependencies: - "@types/koa" "*" - -"@types/koa-compose@*": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.2.tgz#dc106e000bbf92a3ac900f756df47344887ee847" - -"@types/koa-router@^7.0.27": - version "7.0.28" - resolved "https://registry.yarnpkg.com/@types/koa-router/-/koa-router-7.0.28.tgz#67487c862a831099aed8864a8996bfa7e989edc0" - dependencies: - "@types/koa" "*" - -"@types/koa@*", "@types/koa@^2.0.39": - version "2.0.45" - resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.0.45.tgz#133cbda6cc8d12b73434b5d9663898c833f80aa2" - dependencies: - "@types/accepts" "*" - "@types/cookies" "*" - "@types/events" "*" - "@types/http-assert" "*" - "@types/keygrip" "*" - "@types/koa-compose" "*" - "@types/node" "*" - "@types/lodash@^4.14.116": version "4.14.116" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.116.tgz#5ccf215653e3e8c786a58390751033a9adca0eb9" @@ -293,22 +235,14 @@ version "7.0.11" resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.11.tgz#55680189f2335f080f0aeb57871f0b9823646d89" -"@types/node@^10.9.2": - version "10.9.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.2.tgz#f0ab8dced5cd6c56b26765e1c0d9e4fdcc9f2a00" +"@types/node@^9.1.2": + version "9.6.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.30.tgz#1ecf83eaf7ac2d0dada7a9d61a1e4e7a6183ac06" "@types/require-from-string@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/require-from-string/-/require-from-string-1.2.0.tgz#c18cfc8a2c1a0259e5841d1fef2b5e9d01c64242" -"@types/restify@^5.0.7": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@types/restify/-/restify-5.0.8.tgz#6cfe3a6e4ad1a3b8fcd152cd5b2b7b6ee2282cb6" - dependencies: - "@types/bunyan" "*" - "@types/node" "*" - "@types/spdy" "*" - "@types/serve-static@*": version "1.7.31" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.7.31.tgz#15456de8d98d6b4cff31be6c6af7492ae63f521a" @@ -316,12 +250,6 @@ "@types/express-serve-static-core" "*" "@types/mime" "*" -"@types/spdy@*": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@types/spdy/-/spdy-3.4.4.tgz#3282fd4ad8c4603aa49f7017dd520a08a345b2bc" - dependencies: - "@types/node" "*" - "@types/winston@^2.4.4": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/winston/-/winston-2.4.4.tgz#48cc744b7b42fad74b9a2e8490e0112bd9a3d08d" @@ -492,33 +420,6 @@ apollo-cache-control@^0.1.0: dependencies: graphql-extensions "^0.0.x" -apollo-engine-binary-darwin@0.2018.6-20-gc0e4bb519: - version "0.2018.6-20-gc0e4bb519" - resolved "https://registry.yarnpkg.com/apollo-engine-binary-darwin/-/apollo-engine-binary-darwin-0.2018.6-20-gc0e4bb519.tgz#1458cf9af9adff1248730b9e7ea3408a778ff20e" - -apollo-engine-binary-linux@0.2018.6-20-gc0e4bb519: - version "0.2018.6-20-gc0e4bb519" - resolved "https://registry.yarnpkg.com/apollo-engine-binary-linux/-/apollo-engine-binary-linux-0.2018.6-20-gc0e4bb519.tgz#0f61d7e7888a58d8723516d1dc44d4c8a6688df2" - -apollo-engine-binary-windows@0.2018.6-20-gc0e4bb519: - version "0.2018.6-20-gc0e4bb519" - resolved "https://registry.yarnpkg.com/apollo-engine-binary-windows/-/apollo-engine-binary-windows-0.2018.6-20-gc0e4bb519.tgz#288c718a730f2a1f8bb0aae9fff3e6da23c1f00f" - -apollo-engine@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/apollo-engine/-/apollo-engine-1.1.2.tgz#ef8465fe5234b3bfe034b7e96d37bc441b72a9cb" - dependencies: - "@types/connect" "^3.4.31" - "@types/express" "^4.0.36" - "@types/koa" "^2.0.39" - "@types/koa-bodyparser" "^4.2.0" - "@types/koa-router" "^7.0.27" - "@types/restify" "^5.0.7" - optionalDependencies: - apollo-engine-binary-darwin "0.2018.6-20-gc0e4bb519" - apollo-engine-binary-linux "0.2018.6-20-gc0e4bb519" - apollo-engine-binary-windows "0.2018.6-20-gc0e4bb519" - apollo-link@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.2.tgz#54c84199b18ac1af8d63553a68ca389c05217a03" From 7b41b36720ccd2dc6c41f595758bc5fac7552955 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sat, 25 Aug 2018 21:29:22 -0400 Subject: [PATCH 07/11] save a microsecond by not emitting --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83d9b6d8..5449e063 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "docker:build:site": "docker build .", "docker:build:runner": "docker build -f Dockerfile.runner -t runner .", "runner": "node out/runner/index.js", - "precommit": "lint-staged; yarn build;", + "precommit": "lint-staged; yarn type-check;", "postcommit": "yarn danger local --dangerfile dangerfile.lite.ts", "prepush": "jest" }, From c06fd489388d29f757a8c611d9ac6b690a69a073 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sat, 25 Aug 2018 22:26:27 -0400 Subject: [PATCH 08/11] Handle bad json in the peril settings - fixes #349 --- source/db/mongo.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/db/mongo.ts b/source/db/mongo.ts index bb6a8a72..60526fdd 100644 --- a/source/db/mongo.ts +++ b/source/db/mongo.ts @@ -160,7 +160,13 @@ export const mongoDatabase = { } // Only allow the JSON to overwrite user editable settings in mongo - const json = JSON5.parse(file) + let json = {} as any + try { + json = JSON5.parse(file) + } catch (error) { + d.log(`Settings for ${installationID} were not valid json`) + return + } const parsedSettings: Partial = _.pick(json, userInput) const sanitizedSettings = prepareToSave(parsedSettings) From 3b4ae27575d86cb61a4ea8ef6aa7670227476d3b Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 26 Aug 2018 07:44:08 -0400 Subject: [PATCH 09/11] Adds the ability to slack messages to an installation, and turns hyper to be http for a bit while their SSL certs have expired --- CHANGELOG.md | 3 + package.json | 9 +- source/api/graphql/index.ts | 6 +- .../_tests/__snapshots__/_json.test.ts.snap | 1 + source/db/index.ts | 5 + source/db/json.ts | 1 + source/db/mongo.ts | 8 + .../_installationSlackMessaging.test.ts | 16 ++ .../installationSlackMessaging.ts | 55 +++++++ source/plugins/installationSettingsUpdater.ts | 3 + .../plugins/utils/recordWebhookWithRequest.ts | 3 + source/runner/hyper-api.ts | 9 +- source/testing/installationFactory.ts | 1 + yarn.lock | 152 +++++++++++++++++- 14 files changed, 261 insertions(+), 11 deletions(-) create mode 100644 source/infrastructure/_tests/_installationSlackMessaging.test.ts create mode 100644 source/infrastructure/installationSlackMessaging.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index f7f855b1..72216c92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## 2018 - August 25 +- The edit an installation mutation allows setting a `installationSlackUpdateWebhookURL` on your installation, which + Peril will use to send messages to your installation + - Generic rules for all the org now default to the settings JSON repo, reducing dupes in the settings json - orta ```diff diff --git a/package.json b/package.json index 5449e063..b9b22d2e 100644 --- a/package.json +++ b/package.json @@ -35,15 +35,16 @@ "author": "Orta", "license": "MIT", "availablePerilRuntimeDependencies": { - "@slack/client": "3.15.0", - "danger": "^3", - "danger-plugin-spellcheck": "1.2.3", - "danger-plugin-yarn": "1.2.1", + "@slack/client": "^4.5.0", + "danger": "^4", + "danger-plugin-spellcheck": "^1.2.3", + "danger-plugin-yarn": "^1.2.1", "jira-client": "6.4.1", "lodash": "4.17.4", "semver-sort": "0.0.4" }, "dependencies": { + "@slack/client": "^4.5.0", "@types/agenda": "^2.0.2", "@types/body-parser": "^1.17.0", "@types/cookie-parser": "^1.4.1", diff --git a/source/api/graphql/index.ts b/source/api/graphql/index.ts index 45b8a789..46f1e95a 100644 --- a/source/api/graphql/index.ts +++ b/source/api/graphql/index.ts @@ -87,6 +87,8 @@ const schemaSDL = gql` recordWebhooksUntilTime: String # The time when a user requested recording webhooks startedRecordingWebhooksTime: String + # A URL for Slack which Peril can send notifications about an installation to + installationSlackUpdateWebhookURL: String } # Someone logged in to the API, all user data is stored inside the JWT @@ -131,8 +133,8 @@ const schemaSDL = gql` type Mutation { # Building this out incrementally, but basically this provides - # the ability to set the URL that Peril should grab data from - editInstallation(iID: Int!, perilSettingsJSONURL: String!): Installation + # the ability to set changes + editInstallation(iID: Int!, perilSettingsJSONURL: String, installationSlackUpdateWebhookURL: String): Installation # Sets the installation to record webhooks for the next 5m makeInstallationRecord(iID: Int!): Installation # Send webhook diff --git a/source/db/_tests/__snapshots__/_json.test.ts.snap b/source/db/_tests/__snapshots__/_json.test.ts.snap index 8276032b..6df21fa7 100644 --- a/source/db/_tests/__snapshots__/_json.test.ts.snap +++ b/source/db/_tests/__snapshots__/_json.test.ts.snap @@ -6,6 +6,7 @@ exports[`makes the right calls to GitHub with a legit stubbed JSON file 1`] = ` Object { "avatarURL": "", "iID": 23511, + "installationSlackUpdateWebhookURL": undefined, "login": "unknown", "perilSettingsJSONURL": "orta/peril@settings.json", "repos": Object { diff --git a/source/db/index.ts b/source/db/index.ts index 3bcf7097..d0eafa10 100644 --- a/source/db/index.ts +++ b/source/db/index.ts @@ -104,6 +104,11 @@ export interface PerilInstallationSettings extends PerilSettingsRepoJSON { * is the initial string when working in the public mode */ perilSettingsJSONURL: DangerfileReferenceString + + /** + * Slack URL that Peril can send system messages to + */ + installationSlackUpdateWebhookURL: string | undefined } export interface UniqueRepoRuleset { diff --git a/source/db/json.ts b/source/db/json.ts index aa63f85a..df0ad8dd 100644 --- a/source/db/json.ts +++ b/source/db/json.ts @@ -97,6 +97,7 @@ export const partialInstallationToInstallation = ( scheduler: partial.scheduler || {}, tasks: partial.tasks || {}, perilSettingsJSONURL: dangerfileRefString, + installationSlackUpdateWebhookURL: undefined, settings: { env_vars: (partial.settings && partial.settings.env_vars) || [], ignored_repos: (partial.settings && partial.settings.ignored_repos) || [], diff --git a/source/db/mongo.ts b/source/db/mongo.ts index 60526fdd..d83f330c 100644 --- a/source/db/mongo.ts +++ b/source/db/mongo.ts @@ -7,6 +7,7 @@ import _ = require("lodash") import { dangerRepresentationForPath } from "../danger/danger_run" import { getGitHubFileContentsWithoutToken } from "../github/lib/github_helpers" import { MONGODB_URI } from "../globals" +import { sendSlackMessageToInstallation } from "../infrastructure/installationSlackMessaging" import { GitHubInstallation } from "./index" const d = debug("peril:mongo") @@ -20,6 +21,8 @@ export interface MongoGithubInstallationModel extends Document, GitHubInstallati recordWebhooksUntilTime: Date /** The time when a user requested recording webhooks */ startedRecordingWebhooksTime: Date + /** A string Peril can use to pass critical message */ + installationSlackUpdateWebhookURL: string } /** The model for an installation in the DB */ @@ -39,6 +42,7 @@ const Installation = model( perilSettingsJSONURL: String, startedRecordingWebhooksTime: Date, recordWebhooksUntilTime: Date, + installationSlackUpdateWebhookURL: String, envVars: Schema.Types.Mixed, }) ) @@ -165,6 +169,10 @@ export const mongoDatabase = { json = JSON5.parse(file) } catch (error) { d.log(`Settings for ${installationID} were not valid json`) + sendSlackMessageToInstallation( + `Settings at \`${dbInstallation.perilSettingsJSONURL}\` did not parse as JSON.`, + dbInstallation + ) return } const parsedSettings: Partial = _.pick(json, userInput) diff --git a/source/infrastructure/_tests/_installationSlackMessaging.test.ts b/source/infrastructure/_tests/_installationSlackMessaging.test.ts new file mode 100644 index 00000000..4e3ce43b --- /dev/null +++ b/source/infrastructure/_tests/_installationSlackMessaging.test.ts @@ -0,0 +1,16 @@ +import { replaceAllKeysInString } from "../installationSlackMessaging" + +describe("removes keys", () => { + it("does string changes easy ones", () => { + let output = replaceAllKeysInString({ MY_KEY: "secret" }, "thing with a secret word") + expect(output).not.toContain("secret") + + output = replaceAllKeysInString({ MY_KEY: "secret" }, "thing with a secret word secret ok secreting") + expect(output).not.toContain("secret") + }) + + it("handles null objects", () => { + const output = replaceAllKeysInString(undefined, "thing with a secret word") + expect(output).toContain("secret") + }) +}) diff --git a/source/infrastructure/installationSlackMessaging.ts b/source/infrastructure/installationSlackMessaging.ts new file mode 100644 index 00000000..147d130c --- /dev/null +++ b/source/infrastructure/installationSlackMessaging.ts @@ -0,0 +1,55 @@ +import { IncomingWebhook } from "@slack/client" +import { GitHubInstallation } from "../db" +import { getDB } from "../db/getDB" +import { MongoDB } from "../db/mongo" +import * as globals from "../globals" +import logger from "../logger" + +/** Protects against accidentally leaking system secrets */ +export const replaceAllKeysInString = (obj: any, message: string) => { + if (!obj) { + return message + } + + let mutableMessage = message + const keys = Object.keys(obj) + keys.forEach(key => { + const re = new RegExp(obj[key], "g") + mutableMessage = mutableMessage.replace(re, `[${key}]`) + }) + + return mutableMessage +} + +/** Mainly just to handle the db faffing if you need it */ +export const sendSlackMessageToInstallationID = async (message: string, iID: number) => { + const db = getDB() as MongoDB + const installation = await db.getInstallation(iID) + if (!installation) { + throw new Error(`Installation not found`) + } + return sendSlackMessageToInstallation(message, installation) +} + +/** + * Allows sending a message off to an installation + */ +export const sendSlackMessageToInstallation = async (message: string, installation: GitHubInstallation) => { + if (installation.installationSlackUpdateWebhookURL) { + let filteredMessage = replaceAllKeysInString(globals, message) + filteredMessage = replaceAllKeysInString(installation.envVars, filteredMessage) + + // Doesn't matter if it fails, so long as it's logged. Shouldn't take down the server. + try { + const webhook = new IncomingWebhook(installation.installationSlackUpdateWebhookURL) + + await webhook.send({ + unfurl_links: false, + username: `Peril for ${installation.login}`, + text: filteredMessage, + }) + } catch (error) { + logger.error(`Sending a slack message failed for ${installation.login}`) + } + } +} diff --git a/source/plugins/installationSettingsUpdater.ts b/source/plugins/installationSettingsUpdater.ts index 3af9635a..c6ef885e 100644 --- a/source/plugins/installationSettingsUpdater.ts +++ b/source/plugins/installationSettingsUpdater.ts @@ -3,6 +3,7 @@ import * as express from "express" import { PullRequest, Push } from "github-webhook-event-types" import { dangerRepresentationForPath } from "../danger/danger_run" import { getDB } from "../db/getDB" +import { sendSlackMessageToInstallation } from "../infrastructure/installationSlackMessaging" import winston from "../logger" const d = debug("Peril Settings Updater") @@ -41,6 +42,7 @@ export const installationSettingsUpdater = async ( winston.info("## Installation settings on " + installation.login) winston.info(" Updated due to merged PR") await db.updateInstallation(installationID) + sendSlackMessageToInstallation("Synced your Peril settings", installation) } } } @@ -67,6 +69,7 @@ export const installationSettingsUpdater = async ( if (modifiedPerilSettings) { winston.info("Updating JSON settings due to merged changes on push for " + path) await db.updateInstallation(installationID) + sendSlackMessageToInstallation("Synced your Peril settings", installation) } } } diff --git a/source/plugins/utils/recordWebhookWithRequest.ts b/source/plugins/utils/recordWebhookWithRequest.ts index 73081610..ee361721 100644 --- a/source/plugins/utils/recordWebhookWithRequest.ts +++ b/source/plugins/utils/recordWebhookWithRequest.ts @@ -3,6 +3,7 @@ import { Document, model, Schema } from "mongoose" import { getDB } from "../../db/getDB" import { MongoDB } from "../../db/mongo" import { actionForWebhook } from "../../github/events/utils/actions" +import { sendSlackMessageToInstallationID } from "../../infrastructure/installationSlackMessaging" import logger from "../../logger" export interface RecordedWebhook { @@ -57,6 +58,8 @@ export const setInstallationToRecord = async (installationID: number) => { recordWebhooksUntilTime: inFiveMin, startedRecordingWebhooksTime: new Date(), }) + + sendSlackMessageToInstallationID("Started to record webhooks", installationID) } /** Removes all recorded webhooks for a specific installation */ diff --git a/source/runner/hyper-api.ts b/source/runner/hyper-api.ts index 5763e387..59297c74 100644 --- a/source/runner/hyper-api.ts +++ b/source/runner/hyper-api.ts @@ -6,15 +6,18 @@ import logger from "../logger" // For usage, check out these tests, https://github.com/Tim-Zhang/hyper-aws4/blob/master/test/unit.js let funcUUID: string | null = null -const hyperFuncHost = "https://us-west-1.hyperfunc.io" + +// TEMPORARY workaround +// See: https://forum.hyper.sh/t/ssl-error-in-hyper-func-api-endpoints-via-https/873 +const hyperFuncHost = "http://us-west-1.hyperfunc.io" +const hyperHost = "https://us-west-1.hyper.sh/" // https://docs.hyper.sh/Reference/API/2016-04-04%20[Ver.%201.23]/Func/index.html // Path is either an absolute URL, or relative to the hyper API - export const hyper = (path: string, method: "GET" | "PUT" | "POST" | "DELETE", body?: any) => { const signOption: any = { - url: path.startsWith("http") ? path : "https://us-west-1.hyper.sh/" + path, + url: path.startsWith("http") ? path : hyperHost + path, method, credential: { accessKey: HYPER_ACCESS_KEY, diff --git a/source/testing/installationFactory.ts b/source/testing/installationFactory.ts index f61b319b..2318c6f2 100644 --- a/source/testing/installationFactory.ts +++ b/source/testing/installationFactory.ts @@ -14,6 +14,7 @@ const emptyInstallation: GitHubInstallation = { }, tasks: {}, perilSettingsJSONURL: "", + installationSlackUpdateWebhookURL: "", } /** Creates an installation from a blank template */ diff --git a/yarn.lock b/yarn.lock index 5be2c8b0..3b33b293 100644 --- a/yarn.lock +++ b/yarn.lock @@ -45,6 +45,34 @@ dependencies: any-observable "^0.3.0" +"@slack/client@^4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@slack/client/-/client-4.5.0.tgz#5c728ae180695ee84e868daeda241db098b17283" + dependencies: + "@types/form-data" "^2.2.1" + "@types/is-stream" "^1.1.0" + "@types/loglevel" "^1.5.3" + "@types/node" ">=6.0.0" + "@types/p-cancelable" "^0.3.0" + "@types/p-queue" "^2.3.1" + "@types/p-retry" "^1.0.1" + "@types/retry" "^0.10.2" + "@types/ws" "^5.1.1" + axios "^0.18.0" + eventemitter3 "^3.0.0" + finity "^0.5.4" + form-data "^2.3.1" + is-stream "^1.1.0" + loglevel "^1.6.1" + object.entries "^1.0.4" + object.getownpropertydescriptors "^2.0.3" + object.values "^1.0.4" + p-cancelable "^0.3.0" + p-queue "^2.3.0" + p-retry "^2.0.0" + retry "^0.12.0" + ws "^5.2.0" + "@types/agenda@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/agenda/-/agenda-2.0.2.tgz#6f3e18083ff141e7983b86e7f67027fd17f43c1d" @@ -138,6 +166,12 @@ "@types/express-serve-static-core" "*" "@types/serve-static" "*" +"@types/form-data@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-2.2.1.tgz#ee2b3b8eaa11c0938289953606b745b738c54b1e" + dependencies: + "@types/node" "*" + "@types/get-stdin@^5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@types/get-stdin/-/get-stdin-5.0.1.tgz#46afbcaf09e94fe025afa07ae994ac3168adbdf3" @@ -164,6 +198,12 @@ version "0.13.0" resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.13.0.tgz#78a33a7f429a06a64714817d9130d578e0f35ecb" +"@types/is-stream@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@types/is-stream/-/is-stream-1.1.0.tgz#b84d7bb207a210f2af9bed431dc0fbe9c4143be1" + dependencies: + "@types/node" "*" + "@types/jest@^23.3.1": version "23.3.1" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf" @@ -182,6 +222,10 @@ version "4.14.116" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.116.tgz#5ccf215653e3e8c786a58390751033a9adca0eb9" +"@types/loglevel@^1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@types/loglevel/-/loglevel-1.5.3.tgz#adfce55383edc5998a2170ad581b3e23d6adb5b8" + "@types/mime@*": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-0.0.29.tgz#fbcfd330573b912ef59eeee14602bface630754b" @@ -235,14 +279,36 @@ version "7.0.11" resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.11.tgz#55680189f2335f080f0aeb57871f0b9823646d89" +"@types/node@>=6.0.0": + version "10.9.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.2.tgz#f0ab8dced5cd6c56b26765e1c0d9e4fdcc9f2a00" + "@types/node@^9.1.2": version "9.6.30" resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.30.tgz#1ecf83eaf7ac2d0dada7a9d61a1e4e7a6183ac06" +"@types/p-cancelable@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@types/p-cancelable/-/p-cancelable-0.3.0.tgz#3e4fcc54a3dfd81d0f5b93546bb68d0df50553bb" + +"@types/p-queue@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@types/p-queue/-/p-queue-2.3.1.tgz#2fb251e46e884e31c4bd1bf58f0e188972353ff4" + +"@types/p-retry@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/p-retry/-/p-retry-1.0.1.tgz#2302bc3da425014208c8a9b68293d37325124785" + dependencies: + "@types/retry" "*" + "@types/require-from-string@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/require-from-string/-/require-from-string-1.2.0.tgz#c18cfc8a2c1a0259e5841d1fef2b5e9d01c64242" +"@types/retry@*", "@types/retry@^0.10.2": + version "0.10.2" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.10.2.tgz#bd1740c4ad51966609b058803ee6874577848b37" + "@types/serve-static@*": version "1.7.31" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.7.31.tgz#15456de8d98d6b4cff31be6c6af7492ae63f521a" @@ -256,6 +322,13 @@ dependencies: winston "*" +"@types/ws@^5.1.1": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-5.1.2.tgz#f02d3b1cd46db7686734f3ce83bdf46c49decd64" + dependencies: + "@types/events" "*" + "@types/node" "*" + "@types/zen-observable@^0.5.3": version "0.5.3" resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.5.3.tgz#91b728599544efbb7386d8b6633693a3c2e7ade5" @@ -656,6 +729,13 @@ aws4@^1.2.1, aws4@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +axios@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102" + dependencies: + follow-redirects "^1.3.0" + is-buffer "^1.1.5" + babel-cli@7.0.0-alpha.19: version "7.0.0-alpha.19" resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-7.0.0-alpha.19.tgz#ec9f639d80fc79dff5f66f5eda3ba45bc37ef468" @@ -1935,6 +2015,12 @@ columnify@^1.5.2: strip-ansi "^3.0.0" wcwidth "^1.0.0" +combined-stream@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" @@ -2543,6 +2629,16 @@ es-abstract@^1.5.1: is-callable "^1.1.3" is-regex "^1.0.4" +es-abstract@^1.6.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + es-to-primitive@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" @@ -2922,7 +3018,11 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -follow-redirects@^1.0.0: +finity@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/finity/-/finity-0.5.4.tgz#f2a8a9198e8286467328ec32c8bfcc19a2229c11" + +follow-redirects@^1.0.0, follow-redirects@^1.3.0: version "1.5.7" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.7.tgz#a39e4804dacb90202bca76a9e2ac10433ca6a69a" dependencies: @@ -2960,6 +3060,14 @@ form-data@^2.0.0, form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" +form-data@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + form-data@~2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" @@ -3049,7 +3157,7 @@ function-bind@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" -function-bind@^1.1.1, function-bind@~1.1.0: +function-bind@^1.1.0, function-bind@^1.1.1, function-bind@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -4973,6 +5081,10 @@ logform@^1.9.0: ms "^2.1.1" triple-beam "^1.2.0" +loglevel@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" + long-timeout@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/long-timeout/-/long-timeout-0.1.1.tgz#9721d788b47e0bcb5a24c2e2bee1a0da55dab514" @@ -5518,6 +5630,15 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" +object.entries@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" @@ -5544,6 +5665,15 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -5632,6 +5762,10 @@ override-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/override-require/-/override-require-1.1.1.tgz#6ae22fadeb1f850ffb0cf4c20ff7b87e5eb650df" +p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -5668,6 +5802,16 @@ p-map@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" +p-queue@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" + +p-retry@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-2.0.0.tgz#b97f1f4d6d81a3c065b2b40107b811e995c1bfba" + dependencies: + retry "^0.12.0" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -6363,6 +6507,10 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + rfc6902@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/rfc6902/-/rfc6902-2.2.2.tgz#518a4e9caac1688f3d94c9df2fdcdb6ce21f29be" From 7548c7dc8db0d535513f487ce45ff91dffc88778 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 26 Aug 2018 07:46:52 -0400 Subject: [PATCH 10/11] Remove a default export --- source/api/graphql/_tests/_graphql.test.ts | 2 +- source/github/events/_tests/_github_runner-runs.test.ts | 2 +- .../github/events/_tests/_github_runner-validations.test.ts | 2 +- source/github/events/create_installation.ts | 2 +- source/plugins/_tests/_installationSettingsUpdater.test.ts | 2 +- source/scheduler/_tests/_startScheduler.test.ts | 4 ++-- source/testing/installationFactory.ts | 4 +--- 7 files changed, 8 insertions(+), 10 deletions(-) diff --git a/source/api/graphql/_tests/_graphql.test.ts b/source/api/graphql/_tests/_graphql.test.ts index 7927181e..e6f7accb 100644 --- a/source/api/graphql/_tests/_graphql.test.ts +++ b/source/api/graphql/_tests/_graphql.test.ts @@ -6,7 +6,7 @@ import { schema } from "../index" jest.mock("../../../db/getDB") import { MockDB } from "../../../db/__mocks__/getDB" import { getDB } from "../../../db/getDB" -import generateInstallation from "../../../testing/installationFactory" +import { generateInstallation } from "../../../testing/installationFactory" const mockDB = getDB() as MockDB beforeEach(() => mockDB.clear()) diff --git a/source/github/events/_tests/_github_runner-runs.test.ts b/source/github/events/_tests/_github_runner-runs.test.ts index f5b26a48..155cfdbb 100644 --- a/source/github/events/_tests/_github_runner-runs.test.ts +++ b/source/github/events/_tests/_github_runner-runs.test.ts @@ -1,4 +1,4 @@ -import generateInstallation from "../../../testing/installationFactory" +import { generateInstallation } from "../../../testing/installationFactory" import { GitHubRunSettings, runsForEvent } from "../github_runner" // Default settings diff --git a/source/github/events/_tests/_github_runner-validations.test.ts b/source/github/events/_tests/_github_runner-validations.test.ts index bf415a7d..a0f24f04 100644 --- a/source/github/events/_tests/_github_runner-validations.test.ts +++ b/source/github/events/_tests/_github_runner-validations.test.ts @@ -1,6 +1,6 @@ import { readFileSync } from "fs" import { resolve } from "path" -import generateInstallation from "../../../testing/installationFactory" +import { generateInstallation } from "../../../testing/installationFactory" const apiFixtures = resolve(__dirname, "fixtures") const fixture = (file: string) => JSON.parse(readFileSync(resolve(apiFixtures, file), "utf8")) diff --git a/source/github/events/create_installation.ts b/source/github/events/create_installation.ts index 86b4dd2d..fb532eb7 100644 --- a/source/github/events/create_installation.ts +++ b/source/github/events/create_installation.ts @@ -3,7 +3,7 @@ import * as express from "express" import { Installation } from "../events/types/integration_installation_created.types" import { getDB } from "../../db/getDB" -import generateInstallation from "../../testing/installationFactory" +import { generateInstallation } from "../../testing/installationFactory" export async function createInstallation(installationJSON: Installation, _: express.Request, res: express.Response) { const installation = generateInstallation({ diff --git a/source/plugins/_tests/_installationSettingsUpdater.test.ts b/source/plugins/_tests/_installationSettingsUpdater.test.ts index 60ff6089..1fb99ba6 100644 --- a/source/plugins/_tests/_installationSettingsUpdater.test.ts +++ b/source/plugins/_tests/_installationSettingsUpdater.test.ts @@ -11,7 +11,7 @@ jest.mock("../../globals", () => ({ import { readFileSync } from "fs" import { resolve } from "path" -import generateInstallation from "../../testing/installationFactory" +import { generateInstallation } from "../../testing/installationFactory" import { installationSettingsUpdater } from "../installationSettingsUpdater" const requestWithFixturedJSON = (name: string): any => { diff --git a/source/scheduler/_tests/_startScheduler.test.ts b/source/scheduler/_tests/_startScheduler.test.ts index e6cfe93a..31d18c20 100644 --- a/source/scheduler/_tests/_startScheduler.test.ts +++ b/source/scheduler/_tests/_startScheduler.test.ts @@ -6,7 +6,7 @@ import { MockDB } from "../../db/__mocks__/getDB" import { getDB } from "../../db/getDB" const mockDB = getDB() as MockDB -import installationFactory from "../../testing/installationFactory" +import { generateInstallation } from "../../testing/installationFactory" import { runSchedule } from "../startRepeatedTaskScheduler" it("runs scheduleJob for your tasks", async () => { @@ -14,7 +14,7 @@ it("runs scheduleJob for your tasks", async () => { "1 2 3 4 5": "every_so_often.ts", } - mockDB.getSchedulableInstallations.mockResolvedValueOnce([installationFactory({ scheduler })]) + mockDB.getSchedulableInstallations.mockResolvedValueOnce([generateInstallation({ scheduler })]) await runSchedule() diff --git a/source/testing/installationFactory.ts b/source/testing/installationFactory.ts index 2318c6f2..5ed70285 100644 --- a/source/testing/installationFactory.ts +++ b/source/testing/installationFactory.ts @@ -18,7 +18,5 @@ const emptyInstallation: GitHubInstallation = { } /** Creates an installation from a blank template */ -const generateInstallation = (diff: Partial): GitHubInstallation => +export const generateInstallation = (diff: Partial): GitHubInstallation => Object.assign({}, emptyInstallation, diff) - -export default generateInstallation From 2d05ee0eca7707653d10b056b9f8fa80d3dfc1f6 Mon Sep 17 00:00:00 2001 From: Orta Therox Date: Sun, 26 Aug 2018 09:07:14 -0400 Subject: [PATCH 11/11] Send peril logs to slack --- source/api/api.ts | 4 +++ source/api/graphql/mutations/index.ts | 33 +++++++++++++---- .../installationSlackMessaging.ts | 35 +++++++++++++++++-- source/peril.ts | 2 +- 4 files changed, 64 insertions(+), 10 deletions(-) diff --git a/source/api/api.ts b/source/api/api.ts index fcd03243..5986a810 100644 --- a/source/api/api.ts +++ b/source/api/api.ts @@ -150,6 +150,10 @@ export const sendMessageToConnectionsWithAccessToInstallation = (iID: number, me }) } +/** + * This is a lazy loaded version of the above, the callback func will only get called + * if there is a connected websocket. + */ export const sendAsyncMessageToConnectionsWithAccessToInstallation = ( iID: number, callback: (spark: any) => Promise diff --git a/source/api/graphql/mutations/index.ts b/source/api/graphql/mutations/index.ts index d7bd38a2..c33e6b7e 100644 --- a/source/api/graphql/mutations/index.ts +++ b/source/api/graphql/mutations/index.ts @@ -2,6 +2,7 @@ import { getDB } from "../../../db/getDB" import { MongoDB } from "../../../db/mongo" import { GitHubInstallation } from "../../../db" +import { sendLogsToSlackForInstallation } from "../../../infrastructure/installationSlackMessaging" import logger from "../../../logger" import { getRecordedWebhook, @@ -191,25 +192,43 @@ export const mutations = { // TODO: Store the time in some kind of per-installation analytics document // Wait 2 seconds for the container to finish - setTimeout(() => { + setTimeout(async () => { + let dangerfileLog: MSGDangerfileLog | undefined + // Get Hyper logs - // Send another message - sendAsyncMessageToConnectionsWithAccessToInstallation(installation.iID, async spark => { - // TODO: Cache the hyper call, because the logs will disappear after the first - // connected client gets access to them. + const getLogs = async () => { let logs = null try { logs = await getHyperLogs(opts.hyperCallID) } catch (error) { logger.error(`Requesting the hyper logs for ${installation.iID} with callID ${opts.hyperCallID} - ${error}`) + return } const logMessage: MSGDangerfileLog = { event: opts.name, action: "log", filenames: opts.dangerfiles, - log: logs, + log: logs as string, + } + return logMessage + } + + // If you have a connected slack webhook, then always grab the logs + // and store the value somewhere where the websocket to admin connections + // can also read. + if (installation.installationSlackUpdateWebhookURL) { + dangerfileLog = await getLogs() + sendLogsToSlackForInstallation("Received logs from Peril", dangerfileLog!, installation) + } + + // Callback inside is lazy loaded and only called if there are people + // in the dashboard + sendAsyncMessageToConnectionsWithAccessToInstallation(installation.iID, async spark => { + // If the slack trigger above didn't grab the logs, then re-grab them. + if (!dangerfileLog) { + dangerfileLog = await getLogs() } - spark.write(logMessage) + spark.write(dangerfileLog) }) }, 2000) diff --git a/source/infrastructure/installationSlackMessaging.ts b/source/infrastructure/installationSlackMessaging.ts index 147d130c..4d69041a 100644 --- a/source/infrastructure/installationSlackMessaging.ts +++ b/source/infrastructure/installationSlackMessaging.ts @@ -1,4 +1,6 @@ import { IncomingWebhook } from "@slack/client" +import { sentence } from "danger/distribution/runner/DangerUtils" +import { MSGDangerfileLog } from "../api/api" import { GitHubInstallation } from "../db" import { getDB } from "../db/getDB" import { MongoDB } from "../db/mongo" @@ -14,8 +16,7 @@ export const replaceAllKeysInString = (obj: any, message: string) => { let mutableMessage = message const keys = Object.keys(obj) keys.forEach(key => { - const re = new RegExp(obj[key], "g") - mutableMessage = mutableMessage.replace(re, `[${key}]`) + mutableMessage = mutableMessage.split(obj[key]).join(`[${key}]`) }) return mutableMessage @@ -53,3 +54,33 @@ export const sendSlackMessageToInstallation = async (message: string, installati } } } + +export const sendLogsToSlackForInstallation = async ( + message: string, + logs: MSGDangerfileLog, + installation: GitHubInstallation +) => { + if (installation.installationSlackUpdateWebhookURL) { + let filteredLogs = replaceAllKeysInString(globals, logs.log) + filteredLogs = replaceAllKeysInString(installation.envVars, filteredLogs) + + // Doesn't matter if it fails, so long as it's logged. Shouldn't take down the server. + try { + const webhook = new IncomingWebhook(installation.installationSlackUpdateWebhookURL) + + await webhook.send({ + unfurl_links: false, + username: `Peril for ${installation.login}`, + text: message, + attachments: [ + { + title: `${logs.event}.${logs.action} - ${sentence(logs.filenames)}`, + text: `\`\`\`\n${filteredLogs}\n\`\`\``, + }, + ], + }) + } catch (error) { + logger.error(`Sending a slack logs failed for ${installation.login}`) + } + } +} diff --git a/source/peril.ts b/source/peril.ts index 570cfdc8..d6f7414b 100644 --- a/source/peril.ts +++ b/source/peril.ts @@ -36,7 +36,7 @@ export const peril = () => { // Error logging process.on("unhandledRejection", (reason: string, _: any) => { - logger.error("Error: ", reason) + logger.error("UnhandledRejection Error: ", reason) throw reason })