From 9f72bdc647abf72be7964d69ec6e43c9b8cc9e9e Mon Sep 17 00:00:00 2001 From: Arnaud Besnier Date: Tue, 1 Oct 2019 08:53:41 +0200 Subject: [PATCH] [+] Technical - A Release now also automatically publish the release note to Slack --- .env-example | 2 + .gitignore | 1 + CHANGELOG.md | 3 +- bin/deploy.js | 63 -------------- package.json | 4 +- scripts/release.js | 8 ++ yarn.lock | 213 +++++++++++++++++++++++++++++++++++++++++++-- 7 files changed, 222 insertions(+), 72 deletions(-) create mode 100644 .env-example delete mode 100644 bin/deploy.js create mode 100644 scripts/release.js diff --git a/.env-example b/.env-example new file mode 100644 index 000000000..d4a20dcaf --- /dev/null +++ b/.env-example @@ -0,0 +1,2 @@ +DEVOPS_SLACK_CHANNEL= +DEVOPS_SLACK_TOKEN= diff --git a/.gitignore b/.gitignore index e79f72d31..eee9fd89b 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ build/Release # Dependency directory # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git node_modules +.env # Docker data /data diff --git a/CHANGELOG.md b/CHANGELOG.md index 74f37c7a7..939beda30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,14 @@ ### Added - Readme - Add a badge for the NPM package version. - Schema - Detect enum values for Enums in array schema. +- Technical - A Release now also automatically publish the release note to Slack. ### Changed - Readme - Add a community section. - Readme - Remove the Licence section as it is already accessible in the Github page header. ### Fixed -- Technical - Fix pre-commit hook to avoid renamed file and add new lina at the end of the file. +- Technical - Fix pre-commit hook to avoid renamed file and add new line at the end of the file. - ESLint - Fix `search-builder` according to eslint rules. - ESLint - Fix eslintrc to allow dangle underscore. - ESLint - Fix `records-decorator` according to eslint rules. diff --git a/bin/deploy.js b/bin/deploy.js deleted file mode 100644 index ba3ffaf11..000000000 --- a/bin/deploy.js +++ /dev/null @@ -1,63 +0,0 @@ -const moment = require('moment'); -const fs = require('fs'); -const simpleGit = require('simple-git')(); -const semver = require('semver'); - -const BRANCH_MASTER = 'master'; -const BRANCH_DEVEL = 'devel'; -const RELEASE_OPTIONS = ['major', 'minor', 'patch', 'premajor', 'preminor', 'prepatch', 'prerelease']; - -let releaseType = 'patch'; -let prereleaseTag; - -if (process.argv) { - if (process.argv[2]) { - const option = process.argv[2].replace('--', ''); - if (RELEASE_OPTIONS.includes(option)) { - releaseType = option; - } - } - if (process.argv[3]) { - const option = process.argv[3].replace('--', ''); - prereleaseTag = option; - } -} - -// VERSION -const versionFile = fs.readFileSync('package.json').toString().split('\n'); -let version = versionFile[3].match(/\w*"version": "(.*)",/)[1]; -version = semver.inc(version, releaseType, prereleaseTag); -versionFile[3] = ` "version": "${version}",`; -const newVersionFile = versionFile.join('\n'); - -// CHANGELOG -const changes = fs.readFileSync('CHANGELOG.md').toString().split('\n'); -const today = moment().format('YYYY-MM-DD'); - -changes.splice(3, 0, `\n## RELEASE ${version} - ${today}`); -const newChanges = changes.join('\n'); - -const tag = `v${version}`; - -simpleGit - .checkout(BRANCH_DEVEL) - .pull((error) => { if (error) { console.log(error); } }) - .then(() => { console.log(`Pull ${BRANCH_DEVEL} done.`); }) - .then(() => { - fs.writeFileSync('package.json', newVersionFile); - fs.writeFileSync('CHANGELOG.md', newChanges); - }) - .add(['CHANGELOG.md', 'package.json']) - .commit(`Release ${version}`) - .push() - .then(() => { console.log(`Commit Release on ${BRANCH_DEVEL} done.`); }) - .checkout(BRANCH_MASTER) - .pull((error) => { if (error) { console.log(error); } }) - .then(() => { console.log(`Pull ${BRANCH_MASTER} done.`); }) - .mergeFromTo(BRANCH_DEVEL, BRANCH_MASTER) - .then(() => { console.log(`Merge ${BRANCH_DEVEL} on ${BRANCH_MASTER} done.`); }) - .push() - .addTag(tag) - .push('origin', tag) - .then(() => { console.log(`Tag ${tag} on ${BRANCH_MASTER} done.`); }) - .checkout(BRANCH_DEVEL); diff --git a/package.json b/package.json index 9507c4b67..42836e542 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "moment": "2.24.0" }, "devDependencies": { + "@forestadmin/devops": "2.0.0", "babel-cli": "7.0.0-beta.3", "babel-plugin-transform-runtime": "7.0.0-beta.3", "babel-preset-env": "7.0.0-beta.3", @@ -48,13 +49,12 @@ "mongoose-fixture-loader": "1.0.2", "onchange": "6.0.0", "pre-commit": "1.2.2", - "semver": "5.6.0", "simple-git": "1.65.0" }, "scripts": { "build": "./node_modules/babel-cli/bin/babel.js src --out-dir dist && echo '\n\\033[0;34m[+] \\033[0;32mBuild done\\033[0m'", "build:watch": "onchange 'src/**/*.js' -i -- yarn build", - "deploy": "yarn build && node ./bin/deploy.js", + "release": "yarn build && node ./scripts/release.js", "test": "./node_modules/mocha/bin/mocha test/**/* --require babel-register --timeout 15000", "test:watch": "./node_modules/mocha/bin/mocha test/**/* adapters/** services/** utils/** --timeout 15000 --watch", "lint": "./node_modules/eslint/bin/eslint.js test src", diff --git a/scripts/release.js b/scripts/release.js new file mode 100644 index 000000000..e0b289caa --- /dev/null +++ b/scripts/release.js @@ -0,0 +1,8 @@ +require('dotenv').config(); // eslint-disable-line +const { ReleaseManager, ReleaseNoteManager } = require('@forestadmin/devops'); // eslint-disable-line + +const { DEVOPS_SLACK_TOKEN, DEVOPS_SLACK_CHANNEL } = process.env; +const OPTIONS = { releaseIcon: '🌱', withVersion: true }; + +new ReleaseManager(OPTIONS).create() + .then(() => new ReleaseNoteManager(DEVOPS_SLACK_TOKEN, DEVOPS_SLACK_CHANNEL, OPTIONS).create()); diff --git a/yarn.lock b/yarn.lock index dc759eaf2..89fef4638 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,10 +20,122 @@ version "1.0.5" resolved "https://registry.yarnpkg.com/@blakeembrey/deque/-/deque-1.0.5.tgz#f4fa17fc5ee18317ec01a763d355782c7b395eaf" +"@forestadmin/devops@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@forestadmin/devops/-/devops-2.0.0.tgz#77c1edc40ba31c46502e4991ae534064d8fc7db8" + integrity sha512-0dN4lotOzDxH0y+x7tFstyuyvao+zU/492zqJ3ZLMXYRxsx9CrjaJjFJAK8BlXWw3ULpyMhN2AJzurRSSWKPqA== + dependencies: + "@slack/client" "5.0.2" + chalk "2.4.2" + lcov-parse "1.0.0" + moment "2.24.0" + semver "6.3.0" + simple-git "1.78.0" + +"@slack/client@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@slack/client/-/client-5.0.2.tgz#75a45bdd86a9eb8eaba2febb0bbdfeb281cf02e1" + integrity sha512-HurKTUBZlwj/1cnZ6QOHpYR7k+G62WlL+13DgYD7onVRnQWggkIyCg+ymX1kQn6txzNdUyDEaixyCvBvmhH8tQ== + dependencies: + "@slack/logger" "^1.0.0" + "@slack/rtm-api" "^5.0.2" + "@slack/types" "^1.1.0" + "@slack/web-api" "^5.1.0" + "@slack/webhook" "^5.0.1" + +"@slack/logger@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@slack/logger/-/logger-1.1.0.tgz#563a97e38670109cba5a1ec1c4f3098bc0d344c6" + integrity sha512-D3tabyLoUrsFy0w3koxaCVv+5ZJfIy+j0QW3PUq0XO3UiVuF5rtpAbqngAYVpeKnxPpqBjeth4XJ3tllKoW3aA== + dependencies: + "@types/node" ">=8.9.0" + +"@slack/rtm-api@^5.0.2": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@slack/rtm-api/-/rtm-api-5.0.3.tgz#05b60d1655a05e377d6044dbfdf65602ca6bacf1" + integrity sha512-rzNIFst8iuVYyHdE7e3KSrbAtIA7sfS4Pth9ObKUm5KDemX0zyI7YfAijO1kgr1EMriQkjlpKBhlNq9Y+aQr6g== + dependencies: + "@slack/logger" "^1.0.0" + "@slack/web-api" "^5.1.0" + "@types/node" ">=8.9.0" + "@types/p-queue" "^2.3.2" + "@types/ws" "^5.1.1" + eventemitter3 "^3.1.0" + finity "^0.5.4" + p-cancelable "^1.1.0" + p-queue "^2.4.2" + ws "^5.2.0" + +"@slack/types@^1.1.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@slack/types/-/types-1.2.0.tgz#edad17244ccc335afb31c1089a0a86ae480373f5" + integrity sha512-XsksAErF2CN9jqNzKrm3tVkGke0wT6xsIdw80h9PIKaYJzmpt5soweaFGbV3j74VuwIOOq4P5sHjrSZaP0Du0w== + +"@slack/web-api@^5.1.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@slack/web-api/-/web-api-5.2.0.tgz#50f282b80809cd00fffee31a5fcc13c77c867c9c" + integrity sha512-z47Q0PVP15/Z6ZQ8NBK5QLVw64ToohTv5lHhbu6D7qs7jgiLNsyxhjJRD/LIvnw5CGXBmN6qV7Vk/5Y9xmcZxA== + dependencies: + "@slack/logger" "^1.0.0" + "@slack/types" "^1.1.0" + "@types/is-stream" "^1.1.0" + "@types/node" ">=8.9.0" + "@types/p-queue" "^2.3.2" + axios "^0.18.0" + eventemitter3 "^3.1.0" + form-data "^2.5.0" + is-stream "^1.1.0" + p-queue "^2.4.2" + p-retry "^4.0.0" + +"@slack/webhook@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@slack/webhook/-/webhook-5.0.2.tgz#822f7f930291ad2600db1ce8c39254260dc4d2fe" + integrity sha512-Ns35+KC//EWu+g+Bzp5m18V7qsCBdqAdvV4FJi2ng8+jto4rH2Bv2vUMmMioRn9LIiZ38LPsX/InrFjaO5XwGA== + dependencies: + "@slack/types" "^1.1.0" + "@types/node" ">=8.9.0" + axios "^0.18.0" + "@types/debug@0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.29.tgz#a1e514adfbd92f03a224ba54d693111dbf1f3754" +"@types/events@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" + integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== + +"@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" + integrity sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@>=8.9.0": + version "12.7.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.8.tgz#cb1bf6800238898bc2ff6ffa5702c3cadd350708" + integrity sha512-FMdVn84tJJdV+xe+53sYiZS4R5yn1mAIxfj+DVoNiQjTYz1+OYmjwEZr1ev9nU0axXwda0QDbYl06QHanRVH3A== + +"@types/p-queue@^2.3.2": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@types/p-queue/-/p-queue-2.3.2.tgz#16bc5fece69ef85efaf2bce8b13f3ebe39c5a1c8" + integrity sha512-eKAv5Ql6k78dh3ULCsSBxX6bFNuGjTmof5Q/T6PiECDq0Yf8IIn46jCyp3RJvCi8owaEmm3DZH1PEImjBMd/vQ== + +"@types/retry@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/ws@^5.1.1": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-5.1.2.tgz#f02d3b1cd46db7686734f3ce83bdf46c49decd64" + integrity sha512-NkTXUKTYdXdnPE2aUUbGOXE1XfMK527SCvU/9bj86kyFF6kZ9ZnOQ3mK5jADn98Y2vEUD/7wKDgZa7Qst2wYOg== + dependencies: + "@types/events" "*" + "@types/node" "*" + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -187,6 +299,11 @@ async-each@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + async@2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" @@ -210,6 +327,14 @@ atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" +axios@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== + dependencies: + follow-redirects "1.5.10" + is-buffer "^2.0.2" + axobject-query@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-0.1.0.tgz#62f59dbc59c9f9242759ca349960e7a2fe3c36c0" @@ -912,9 +1037,10 @@ chai@4.2.0: pathval "^1.1.0" type-detect "^4.0.5" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -1138,15 +1264,16 @@ damerau-levenshtein@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.7, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: ms "2.0.0" -debug@3.1.0: +debug@3.1.0, debug@=3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: ms "2.0.0" @@ -1480,6 +1607,11 @@ etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" +eventemitter3@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -1702,6 +1834,11 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" +finity@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/finity/-/finity-0.5.4.tgz#f2a8a9198e8286467328ec32c8bfcc19a2229c11" + integrity sha512-3l+5/1tuw616Lgb0QBimxfdd2TqaDGpfCBpfX6EqtFmqUV3FtQnVEX4Aa62DagYEqnsTIjZcTfbq9msDbXYgyA== + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -1720,6 +1857,13 @@ flatted@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -1776,6 +1920,15 @@ form-data@^2.3.1: combined-stream "^1.0.6" mime-types "^2.1.12" +form-data@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + formidable@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659" @@ -2134,6 +2287,11 @@ is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" +is-buffer@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + is-buffer@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" @@ -2426,6 +2584,11 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +lcov-parse@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" + integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -3058,6 +3221,11 @@ output-file-sync@^2.0.0: is-plain-obj "^1.1.0" mkdirp "^0.5.1" +p-cancelable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -3094,6 +3262,19 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-queue@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" + integrity sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng== + +p-retry@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.1.0.tgz#9ce7cef2069e84bf590df3b8ec18d740109338d6" + integrity sha512-oepllyG9gX1qH4Sm20YAKxg1GA7L7puhvGnTfimi31P07zSIj7SDV6YtuAx9nbJF51DES+2CIIRkXs8GKqWJxA== + dependencies: + "@types/retry" "^0.12.0" + 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" @@ -3475,6 +3656,11 @@ 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" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + rimraf@2.6.3, rimraf@^2.6.1: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -3525,9 +3711,10 @@ sax@^1.2.4: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" -semver@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" +semver@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== send@0.16.1: version "0.16.1" @@ -3613,6 +3800,13 @@ simple-git@1.65.0: version "1.65.0" resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.65.0.tgz#2364a534ae3a67668beaf2a165af04f47a268923" +simple-git@1.78.0: + version "1.78.0" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.78.0.tgz#6e1c53162dffb0d5d6245a60dce7f3df210aaeb4" + integrity sha1-bhxTFi3/sNXWJFpg3Ofz3yEKrrQ= + dependencies: + debug "^2.6.7" + slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -4100,6 +4294,13 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + dependencies: + async-limiter "~1.0.0" + "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"