From 05d77287e61f9aead1ae515a44054342c92d4ef3 Mon Sep 17 00:00:00 2001
From: Sebastian <sebastian.mihalache@thinslices.com>
Date: Mon, 19 Mar 2018 11:06:08 +0200
Subject: [PATCH] feat(move-to-postgresql): add docker

---
 Dockerfile-development                       |  12 ++
 packages/xpub-faraday/Dockerfile-development |  12 ++
 packages/xpub-faraday/docker-compose.yml     |  32 ++++
 packages/xpub-faraday/package.json           |   9 +-
 packages/xpub-faraday/scripts/wait-for-it.sh | 178 +++++++++++++++++++
 scripts/.DS_Store                            | Bin 0 -> 6148 bytes
 scripts/test.sql                             |   2 +
 yarn.lock                                    | 133 +++++++++++++-
 8 files changed, 370 insertions(+), 8 deletions(-)
 create mode 100644 Dockerfile-development
 create mode 100644 packages/xpub-faraday/Dockerfile-development
 create mode 100644 packages/xpub-faraday/docker-compose.yml
 create mode 100644 packages/xpub-faraday/scripts/wait-for-it.sh
 create mode 100644 scripts/.DS_Store
 create mode 100644 scripts/test.sql

diff --git a/Dockerfile-development b/Dockerfile-development
new file mode 100644
index 000000000..b93603388
--- /dev/null
+++ b/Dockerfile-development
@@ -0,0 +1,12 @@
+FROM xpub/xpub:base
+
+WORKDIR ${HOME}
+
+COPY package.json yarn.lock ./
+COPY lerna.json .babelrc .eslintignore .eslintrc .prettierrc .stylelintignore .stylelintrc ./
+COPY packages packages
+COPY now now
+
+EXPOSE 3000
+
+CMD []
diff --git a/packages/xpub-faraday/Dockerfile-development b/packages/xpub-faraday/Dockerfile-development
new file mode 100644
index 000000000..d9300f6d7
--- /dev/null
+++ b/packages/xpub-faraday/Dockerfile-development
@@ -0,0 +1,12 @@
+FROM xpub/xpub:base
+
+WORKDIR ../../
+
+COPY package.json yarn.lock ./
+COPY lerna.json .babelrc .eslintignore .eslintrc .prettierrc .stylelintignore .stylelintrc ./
+COPY packages packages
+COPY now now
+
+EXPOSE 3000
+
+CMD []
diff --git a/packages/xpub-faraday/docker-compose.yml b/packages/xpub-faraday/docker-compose.yml
new file mode 100644
index 000000000..4efaf1775
--- /dev/null
+++ b/packages/xpub-faraday/docker-compose.yml
@@ -0,0 +1,32 @@
+version: '3'
+
+services:
+  app:
+    build:
+      context: .
+      dockerfile: ./Dockerfile-development
+    command: sh -c "yarn install --frozen-lockfile && ./scripts/wait-for-it.sh postgres:5432 -s -t 40 -- npx pubsweet server"
+    ports:
+      - ${PORT:-3000}:3000
+    volumes:
+      - ./:/home/xpub
+    depends_on:
+      - postgres
+    environment:
+      NODE_ENV: development
+      PGHOST: postgres
+      PGUSER: $USER
+
+  postgres:
+    image: postgres:10
+    ports:
+      - 5432:5432
+    environment:
+      POSTGRES_USER: $USER
+    volumes:
+      - postgres-volume:/var/lib/postgresql/data
+      - ./scripts/test.sql:/docker-entrypoint-initdb.d/test.sql
+
+volumes:
+  postgres-volume:
+
diff --git a/packages/xpub-faraday/package.json b/packages/xpub-faraday/package.json
index 7a7955bd8..1be108716 100644
--- a/packages/xpub-faraday/package.json
+++ b/packages/xpub-faraday/package.json
@@ -12,7 +12,6 @@
     "@pubsweet/ui": "^3.0.0",
     "aws-sdk": "^2.197.0",
     "babel-core": "^6.26.0",
-    "component-aws-download": "0.0.1",
     "config": "^1.26.2",
     "dotenv": "^5.0.0",
     "flavors": "^3.3.1",
