From 43e75401d72dbe2f4efc6c7177397afabdbca1d6 Mon Sep 17 00:00:00 2001 From: madmath03 Date: Mon, 1 Mar 2021 00:09:42 +0000 Subject: [PATCH 1/5] :tada: Fully automate dev setup with Gitpod. This commit implements a fully-automated development setup using Gitpod.io, an online IDE for GitLab, GitHub, and Bitbucket that enables Dev-Environments-As-Code. This makes it easy for anyone to get a ready-to-code workspace for any branch, issue or pull request almost instantly with a single click. :whale: Gitpod docker image with Clojure Signed-off-by: madmath03 :whale: Fix path to GitPod docker image Signed-off-by: madmath03 :whale: Use sudo for setup Signed-off-by: madmath03 :whale: More sudo commands Signed-off-by: madmath03 :whale: Remove penpot user in gitpod Signed-off-by: madmath03 :whale: Brew install redis Signed-off-by: madmath03 :wrench: Init DB and penpot user Signed-off-by: madmath03 :whale: Switch user for installs Signed-off-by: madmath03 :wrench: Improve startup and DB init Signed-off-by: madmath03 :wrench: Configure gitpod tasks Signed-off-by: madmath03 :wrench: Configure gitpod ports Signed-off-by: madmath03 :wrench: Setup for mailhog Signed-off-by: madmath03 :bug: Use perms to install mailhog :bug: Install mailhog before workspace creation Signed-off-by: mathieu.brunot :wrench: Manage signed commits Signed-off-by: madmath03 :wrench: Configure tasks to wait on ports :wrench: Improve Gitpod config Signed-off-by: madmath03 :arrow_up: Upgrade deps in gitpod Signed-off-by: madmath03 :art: Use absolute path for cd Signed-off-by: madmath03 :wrench: Add nginx conf Signed-off-by: madmath03 :wrench: Fix nginx config for gitpod Signed-off-by: madmath03 :wrench: Ensure nginx listens all incoming :art: Change layers order Signed-off-by: madmath03 :art: Change layers order Signed-off-by: madmath03 :wrench: Set Nginx logs permissions Signed-off-by: madmath03 :bug: Use sudo to create nginx logs Signed-off-by: madmath03 --- .gitpod.yml | 84 +++++++++++++++ README.md | 1 + docker/gitpod/Dockerfile | 103 ++++++++++++++++++ docker/gitpod/files/nginx.conf | 136 ++++++++++++++++++++++++ docker/gitpod/files/postgresql_init.sql | 3 + 5 files changed, 327 insertions(+) create mode 100644 .gitpod.yml create mode 100644 docker/gitpod/Dockerfile create mode 100644 docker/gitpod/files/nginx.conf create mode 100644 docker/gitpod/files/postgresql_init.sql diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..c513062fa --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,84 @@ +image: + file: docker/gitpod/Dockerfile + +ports: + # nginx + - port: 3449 + onOpen: open-preview + # frontend nREPL + - port: 3447 + onOpen: ignore + visibility: private + # frontend shadow server + - port: 3448 + onOpen: notify + visibility: private + - port: 6060 + - port: 9090 + # exporter shadow server + - port: 9630 + onOpen: notify + visibility: private + # exporter http server + - port: 6061 + onOpen: ignore + # mailhog web interface + - port: 8025 + onOpen: notify + # mailhog postfix + - port: 1025 + onOpen: ignore + # postgres + - port: 5432 + onOpen: ignore + # redis + - port: 6379 + onOpen: ignore + # openldap + - port: 389 + onOpen: ignore + +tasks: + # https://github.com/gitpod-io/gitpod/issues/666#issuecomment-534347856 + - before: > + [[ ! -z ${GNUGPG} ]] && + cd ~ && + rm -rf .gnupg && + echo ${GNUGPG} | base64 -d | tar --no-same-owner -xzvf - + name: signed terminal + init: > + [[ ! -z ${GNUGPG_KEY} ]] && + git config --global commit.gpgsign true && + git config --global user.signingkey ${GNUGPG_KEY} + command: cd $GITPOD_REPO_ROOT + + - init: yarn --cwd $GITPOD_REPO_ROOT/frontend/ install + name: frontend shadow watch + command: cd $GITPOD_REPO_ROOT/frontend/ && npx -y shadow-cljs watch main + + - init: yarn --cwd $GITPOD_REPO_ROOT/exporter/ install + name: exporter shadow watch + command: gp await-port 3448 && cd $GITPOD_REPO_ROOT/exporter/ && npx -y shadow-cljs watch main + + - name: exporter web server + openMode: split-right + command: gp await-port 9630 && cd $GITPOD_REPO_ROOT/exporter/ && ./scripts/wait-and-start.sh + + - init: gp await-port 5432 && psql -f $GITPOD_REPO_ROOT/docker/gitpod/files/postgresql_init.sql + name: backend + command: cd $GITPOD_REPO_ROOT/backend/ && ./scripts/start-dev + + - name: gulp + command: gp await-port 3448 && cd $GITPOD_REPO_ROOT/frontend/ && npx -y gulp --theme=${PENPOT_THEME} watch + + - name: redis + command: redis-server + + - before: go get github.com/mailhog/MailHog + name: mailhog + command: MailHog + + - name: Nginx + command: > + nginx && + multitail /var/log/nginx/access.log -I /var/log/nginx/error.log diff --git a/README.md b/README.md index b508bac45..5bc569307 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ [![License: MPL-2.0][uri_license_image]][uri_license] [![Gitter](https://badges.gitter.im/sereno-xyz/community.svg)](https://gitter.im/penpot/community) [![Managed with Taiga.io](https://img.shields.io/badge/managed%20with-TAIGA.io-709f14.svg)](https://tree.taiga.io/project/penpot/ "Managed with Taiga.io") +[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/penpot/penpot) # PENPOT # diff --git a/docker/gitpod/Dockerfile b/docker/gitpod/Dockerfile new file mode 100644 index 000000000..ea3a0b972 --- /dev/null +++ b/docker/gitpod/Dockerfile @@ -0,0 +1,103 @@ +FROM gitpod/workspace-postgres + +# Install custom tools, runtimes, etc. +# For example "bastet", a command-line tetris clone: +# RUN brew install bastet +# +# More information: https://www.gitpod.io/docs/config-docker/ + +RUN set -ex; \ + brew install redis; \ + brew install imagemagick; \ + brew install mailhog; \ + brew install openldap; \ + sudo mkdir -p /var/log/nginx; \ + sudo chown gitpod:gitpod /var/log/nginx + +COPY docker/gitpod/files/nginx.conf /etc/nginx/nginx.conf + +USER root + +ENV CLOJURE_VERSION=1.10.3.814 \ + CLJKONDO_VERSION=2021.03.03 \ + LANG=en_US.UTF-8 \ + LC_ALL=en_US.UTF-8 + +RUN set -ex; \ + useradd -m -g users -s /bin/bash penpot; \ + passwd penpot -d; \ + echo "penpot ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +RUN set -ex; \ + apt-get -qq update; \ + apt-get -qqy install \ + gconf-service \ + libasound2 \ + libatk1.0-0 \ + libatk-bridge2.0-0 \ + libcairo2 \ + libcups2 \ + libdbus-1-3 \ + libexpat1 \ + libfontconfig1 \ + libgcc1 \ + libgconf-2-4 \ + libgdk-pixbuf2.0-0 \ + libglib2.0-0 \ + libgtk-3-0 \ + libnspr4 \ + libpango-1.0-0 \ + libpangocairo-1.0-0 \ + libx11-6 \ + libx11-xcb1 \ + libxcb1 \ + libxcomposite1 \ + libxcursor1 \ + libxdamage1 \ + libxext6 \ + libxfixes3 \ + libxi6 \ + libxrandr2 \ + libxrender1 \ + libxss1 \ + libxtst6 \ + fonts-liberation \ + libappindicator1 \ + libnss3 \ + libgbm1 \ + ; \ + rm -rf /var/lib/apt/lists/*; + +RUN set -ex; \ + wget "https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh"; \ + chmod +x "linux-install-$CLOJURE_VERSION.sh"; \ + "./linux-install-$CLOJURE_VERSION.sh"; \ + rm -rf "linux-install-$CLOJURE_VERSION.sh" + +RUN set -ex; \ + cd /tmp; \ + wget "https://github.com/borkdude/clj-kondo/releases/download/v${CLJKONDO_VERSION}/clj-kondo-${CLJKONDO_VERSION}-linux-amd64.zip"; \ + unzip "clj-kondo-${CLJKONDO_VERSION}-linux-amd64.zip"; \ + sudo mv clj-kondo /usr/local/bin/; \ + rm "clj-kondo-${CLJKONDO_VERSION}-linux-amd64.zip"; + +USER gitpod + +ENV PENPOT_SMTP_ENABLED=true \ + PENPOT_SMTP_HOST=localhost \ + PENPOT_SMTP_PORT=1025 \ + PENPOT_SMTP_USER= \ + PENPOT_SMTP_PASSWORD= \ + PENPOT_SMTP_SSL=false \ + PENPOT_SMTP_TLS=false \ + PENPOT_SMTP_DEFAULT_REPLY_TO=no-reply@example.com \ + PENPOT_SMTP_DEFAULT_FROM=no-reply@example.com \ + PENPOT_SMTP_ENABLED=true \ + PENPOT_SMTP_HOST=localhost \ + PENPOT_SMTP_PORT=1025 \ + PENPOT_SMTP_USER= \ + PENPOT_SMTP_PASSWORD= \ + PENPOT_SMTP_SSL=false \ + PENPOT_SMTP_TLS=false + +# TODO Retrieve OpenLDAP from rroemhild/docker-test-openldap diff --git a/docker/gitpod/files/nginx.conf b/docker/gitpod/files/nginx.conf new file mode 100644 index 000000000..80c5d5b43 --- /dev/null +++ b/docker/gitpod/files/nginx.conf @@ -0,0 +1,136 @@ +# This Nginx config file is optional. +# If you don't have this file, the Nginx config from the workspace-full docker image will be taken. + +worker_processes auto; +pid /var/run/nginx/nginx.pid; +include /etc/nginx/modules-enabled/*.conf; + +env GITPOD_REPO_ROOT; + +events { + worker_connections 768; + # multi_accept on; +} + +http { + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + # server_tokens off; + + # server_names_hash_bucket_size 64; + # server_name_in_redirect off; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log; + + gzip on; + + gzip_vary on; + gzip_proxied any; + gzip_comp_level 3; + gzip_buffers 16 8k; + gzip_http_version 1.1; + + gzip_types text/plain text/css text/javascript application/javascript application/json application/transit+json; + + map $http_upgrade $connection_upgrade { + default upgrade; + '' close; + } + + # include /etc/nginx/sites-enabled/*; + + server { + set_by_lua $gitpod_repo_root 'return os.getenv("GITPOD_REPO_ROOT")'; + + listen 0.0.0.0:3449 default_server; + server_name _; + + client_max_body_size 5M; + charset utf-8; + + proxy_http_version 1.1; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Scheme $scheme; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + resolver 8.8.8.8; + + etag off; + + root $gitpod_repo_root/frontend/resources/public; + + location @handle_redirect { + set $redirect_uri "$upstream_http_location"; + set $redirect_host "$upstream_http_x_host"; + set $redirect_cache_control "$upstream_http_cache_control"; + + proxy_buffering off; + + proxy_set_header Host "$redirect_host"; + proxy_hide_header etag; + proxy_hide_header x-amz-id-2; + proxy_hide_header x-amz-request-id; + proxy_hide_header x-amz-meta-server-side-encryption; + proxy_hide_header x-amz-server-side-encryption; + proxy_pass $redirect_uri; + + add_header x-internal-redirect "$redirect_uri"; + add_header x-cache-control "$redirect_cache_control"; + add_header cache-control "$redirect_cache_control"; + } + + location /assets { + proxy_pass http://127.0.0.1:6060/assets; + recursive_error_pages on; + proxy_intercept_errors on; + error_page 301 302 307 = @handle_redirect; + } + + location /internal/assets { + internal; + alias $gitpod_repo_root/backend/resources/public/assets; + add_header x-internal-redirect "$upstream_http_x_accel_redirect"; + } + + location /api { + proxy_pass http://127.0.0.1:6060/api; + } + + location /webhooks { + proxy_pass http://127.0.0.1:6060/webhooks; + } + + location /dbg { + proxy_pass http://127.0.0.1:6060/dbg; + } + + location /export { + proxy_pass http://127.0.0.1:6061; + } + + location /playground { + alias $gitpod_repo_root/experiments/; + add_header Cache-Control "no-cache, max-age=0"; + autoindex on; + } + + location /ws/notifications { + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_pass http://127.0.0.1:6060/ws/notifications; + } + + location / { + add_header Cache-Control "no-cache, max-age=0"; + } + } +} diff --git a/docker/gitpod/files/postgresql_init.sql b/docker/gitpod/files/postgresql_init.sql new file mode 100644 index 000000000..1766a643d --- /dev/null +++ b/docker/gitpod/files/postgresql_init.sql @@ -0,0 +1,3 @@ +CREATE DATABASE penpot; +CREATE USER penpot PASSWORD 'penpot'; +ALTER ROLE penpot SUPERUSER; From f4f51dbf6bbbfc24c2a988598f667e2bd4f98a2a Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 31 Mar 2021 14:34:46 +0200 Subject: [PATCH 2/5] :sparkles: Add minor adaptations for gitpod config and docker files. --- .gitpod.yml | 71 +++++++++++++++++++----------- docker/gitpod/Dockerfile | 48 +++++++++++++------- docker/gitpod/files/nginx.conf | 2 +- exporter/scripts/wait-and-start.sh | 1 + 4 files changed, 79 insertions(+), 43 deletions(-) diff --git a/.gitpod.yml b/.gitpod.yml index c513062fa..0735ba2dd 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -5,72 +5,93 @@ ports: # nginx - port: 3449 onOpen: open-preview + # frontend nREPL - port: 3447 onOpen: ignore visibility: private + # frontend shadow server - port: 3448 - onOpen: notify + onOpen: ignore visibility: private + + # backend - port: 6060 - - port: 9090 + onOpen: ignore + # exporter shadow server - port: 9630 - onOpen: notify + onOpen: ignore visibility: private + # exporter http server - port: 6061 onOpen: ignore + # mailhog web interface - port: 8025 - onOpen: notify + onOpen: ignore + # mailhog postfix - port: 1025 onOpen: ignore + # postgres - port: 5432 onOpen: ignore + # redis - port: 6379 onOpen: ignore + # openldap - port: 389 onOpen: ignore tasks: # https://github.com/gitpod-io/gitpod/issues/666#issuecomment-534347856 - - before: > + - name: gulp + command: > + cd $GITPOD_REPO_ROOT/frontend/; + yarn && gp sync-done 'frontend-yarn'; + npx gulp --theme=${PENPOT_THEME} watch + + - name: frontend shadow watch + command: > + cd $GITPOD_REPO_ROOT/frontend/; + gp sync-await 'frontend-yarn'; + npx shadow-cljs watch main + + - init: gp await-port 5432 && psql -f $GITPOD_REPO_ROOT/docker/gitpod/files/postgresql_init.sql + name: backend + command: > + cd $GITPOD_REPO_ROOT/backend/; + ./scripts/start-dev + + - name: exporter shadow watch + command: + cd $GITPOD_REPO_ROOT/exporter/; + gp sync-await 'frontend-yarn'; + yarn && npx shadow-cljs watch main + + - name: exporter web server + command: > + cd $GITPOD_REPO_ROOT/exporter/; + ./scripts/wait-and-start.sh + + - name: signed terminal + before: > [[ ! -z ${GNUGPG} ]] && cd ~ && rm -rf .gnupg && echo ${GNUGPG} | base64 -d | tar --no-same-owner -xzvf - - name: signed terminal init: > [[ ! -z ${GNUGPG_KEY} ]] && git config --global commit.gpgsign true && git config --global user.signingkey ${GNUGPG_KEY} command: cd $GITPOD_REPO_ROOT - - init: yarn --cwd $GITPOD_REPO_ROOT/frontend/ install - name: frontend shadow watch - command: cd $GITPOD_REPO_ROOT/frontend/ && npx -y shadow-cljs watch main - - - init: yarn --cwd $GITPOD_REPO_ROOT/exporter/ install - name: exporter shadow watch - command: gp await-port 3448 && cd $GITPOD_REPO_ROOT/exporter/ && npx -y shadow-cljs watch main - - - name: exporter web server - openMode: split-right - command: gp await-port 9630 && cd $GITPOD_REPO_ROOT/exporter/ && ./scripts/wait-and-start.sh - - - init: gp await-port 5432 && psql -f $GITPOD_REPO_ROOT/docker/gitpod/files/postgresql_init.sql - name: backend - command: cd $GITPOD_REPO_ROOT/backend/ && ./scripts/start-dev - - - name: gulp - command: gp await-port 3448 && cd $GITPOD_REPO_ROOT/frontend/ && npx -y gulp --theme=${PENPOT_THEME} watch - - name: redis command: redis-server diff --git a/docker/gitpod/Dockerfile b/docker/gitpod/Dockerfile index ea3a0b972..0c2fe3a14 100644 --- a/docker/gitpod/Dockerfile +++ b/docker/gitpod/Dockerfile @@ -19,7 +19,8 @@ COPY docker/gitpod/files/nginx.conf /etc/nginx/nginx.conf USER root ENV CLOJURE_VERSION=1.10.3.814 \ - CLJKONDO_VERSION=2021.03.03 \ + CLJKONDO_VERSION=2021.03.22 \ + BABASHKA_VERSION=0.3.1 \ LANG=en_US.UTF-8 \ LC_ALL=en_US.UTF-8 @@ -59,6 +60,7 @@ RUN set -ex; \ libxi6 \ libxrandr2 \ libxrender1 \ + libxshmfence1 \ libxss1 \ libxtst6 \ fonts-liberation \ @@ -69,21 +71,39 @@ RUN set -ex; \ rm -rf /var/lib/apt/lists/*; RUN set -ex; \ - wget "https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh"; \ - chmod +x "linux-install-$CLOJURE_VERSION.sh"; \ - "./linux-install-$CLOJURE_VERSION.sh"; \ - rm -rf "linux-install-$CLOJURE_VERSION.sh" + curl -LfsSo /tmp/openjdk.tar.gz https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jdk_x64_linux_hotspot_16_36.tar.gz; \ + mkdir -p /usr/lib/jvm/openjdk16; \ + cd /usr/lib/jvm/openjdk16; \ + tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ + rm -rf /tmp/openjdk.tar.gz; +# Install clojure cli +RUN set -ex; \ + curl -LfsSo /tmp/clojure.sh https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh; \ + chmod +x /tmp/clojure.sh; \ + /tmp/clojure.sh; \ + rm -rf /tmp/clojure.sh; + +# Install clj-kondo +RUN set -ex; \ + curl -LfsSo /tmp/clj-kondo.zip https://github.com/borkdude/clj-kondo/releases/download/v$CLJKONDO_VERSION/clj-kondo-$CLJKONDO_VERSION-linux-amd64.zip; \ + cd /usr/local/bin; \ + unzip /tmp/clj-kondo.zip; \ + rm /tmp/clj-kondo.zip; + +# Install babashka RUN set -ex; \ cd /tmp; \ - wget "https://github.com/borkdude/clj-kondo/releases/download/v${CLJKONDO_VERSION}/clj-kondo-${CLJKONDO_VERSION}-linux-amd64.zip"; \ - unzip "clj-kondo-${CLJKONDO_VERSION}-linux-amd64.zip"; \ - sudo mv clj-kondo /usr/local/bin/; \ - rm "clj-kondo-${CLJKONDO_VERSION}-linux-amd64.zip"; + curl -LfsSo /tmp/babashka.tar.gz https://github.com/babashka/babashka/releases/download/v$BABASHKA_VERSION/babashka-$BABASHKA_VERSION-linux-amd64.tar.gz; \ + cd /usr/local/bin; \ + tar -xf /tmp/babashka.tar.gz; \ + rm -rf /tmp/babashka.tar.gz; USER gitpod -ENV PENPOT_SMTP_ENABLED=true \ +ENV PATH="/usr/lib/jvm/openjdk16/bin:/usr/local/nodejs/bin:$PATH" \ + JAVA_HOME=/usr/lib/jvm/openjdk16 \ + PENPOT_SMTP_ENABLED=true \ PENPOT_SMTP_HOST=localhost \ PENPOT_SMTP_PORT=1025 \ PENPOT_SMTP_USER= \ @@ -92,12 +112,6 @@ ENV PENPOT_SMTP_ENABLED=true \ PENPOT_SMTP_TLS=false \ PENPOT_SMTP_DEFAULT_REPLY_TO=no-reply@example.com \ PENPOT_SMTP_DEFAULT_FROM=no-reply@example.com \ - PENPOT_SMTP_ENABLED=true \ - PENPOT_SMTP_HOST=localhost \ - PENPOT_SMTP_PORT=1025 \ - PENPOT_SMTP_USER= \ - PENPOT_SMTP_PASSWORD= \ - PENPOT_SMTP_SSL=false \ - PENPOT_SMTP_TLS=false + PENPOT_DATABASE_URI="postgresql://localhost/penpot" # TODO Retrieve OpenLDAP from rroemhild/docker-test-openldap diff --git a/docker/gitpod/files/nginx.conf b/docker/gitpod/files/nginx.conf index 80c5d5b43..319b4bcbb 100644 --- a/docker/gitpod/files/nginx.conf +++ b/docker/gitpod/files/nginx.conf @@ -97,7 +97,7 @@ http { location /internal/assets { internal; - alias $gitpod_repo_root/backend/resources/public/assets; + alias $gitpod_repo_root/backend/assets; add_header x-internal-redirect "$upstream_http_x_accel_redirect"; } diff --git a/exporter/scripts/wait-and-start.sh b/exporter/scripts/wait-and-start.sh index 730ed16bc..c04935367 100755 --- a/exporter/scripts/wait-and-start.sh +++ b/exporter/scripts/wait-and-start.sh @@ -2,4 +2,5 @@ bb -i '(babashka.wait/wait-for-port "localhost" 9630)'; bb -i '(babashka.wait/wait-for-path "target/app.js")'; +sleep 2; node target/app.js From 018b47ab6be39651179ea8047c6ab2cadfb28639 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 31 Mar 2021 14:35:24 +0200 Subject: [PATCH 3/5] :arrow_up: Update frontend dependencies (yarn.lock). --- frontend/yarn.lock | 183 +++++++++++++++++++++++---------------------- 1 file changed, 94 insertions(+), 89 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 17778502f..8b338f6d4 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -3,9 +3,9 @@ "@babel/runtime-corejs3@^7.12.1": - version "7.13.9" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.9.tgz#b2fa9a6e5690ef8d4c4f2d30cac3ec1a8bb633ce" - integrity sha512-p6WSr71+5u/VBf1KDS/Y4dK3ZwbV+DD6wQO3X2EbUVluEOiyXUk09DzcwSaUH4WomYXrEPC+i2rqzuthhZhOJw== + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.10.tgz#14c3f4c85de22ba88e8e86685d13e8861a82fe86" + integrity sha512-x/XYVQ1h684pp1mJwOV4CyvqZXqbc8CMsMGUnAbuc82ZCdv1U63w5RSUzgDSXQHG5Rps/kiksH6g2D5BuaKyXg== dependencies: core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" @@ -350,13 +350,13 @@ atob@^2.1.2: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^10.2.4: - version "10.2.4" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.4.tgz#c0e7cf24fcc6a1ae5d6250c623f0cb8beef2f7e1" - integrity sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw== + version "10.2.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.5.tgz#096a0337dbc96c0873526d7fef5de4428d05382d" + integrity sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA== dependencies: - browserslist "^4.16.1" - caniuse-lite "^1.0.30001181" - colorette "^1.2.1" + browserslist "^4.16.3" + caniuse-lite "^1.0.30001196" + colorette "^1.2.2" fraction.js "^4.0.13" normalize-range "^0.1.2" postcss-value-parser "^4.1.0" @@ -562,7 +562,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.16.1: +browserslist@^4.16.3: version "4.16.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== @@ -677,10 +677,10 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001181: - version "1.0.30001196" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001196.tgz#00518a2044b1abf3e0df31fadbe5ed90b63f4e64" - integrity sha512-CPvObjD3ovWrNBaXlAIGWmg2gQQuJ5YhuciUOjPRox6hIQttu8O+b51dx6VIpIY9ESd2d0Vac1RKpICdG4rGUg== +caniuse-lite@^1.0.30001181, caniuse-lite@^1.0.30001196: + version "1.0.30001205" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz#d79bf6a6fb13196b4bb46e5143a22ca0242e0ef8" + integrity sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og== caseless@~0.12.0: version "0.12.0" @@ -866,9 +866,9 @@ color-name@^1.0.0: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.5.2: - version "1.5.4" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" - integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== + version "1.5.5" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" + integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" @@ -926,7 +926,7 @@ component-emitter@^1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -compute-scroll-into-view@^1.0.16: +compute-scroll-into-view@^1.0.17: version "1.0.17" resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab" integrity sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg== @@ -989,22 +989,22 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copy-props@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" - integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" + integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== dependencies: - each-props "^1.3.0" - is-plain-object "^2.0.1" + each-props "^1.3.2" + is-plain-object "^5.0.0" core-js-pure@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.9.1.tgz#677b322267172bd490e4464696f790cbc355bec5" - integrity sha512-laz3Zx0avrw9a4QEIdmIblnVuJz8W51leY9iLThatCsFawWxC3sE4guASC78JbCin+DkwMpCdp1AVAuzL/GN7A== + version "3.10.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.10.0.tgz#dab9d6b141779b622b40567e7a536d2276646c15" + integrity sha512-CC582enhrFZStO4F8lGI7QL3SYx7/AIRc+IdSi3btrQGrVsTawo5K/crmKbRrQ+MOMhNX4v+PATn0k2NN6wI7A== core-js@^3.6.4: - version "3.9.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.1.tgz#cec8de593db8eb2a85ffb0dbdeb312cb6e5460ae" - integrity sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg== + version "3.10.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.10.0.tgz#9a020547c8b6879f929306949e31496bbe2ae9b3" + integrity sha512-MQx/7TLgmmDVamSyfE+O+5BHvG1aUGj/gHhLn1wVtm2B5u1eVIPvh7vkfjwWKNCjrTJB8+He99IntSQ1qP+vYQ== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -1053,9 +1053,9 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: sha.js "^2.4.8" cross-fetch@^3.0.4: - version "3.0.6" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c" - integrity sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.3.tgz#b8e7d5f19161c4a0ca916f707978848786043afb" + integrity sha512-2i6v88DTqVBNODyjD9U6Ycn/uSZNvyHe25cIbo2fFnAACAsaLTJsd23miRWiR5NuiGXR9wpJ9d40/9WAhjDIrw== dependencies: node-fetch "2.6.1" @@ -1372,7 +1372,7 @@ duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -each-props@^1.3.0: +each-props@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== @@ -1399,9 +1399,9 @@ editorconfig@^0.15.3: sigmund "^1.0.1" electron-to-chromium@^1.3.649: - version "1.3.681" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.681.tgz#facd915ae46a020e8be566a2ecdc0b9444439be9" - integrity sha512-W6uYvSUTHuyX2DZklIESAqx57jfmGjUkd7Z3RWqLdj9Mmt39ylhBuvFXlskQnvBHj0MYXIeQI+mjiwVddZLSvA== + version "1.3.703" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.703.tgz#6d9b9a75c42a40775f5930329e642b22b227317f" + integrity sha512-SVBVhNB+4zPL+rvtWLw7PZQkw/Eqj1HQZs22xtcqW36+xoifzEOEEDEpkxSMfB6RFeSIOcG00w6z5mSqLr1Y6w== elliptic@^6.5.3: version "6.5.4" @@ -1965,9 +1965,9 @@ glob-parent@^3.1.0: path-dirname "^1.0.0" glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -2218,7 +2218,7 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-bigints@^1.0.0: +has-bigints@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== @@ -2228,7 +2228,7 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: +has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== @@ -2307,9 +2307,9 @@ he@1.1.1: integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= highlight.js@^10.6.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.6.0.tgz#0073aa71d566906965ba6e1b7be7b2682f5e18b6" - integrity sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ== + version "10.7.1" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.1.tgz#a8ec4152db24ea630c90927d6cae2a45f8ecb955" + integrity sha512-S6G97tHGqJ/U8DsXcEdnACbirtbx58Bx9CzIVeYli8OuswCfYI/LsXH2EiGcoGio1KAC3x4mmUwulOllJ2ZyRA== hmac-drbg@^1.0.1: version "1.0.1" @@ -2657,6 +2657,11 @@ is-plain-object@^3.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b" integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g== +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-promise@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" @@ -3335,9 +3340,9 @@ mustache@^3.0.0: integrity sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA== mustache@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.1.0.tgz#8c1b042238a982d2eb2d30efc6c14296ae3f699d" - integrity sha512-0FsgP/WVq4mKyjolIyX+Z9Bd+3WS8GOwoUTyKXT5cTYMGeauNTi2HPCwERqseC1IHAy0Z7MDZnJBfjabd4O8GQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" + integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== mute-stdout@^1.0.0: version "1.0.1" @@ -3349,10 +3354,10 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== -nanoid@^3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== +nanoid@^3.1.22: + version "3.1.22" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" + integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== nanomatch@^1.2.9: version "1.2.13" @@ -3961,12 +3966,12 @@ postcss@^7.0.16: supports-color "^6.1.0" postcss@^8.2.7: - version "8.2.7" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.7.tgz#48ed8d88b4de10afa0dfd1c3f840aa57b55c4d47" - integrity sha512-DsVLH3xJzut+VT+rYr0mtvOtpTjSyqDwPf5EZWXcb0uAKfitGpTY9Ec+afi2+TgdN8rWS9Cs88UDYehKo/RvOw== + version "8.2.9" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.9.tgz#fd95ff37b5cee55c409b3fdd237296ab4096fba3" + integrity sha512-b+TmuIL4jGtCHtoLi+G/PisuIl9avxs8IZMSmlABRwNz5RLUUACrC+ws81dcomz1nRezm5YPdXiMEzBEKgYn+Q== dependencies: colorette "^1.2.2" - nanoid "^3.1.20" + nanoid "^3.1.22" source-map "^0.6.1" pretty-hrtime@^1.0.0: @@ -4109,18 +4114,18 @@ randomfill@^1.0.3: safe-buffer "^5.1.0" react-dom@~17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6" - integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug== + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - scheduler "^0.20.1" + scheduler "^0.20.2" react@~17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127" - integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w== + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -4375,9 +4380,9 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: inherits "^2.0.1" rxjs@~7.0.0-beta.12: - version "7.0.0-beta.12" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.0.0-beta.12.tgz#5ad9f482030cf53ed3c613447b68b126650c934b" - integrity sha512-1AzVwquI9XTcI9Tmq3yq3KSzf+R8PX5lOPw1LcO6HJAbJGteScegAKgMaN3+O1kQ18ZWvDPQ23Fx8lvYZwCkYQ== + version "7.0.0-beta.14" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.0.0-beta.14.tgz#03f9d10d0b923715fc1a75c1e1d119b5a3882157" + integrity sha512-mXvWwjgZiZwka0r5dIbZnsYjx2WqeSpvFejNs8aJkxAP6lzy8xsjKpcsxasX5AnVXCKeTt/8rGrIG8N+8HR3qA== dependencies: tslib "~2.1.0" @@ -4425,20 +4430,20 @@ sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -scheduler@^0.20.1: - version "0.20.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c" - integrity sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw== +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" scroll-into-view-if-needed@^2.2.20: - version "2.2.27" - resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.27.tgz#c696e439bb50128abc558317b39c929907bd0620" - integrity sha512-BKiRstRm4u1bZvw+Wu9TxXhyMZ9fskb/9fbuSGuRzwHhlbKlDetL4dBdYaPfQbEFTttQmpkNtFH7sQpk4rZf9w== + version "2.2.28" + resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.28.tgz#5a15b2f58a52642c88c8eca584644e01703d645a" + integrity sha512-8LuxJSuFVc92+0AdNv4QOxRL4Abeo1DgLnGNkn1XlaujPH/3cCFz3QI60r2VNu4obJJROzgnIUw5TKQkZvZI1w== dependencies: - compute-scroll-into-view "^1.0.16" + compute-scroll-into-view "^1.0.17" scss-tokenizer@^0.2.3: version "0.2.3" @@ -4499,9 +4504,9 @@ shadow-cljs-jar@1.3.2: integrity sha512-XmeffAZHv8z7451kzeq9oKh8fh278Ak+UIOGGrapyqrFBB773xN8vMQ3O7J7TYLnb9BUwcqadKkmgaq7q6fhZg== shadow-cljs@^2.11.20: - version "2.11.20" - resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-2.11.20.tgz#fa814b74a7fa7909ff056994a80f8f7435881046" - integrity sha512-TmZp1Hjp49oziqaTdBYwO0qzvoVMYa+O5c7rwdfO334bdYhTPMmJJeG/EbeJpRvLAKErjbxGmY4P28rqfPmZ3w== + version "2.12.0" + resolved "https://registry.yarnpkg.com/shadow-cljs/-/shadow-cljs-2.12.0.tgz#468903b2eaff9e3c9c52c3db2c756e55cb7f0e0a" + integrity sha512-w/YaFdB3IFYMe6av+1JwLQg1PPfDfnkeF537X5t1seYB3nRw9NWXgIfGtyZ7d0Iavw+0HQi7iWWiVMt6+yrWyA== dependencies: node-libs-browser "^2.2.1" readline-sync "^1.4.7" @@ -5173,9 +5178,9 @@ type@^1.0.1: integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.3.0.tgz#ada7c045f07ead08abf9e2edd29be1a0c0661132" - integrity sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg== + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== typedarray@^0.0.6: version "0.0.6" @@ -5183,9 +5188,9 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= ua-parser-js@^0.7.18: - version "0.7.24" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.24.tgz#8d3ecea46ed4f1f1d63ec25f17d8568105dc027c" - integrity sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw== + version "0.7.26" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.26.tgz#b3731860e241419abd5b542b1a0881070d92e0ce" + integrity sha512-VwIvGlFNmpKbjzRt51jpbbFTrKIEgGHxIwA8Y69K1Bqc6bTIV7TaGGABOkghSFQWsLmcRB4drGvpfv9z2szqoQ== ultron@~1.1.0: version "1.1.1" @@ -5193,14 +5198,14 @@ ultron@~1.1.0: integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== unbox-primitive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.0.tgz#eeacbc4affa28e9b3d36b5eaeccc50b3251b1d3f" - integrity sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA== + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== dependencies: function-bind "^1.1.1" - has-bigints "^1.0.0" - has-symbols "^1.0.0" - which-boxed-primitive "^1.0.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" unc-path-regex@^0.1.2: version "0.1.2" @@ -5412,7 +5417,7 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -which-boxed-primitive@^1.0.1: +which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== From a5994140e2cfa87069a0feb81bb6d0f30fa81455 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 31 Mar 2021 14:25:07 +0200 Subject: [PATCH 4/5] :paperclip: Fix linter issues. --- backend/src/app/config.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/app/config.clj b/backend/src/app/config.clj index a7ff21a3c..ec5cb77d6 100644 --- a/backend/src/app/config.clj +++ b/backend/src/app/config.clj @@ -15,8 +15,8 @@ [app.common.version :as v] [app.util.time :as dt] [clojure.core :as c] - [clojure.pprint :as pprint] [clojure.java.io :as io] + [clojure.pprint :as pprint] [clojure.spec.alpha :as s] [cuerdas.core :as str] [environ.core :refer [env]])) From 1e642bba8f18155b950babc5abe068bbdf5e5f83 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 31 Mar 2021 14:48:28 +0200 Subject: [PATCH 5/5] :paperclip: Update changelog. --- CHANGES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index efe24c301..0dc19a480 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,12 +4,17 @@ ### :sparkles: New features +- Add integration with gitpod.io (an online IDE) [#807](https://github.com/penpot/penpot/pull/807) + + ### :bug: Bugs fixed ### :arrow_up: Deps updates ### :heart: Community contributions by (Thank you!) +- madmath03 (by [Monogramm](https://github.com/Monogramm)) [#807](https://github.com/penpot/penpot/pull/807) + ## 1.4.0-alpha