@@ -26,10 +25,9 @@
     "prop-types": "^15.5.10",
     "pubsweet": "^1.1.1",
     "pubsweet-client": "^2.2.2",
-    "pubsweet-component-invite": "^0.0.1",
     "pubsweet-component-login": "^1.1.0",
     "pubsweet-component-signup": "^1.0.0",
-    "pubsweet-server": "^1.0.1",
+    "pubsweet-server": "^2.0.1",
     "react": "^16.2.0",
     "react-dnd": "^2.5.4",
     "react-dnd-html5-backend": "^2.5.4",
@@ -45,7 +43,6 @@
     "winston": "^2.4.0",
     "xpub-connect": "^0.0.3",
     "xpub-edit": "^0.0.3",
-    "xpub-faraday-server": "^0.0.1",
     "xpub-journal": "^0.0.3",
     "xpub-selectors": "^0.0.3",
     "xpub-styleguide": "^0.0.3",
@@ -76,7 +73,9 @@
   "scripts": {
     "setupdb": "pubsweet setupdb ./",
     "reset": "pubsweet setupdb --clobber ./",
-    "start": "pubsweet start",
+    "start": "docker-compose up",
+    "start:services": "docker-compose up postgres",
+    "server": "pubsweet server",
     "setupdb-now": "pubsweet setupdb --username admin --email admin@mailinator.com --password admin123 --clobber ./",
     "start-now": "echo $secret > config/local-development.json && npm run setupdb-now && npm run start",
     "build": "NODE_ENV=production pubsweet build"
diff --git a/packages/xpub-faraday/scripts/wait-for-it.sh b/packages/xpub-faraday/scripts/wait-for-it.sh
new file mode 100644
index 000000000..ea896a848
--- /dev/null
+++ b/packages/xpub-faraday/scripts/wait-for-it.sh
@@ -0,0 +1,178 @@
+#!/usr/bin/env bash
+#   Use this script to test if a given TCP host/port are available
+
+cmdname=$(basename $0)
+
+echoerr() { if [[ $QUIET -ne 1 ]]; then echo "$@" 1>&2; fi }
+
+usage()
+{
+    cat << USAGE >&2
+Usage:
+    $cmdname host:port [-s] [-t timeout] [-- command args]
+    -h HOST | --host=HOST       Host or IP under test
+    -p PORT | --port=PORT       TCP port under test
+                                Alternatively, you specify the host and port as host:port
+    -s | --strict               Only execute subcommand if the test succeeds
+    -q | --quiet                Don't output any status messages
+    -t TIMEOUT | --timeout=TIMEOUT
+                                Timeout in seconds, zero for no timeout
+    -- COMMAND ARGS             Execute command with args after the test finishes
+USAGE
+    exit 1
+}
+
+wait_for()
+{
+    if [[ $TIMEOUT -gt 0 ]]; then
+        echoerr "$cmdname: waiting $TIMEOUT seconds for $HOST:$PORT"
+    else
+        echoerr "$cmdname: waiting for $HOST:$PORT without a timeout"
+    fi
+    start_ts=$(date +%s)
+    while :
+    do
+        if [[ $ISBUSY -eq 1 ]]; then
+            nc -z $HOST $PORT
+            result=$?
+        else
+            (echo > /dev/tcp/$HOST/$PORT) >/dev/null 2>&1
+            result=$?
+        fi
+        if [[ $result -eq 0 ]]; then
+            end_ts=$(date +%s)
+            echoerr "$cmdname: $HOST:$PORT is available after $((end_ts - start_ts)) seconds"
+            break
+        fi
+        sleep 1
+    done
+    return $result
+}
+
+wait_for_wrapper()
+{
+    # In order to support SIGINT during timeout: http://unix.stackexchange.com/a/57692
+    if [[ $QUIET -eq 1 ]]; then
+        timeout $BUSYTIMEFLAG $TIMEOUT $0 --quiet --child --host=$HOST --port=$PORT --timeout=$TIMEOUT &
+    else
+        timeout $BUSYTIMEFLAG $TIMEOUT $0 --child --host=$HOST --port=$PORT --timeout=$TIMEOUT &
+    fi
+    PID=$!
+    trap "kill -INT -$PID" INT
+    wait $PID
+    RESULT=$?
+    if [[ $RESULT -ne 0 ]]; then
+        echoerr "$cmdname: timeout occurred after waiting $TIMEOUT seconds for $HOST:$PORT"
+    fi
+    return $RESULT
+}
+
+# process arguments
+while [[ $# -gt 0 ]]
+do
+    case "$1" in
+        *:* )
+        hostport=(${1//:/ })
+        HOST=${hostport[0]}
+        PORT=${hostport[1]}
+        shift 1
+        ;;
+        --child)
+        CHILD=1
+        shift 1
+        ;;
+        -q | --quiet)
+        QUIET=1
+        shift 1
+        ;;
+        -s | --strict)
+        STRICT=1
+        shift 1
+        ;;
+        -h)
+        HOST="$2"
+        if [[ $HOST == "" ]]; then break; fi
+        shift 2
+        ;;
+        --host=*)
+        HOST="${1#*=}"
+        shift 1
+        ;;
+        -p)
+        PORT="$2"
+        if [[ $PORT == "" ]]; then break; fi
+        shift 2
+        ;;
+        --port=*)
+        PORT="${1#*=}"
+        shift 1
+        ;;
+        -t)
+        TIMEOUT="$2"
+        if [[ $TIMEOUT == "" ]]; then break; fi
+        shift 2
+        ;;
+        --timeout=*)
+        TIMEOUT="${1#*=}"
+        shift 1
+        ;;
+        --)
+        shift
+        CLI=("$@")
+        break
+        ;;
+        --help)
+        usage
+        ;;
+        *)
+        echoerr "Unknown argument: $1"
+        usage
+        ;;
+    esac
+done
+
+if [[ "$HOST" == "" || "$PORT" == "" ]]; then
+    echoerr "Error: you need to provide a host and port to test."
+    usage
+fi
+
+TIMEOUT=${TIMEOUT:-15}
+STRICT=${STRICT:-0}
+CHILD=${CHILD:-0}
+QUIET=${QUIET:-0}
+
+# check to see if timeout is from busybox?
+# check to see if timeout is from busybox?
+TIMEOUT_PATH=$(realpath $(which timeout))
+if [[ $TIMEOUT_PATH =~ "busybox" ]]; then
+        ISBUSY=1
+        BUSYTIMEFLAG="-t"
+else
+        ISBUSY=0
+        BUSYTIMEFLAG=""
+fi
+
+if [[ $CHILD -gt 0 ]]; then
+    wait_for
+    RESULT=$?
+    exit $RESULT
+else
+    if [[ $TIMEOUT -gt 0 ]]; then
+        wait_for_wrapper
+        RESULT=$?
+    else
+        wait_for
+        RESULT=$?
+    fi
+fi
+
+if [[ $CLI != "" ]]; then
+    if [[ $RESULT -ne 0 && $STRICT -eq 1 ]]; then
+        echoerr "$cmdname: strict mode, refusing to execute subprocess"
+        exit $RESULT
+    fi
+    exec "${CLI[@]}"
+else
+    exit $RESULT
+fi
+
diff --git a/scripts/.DS_Store b/scripts/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..1d1dda64db23f69cb6cd32c1bef2096743e0457a
GIT binary patch
literal 6148
zcmeHK%}(1u5S|SI>_$RH;y@)1mU`fVs#HL7wF2~n)T&11K-*x;7O`a6U~kAFie&Ks
zJOEswyhq_7`Xbz!+1(&e$`J(Bj5Pa=XJ=;ZZ>{|S0MY43p8y;HuuutWHa7nd>L;C$
zn(+_{RpTR+a0F>MC=Vy1+3^|~pt-X^LX0yf;lcccX&z$VZFra_rEE6;irQ3tdS=$L
z-!<&UT*Ln9_ws=+1KBS-LD6-V{3MFQpx8|!+1rV;tu#K4voFPVAmd_>f_L&f#Q<#w
z;rApSbe)BbJd;6^#f7S;Yy8+vvM3*P@_rVTD&7=V_SZo6u#WY?+piR-wq<vn#o=(h
zy}shEwOXSUci3(>(OzwhMz&?WU;g~<SO4Vn?EK>L_tl?kl?4KSS|#%a$8dwj1S!XU
zk)?TdfPLe<aXce4zzi@0Z;S!6j9HC0_TK!u%m6d+{0z|g;Gz<G1}lwf>A;4LkJMi$
zBte_*5`?Zn&tRnydr*W<MbxRnTrq@BN55<0JcE@+oen~cjCIV&!rV}V8Xf(v3J2k7
z<dzv=1|Bmor5_#I|F@pL|36ORCuV>d_^%ic^-X`XgP&yf)`^d!z1BtDM<t=SO5=SB
j8fq)XSlWsgQI(+IB?HkjSZPEL3LgX%4cssTFUr6j#}Q)y

literal 0
HcmV?d00001

diff --git a/scripts/test.sql b/scripts/test.sql
new file mode 100644
index 000000000..4fba30b77
--- /dev/null
+++ b/scripts/test.sql
@@ -0,0 +1,2 @@
+CREATE DATABASE test;
+
diff --git a/yarn.lock b/yarn.lock
index a20d4b3bb..a77b0205c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -40,6 +40,13 @@
     esutils "^2.0.2"
     js-tokens "^3.0.0"
 
+"@babel/runtime@^7.0.0-beta.38":
+  version "7.0.0-beta.41"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.41.tgz#776ce13391b8154ccfdea71018a47b63e4d97e74"
+  dependencies:
+    core-js "^2.5.3"
+    regenerator-runtime "^0.11.1"
+
 "@babel/template@7.0.0-beta.40":
   version "7.0.0-beta.40"
   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.40.tgz#034988c6424eb5c3268fe6a608626de1f4410fc8"
@@ -400,6 +407,14 @@ apollo-tracing@^0.1.0:
   dependencies:
     graphql-extensions "^0.0.x"
 
+apollo-upload-server@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/apollo-upload-server/-/apollo-upload-server-4.0.2.tgz#1a042e413d09d4bd5529738f9e0af45ba553cc2d"
+  dependencies:
+    "@babel/runtime" "^7.0.0-beta.38"
+    busboy "^0.2.14"
+    object-path "^0.11.4"
+
 apollo-utilities@^1.0.0, apollo-utilities@^1.0.1:
   version "1.0.8"
   resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.8.tgz#74d797d38953d2ba35e16f880326e2abcbc8b016"
@@ -1649,6 +1664,10 @@ buffer-from@0.1.1:
   dependencies:
     is-array-buffer-x "^1.0.13"
 
+buffer-writer@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz#22a936901e3029afcd7547eb4487ceb697a3bf08"
+
 buffer-xor@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
@@ -1676,7 +1695,7 @@ builtin-status-codes@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
 
-busboy@^0.2.11:
+busboy@^0.2.11, busboy@^0.2.14:
   version "0.2.14"
   resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453"
   dependencies:
@@ -5463,6 +5482,10 @@ js-base64@^2.1.9:
   version "2.4.3"
   resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
 
+js-string-escape@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
+
 js-tokens@^3.0.0, js-tokens@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
@@ -6784,6 +6807,10 @@ object-keys@^1.0.11, object-keys@^1.0.6, object-keys@^1.0.8:
   version "1.0.11"
   resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
 
+object-path@^0.11.4:
+  version "0.11.4"
+  resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
+
 object.assign@^4.0.4, object.assign@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
@@ -6963,6 +6990,10 @@ package-json@^4.0.1:
     registry-url "^3.0.3"
     semver "^5.1.0"
 
+packet-reader@0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz#cd62e60af8d7fea8a705ec4ff990871c46871f27"
+
 pako@~1.0.5:
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
@@ -7172,6 +7203,42 @@ performance-now@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
 
+pg-connection-string@0.1.3:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7"
+
+pg-pool@~2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.3.tgz#c022032c8949f312a4f91fb6409ce04076be3257"
+
+pg-types@~1.12.1:
+  version "1.12.1"
+  resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.12.1.tgz#d64087e3903b58ffaad279e7595c52208a14c3d2"
+  dependencies:
+    postgres-array "~1.0.0"
+    postgres-bytea "~1.0.0"
+    postgres-date "~1.0.0"
+    postgres-interval "^1.1.0"
+
+pg@^7.4.1:
+  version "7.4.1"
+  resolved "https://registry.yarnpkg.com/pg/-/pg-7.4.1.tgz#f3411c8ddf9f692322fe05e7017a1888e47f78f1"
+  dependencies:
+    buffer-writer "1.0.1"
+    js-string-escape "1.0.1"
+    packet-reader "0.3.1"
+    pg-connection-string "0.1.3"
+    pg-pool "~2.0.3"
+    pg-types "~1.12.1"
+    pgpass "1.x"
+    semver "4.3.2"
+
+pgpass@1.x:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz#2a7bb41b6065b67907e91da1b07c1847c877b306"
+  dependencies:
+    split "^1.0.0"
+
 pify@^2.0.0, pify@^2.3.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -7542,6 +7609,24 @@ postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.13, postcss@^6.0.14, postcss@^6.0.
     source-map "^0.6.1"
     supports-color "^5.2.0"
 
+postgres-array@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.2.tgz#8e0b32eb03bf77a5c0a7851e0441c169a256a238"
+
+postgres-bytea@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35"
+
+postgres-date@~1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz#e2d89702efdb258ff9d9cee0fe91bd06975257a8"
+
+postgres-interval@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.1.tgz#acdb0f897b4b1c6e496d9d4e0a853e1c428f06f0"
+  dependencies:
+    xtend "^4.0.0"
+
 pouchdb-abstract-mapreduce@6.4.3:
   version "6.4.3"
   resolved "https://registry.yarnpkg.com/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-6.4.3.tgz#0310053812d16ff9545a3db43f5e38a67a0133d7"
@@ -8083,7 +8168,7 @@ pubsweet-component-signup@^1.0.0:
     react-router "^4.2.0"
     redux "^3.7.2"
 
-pubsweet-server@^1.0.1, pubsweet-server@^1.1.1:
+pubsweet-server@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/pubsweet-server/-/pubsweet-server-1.1.1.tgz#89f16393bd947cec8cb5131b770101f21ef35911"
   dependencies:
@@ -8126,6 +8211,44 @@ pubsweet-server@^1.0.1, pubsweet-server@^1.1.1:
     uuid "^3.0.1"
     winston "^2.2.0"
 
+pubsweet-server@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/pubsweet-server/-/pubsweet-server-2.0.1.tgz#28ee42eb457fac67add6593d1278c832807cee22"
+  dependencies:
+    "@pubsweet/logger" "^0.2.2"
+    apollo-server-express "^1.3.2"
+    apollo-upload-server "^4.0.2"
+    authsome "0.0.9"
+    bcrypt "^1.0.2"
+    bluebird "^3.5.1"
+    body-parser "^1.15.2"
+    colors "^1.1.2"
+    config "^1.26.2"
+    cookie-parser "^1.4.3"
+    dotenv "^4.0.0"
+    express "^4.16.1"
+    graphql "^0.12.3"
+    graphql-tools "^2.18.0"
+    helmet "^3.8.1"
+    http-status-codes "^1.0.6"
+    joi "^13.1.0"
+    jsonwebtoken "^7.1.7"
+    lodash "^4.0.0"
+    minimist "^1.2.0"
+    morgan "^1.8.2"
+    multer "^1.1.0"
+    passport "^0.3.2"
+    passport-anonymous "^1.0.1"
+    passport-http-bearer "^1.0.1"
+    passport-local "^1.0.0"
+    pg "^7.4.1"
+    promise-queue "^2.2.3"
+    prompt "^1.0.0"
+    pubsweet-sse "^0.1.4"
+    require-relative "^0.8.7"
+    uuid "^3.0.1"
+    winston "^2.2.0"
+
 pubsweet-sse@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/pubsweet-sse/-/pubsweet-sse-0.1.4.tgz#1ff38a230143cbd487a8d44afb28a6c4746ee464"
@@ -8674,7 +8797,7 @@ regenerator-runtime@^0.10.5:
   version "0.10.5"
   resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
 
-regenerator-runtime@^0.11.0:
+regenerator-runtime@^0.11.0, regenerator-runtime@^0.11.1:
   version "0.11.1"
   resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
 
@@ -9109,6 +9232,10 @@ schema-utils@^0.4.2, schema-utils@^0.4.5:
   version "5.5.0"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
 
+semver@4.3.2:
+  version "4.3.2"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7"
+
 semver@5.3.0:
   version "5.3.0"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-- 
GitLab