Merge remote-tracking branch 'origin/master' into sevey/add-skapps-to-health-checl

This commit is contained in:
Karol Wypchlo 2020-09-18 12:22:05 +02:00
commit 7335dd4dbf
24 changed files with 642 additions and 881 deletions

View File

@ -32,7 +32,11 @@ services:
- 9980 - 9980
sia-upload: sia-upload:
image: nebulouslabs/sia:1.5.0.2 build:
context: ./docker/sia
dockerfile: Dockerfile
args:
branch: v1.5.0
container_name: sia-upload container_name: sia-upload
restart: unless-stopped restart: unless-stopped
environment: environment:

View File

@ -9,6 +9,7 @@ limit_conn_status 429;
# as the request address so we need to use real_ip_header module to use ip address from # as the request address so we need to use real_ip_header module to use ip address from
# X-Forwarded-For header as a real ip address of the request # X-Forwarded-For header as a real ip address of the request
set_real_ip_from 10.0.0.0/8; set_real_ip_from 10.0.0.0/8;
set_real_ip_from 127.0.0.1/32;
set_real_ip_from 172.16.0.0/12; set_real_ip_from 172.16.0.0/12;
set_real_ip_from 192.168.0.0/16; set_real_ip_from 192.168.0.0/16;
real_ip_header X-Forwarded-For; real_ip_header X-Forwarded-For;
@ -127,10 +128,47 @@ server {
} }
location /hns { location /hns {
include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/proxy-buffer; include /etc/nginx/conf.d/include/proxy-buffer;
proxy_pass http://handshake-api:3100; set $skylink ''; # placeholder for the raw 46 bit skylink
set $rest ''; # placeholder for the rest of the url that gets appended to skylink (path and args)
# resolve handshake domain by requesting to /hnsres endpoint and assign correct values to $skylink and $rest
access_by_lua_block {
local json = require('cjson')
local hns_domain_name, request_uri_rest = string.match(ngx.var.request_uri, "/hns/([^/?]+)(.*)")
local hnsres_res = ngx.location.capture("/hnsres/" .. hns_domain_name)
if hnsres_res.status ~= ngx.HTTP_OK then
ngx.exit(ngx.HTTP_NOT_FOUND)
end
local hnsres_json = json.decode(hnsres_res.body)
local skylink_prefix, skylink, skylink_rest = string.match(hnsres_json.skylink, "(sia://)([^/?]+)(.*)")
ngx.var.skylink = skylink
if request_uri_rest == "" or (request_uri_rest == "/" and skylink_rest ~= "") then
ngx.var.rest = skylink_rest
else
ngx.var.rest = request_uri_rest
end
}
# overwrite the Cache-Control header to only cache for 60s in case the domain gets updated
more_set_headers 'Cache-Control: public, max-age=60';
# we proxy to another nginx location rather than directly to siad because we don't want to deal with caching here
proxy_pass http://127.0.0.1/$skylink$rest;
# in case siad returns location header, we need to replace the skylink with the domain name
header_filter_by_lua_block {
if ngx.header.location then
local hns_domain_name = string.match(ngx.var.request_uri, "/hns/([^/?]+)")
local location = string.gsub(ngx.header.location, ngx.var.skylink, hns_domain_name)
ngx.header.location = location
end
}
} }
location /hnsres { location /hnsres {

View File

@ -2,7 +2,7 @@ proxy_cache skynet;
slice 1m; slice 1m;
proxy_http_version 1.1; # upgrade if necessary because 1.0 does not support byte-range requests proxy_http_version 1.1; # upgrade if necessary because 1.0 does not support byte-range requests
proxy_set_header Range $slice_range; # pass slice range to proxy proxy_set_header Range $slice_range; # pass slice range to proxy
proxy_cache_key $uri$slice_range; # include $slice_range in the cache key proxy_cache_key $subdomain$uri$slice_range; # include both the $subdomain and $slice_range in the cache key
proxy_cache_min_uses 3; # cache responses after 3 requests of the same file proxy_cache_min_uses 3; # cache responses after 3 requests of the same file
proxy_cache_valid 200 206 24h; # cache 200 and 206 responses for 24 hours proxy_cache_valid 200 206 24h; # cache 200 and 206 responses for 24 hours
proxy_cache_bypass $cookie_nocache $arg_nocache; # add cache bypass option proxy_cache_bypass $cookie_nocache $arg_nocache; # add cache bypass option

View File

@ -8,6 +8,6 @@ ARG branch=master
RUN git clone https://gitlab.com/NebulousLabs/Sia.git --single-branch --branch ${branch} RUN git clone https://gitlab.com/NebulousLabs/Sia.git --single-branch --branch ${branch}
RUN make release --directory Sia RUN make release --directory Sia
FROM nebulouslabs/sia:1.5.0.2 FROM nebulouslabs/sia:1.5.0.3
COPY --from=sia-builder /go/bin/siac /go/bin/siad /usr/bin/ COPY --from=sia-builder /go/bin/siac /go/bin/siad /usr/bin/

View File

View File

@ -5,7 +5,6 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"express": "^4.17.1", "express": "^4.17.1",
"express-http-proxy": "^1.6.2",
"hs-client": "^0.0.9", "hs-client": "^0.0.9",
"node-cache": "^5.1.2" "node-cache": "^5.1.2"
}, },

View File

@ -1,6 +1,4 @@
const url = require("url");
const express = require("express"); const express = require("express");
const proxy = require("express-http-proxy");
const NodeCache = require("node-cache"); const NodeCache = require("node-cache");
const { NodeClient } = require("hs-client"); const { NodeClient } = require("hs-client");
@ -76,42 +74,6 @@ function isValidSkylink(link) {
const server = express(); const server = express();
server.use(
"/hns/:name",
proxy("nginx", {
// eslint-disable-next-line no-unused-vars
userResHeaderDecorator(headers, userReq, userRes, proxyReq, proxyRes) {
if (headers.location && headers.location.match(startsWithSkylinkRegExp)) {
headers.location = headers.location.replace(
startsWithSkylinkRegExp,
`/hns/${userReq.params.name.replace("sia://", "")}`
);
}
return headers;
},
proxyReqPathResolver: async (req) => {
const records = await getDomainRecords(req.params.name);
if (!records) throw new Error(`No records found for ${req.params.name}`);
const record = findSkylinkRecord(records);
if (!record) throw new Error(`No skylink found in dns records of ${req.params.name}`);
const skylink = getSkylinkFromRecord(record).replace("sia://", ""); // get skylink and strip sia:// prefix
const basepath = url.resolve("/", skylink); // make the url absolute
const subpath = req.url.slice(1); // drop the leading slash
// if the record is just a raw skylink, replace baseUrl with /skylink
if (skylink.length === 46) {
return req.originalUrl.replace(req.baseUrl, basepath);
}
// if the record contains more than a skylink then it needs to be resolved
return url.resolve(basepath, subpath);
},
})
);
server.get("/hnsres/:name", resolveDomainHandler); server.get("/hnsres/:name", resolveDomainHandler);
server.listen(port, host, (error) => { server.listen(port, host, (error) => {

View File

View File

View File

@ -19,7 +19,8 @@ context("Skynet", () => {
cy.get('.home-upload input[type="file"]').attachFile(fileName); cy.get('.home-upload input[type="file"]').attachFile(fileName);
cy.get(".home-uploaded-files").children().should("have.length", 1).scrollIntoView(); cy.get(".home-upload").scrollIntoView();
cy.get(".home-uploaded-files").children().should("have.length", 1);
// wait max 2 minutes, the portal might be slow at times // wait max 2 minutes, the portal might be slow at times
cy.wait("@upload", { responseTimeout: 2 * 60 * 1000 }); cy.wait("@upload", { responseTimeout: 2 * 60 * 1000 });

View File

@ -7,7 +7,7 @@
"axios": "0.20.0", "axios": "0.20.0",
"bytes": "3.1.0", "bytes": "3.1.0",
"classnames": "2.2.6", "classnames": "2.2.6",
"gatsby": "2.24.54", "gatsby": "2.24.57",
"gatsby-image": "2.4.17", "gatsby-image": "2.4.17",
"gatsby-plugin-manifest": "2.4.28", "gatsby-plugin-manifest": "2.4.28",
"gatsby-plugin-matomo": "0.8.3", "gatsby-plugin-matomo": "0.8.3",
@ -15,10 +15,10 @@
"gatsby-plugin-remove-serviceworker": "1.0.0", "gatsby-plugin-remove-serviceworker": "1.0.0",
"gatsby-plugin-robots-txt": "1.5.1", "gatsby-plugin-robots-txt": "1.5.1",
"gatsby-plugin-sass": "2.3.12", "gatsby-plugin-sass": "2.3.12",
"gatsby-plugin-sharp": "2.6.33", "gatsby-plugin-sharp": "2.6.35",
"gatsby-source-filesystem": "2.3.28", "gatsby-source-filesystem": "2.3.29",
"gatsby-transformer-sharp": "2.5.14", "gatsby-transformer-sharp": "2.5.14",
"http-status-codes": "2.1.2", "http-status-codes": "2.1.3",
"jsonp": "0.2.1", "jsonp": "0.2.1",
"node-sass": "4.14.1", "node-sass": "4.14.1",
"path-browserify": "1.0.1", "path-browserify": "1.0.1",
@ -26,11 +26,10 @@
"react": "16.13.1", "react": "16.13.1",
"react-countup": "4.3.3", "react-countup": "4.3.3",
"react-dom": "16.13.1", "react-dom": "16.13.1",
"react-dropzone": "11.0.3", "react-dropzone": "11.1.0",
"react-helmet": "6.1.0", "react-helmet": "6.1.0",
"react-mailchimp-form": "1.0.2", "react-mailchimp-form": "1.0.2",
"react-mailchimp-subscribe": "2.1.0", "react-mailchimp-subscribe": "2.1.0",
"react-reveal": "1.2.2",
"react-syntax-highlighter": "13.5.3", "react-syntax-highlighter": "13.5.3",
"react-visibility-sensor": "5.1.1", "react-visibility-sensor": "5.1.1",
"skynet-js": "0.0.8", "skynet-js": "0.0.8",
@ -39,7 +38,7 @@
"devDependencies": { "devDependencies": {
"cypress": "5.1.0", "cypress": "5.1.0",
"cypress-file-upload": "4.1.1", "cypress-file-upload": "4.1.1",
"eslint": "7.8.1", "eslint": "7.9.0",
"eslint-config-prettier": "6.11.0", "eslint-config-prettier": "6.11.0",
"eslint-plugin-cypress": "2.11.1", "eslint-plugin-cypress": "2.11.1",
"eslint-plugin-react": "7.20.6", "eslint-plugin-react": "7.20.6",

View File

@ -1,6 +1,4 @@
import React from "react"; import React from "react";
import Fade from "react-reveal/Fade";
import Reveal from "react-reveal/Reveal";
import { FooterOrb, FooterCube, Built } from "../../svg"; import { FooterOrb, FooterCube, Built } from "../../svg";
import "./Footer.scss"; import "./Footer.scss";
@ -8,164 +6,150 @@ import { Mailing } from "..";
export default function Footer() { export default function Footer() {
return ( return (
<Reveal effect="active"> <footer className="footer" id="footer">
<footer className="footer" id="footer"> <div className="width">
<div className="width"> <div className="footer-column">
<Fade duration={700} distance="40px" bottom> <Built width={120} height={120} preserveAspectRatio={"xMinYMin"} />
<div className="footer-column">
<Built width={120} height={120} preserveAspectRatio={"xMinYMin"} />
</div>
</Fade>
<div className="footer-column">
<Fade duration={700} distance="40px" bottom>
<h2>Skynet Webportals</h2>
<ul>
<li>
<a href="https://skydrain.net" target="_blank" rel="noopener noreferrer">
skydrain.net
</a>
</li>
<li>
<a href="https://sialoop.net" target="_blank" rel="noopener noreferrer">
sialoop.net
</a>
</li>
<li>
<a href="https://skynet.luxor.tech" target="_blank" rel="noopener noreferrer">
skynet.luxor.tech
</a>
</li>
<li>
<a href="https://skynet.tutemwesi.com" target="_blank" rel="noopener noreferrer">
skynet.tutemwesi.com
</a>
</li>
<li>
<a href="https://siacdn.com" target="_blank" rel="noopener noreferrer">
siacdn.com
</a>
</li>
<li>
<a href="https://vault.lightspeedhosting.com" target="_blank" rel="noopener noreferrer">
vault.lightspeedhosting.com
</a>
</li>
</ul>
</Fade>
</div>
<div className="footer-column">
<Fade duration={700} distance="40px" bottom>
<h2>For Developers</h2>
<ul>
<li>
<a href="https://blog.sia.tech/skynet-bdf0209d6d34" target="_blank" rel="noopener noreferrer">
Skynet Overview
</a>
</li>
<li>
<a href="https://sia.tech/docs/#skynet" target="_blank" rel="noopener noreferrer">
API Docs
</a>
</li>
<li>
<a
href="https://github.com/NebulousLabs/skynet-webportal/blob/master/setup-scripts/README.md"
target="_blank"
rel="noopener noreferrer"
>
Portal Setup
</a>
</li>
<li>
<a
href="https://support.siasky.net/article/vmmzyes1uy-skynet-sia-set-up"
target="_blank"
rel="noopener noreferrer"
>
Sia Node Setup
</a>
</li>
</ul>
</Fade>
</div>
<div className="footer-column">
<Fade duration={700} distance="40px" bottom>
<h2>Social</h2>
<ul>
<li>
<a href="https://twitter.com/siatechhq" target="_blank" rel="noopener noreferrer">
Twitter
</a>
</li>
<li>
<a href="https://discord.gg/sia" target="_blank" rel="noopener noreferrer">
Discord
</a>
</li>
<li>
<a href="https://www.reddit.com/r/siacoin" target="_blank" rel="noopener noreferrer">
Reddit
</a>
</li>
<li>
<a href="https://blog.sia.tech" target="_blank" rel="noopener noreferrer">
Blog
</a>
</li>
</ul>
</Fade>
</div>
<div className="footer-column">
<Fade duration={700} distance="40px" bottom>
<h2>Links</h2>
<ul>
<li>
<a href="https://sia.tech/" target="_blank" rel="noopener noreferrer">
Sia.tech
</a>
</li>
<li>
<a href="https://jobs.lever.co/nebulous" target="_blank" rel="noopener noreferrer">
Jobs
</a>
</li>
<li>
<a href="https://support.siasky.net" target="_blank" rel="noopener noreferrer">
Support
</a>
</li>
<li>
<a href="terms.pdf" target="_blank" rel="noopener noreferrer">
Terms
</a>
</li>
<li>
<a href="privacy.pdf" target="_blank" rel="noopener noreferrer">
Privacy
</a>
</li>
</ul>
</Fade>
</div>
<div className="footer-column">
<Fade duration={700} distance="40px" bottom>
<h2>Stay up to date with Skynet updates</h2>
<Mailing id="mailing-bottom" light />
</Fade>
</div>
</div> </div>
<FooterCube className="footer-cube fadeInUp delay2" /> <div className="footer-column">
<FooterOrb className="footer-orb fadeInUp delay2" /> <h2>Skynet Webportals</h2>
</footer>
</Reveal> <ul>
<li>
<a href="https://skydrain.net" target="_blank" rel="noopener noreferrer">
skydrain.net
</a>
</li>
<li>
<a href="https://sialoop.net" target="_blank" rel="noopener noreferrer">
sialoop.net
</a>
</li>
<li>
<a href="https://skynet.luxor.tech" target="_blank" rel="noopener noreferrer">
skynet.luxor.tech
</a>
</li>
<li>
<a href="https://skynet.tutemwesi.com" target="_blank" rel="noopener noreferrer">
skynet.tutemwesi.com
</a>
</li>
<li>
<a href="https://siacdn.com" target="_blank" rel="noopener noreferrer">
siacdn.com
</a>
</li>
<li>
<a href="https://vault.lightspeedhosting.com" target="_blank" rel="noopener noreferrer">
vault.lightspeedhosting.com
</a>
</li>
</ul>
</div>
<div className="footer-column">
<h2>For Developers</h2>
<ul>
<li>
<a href="https://blog.sia.tech/skynet-bdf0209d6d34" target="_blank" rel="noopener noreferrer">
Skynet Overview
</a>
</li>
<li>
<a href="https://sia.tech/docs/#skynet" target="_blank" rel="noopener noreferrer">
API Docs
</a>
</li>
<li>
<a
href="https://github.com/NebulousLabs/skynet-webportal/blob/master/setup-scripts/README.md"
target="_blank"
rel="noopener noreferrer"
>
Portal Setup
</a>
</li>
<li>
<a
href="https://support.siasky.net/article/vmmzyes1uy-skynet-sia-set-up"
target="_blank"
rel="noopener noreferrer"
>
Sia Node Setup
</a>
</li>
</ul>
</div>
<div className="footer-column">
<h2>Social</h2>
<ul>
<li>
<a href="https://twitter.com/siatechhq" target="_blank" rel="noopener noreferrer">
Twitter
</a>
</li>
<li>
<a href="https://discord.gg/sia" target="_blank" rel="noopener noreferrer">
Discord
</a>
</li>
<li>
<a href="https://www.reddit.com/r/siacoin" target="_blank" rel="noopener noreferrer">
Reddit
</a>
</li>
<li>
<a href="https://blog.sia.tech" target="_blank" rel="noopener noreferrer">
Blog
</a>
</li>
</ul>
</div>
<div className="footer-column">
<h2>Links</h2>
<ul>
<li>
<a href="https://sia.tech/" target="_blank" rel="noopener noreferrer">
Sia.tech
</a>
</li>
<li>
<a href="https://jobs.lever.co/nebulous" target="_blank" rel="noopener noreferrer">
Jobs
</a>
</li>
<li>
<a href="https://support.siasky.net" target="_blank" rel="noopener noreferrer">
Support
</a>
</li>
<li>
<a href="terms.pdf" target="_blank" rel="noopener noreferrer">
Terms
</a>
</li>
<li>
<a href="privacy.pdf" target="_blank" rel="noopener noreferrer">
Privacy
</a>
</li>
</ul>
</div>
<div className="footer-column">
<h2>Stay up to date with Skynet updates</h2>
<Mailing id="mailing-bottom" light />
</div>
</div>
<FooterCube className="footer-cube" />
<FooterOrb className="footer-orb" />
</footer>
); );
} }

View File

@ -1,5 +1,4 @@
import React from "react"; import React from "react";
import Fade from "react-reveal/Fade";
import "./HomeBuilt.scss"; import "./HomeBuilt.scss";
import { CircleIcon, CodeExamples } from "../"; import { CircleIcon, CodeExamples } from "../";
@ -9,31 +8,25 @@ export default function HomeBuilt() {
return ( return (
<div className="home-built"> <div className="home-built">
<header className="home-built-header"> <header className="home-built-header">
<Fade duration={700} distance="40px" bottom> <div className="home-built-divider">
<div className="home-built-divider"> <div className="small-divider" />
<div className="small-divider" /> <div className="divider" />
<div className="divider" /> <SmallOrb className="small-orb" />
<SmallOrb className="small-orb" /> <CircleIcon>
<CircleIcon> <Cylinder />
<Cylinder /> </CircleIcon>
</CircleIcon> <SmallOrb className="small-orb" />
<SmallOrb className="small-orb" /> <div className="divider" />
<div className="divider" /> <div className="small-divider" />
<div className="small-divider" /> </div>
</div> <h2>
</Fade> Infrastructure built for
<Fade duration={700} distance="40px" bottom> <br />
<h2> <strong>application developers</strong>
Infrastructure built for </h2>
<br />
<strong>application developers</strong>
</h2>
</Fade>
</header> </header>
<Fade duration={700} distance="40px" bottom> <CodeExamples />
<CodeExamples />
</Fade>
</div> </div>
); );
} }

View File

@ -2,7 +2,6 @@ import React, { useState } from "react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import CountUp from "react-countup"; import CountUp from "react-countup";
import VisibilitySensor from "react-visibility-sensor"; import VisibilitySensor from "react-visibility-sensor";
import Fade from "react-reveal/Fade";
import useStats, { AVAILABLE_STATS } from "./useStats"; import useStats, { AVAILABLE_STATS } from "./useStats";
import "./HomeNetwork.scss"; import "./HomeNetwork.scss";
@ -29,147 +28,126 @@ export default function HomeNetwork() {
return ( return (
<div className="home-network"> <div className="home-network">
<header className="home-network-header"> <header className="home-network-header">
<Fade duration={700} distance="40px" bottom> <div className="home-network-divider">
<div className="home-network-divider"> <CircleIcon>
<CircleIcon> <LogoSolid />
<LogoSolid /> </CircleIcon>
</CircleIcon> <SmallOrb />
<SmallOrb /> <div className="divider"></div>
<div className="divider"></div> <div className="small-divider"></div>
<div className="small-divider"></div> </div>
</div> <h2>
</Fade> Sia
<Fade duration={700} distance="40px" bottom> <br />
<h2> <strong>Network</strong>
Sia </h2>
<br />
<strong>Network</strong>
</h2>
</Fade>
</header> </header>
<Fade duration={700} distance="40px" bottom> <VisibilitySensor onChange={onChange} partialVisibility offset={{ bottom: 100 }} scrollThrottle={50}>
<VisibilitySensor onChange={onChange} partialVisibility offset={{ bottom: 100 }} scrollThrottle={50}> <React.Fragment>
<React.Fragment> <div className="home-network-stats">
<div className="home-network-stats"> {STATS_MAP.map((stat, i) => (
{STATS_MAP.map((stat, i) => ( <React.Fragment key={i}>
<React.Fragment key={i}> <div key={i} className="home-network-stat">
<div key={i} className="home-network-stat"> <div className="inner">
<div className="inner"> {visible && <StatValue stat={stat} value={stats[stat.key]} />}
{visible && <StatValue stat={stat} value={stats[stat.key]} />} <span className="network-stat-name">{stat.name}</span>
<span className="network-stat-name">{stat.name}</span>
</div>
</div> </div>
{i !== 4 && <div className="divider" />} </div>
</React.Fragment> {i !== 4 && <div className="divider" />}
))} </React.Fragment>
<Deco6 className="deco-6" /> ))}
<Deco7 className="deco-7" /> <Deco6 className="deco-6" />
<Deco8 className="deco-8" /> <Deco7 className="deco-7" />
</div> <Deco8 className="deco-8" />
<div className="home-network-stats-provider"> </div>
stats provided by{" "} <div className="home-network-stats-provider">
<a href="https://siastats.info" target="_blank" rel="noopener noreferrer"> stats provided by{" "}
siastats.info <a href="https://siastats.info" target="_blank" rel="noopener noreferrer">
</a> siastats.info
</div> </a>
</React.Fragment> </div>
</VisibilitySensor> </React.Fragment>
</Fade> </VisibilitySensor>
<div className="home-network-columns"> <div className="home-network-columns">
<div className="home-network-column left"> <div className="home-network-column left">
<Fade duration={700} distance="40px" bottom> <p>
<p> <strong>Skynet Webportals</strong> are low cost servers that sit between Skynet and everyday users, enabling
<strong>Skynet Webportals</strong> are low cost servers that sit between Skynet and everyday users, them to access Skynet content without needing to operate any special software. As Skylinks are generated,
enabling them to access Skynet content without needing to operate any special software. As Skylinks are they can be shared with anyone to retrieve data from any Webportal. The original uploader does not need to
generated, they can be shared with anyone to retrieve data from any Webportal. The original uploader does stay online in order for the file to remain available. The Sia network serves as the backend storage layer
not need to stay online in order for the file to remain available. The Sia network serves as the backend for Skynet and handles all of the pinning, guaranteeing both high speeds and excellent uptime.
storage layer for Skynet and handles all of the pinning, guaranteeing both high speeds and excellent </p>
uptime.
</p>
</Fade>
<Fade duration={700} distance="40px" bottom> <p>
<p> <strong>Sia</strong> is the leading decentralized cloud storage platform. No signups, no servers, no trusted
<strong>Sia</strong> is the leading decentralized cloud storage platform. No signups, no servers, no third parties. Sia leverages blockchain technology to create a data storage marketplace that is more robust
trusted third parties. Sia leverages blockchain technology to create a data storage marketplace that is and more affordable than traditional cloud storage providers.
more robust and more affordable than traditional cloud storage providers. </p>
</p>
<p> <p>
<a className="more" href="https://sia.tech/" target="_blank" rel="noopener noreferrer"> <a className="more" href="https://sia.tech/" target="_blank" rel="noopener noreferrer">
Learn more about Sia Learn more about Sia
</a> </a>
</p> </p>
</Fade>
</div> </div>
<div className="home-network-column"> <div className="home-network-column">
<Fade duration={700} distance="40px" bottom> <FAQ title="How do I use Skynet?">
<FAQ title="How do I use Skynet?"> <p>
<p> Anyone can access files that have been uploaded to Skynet as long as they possess the corresponding
Anyone can access files that have been uploaded to Skynet as long as they possess the corresponding Skylinks. You can use any Webportal to download files!
Skylinks. You can use any Webportal to download files! <a
<a href="https://skynet.helpdocs.io/article/3p9z5g9s0e-skynet-how-to"
href="https://skynet.helpdocs.io/article/3p9z5g9s0e-skynet-how-to" target="_blank"
target="_blank" rel="noopener noreferrer"
rel="noopener noreferrer" className="more read-more"
className="more read-more" >
> read more
read more </a>
</a> </p>
</p> </FAQ>
</FAQ>
</Fade>
<Fade duration={700} distance="40px" bottom> <FAQ title="How do I integrate Skynet into my app?">
<FAQ title="How do I integrate Skynet into my app?"> <p>
<p> Applications can be deployed in under a minute and be immediately available globally. Skynet includes an
Applications can be deployed in under a minute and be immediately available globally. Skynet includes an API and SDKs which integrate seamlessly with existing applications.
API and SDKs which integrate seamlessly with existing applications. <a
<a href="https://skynet.helpdocs.io/article/hrshqsn9wz-integrating-skynet"
href="https://skynet.helpdocs.io/article/hrshqsn9wz-integrating-skynet" target="_blank"
target="_blank" rel="noopener noreferrer"
rel="noopener noreferrer" className="more read-more"
className="more read-more" >
> read more
read more </a>
</a> </p>
</p> </FAQ>
</FAQ>
</Fade>
<Fade duration={700} distance="40px" bottom> <FAQ title="How fast is Skynet?">
<FAQ title="How fast is Skynet?"> <p>
<p> Skynet&apos;s speeds rival centralized providers and surpass all decentralized offerings. A typical Skynet
Skynet&apos;s speeds rival centralized providers and surpass all decentralized offerings. A typical download starts in under 500 ms and can stream at rates as high as 1 Gbps!
Skynet download starts in under 500 ms and can stream at rates as high as 1 Gbps! <a
<a href="https://skynet.helpdocs.io/article/430teoxgqc-skynet-speed"
href="https://skynet.helpdocs.io/article/430teoxgqc-skynet-speed" target="_blank"
target="_blank" rel="noopener noreferrer"
rel="noopener noreferrer" className="more read-more"
className="more read-more" >
> read more
read more </a>
</a> </p>
</p> </FAQ>
</FAQ>
</Fade>
<Fade duration={700} distance="40px" bottom> <FAQ title="How much does it cost to run a Webportal?">
<FAQ title="How much does it cost to run a Webportal?"> <p>
<p> Storage costs 10x lower than centralized providers and bandwidth costs are 100x lower without
Storage costs 10x lower than centralized providers and bandwidth costs are 100x lower without sacrificing performance or reliability.
sacrificing performance or reliability. </p>
</p> </FAQ>
</FAQ>
</Fade>
<Fade duration={700} distance="40px" bottom> <a className="more more-faq" href="https://support.siasky.net" target="_blank" rel="noopener noreferrer">
<a className="more more-faq" href="https://support.siasky.net" target="_blank" rel="noopener noreferrer"> View more FAQ
View more FAQ </a>
</a>
</Fade>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,6 +1,4 @@
import React from "react"; import React from "react";
import Fade from "react-reveal/Fade";
import Reveal from "react-reveal/Reveal";
import "./HomeSamples.scss"; import "./HomeSamples.scss";
import { Sample } from "../"; import { Sample } from "../";
@ -18,51 +16,37 @@ const samples = [
export default function HomeSamples() { export default function HomeSamples() {
return ( return (
<div className="home-samples"> <div className="home-samples">
<Fade duration={700} distance="40px" bottom> <p>Above are some code snippets for uploading and retrieving data.</p>
<p>Above are some code snippets for uploading and retrieving data.</p> <p>
<p> Skynet includes{" "}
Skynet includes{" "} <a href="https://nebulouslabs.github.io/skynet-docs" target="_blank" rel="noopener noreferrer" className="link">
<a SDKs
href="https://nebulouslabs.github.io/skynet-docs" </a>{" "}
target="_blank" for popular programming languages and{" "}
rel="noopener noreferrer" <a href="https://sia.tech/docs/#skynet" target="_blank" rel="noopener noreferrer" className="link">
className="link" APIs
> </a>{" "}
SDKs that integrate seamlessly with your existing apps. You can follow these guides to start using Skynet with{" "}
</a>{" "} <a href="https://github.com/NebulousLabs/skynet-cli" target="_blank" rel="noopener noreferrer" className="link">
for popular programming languages and{" "} the Skynet CLI
<a href="https://sia.tech/docs/#skynet" target="_blank" rel="noopener noreferrer" className="link"> </a>{" "}
APIs and{" "}
</a>{" "} <a
that integrate seamlessly with your existing apps. You can follow these guides to start using Skynet with{" "} href="https://blog.sia.tech/the-skynet-sdks-751b35578b20"
<a target="_blank"
href="https://github.com/NebulousLabs/skynet-cli" rel="noopener noreferrer"
target="_blank" className="link"
rel="noopener noreferrer" >
className="link" integrate Skynet
> </a>{" "}
the Skynet CLI into your application.
</a>{" "} </p>
and{" "}
<a
href="https://blog.sia.tech/the-skynet-sdks-751b35578b20"
target="_blank"
rel="noopener noreferrer"
className="link"
>
integrate Skynet
</a>{" "}
into your application.
</p>
</Fade>
<Reveal effect="active"> <div className="home-samples-samples">
<div className="home-samples-samples"> {samples.map((sample, i) => (
{samples.map((sample, i) => ( <Sample key={`${i}-${sample.url}`} {...sample} />
<Sample className={`fadeInUp delay${i + 1}`} key={`${i}-${sample.url}`} {...sample} /> ))}
))} </div>
</div>
</Reveal>
</div> </div>
); );
} }

View File

@ -1,5 +1,4 @@
import React, { Component } from "react"; import React, { Component } from "react";
import Fade from "react-reveal/Fade";
import "./HomeStay.scss"; import "./HomeStay.scss";
import { SocialLink, CircleIcon, Mailing } from "../"; import { SocialLink, CircleIcon, Mailing } from "../";
@ -10,65 +9,53 @@ export default class HomeStay extends Component {
return ( return (
<div className="home-stay"> <div className="home-stay">
<header className="home-stay-header"> <header className="home-stay-header">
<Fade duration={700} distance="40px" bottom> <div className="home-stay-divider">
<div className="home-stay-divider"> <CircleIcon>
<CircleIcon> <Pyramid />
<Pyramid /> </CircleIcon>
</CircleIcon> <SmallOrb />
<SmallOrb /> <div className="divider" />
<div className="divider" /> <div className="small-divider" />
<div className="small-divider" /> </div>
</div>
</Fade>
</header> </header>
<div className="home-stay-flex"> <div className="home-stay-flex">
<div className="home-stay-left"> <div className="home-stay-left">
<header className="home-stay-header"> <header className="home-stay-header">
<Fade duration={700} distance="40px" bottom> <h2>
<h2> Stay up to date with
Stay up to date with <br />
<br /> <strong>Skynet updates</strong>
<strong>Skynet updates</strong> </h2>
</h2>
</Fade>
</header> </header>
<Fade duration={700} distance="40px" bottom> <Mailing id="mailing-top" />
<Mailing id="mailing-top" />
</Fade>
</div> </div>
<ul className="home-stay-right"> <ul className="home-stay-right">
<Fade duration={700} distance="40px" bottom> <li>
<li> <SocialLink
<SocialLink icon="github"
icon="github" url="https://github.com/NebulousLabs/skynet-webportal"
url="https://github.com/NebulousLabs/skynet-webportal" greenText="View project on Github"
greenText="View project on Github" title={<strong>/Skynet-Webportal</strong>}
title={<strong>/Skynet-Webportal</strong>} />
/> </li>
</li> <li>
</Fade> <SocialLink
<Fade duration={700} distance="40px" bottom> icon="discord"
<li> url="https://discord.gg/sia"
<SocialLink greenText="View project on Discord"
icon="discord" title={<strong>/Sia</strong>}
url="https://discord.gg/sia" />
greenText="View project on Discord" </li>
title={<strong>/Sia</strong>} <li>
/> <SocialLink
</li> icon="twitter"
</Fade> url="https://twitter.com/SiaTechHQ"
<Fade duration={700} distance="40px" bottom> greenText="View project on Twitter"
<li> title={<strong>@SiaTechHQ</strong>}
<SocialLink />
icon="twitter" </li>
url="https://twitter.com/SiaTechHQ"
greenText="View project on Twitter"
title={<strong>@SiaTechHQ</strong>}
/>
</li>
</Fade>
</ul> </ul>
</div> </div>
</div> </div>

View File

@ -1,26 +1,22 @@
import React from "react"; import React from "react";
import Reveal from "react-reveal/Reveal";
import logo from "../../images/logo.svg"; import logo from "../../images/logo.svg";
import "./HomeTop.scss"; import "./HomeTop.scss";
import { Skynet, Deco1, Deco2 } from "../../svg"; import { Skynet, Deco1, Deco2 } from "../../svg";
export default function HomeTop() { export default function HomeTop() {
return ( return (
<Reveal effect="active"> <div className="home-top">
<div className="home-top"> <img src={logo} alt="Skynet logo" className="logo" />
<img src={logo} alt="Skynet logo" className="logo" /> <Skynet className="wordmark" />
<Skynet className="wordmark" />
<h1 className="fadeInUp delay2">Build a Free Internet.</h1> <h1>Build a Free Internet.</h1>
<p className="fadeInUp delay3"> <p>
The decentralized CDN and file sharing platform for devs. Skynet is the storage foundation for a Free The decentralized CDN and file sharing platform for devs. Skynet is the storage foundation for a Free Internet!
Internet! </p>
</p>
<Deco1 className="deco-1 fadeInUp delay6" /> <Deco1 className="deco-1" />
<Deco2 className="deco-2 fadeInUp delay6" /> <Deco2 className="deco-2" />
</div> </div>
</Reveal>
); );
} }

View File

@ -20,19 +20,6 @@
margin: 0 auto 35px; margin: 0 auto 35px;
} }
.wordmark,
.logo {
transform: translateY(40px);
opacity: 0;
transition: 1s transform, 1s opacity;
}
&.active .wordmark,
&.active .logo {
transform: none;
opacity: 1;
}
h1 { h1 {
font-size: 44px; font-size: 44px;
line-height: 1.14; line-height: 1.14;

View File

@ -4,7 +4,6 @@ import classNames from "classnames";
import { getReasonPhrase, StatusCodes } from "http-status-codes"; import { getReasonPhrase, StatusCodes } from "http-status-codes";
import path from "path-browserify"; import path from "path-browserify";
import { useDropzone } from "react-dropzone"; import { useDropzone } from "react-dropzone";
import Reveal from "react-reveal/Reveal";
import { Button, UploadFile } from "../"; import { Button, UploadFile } from "../";
import { Deco3, Deco4, Deco5, Folder, DownArrow } from "../../svg"; import { Deco3, Deco4, Deco5, Folder, DownArrow } from "../../svg";
import "./HomeUpload.scss"; import "./HomeUpload.scss";
@ -159,93 +158,91 @@ export default function HomeUpload() {
}; };
return ( return (
<Reveal effect="active"> <div className="home-upload">
<div className="home-upload"> <div className="home-upload-white">
<div className="home-upload-white fadeInUp delay4"> <div className="home-upload-split">
<div className="home-upload-split"> <div className="home-upload-box ">
<div className="home-upload-box "> <div
<div className={classNames("home-upload-dropzone", {
className={classNames("home-upload-dropzone", { "drop-active": isDragActive,
"drop-active": isDragActive, })}
})} {...getRootProps()}
{...getRootProps()} >
> <span className="home-upload-text">
<span className="home-upload-text"> <h3>Upload your {directoryMode ? "Directory" : "Files"}</h3>
<h3>Upload your {directoryMode ? "Directory" : "Files"}</h3> Drop your {directoryMode ? "directory" : "files"} here to pin to Skynet
Drop your {directoryMode ? "directory" : "files"} here to pin to Skynet </span>
</span> <Button iconLeft>
<Button iconLeft> <Folder />
<Folder /> Browse
Browse </Button>
</Button>
</div>
<input {...getInputProps()} className="offscreen" />
<button
type="button"
className="home-upload-mode-switch link"
onClick={() => setDirectoryMode(!directoryMode)}
>
{directoryMode ? "⇐ Switch back to uploading files" : "Do you want to upload entire directory?"}
</button>
{directoryMode && (
<p className="home-upload-directory-mode-notice">
Please note that directory upload is not a standard browser feature and the browser support is
limited. To check whether your browser is compatible, visit{" "}
<a
href="https://caniuse.com/#feat=mdn-api_htmlinputelement_webkitdirectory"
target="_blank"
rel="noopener noreferrer"
className="link"
>
caniuse.com
</a>
.
</p>
)}
</div> </div>
<input {...getInputProps()} className="offscreen" />
<div className="home-upload-retrieve"> <button
<div className="home-upload-text"> type="button"
<h3 id="skylink-retrieve-title">Have a Skylink?</h3> className="home-upload-mode-switch link"
<p>Paste the link to retrieve your file</p> onClick={() => setDirectoryMode(!directoryMode)}
>
<form {directoryMode ? "⇐ Switch back to uploading files" : "Do you want to upload entire directory?"}
className={classNames("home-upload-retrieve-form", { invalid: skylink && !isValidSkylink(skylink) })} </button>
onSubmit={handleSkylink} {directoryMode && (
<p className="home-upload-directory-mode-notice">
Please note that directory upload is not a standard browser feature and the browser support is limited.
To check whether your browser is compatible, visit{" "}
<a
href="https://caniuse.com/#feat=mdn-api_htmlinputelement_webkitdirectory"
target="_blank"
rel="noopener noreferrer"
className="link"
> >
<input caniuse.com
name="skylink" </a>
type="text" .
placeholder="sia://" </p>
aria-labelledby="skylink-retrieve-title" )}
onChange={(event) => setSkylink(event.target.value)}
/>
<button type="submit" aria-label="Retrieve file">
<DownArrow />
</button>
</form>
</div>
</div>
</div> </div>
{files.length > 0 && ( <div className="home-upload-retrieve">
<div className="home-uploaded-files"> <div className="home-upload-text">
{files.map((file, i) => { <h3 id="skylink-retrieve-title">Have a Skylink?</h3>
return <UploadFile key={i} {...file} />; <p>Paste the link to retrieve your file</p>
})}
<form
className={classNames("home-upload-retrieve-form", { invalid: skylink && !isValidSkylink(skylink) })}
onSubmit={handleSkylink}
>
<input
name="skylink"
type="text"
placeholder="sia://"
aria-labelledby="skylink-retrieve-title"
onChange={(event) => setSkylink(event.target.value)}
/>
<button type="submit" aria-label="Retrieve file">
<DownArrow />
</button>
</form>
</div> </div>
)} </div>
</div> </div>
<p className="bottom-text fadeInUp delay5"> {files.length > 0 && (
Upon uploading a file, Skynet generates a 46 byte link called a <strong>Skylink</strong>. This link can then <div className="home-uploaded-files">
be shared with anyone to retrieve the file on any Skynet Webportal. {files.map((file, i) => {
</p> return <UploadFile key={i} {...file} />;
})}
<Deco3 className="deco-3 fadeInUp delay6" /> </div>
<Deco4 className="deco-4 fadeInUp delay6" /> )}
<Deco5 className="deco-5 fadeInUp delay6" />
</div> </div>
</Reveal>
<p className="bottom-text">
Upon uploading a file, Skynet generates a 46 byte link called a <strong>Skylink</strong>. This link can then be
shared with anyone to retrieve the file on any Skynet Webportal.
</p>
<Deco3 className="deco-3" />
<Deco4 className="deco-4" />
<Deco5 className="deco-5" />
</div>
); );
} }

View File

@ -17,14 +17,10 @@
} }
.home-upload-white { .home-upload-white {
transition: 0.2s background-color, 0.2s border, 0.2s color;
background: $white; background: $white;
border-radius: 12px; border-radius: 12px;
box-shadow: 0 8px 24px 0 rgba(90, 94, 91, 0.15), 0 2px 4px 0 rgba(0, 0, 0, 0.05); box-shadow: 0 8px 24px 0 rgba(90, 94, 91, 0.15), 0 2px 4px 0 rgba(0, 0, 0, 0.05);
padding: 16px; padding: 16px;
opacity: 0;
transform: translateY(40px);
transition: 0.7s opacity, 0.7s transform;
} }
.home-upload-split { .home-upload-split {

View File

@ -146,66 +146,3 @@ svg {
transform: translate(0, 0); transform: translate(0, 0);
} }
} }
.fadeInUp {
transform: translateY(40px);
opacity: 0;
transition: 0.7s opacity, 0.7s transform;
.active & {
opacity: 1;
transform: none;
}
&.delay2 {
transition-delay: 0.2s;
}
&.delay3 {
transition-delay: 0.3s;
}
&.delay4 {
transition-delay: 0.4s;
}
&.delay5 {
transition-delay: 0.5s;
}
&.delay6 {
transition-delay: 0.6s;
}
&.delay7 {
transition-delay: 0.7s;
}
&.delay8 {
transition-delay: 0.8s;
}
&.delay9 {
transition-delay: 0.9s;
}
&.delay10 {
transition-delay: 1s;
}
&.delay11 {
transition-delay: 1.1s;
}
&.delay12 {
transition-delay: 1.2s;
}
&.delay13 {
transition-delay: 1.3s;
}
&.delay14 {
transition-delay: 1.4s;
}
}

View File

@ -9,7 +9,7 @@ fi
for server in "germany.siasky.net" "us-east.siasky.net" "us-west.siasky.net" "helsinki.siasky.net" "siasky.dev"; for server in "germany.siasky.net" "us-east.siasky.net" "us-west.siasky.net" "helsinki.siasky.net" "siasky.dev";
do do
echo "⌁ Blacklisting on ${server}" echo "⌁ Blacklisting on ${server}"
ssh -q -t user@${server} 'docker exec sia siac skynet blacklist '$1'' ssh -q -t user@${server} 'docker exec sia siac skynet blacklist add '$1''
ssh -q -t user@${server} 'rm -rf /home/user/skynet_webportal/docker/data/nginx/cache' # prune nginx cache ssh -q -t user@${server} 'rm -rf /home/user/skynet_webportal/docker/data/nginx/cache' # prune nginx cache
done done

View File

@ -1,6 +1,6 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCpBsw5mPBVIvVd5GX43VXWHWuLeR2h0lfw8vRyDFgmV0TqC9r0POfmWOdSo/QlxHOeI+7S8Ahj/JdDarrx3vJ2vJQkK/tN2bPS30tR0pbCkr0vE/lUWsEuVxOXK132wtFQ/pF3CoVipI8THUS7/Dtap/9fujcEm59dIi3obYGc9F+UetmNtrc+mb6KJ6a1hkaXjD12qP03srSQSDBjch/7nbFFzrRwCZ9DJntMu6Ux6NZ7RcFuXPCg0dK0lggEX/Agzh3KHe69dgiMh8sG0WwCb9vWqd6dtapCt7XKZSnEvyFE1YVZgpsd7bCnGe4vPS3kLsvxeojruDo8Oj3b0exHL9+3Rr4ndVVNHkDxhvlQFbGrd5eiG/brvGjS+ibscTuNukLeiCmBrI5KULObynI2dEQVQKREVywU/qX+xm68noEGBbiRt2L2ImyJvgpNdlyCkDyFhBTo/HtH1WHP1WJijfCHM3jxigeLPRV0GChKK1RbYjZIi6JNsalW7yad/qzHDzht+jBHHAjD4qGlfuNtzP4hs3FErGiQMVZ8g9Tgq8SxPLNOULpcCSwsLLlzfrLYdv52IgkwTIAFR9W+xHGrWypCba9pfskXWXlRNM61qYf3//H0BGHxtuNAASkJrVWwcCuOVN6/EcJOTS9qkg3JiWqs79z0F2I14+AfPFgBKQ== david@nebulouslabs.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCpBsw5mPBVIvVd5GX43VXWHWuLeR2h0lfw8vRyDFgmV0TqC9r0POfmWOdSo/QlxHOeI+7S8Ahj/JdDarrx3vJ2vJQkK/tN2bPS30tR0pbCkr0vE/lUWsEuVxOXK132wtFQ/pF3CoVipI8THUS7/Dtap/9fujcEm59dIi3obYGc9F+UetmNtrc+mb6KJ6a1hkaXjD12qP03srSQSDBjch/7nbFFzrRwCZ9DJntMu6Ux6NZ7RcFuXPCg0dK0lggEX/Agzh3KHe69dgiMh8sG0WwCb9vWqd6dtapCt7XKZSnEvyFE1YVZgpsd7bCnGe4vPS3kLsvxeojruDo8Oj3b0exHL9+3Rr4ndVVNHkDxhvlQFbGrd5eiG/brvGjS+ibscTuNukLeiCmBrI5KULObynI2dEQVQKREVywU/qX+xm68noEGBbiRt2L2ImyJvgpNdlyCkDyFhBTo/HtH1WHP1WJijfCHM3jxigeLPRV0GChKK1RbYjZIi6JNsalW7yad/qzHDzht+jBHHAjD4qGlfuNtzP4hs3FErGiQMVZ8g9Tgq8SxPLNOULpcCSwsLLlzfrLYdv52IgkwTIAFR9W+xHGrWypCba9pfskXWXlRNM61qYf3//H0BGHxtuNAASkJrVWwcCuOVN6/EcJOTS9qkg3JiWqs79z0F2I14+AfPFgBKQ== david@nebulouslabs.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCr3nrSQ+ag5gEm9LBoiw68UKALboot+Eemv0TbP6BPnvB6bnSdDstb7Eu1Dkla8uiyw3w2ZYi5Pg4dS5W8vnxwXvey8gBd3GYLpjtnSp9ukeYjHK0J2aX4PBC4GXvRSRjKxYfHauUqm8PaA4uQ4sBkblfwWDEH94um1yyqIamTabH6mfsYiaiiwTNu7ldZOAIlKR/G7cXlLmFz46An7Mn2wwbuv2Khin/f2bLtUF/smOolI7pjOH6ifhHR9LxotcY/xL+E5jRbU1XxldFvVXkL5CU8tEinE6oigwMH9zsPZr+Z70Q/wm20cylxNJu8qdMGQW+WhDg3S70KpCmjYlWJ6bF1HL3z9UkN0lS1EM21n13RIx1iEO7SEC3YPl8VqZiZS7P9Uf5D5z/vTG+fWouCsCBMSbq3HUcNXlm5MLGSdBWPKzZsUaCkHkQks/sxHVy21YAM/3xgST1a05PbIJU1RsqJ0wh0J2gg7/fBUE0ljFyKZ36mvfg6BNlwCUydAiVaQt1geqh+8/VRwjTw/jtHb8G7QhSNwDNo1BcQPU3LkdKePqgldyP5EYGl9bI4E4sYc2DooeJ22fXpWfuClLB+JcHGuCJf/Hg6si9IeeXKm8PwaBdxIVytRPEeJR+q5uOwzI4XWNgERdGU/UVbgfnrAPMuVPa9Jhyl96U9uUl+Cw== peterjan.brone@gmail.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCr3nrSQ+ag5gEm9LBoiw68UKALboot+Eemv0TbP6BPnvB6bnSdDstb7Eu1Dkla8uiyw3w2ZYi5Pg4dS5W8vnxwXvey8gBd3GYLpjtnSp9ukeYjHK0J2aX4PBC4GXvRSRjKxYfHauUqm8PaA4uQ4sBkblfwWDEH94um1yyqIamTabH6mfsYiaiiwTNu7ldZOAIlKR/G7cXlLmFz46An7Mn2wwbuv2Khin/f2bLtUF/smOolI7pjOH6ifhHR9LxotcY/xL+E5jRbU1XxldFvVXkL5CU8tEinE6oigwMH9zsPZr+Z70Q/wm20cylxNJu8qdMGQW+WhDg3S70KpCmjYlWJ6bF1HL3z9UkN0lS1EM21n13RIx1iEO7SEC3YPl8VqZiZS7P9Uf5D5z/vTG+fWouCsCBMSbq3HUcNXlm5MLGSdBWPKzZsUaCkHkQks/sxHVy21YAM/3xgST1a05PbIJU1RsqJ0wh0J2gg7/fBUE0ljFyKZ36mvfg6BNlwCUydAiVaQt1geqh+8/VRwjTw/jtHb8G7QhSNwDNo1BcQPU3LkdKePqgldyP5EYGl9bI4E4sYc2DooeJ22fXpWfuClLB+JcHGuCJf/Hg6si9IeeXKm8PwaBdxIVytRPEeJR+q5uOwzI4XWNgERdGU/UVbgfnrAPMuVPa9Jhyl96U9uUl+Cw== peterjan.brone@gmail.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7jGVK5wsmzOCHBXYxu1ihaCbOS3m71QZg/djDAQoZ546XV/TZnCuEEHcm3l5jujqQDKPrKBb8tRd3tTXGqygLUsPvwtUjQsfi4HTQFv0NwadydFZW05d8MI2s/mhJxyxOXedKiXOR6kO5lipvKCf2WVweByyrW47tgENWzzyqtHOSfkoLCVcJWTUqn4s56LBoDop3G79lUQY2IK1GcliFc0XLLis1GiH1k6TD7RWXWVgdG/uatyMJp0FvyEsas/53JaKDmVywki8EMOEsyWVqsj6fnioZsz1NGjuWe77CXsiHbC4EL5rfI5gcOtUH8ss7/fY2uCjm3TBD5dwomhWb karol@nebulous.tech ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMmZFdJsqig/zX7Ly7qJMMDomsdAKLgl7W7ET1w7xH9BBM48OCWmozuLCfCG8MUCEYSUD575hA028hNi6CAK40J3fF74IDDyc9DUb+le8Y8EuzHPKxYLE/gWsjr70XOcZcC4IxLcADQgpeLjrPZQs7A4EYfdxnTTLJVYrowZ9RR5ivcKBjyFOiQyCuFSIvtYMo11Xm2gU48SKYGJThhHUiE2kMOlH3notXJ+T81927IGJdza7J3DAyKtMGB2HEMA89ma3mvEvbPTDMggJFJ3VG7sukRLq6UmT7BT+f3BW+Nr87A1o4upkAuXdkL9cUrris7kQN61AcaCNFU/CuIJa4dUZ0nt+z5X7kWtc0zD75EPj3w6AjB+E1+MSPsqnxd5PnGtSCQqHoa5hg4hQMSweC2tQhSKoWDfx9W2fZiLpg1IL6QB5xCxjg+YKCXEJKxRwXDtbh1DHFdJ5N1kM7IDSeeblc80HNxYrJUPNH1ExWsPl11gmBEEWDAiRSet4bAnOmgDYcJ9Aw2KAndb01cNsw5RL0Dg/W63tb8S5Y9kz6spX6X91yz53JzrozZO7VFfKxa17nubPEeWPTqAQ3uRWPvpdbivVnOAoFCLacRvtTfvetuz/vGZ3JTpr6Ylb9Z76cIqpFe70+bnauZwmxjF+EEq2+u3gd2uewuV2//o+CYQ== kwypchlo@gmail.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDgiq1etF0aD94rG/UVmYEt4ij5K8MvHZwb4wIUi6Ihr david@nebulouslabs.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDgiq1etF0aD94rG/UVmYEt4ij5K8MvHZwb4wIUi6Ihr david@nebulouslabs.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDFO8IxPO3CjfBzm3rAI0sof0BuEBVj6g1UY4hEm9Wn3PXx/iHn96ZP/nSh37X5e5KABCq7ob18T16B4U9JVlARvpozvCCUso28C/Vm44Vt/Q4xoQAYX4eLlRGkPJHhEtA+GhTt4HSE06IZkegAlZ6HVSpSxNiFmSWytIQIa2uTVDel16U+N0PiwQ/9ZS6c/MeC6ZebVEeyEBHNTOL3vkrtFzD/Iupi4QKASK8ejCKEnzCjwoWNyZPUJJLwyUC1ttZOH0cKQid9rcwQDqwM6clnJ5OAAdMkD9GbHs1ItyeC5M1m/KwunmlGSc1eIpIYLvp/0cHrh6/0j8utO3hkqDD3pTWP8TEzw2f5TQVlFHNotcNZimJz8XU8X2k2fHTgyoYKL12HjhokObqBHBUAXol9vCkw0z05U8wVcBemzHrI+6GHnn2pLETshd8Ar8bJ0wQ08+3Agf+KmJuVoHOFdc314AkUX/5QHMrws1/GeS8urLR9FciEiUks8X790LF/sP0= cschinnerl@Christophers-MacBook-Pro.local ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDFO8IxPO3CjfBzm3rAI0sof0BuEBVj6g1UY4hEm9Wn3PXx/iHn96ZP/nSh37X5e5KABCq7ob18T16B4U9JVlARvpozvCCUso28C/Vm44Vt/Q4xoQAYX4eLlRGkPJHhEtA+GhTt4HSE06IZkegAlZ6HVSpSxNiFmSWytIQIa2uTVDel16U+N0PiwQ/9ZS6c/MeC6ZebVEeyEBHNTOL3vkrtFzD/Iupi4QKASK8ejCKEnzCjwoWNyZPUJJLwyUC1ttZOH0cKQid9rcwQDqwM6clnJ5OAAdMkD9GbHs1ItyeC5M1m/KwunmlGSc1eIpIYLvp/0cHrh6/0j8utO3hkqDD3pTWP8TEzw2f5TQVlFHNotcNZimJz8XU8X2k2fHTgyoYKL12HjhokObqBHBUAXol9vCkw0z05U8wVcBemzHrI+6GHnn2pLETshd8Ar8bJ0wQ08+3Agf+KmJuVoHOFdc314AkUX/5QHMrws1/GeS8urLR9FciEiUks8X790LF/sP0= cschinnerl@Christophers-MacBook-Pro.local
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFxLuZzjmFN9CgVOI5vaiVhQgMwG9dLQJ688wrsbpHH/ ivaylo@nebulous.tech ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFxLuZzjmFN9CgVOI5vaiVhQgMwG9dLQJ688wrsbpHH/ ivaylo@nebulous.tech

405
yarn.lock
View File

@ -1801,6 +1801,22 @@
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1"
integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==
"@sindresorhus/slugify@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/slugify/-/slugify-1.1.0.tgz#2f195365d9b953384305b62664b44b4036c49430"
integrity sha512-ujZRbmmizX26yS/HnB3P9QNlNa4+UvHh+rIse3RbOXLp8yl6n1TxB4t7NHggtVgS8QmmOtzXo48kCxZGACpkPw==
dependencies:
"@sindresorhus/transliterate" "^0.1.1"
escape-string-regexp "^4.0.0"
"@sindresorhus/transliterate@^0.1.1":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@sindresorhus/transliterate/-/transliterate-0.1.1.tgz#779b31244781d3c898f185b61d58c89e7c782674"
integrity sha512-QSdIQ5keUFAZ3KLbfbsntW39ox0Ym8183RqTwBq/ZEFoN3NQAtGV+qWaNdzKpIDHgj9J2CQ2iNDRVU11Zyr7MQ==
dependencies:
escape-string-regexp "^2.0.0"
lodash.deburr "^4.1.0"
"@styled-system/css@^5.0.16": "@styled-system/css@^5.0.16":
version "5.1.5" version "5.1.5"
resolved "https://registry.yarnpkg.com/@styled-system/css/-/css-5.1.5.tgz#0460d5f3ff962fa649ea128ef58d9584f403bbbc" resolved "https://registry.yarnpkg.com/@styled-system/css/-/css-5.1.5.tgz#0460d5f3ff962fa649ea128ef58d9584f403bbbc"
@ -2939,10 +2955,10 @@ babel-plugin-remove-export-keywords@^1.6.5:
resolved "https://registry.yarnpkg.com/babel-plugin-remove-export-keywords/-/babel-plugin-remove-export-keywords-1.6.16.tgz#e764b42e3c8e4a5ce3e2c996dc43b6348d5d94cf" resolved "https://registry.yarnpkg.com/babel-plugin-remove-export-keywords/-/babel-plugin-remove-export-keywords-1.6.16.tgz#e764b42e3c8e4a5ce3e2c996dc43b6348d5d94cf"
integrity sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g== integrity sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==
babel-plugin-remove-graphql-queries@^2.9.17: babel-plugin-remove-graphql-queries@^2.9.18:
version "2.9.17" version "2.9.18"
resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz#f66c421a58392ddca8b2f06473ca0eb2c4ec632d" resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.18.tgz#0c62490f44ec61bc6cf1b2d4aca0315007e9180b"
integrity sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ== integrity sha512-7lr9taus0LfqQuHQFytwrxdd2aMw/GBllyNzl+DWJ9Zg2LwCxlzELtqiy7h7xjTj16fX9+oNXgiJy7Xeo1UN/A==
babel-plugin-syntax-jsx@^6.18.0: babel-plugin-syntax-jsx@^6.18.0:
version "6.18.0" version "6.18.0"
@ -2954,10 +2970,10 @@ babel-plugin-transform-react-remove-prop-types@^0.4.24:
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
babel-preset-gatsby@^0.5.8: babel-preset-gatsby@^0.5.9:
version "0.5.8" version "0.5.9"
resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.5.8.tgz#b3c0d6524e12e92bf93cb5ef78edc9ac8e093b61" resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.5.9.tgz#6a7a5007efbc621acc55cb1583d87e2a5f5044ac"
integrity sha512-24KnbRLTNF3uE1NtKCwAhRJ32hLucUuMsNFq+6n/idzZNo68POLYMN0/8wQ4dHgG2AEvlQf3CTk62vkJvz01Qw== integrity sha512-GtvQirJ9PGzrxe6tyDOvhP808fluFv09hytJCI994LuPTd79hIR4TlBzWf1Ha7t/gVrsamrflmUw/u9079U7Dg==
dependencies: dependencies:
"@babel/plugin-proposal-class-properties" "^7.10.1" "@babel/plugin-proposal-class-properties" "^7.10.1"
"@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1"
@ -2971,7 +2987,7 @@ babel-preset-gatsby@^0.5.8:
babel-plugin-dynamic-import-node "^2.3.3" babel-plugin-dynamic-import-node "^2.3.3"
babel-plugin-macros "^2.8.0" babel-plugin-macros "^2.8.0"
babel-plugin-transform-react-remove-prop-types "^0.4.24" babel-plugin-transform-react-remove-prop-types "^0.4.24"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
gatsby-legacy-polyfills "^0.0.4" gatsby-legacy-polyfills "^0.0.4"
babel-runtime@^6.26.0: babel-runtime@^6.26.0:
@ -3653,11 +3669,6 @@ camelcase@^2.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
camelcase@^5.0.0, camelcase@^5.3.1: camelcase@^5.0.0, camelcase@^5.3.1:
version "5.3.1" version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
@ -3973,15 +3984,6 @@ clipboardy@^2.3.0:
execa "^1.0.0" execa "^1.0.0"
is-wsl "^2.1.1" is-wsl "^2.1.1"
cliui@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
dependencies:
string-width "^1.0.1"
strip-ansi "^3.0.1"
wrap-ansi "^2.0.0"
cliui@^5.0.0: cliui@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
@ -4834,7 +4836,7 @@ debug@=3.1.0, debug@~3.1.0:
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@^3.0.0, debug@^3.0.1, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
version "3.2.6" version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
@ -4856,7 +4858,7 @@ decamelize-keys@^1.1.0:
decamelize "^1.1.0" decamelize "^1.1.0"
map-obj "^1.0.0" map-obj "^1.0.0"
decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@ -5566,11 +5568,6 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1" is-date-object "^1.0.1"
is-symbol "^1.0.2" is-symbol "^1.0.2"
es6-promise@^4.1.1:
version "4.2.8"
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
escalade@^3.0.1: escalade@^3.0.1:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4"
@ -5591,6 +5588,16 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escape-string-regexp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
escape-string-regexp@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
eslint-config-prettier@6.11.0: eslint-config-prettier@6.11.0:
version "6.11.0" version "6.11.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1"
@ -5747,10 +5754,10 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint@7.8.1: eslint@7.9.0:
version "7.8.1" version "7.9.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.8.1.tgz#e59de3573fb6a5be8ff526c791571646d124a8fa" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.9.0.tgz#522aeccc5c3a19017cf0cb46ebfd660a79acf337"
integrity sha512-/2rX2pfhyUG0y+A123d0ccXtMm7DV7sH1m3lk9nk2DZ2LReq39FXHueR9xZwshE5MdfSf0xunSaMWRqyIA6M1w== integrity sha512-V6QyhX21+uXp4T+3nrNfI3hQNBDa/P8ga7LoQOenwrlEFXrEnUEE+ok1dMtaS3b6rmLXhT1TkTIsG75HMLbknA==
dependencies: dependencies:
"@babel/code-frame" "^7.0.0" "@babel/code-frame" "^7.0.0"
"@eslint/eslintrc" "^0.1.3" "@eslint/eslintrc" "^0.1.3"
@ -6046,15 +6053,6 @@ express-graphql@^0.9.0:
http-errors "^1.7.3" http-errors "^1.7.3"
raw-body "^2.4.1" raw-body "^2.4.1"
express-http-proxy@^1.6.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/express-http-proxy/-/express-http-proxy-1.6.2.tgz#e87152e45958cee4b91da2fdaa20a1ffd581204a"
integrity sha512-soP7UXySFdLbeeMYL1foBkEoZj6HELq9BDAOCr1sLRpqjPaFruN5o6+bZeC+7U4USWIl4JMKEiIvTeKJ2WQdlQ==
dependencies:
debug "^3.0.1"
es6-promise "^4.1.1"
raw-body "^2.3.0"
express@^4.17.1: express@^4.17.1:
version "4.17.1" version "4.17.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
@ -6677,10 +6675,10 @@ functional-red-black-tree@^1.0.1:
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
gatsby-cli@^2.12.91: gatsby-cli@^2.12.95:
version "2.12.91" version "2.12.95"
resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.12.91.tgz#897e7fe7ed8e26119f95e6198a037fcfb6f41542" resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.12.95.tgz#747db9df11701fd9990676b2c47056467f26f015"
integrity sha512-HmKkjY6HAvb65JRpgRM1LyVYtHim6A286BvYcbMM+gwE5Bgc27e9FTmNUHjZwYiPcQqx4AMQTb4G9uL5/UuBZA== integrity sha512-gSJ6J1i8bJq0dPRmAcfAv9U99knaccyBDopf8ft6+/SrUU9cNahQy0rZN1ksKCILjTpLRGKTH1pYN2PE3efjuw==
dependencies: dependencies:
"@babel/code-frame" "^7.10.3" "@babel/code-frame" "^7.10.3"
"@hapi/joi" "^15.1.1" "@hapi/joi" "^15.1.1"
@ -6695,14 +6693,14 @@ gatsby-cli@^2.12.91:
execa "^3.4.0" execa "^3.4.0"
fs-exists-cached "^1.0.0" fs-exists-cached "^1.0.0"
fs-extra "^8.1.0" fs-extra "^8.1.0"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
gatsby-recipes "^0.2.20" gatsby-recipes "^0.2.24"
gatsby-telemetry "^1.3.30" gatsby-telemetry "^1.3.32"
hosted-git-info "^3.0.4" hosted-git-info "^3.0.4"
ink "^2.7.1" ink "^2.7.1"
ink-spinner "^3.1.0" ink-spinner "^3.1.0"
is-valid-path "^0.1.1" is-valid-path "^0.1.1"
lodash "^4.17.15" lodash "^4.17.20"
meant "^1.0.1" meant "^1.0.1"
node-fetch "^2.6.0" node-fetch "^2.6.0"
opentracing "^0.14.4" opentracing "^0.14.4"
@ -6718,14 +6716,14 @@ gatsby-cli@^2.12.91:
stack-trace "^0.0.10" stack-trace "^0.0.10"
strip-ansi "^5.2.0" strip-ansi "^5.2.0"
update-notifier "^4.1.0" update-notifier "^4.1.0"
uuid "^8.3.0" uuid "3.4.0"
yargs "^15.3.1" yargs "^15.3.1"
yurnalist "^1.1.2" yurnalist "^1.1.2"
gatsby-core-utils@^1.3.18: gatsby-core-utils@^1.3.19:
version "1.3.18" version "1.3.19"
resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.3.18.tgz#8eecb424f8709bbb3dac9653973068643b3fd66f" resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.3.19.tgz#d7f9981fbc85affbbc09c96ac84c76c37615fc89"
integrity sha512-B7ixQb4H0e2yB0nNfM2zshOAUw3nW9MvcNsRskVFwIPJY+ngh8Srla4XWXVMJ60Fyt103+jPVZTxGq72/u5HuQ== integrity sha512-nwiU17m2lihvN7IOkBTj4n2WKc7Eb569Vv7G8dmuwthmjIB6ml98Quno5fRBCz+2DBF6R60boDfc84Qdct1LPw==
dependencies: dependencies:
ci-info "2.0.0" ci-info "2.0.0"
configstore "^5.0.1" configstore "^5.0.1"
@ -6749,10 +6747,10 @@ gatsby-graphiql-explorer@^0.4.13:
dependencies: dependencies:
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
gatsby-image@2.4.16: gatsby-image@2.4.17:
version "2.4.16" version "2.4.17"
resolved "https://registry.yarnpkg.com/gatsby-image/-/gatsby-image-2.4.16.tgz#65ce1642bb6a0c8d87c74b204ed79995cd43da16" resolved "https://registry.yarnpkg.com/gatsby-image/-/gatsby-image-2.4.17.tgz#8eeb49f6a0fbc367f88b66f7f9a56c5c9ec4c430"
integrity sha512-N5kJ3LE8re57DgR1lAZFWP2or0nCSuNXSUKvSBvVgxwcebdcFGCxN/xTJbU4ojFfFBJ/D4gKuxJrvLvDf3jcyg== integrity sha512-DPt5fNzTwBx7k5RQAsbU30O8mGtw9lDDYF0xrD1N/++B4dT5ZfUb10sfxwyBv2GRaSjClFkqED6aDihwkHOOfg==
dependencies: dependencies:
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
object-fit-images "^3.2.4" object-fit-images "^3.2.4"
@ -6794,27 +6792,27 @@ gatsby-link@^2.4.13:
"@types/reach__router" "^1.3.3" "@types/reach__router" "^1.3.3"
prop-types "^15.7.2" prop-types "^15.7.2"
gatsby-page-utils@^0.2.23: gatsby-page-utils@^0.2.24:
version "0.2.23" version "0.2.24"
resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-0.2.23.tgz#8216adb75a4f7143f6a945f2efff05c9458bf9a2" resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-0.2.24.tgz#d48f76fcecb47ee72800b34da371107be2ff3c32"
integrity sha512-z0eiGNchTk0sWNubLVBNXOI9VLHCNHFFjNt5RweW211SLR/Bw7paQOaX9gY0Bdj1C2+NZ8JMyTHs1JF7yybaDg== integrity sha512-EShJs772upZcJqAMbA05oxNocna38R1Z7U/eXA13NTT/MmuwSV01y2OLZXvqyKdYz1y0FL37gDlEcJmka8iMUg==
dependencies: dependencies:
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
bluebird "^3.7.2" bluebird "^3.7.2"
chokidar "^3.4.2" chokidar "^3.4.2"
fs-exists-cached "^1.0.0" fs-exists-cached "^1.0.0"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
glob "^7.1.6" glob "^7.1.6"
lodash "^4.17.15" lodash "^4.17.20"
micromatch "^3.1.10" micromatch "^3.1.10"
gatsby-plugin-manifest@2.4.27: gatsby-plugin-manifest@2.4.28:
version "2.4.27" version "2.4.28"
resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.4.27.tgz#e87102137efcb1fe66ab27f913241f9c1b2f4fa7" resolved "https://registry.yarnpkg.com/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.4.28.tgz#f65a0f60e15112829981607df54b46faa09a3257"
integrity sha512-QyU6cAXLPaGsOhmuMywLyoo4EdraoLmGOPDht64+jpJu0sJ4P7XF4Ykai8D18JWhxoxEPw76hCYs4rxNUJpNfg== integrity sha512-/8huYUzf0L8N5g3FlVlpCkV+nycBajU8nrbEfJTH/VecxGPlDJrHJ/WRM8lG+/XwpPnEwddFiZ6BBgHdIQEn3Q==
dependencies: dependencies:
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
semver "^7.3.2" semver "^7.3.2"
sharp "^0.25.4" sharp "^0.25.4"
@ -6823,18 +6821,19 @@ gatsby-plugin-matomo@0.8.3:
resolved "https://registry.yarnpkg.com/gatsby-plugin-matomo/-/gatsby-plugin-matomo-0.8.3.tgz#e0e9cc9e60f7e4b157c9964dfc9d444d73bc46ee" resolved "https://registry.yarnpkg.com/gatsby-plugin-matomo/-/gatsby-plugin-matomo-0.8.3.tgz#e0e9cc9e60f7e4b157c9964dfc9d444d73bc46ee"
integrity sha512-fv6TgD+WsxziZrtmz6sNF4m9FgSyV+8y3R1sobA5hB5OxJyhs/Y4HVo9jCPRHu5VLKQsg4i7LJhWL0ocJiqEWQ== integrity sha512-fv6TgD+WsxziZrtmz6sNF4m9FgSyV+8y3R1sobA5hB5OxJyhs/Y4HVo9jCPRHu5VLKQsg4i7LJhWL0ocJiqEWQ==
gatsby-plugin-page-creator@^2.3.25: gatsby-plugin-page-creator@^2.3.27:
version "2.3.25" version "2.3.27"
resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.25.tgz#74087a71e1c8ff5e072fbc5355e3cdb6ba669cd5" resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.27.tgz#b3211eb8975c7e943dcd560f500a88462af013e8"
integrity sha512-zpVFNKDNMpvTwe/hj6C27sc/POVxxGp0ZidoTDFd6so/f+Mc0OJQQDEIzs122oYBnuspPya+0+wWaph4QcadSQ== integrity sha512-Yo/2uneVngKQ/tpzloMkbn0TIci8GAbdNjU5+Q8UChzAAXlgrROrB46zPJkLA8sbA9Y2xCfGBWMY+DLt6blxHQ==
dependencies: dependencies:
"@babel/traverse" "^7.10.2" "@babel/traverse" "^7.10.2"
"@sindresorhus/slugify" "^1.1.0"
chokidar "^3.4.2"
fs-exists-cached "^1.0.0" fs-exists-cached "^1.0.0"
gatsby-page-utils "^0.2.23" gatsby-page-utils "^0.2.24"
globby "^11.0.1" globby "^11.0.1"
graphql "^14.6.0" graphql "^14.6.0"
lodash "^4.17.15" lodash "^4.17.20"
slugify "^1.4.4"
gatsby-plugin-react-helmet@3.3.10: gatsby-plugin-react-helmet@3.3.10:
version "3.3.10" version "3.3.10"
@ -6864,20 +6863,20 @@ gatsby-plugin-sass@2.3.12:
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
sass-loader "^7.3.1" sass-loader "^7.3.1"
gatsby-plugin-sharp@2.6.31: gatsby-plugin-sharp@2.6.35:
version "2.6.31" version "2.6.35"
resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.31.tgz#4e324a694f7fc9cb4053c096552a1276c9996897" resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.35.tgz#d37e08f453784e39d7b1c2a759b801fdd4e633c4"
integrity sha512-TUGFlkgGwtxcBP1UQG+QNd8ipeclefMmpEC8k3/3z4r15aV7d83/CrgByFjWLalY8esHF9DiZIyR7/kYoQ8/PQ== integrity sha512-5y2ut8TGg5iIfDMnVm/WRy37vjSlHzMdJVugvB4lp4NH69FIq75JpaivshtjQYEi3cc5UonXOQWZJ6aSsM54pQ==
dependencies: dependencies:
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
async "^3.2.0" async "^3.2.0"
bluebird "^3.7.2" bluebird "^3.7.2"
fs-extra "^9.0.1" fs-extra "^9.0.1"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
got "^10.7.0" got "^10.7.0"
imagemin "^7.0.1" imagemin "^7.0.1"
imagemin-mozjpeg "^9.0.0" imagemin-mozjpeg "^9.0.0"
imagemin-pngquant "^9.0.0" imagemin-pngquant "^9.0.1"
lodash "^4.17.19" lodash "^4.17.19"
mini-svg-data-uri "^1.2.3" mini-svg-data-uri "^1.2.3"
potrace "^2.1.8" potrace "^2.1.8"
@ -6886,12 +6885,12 @@ gatsby-plugin-sharp@2.6.31:
semver "^7.3.2" semver "^7.3.2"
sharp "^0.25.4" sharp "^0.25.4"
svgo "1.3.2" svgo "1.3.2"
uuid "^8.3.0" uuid "3.4.0"
gatsby-plugin-typescript@^2.4.18: gatsby-plugin-typescript@^2.4.19:
version "2.4.18" version "2.4.19"
resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz#9361ef69f149f68e55ebf2d3f773b9aafce75df8" resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.19.tgz#ae644cf973e07b6266da17bb47dae0e0bfaeeb23"
integrity sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA== integrity sha512-DMKmTxJZz8qsDvesAt1PJm43pgEe83Kv90TDL5tZ5tqQ0XwwgADHG9p0yPJSqmc1xRtsChaDGnSpnRdUC2Oi3Q==
dependencies: dependencies:
"@babel/core" "^7.10.3" "@babel/core" "^7.10.3"
"@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1"
@ -6899,7 +6898,7 @@ gatsby-plugin-typescript@^2.4.18:
"@babel/plugin-proposal-optional-chaining" "^7.10.3" "@babel/plugin-proposal-optional-chaining" "^7.10.3"
"@babel/preset-typescript" "^7.10.1" "@babel/preset-typescript" "^7.10.1"
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
babel-plugin-remove-graphql-queries "^2.9.17" babel-plugin-remove-graphql-queries "^2.9.18"
gatsby-react-router-scroll@^3.0.12: gatsby-react-router-scroll@^3.0.12:
version "3.0.12" version "3.0.12"
@ -6908,10 +6907,10 @@ gatsby-react-router-scroll@^3.0.12:
dependencies: dependencies:
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
gatsby-recipes@^0.2.20: gatsby-recipes@^0.2.24:
version "0.2.20" version "0.2.24"
resolved "https://registry.yarnpkg.com/gatsby-recipes/-/gatsby-recipes-0.2.20.tgz#66bd9fb0064a973b2122443367ae64419e0d3ac9" resolved "https://registry.yarnpkg.com/gatsby-recipes/-/gatsby-recipes-0.2.24.tgz#1f6c75c319ddc2d89db34bec40f70a20915b6393"
integrity sha512-0CjII9YZU0JpLWovFAJwctBcOI/tcTi5N6AS7HYUwzwYs/Ivb3en99NqOnT61m7i50wgWJmfo+Fo4Df3+vloug== integrity sha512-2Rut4j5jGS+a5ZoHXEfjo8AMAxnbG53MyRMvSrmV24VsVk19nIylalryKmtJfioOWQ94B0h3T56hPA9c2/o1Pg==
dependencies: dependencies:
"@babel/core" "^7.9.6" "@babel/core" "^7.9.6"
"@babel/generator" "^7.9.6" "@babel/generator" "^7.9.6"
@ -6948,9 +6947,9 @@ gatsby-recipes@^0.2.20:
flatted "^3.0.0" flatted "^3.0.0"
formik "^2.0.8" formik "^2.0.8"
fs-extra "^8.1.0" fs-extra "^8.1.0"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
gatsby-interface "^0.0.166" gatsby-interface "^0.0.166"
gatsby-telemetry "^1.3.30" gatsby-telemetry "^1.3.32"
glob "^7.1.6" glob "^7.1.6"
graphql "^14.6.0" graphql "^14.6.0"
graphql-compose "^6.3.8" graphql-compose "^6.3.8"
@ -6964,7 +6963,7 @@ gatsby-recipes@^0.2.20:
isomorphic-fetch "^2.1.0" isomorphic-fetch "^2.1.0"
jest-diff "^25.5.0" jest-diff "^25.5.0"
lock "^1.0.0" lock "^1.0.0"
lodash "^4.17.15" lodash "^4.17.20"
mitt "^1.2.0" mitt "^1.2.0"
mkdirp "^0.5.1" mkdirp "^0.5.1"
node-fetch "^2.5.0" node-fetch "^2.5.0"
@ -6981,6 +6980,7 @@ gatsby-recipes@^0.2.20:
remark-parse "^6.0.3" remark-parse "^6.0.3"
remark-stringify "^8.1.0" remark-stringify "^8.1.0"
resolve-cwd "^3.0.0" resolve-cwd "^3.0.0"
resolve-from "^5.0.0"
semver "^7.3.2" semver "^7.3.2"
single-trailing-newline "^1.0.0" single-trailing-newline "^1.0.0"
strip-ansi "^6.0.0" strip-ansi "^6.0.0"
@ -6991,16 +6991,16 @@ gatsby-recipes@^0.2.20:
unist-util-remove "^2.0.0" unist-util-remove "^2.0.0"
unist-util-visit "^2.0.2" unist-util-visit "^2.0.2"
urql "^1.9.7" urql "^1.9.7"
uuid "^8.3.0" uuid "3.4.0"
ws "^7.3.0" ws "^7.3.0"
xstate "^4.9.1" xstate "^4.9.1"
yoga-layout-prebuilt "^1.9.6" yoga-layout-prebuilt "^1.9.6"
yup "^0.27.0" yup "^0.27.0"
gatsby-source-filesystem@2.3.27: gatsby-source-filesystem@2.3.29:
version "2.3.27" version "2.3.29"
resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.3.27.tgz#e575b992d877a5ddc1fe6177567ab5c268374ca7" resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.3.29.tgz#5eaf1434593f38523655145323e426f21c30687a"
integrity sha512-lNWRVDkaC2g6mSPTGuE9bsXawS0GkkwV/X8l8ZJnqbcMBl8p+h3zYoKXQ2u00pmQRqjwp4lvlaTarLRxD0tGDQ== integrity sha512-PWHtkj+inhfPm8aMVhtxS1PAW+r4Kk5M1LDP5l0OO2HBaHiiSi0DulgmYJ3usYpctFqOQ92im/EQLRJbOaaQsA==
dependencies: dependencies:
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
better-queue "^3.8.10" better-queue "^3.8.10"
@ -7008,7 +7008,7 @@ gatsby-source-filesystem@2.3.27:
chokidar "^3.4.2" chokidar "^3.4.2"
file-type "^12.4.2" file-type "^12.4.2"
fs-extra "^8.1.0" fs-extra "^8.1.0"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
got "^9.6.0" got "^9.6.0"
md5-file "^3.2.3" md5-file "^3.2.3"
mime "^2.4.6" mime "^2.4.6"
@ -7018,10 +7018,10 @@ gatsby-source-filesystem@2.3.27:
valid-url "^1.0.9" valid-url "^1.0.9"
xstate "^4.11.0" xstate "^4.11.0"
gatsby-telemetry@^1.3.30: gatsby-telemetry@^1.3.32:
version "1.3.30" version "1.3.32"
resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.3.30.tgz#dd169f8674017597907cad2ce95127af7a4d7465" resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.3.32.tgz#aaf8b038cb7d3e93cf6e1df5c1ed1fe037c9e9bd"
integrity sha512-2EJdu8f7CqLfENnShK1gSJdlxC/me6eImrbReYQDuf7Bu7l9UT5Ag07D1vC8qA58wjj+p9mhZqAL5pYCdQ04jA== integrity sha512-iKX6PJNdcXH7z2epyRTKCkp6fYCN3ePE5tpkbckaw9BLj5S4EZnocALPC4lhFefu3PatY6cXc1WAOMO9AwqrtA==
dependencies: dependencies:
"@babel/code-frame" "^7.10.3" "@babel/code-frame" "^7.10.3"
"@babel/runtime" "^7.10.3" "@babel/runtime" "^7.10.3"
@ -7032,12 +7032,12 @@ gatsby-telemetry@^1.3.30:
configstore "^5.0.1" configstore "^5.0.1"
envinfo "^7.7.3" envinfo "^7.7.3"
fs-extra "^8.1.0" fs-extra "^8.1.0"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
git-up "^4.0.2" git-up "^4.0.2"
is-docker "^2.1.1" is-docker "^2.1.1"
lodash "^4.17.15" lodash "^4.17.20"
node-fetch "^2.6.0" node-fetch "^2.6.0"
uuid "^8.3.0" uuid "3.4.0"
gatsby-transformer-sharp@2.5.14: gatsby-transformer-sharp@2.5.14:
version "2.5.14" version "2.5.14"
@ -7052,10 +7052,10 @@ gatsby-transformer-sharp@2.5.14:
semver "^7.3.2" semver "^7.3.2"
sharp "^0.25.4" sharp "^0.25.4"
gatsby@2.24.53: gatsby@2.24.57:
version "2.24.53" version "2.24.57"
resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.24.53.tgz#93c5e45bc188881c9adc9e44f693245e0e02ba22" resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.24.57.tgz#4db5fa313291c92f68f28d005c13e5e37381b9ee"
integrity sha512-RflNxycCFn+VoakexlMYQa5HmdW/iq/um5fQQVr/Ba6jhSDoD4+FSSW9Eh3w3xiG8YKcdjp20iMzREHlUtfN4g== integrity sha512-5xTifqE39T3HCTa5eeexHUXq4lhfEq+wKnJoFnjuM52o+fIfz09QRcFJE5QVGJpdxcRAHuQLrkb5cR8DafFEpg==
dependencies: dependencies:
"@babel/code-frame" "^7.10.3" "@babel/code-frame" "^7.10.3"
"@babel/core" "^7.10.3" "@babel/core" "^7.10.3"
@ -7079,8 +7079,8 @@ gatsby@2.24.53:
babel-loader "^8.1.0" babel-loader "^8.1.0"
babel-plugin-add-module-exports "^0.3.3" babel-plugin-add-module-exports "^0.3.3"
babel-plugin-dynamic-import-node "^2.3.3" babel-plugin-dynamic-import-node "^2.3.3"
babel-plugin-remove-graphql-queries "^2.9.17" babel-plugin-remove-graphql-queries "^2.9.18"
babel-preset-gatsby "^0.5.8" babel-preset-gatsby "^0.5.9"
better-opn "1.0.0" better-opn "1.0.0"
better-queue "^3.8.10" better-queue "^3.8.10"
bluebird "^3.7.2" bluebird "^3.7.2"
@ -7120,15 +7120,15 @@ gatsby@2.24.53:
find-cache-dir "^3.3.1" find-cache-dir "^3.3.1"
fs-exists-cached "1.0.0" fs-exists-cached "1.0.0"
fs-extra "^8.1.0" fs-extra "^8.1.0"
gatsby-cli "^2.12.91" gatsby-cli "^2.12.95"
gatsby-core-utils "^1.3.18" gatsby-core-utils "^1.3.19"
gatsby-graphiql-explorer "^0.4.13" gatsby-graphiql-explorer "^0.4.13"
gatsby-legacy-polyfills "^0.0.4" gatsby-legacy-polyfills "^0.0.4"
gatsby-link "^2.4.13" gatsby-link "^2.4.13"
gatsby-plugin-page-creator "^2.3.25" gatsby-plugin-page-creator "^2.3.27"
gatsby-plugin-typescript "^2.4.18" gatsby-plugin-typescript "^2.4.19"
gatsby-react-router-scroll "^3.0.12" gatsby-react-router-scroll "^3.0.12"
gatsby-telemetry "^1.3.30" gatsby-telemetry "^1.3.32"
glob "^7.1.6" glob "^7.1.6"
got "8.3.2" got "8.3.2"
graphql "^14.6.0" graphql "^14.6.0"
@ -7144,7 +7144,7 @@ gatsby@2.24.53:
json-loader "^0.5.7" json-loader "^0.5.7"
json-stringify-safe "^5.0.1" json-stringify-safe "^5.0.1"
latest-version "5.1.0" latest-version "5.1.0"
lodash "^4.17.15" lodash "^4.17.20"
md5-file "^3.2.3" md5-file "^3.2.3"
meant "^1.0.1" meant "^1.0.1"
micromatch "^3.1.10" micromatch "^3.1.10"
@ -7190,7 +7190,7 @@ gatsby@2.24.53:
type-of "^2.0.1" type-of "^2.0.1"
url-loader "^1.1.2" url-loader "^1.1.2"
util.promisify "^1.0.1" util.promisify "^1.0.1"
uuid "^8.3.0" uuid "3.4.0"
v8-compile-cache "^1.1.2" v8-compile-cache "^1.1.2"
webpack "^4.44.1" webpack "^4.44.1"
webpack-dev-middleware "^3.7.2" webpack-dev-middleware "^3.7.2"
@ -7240,11 +7240,6 @@ gensync@^1.0.0-beta.1:
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
get-caller-file@^2.0.1: get-caller-file@^2.0.1:
version "2.0.5" version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
@ -8088,10 +8083,10 @@ http-signature@~1.2.0:
jsprim "^1.2.2" jsprim "^1.2.2"
sshpk "^1.7.0" sshpk "^1.7.0"
http-status-codes@2.1.1: http-status-codes@2.1.3:
version "2.1.1" version "2.1.3"
resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.1.1.tgz#1e8fc7358055135518c1dced00362fd3c1f4f606" resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.1.3.tgz#d0ab99a7f79afb43dd735bc862ff350171f3cc2f"
integrity sha512-MPKYOEXZw8MzXml8XF8UBWzWGuO60ZKXBDCGwxPJmRZJW3eTUsLgB+O+jtlPB8ZOVSUs1vjcrxtitJghYzxtHQ== integrity sha512-/kDMtEEhAw747LvzDupRRsUOrmw/oEPmwf61guegI1ycj0vyywitq4BhGPknLzqAEBQvsW6rSv0dd2de1MU+yg==
http-status-codes@^2.1.2: http-status-codes@^2.1.2:
version "2.1.2" version "2.1.2"
@ -8108,15 +8103,15 @@ human-signals@^1.1.1:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
husky@4.2.5: husky@4.3.0:
version "4.2.5" version "4.3.0"
resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36" resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.0.tgz#0b2ec1d66424e9219d359e26a51c58ec5278f0de"
integrity sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ== integrity sha512-tTMeLCLqSBqnflBZnlVDhpaIMucSGaYyX6855jM4AguGeWCeSzNdb1mfyWduTZ3pe3SJVvVWGL0jO1iKZVPfTA==
dependencies: dependencies:
chalk "^4.0.0" chalk "^4.0.0"
ci-info "^2.0.0" ci-info "^2.0.0"
compare-versions "^3.6.0" compare-versions "^3.6.0"
cosmiconfig "^6.0.0" cosmiconfig "^7.0.0"
find-versions "^3.2.0" find-versions "^3.2.0"
opencollective-postinstall "^2.0.2" opencollective-postinstall "^2.0.2"
pkg-dir "^4.2.0" pkg-dir "^4.2.0"
@ -8184,10 +8179,10 @@ imagemin-mozjpeg@^9.0.0:
is-jpg "^2.0.0" is-jpg "^2.0.0"
mozjpeg "^7.0.0" mozjpeg "^7.0.0"
imagemin-pngquant@^9.0.0: imagemin-pngquant@^9.0.1:
version "9.0.0" version "9.0.1"
resolved "https://registry.yarnpkg.com/imagemin-pngquant/-/imagemin-pngquant-9.0.0.tgz#f22ba4276cde1799fb15dd475e33984f8607e871" resolved "https://registry.yarnpkg.com/imagemin-pngquant/-/imagemin-pngquant-9.0.1.tgz#ecf22f522bdb734a503ecc21bdd7bc3d0230edcc"
integrity sha512-9cqnTEaJwAHWUi+8EMTB3NUouWToCWxtL+QnoYr8bfVwuKilHvRVWKsa9lt+0c3aWaGxCAkHs++j8qINvSqomA== integrity sha512-PYyo9G/xwddf+Qqlqe3onz5ZH7p6vHYVVkiuuczUjxZmfekyY77RXaOA/AR6FnVoeQxGa/pDtEK5xUKOcVo+sA==
dependencies: dependencies:
execa "^4.0.0" execa "^4.0.0"
is-png "^2.0.0" is-png "^2.0.0"
@ -8442,11 +8437,6 @@ invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4:
dependencies: dependencies:
loose-envify "^1.0.0" loose-envify "^1.0.0"
invert-kv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
ip-regex@^2.1.0: ip-regex@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
@ -9303,13 +9293,6 @@ lazy-ass@^1.6.0:
resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513"
integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM=
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
dependencies:
invert-kv "^1.0.0"
leven@^3.1.0: leven@^3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@ -9524,6 +9507,11 @@ lodash.clonedeep@4.5.0:
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
lodash.deburr@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-4.1.0.tgz#ddb1bbb3ef07458c0177ba07de14422cb033ff9b"
integrity sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=
lodash.every@^4.6.0: lodash.every@^4.6.0:
version "4.6.0" version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7" resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7"
@ -10438,10 +10426,10 @@ node-releases@^1.1.58:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084"
integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==
node-sass@4.14.0: node-sass@4.14.1:
version "4.14.0" version "4.14.1"
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.0.tgz#a8e9d7720f8e15b4a1072719dcf04006f5648eeb" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5"
integrity sha512-AxqU+DFpk0lEz95sI6jO0hU0Rwyw7BXVEv6o9OItoXLyeygPeaSpiV4rwQb10JiTghHaa0gZeD21sz+OsQluaw== integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==
dependencies: dependencies:
async-foreach "^0.1.3" async-foreach "^0.1.3"
chalk "^1.1.1" chalk "^1.1.1"
@ -10457,7 +10445,7 @@ node-sass@4.14.0:
node-gyp "^3.8.0" node-gyp "^3.8.0"
npmlog "^4.0.0" npmlog "^4.0.0"
request "^2.88.0" request "^2.88.0"
sass-graph "^2.2.4" sass-graph "2.2.5"
stdout-stream "^1.4.0" stdout-stream "^1.4.0"
"true-case-path" "^1.0.2" "true-case-path" "^1.0.2"
@ -10866,13 +10854,6 @@ os-homedir@^1.0.0:
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
os-locale@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
dependencies:
lcid "^1.0.0"
os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@ -12179,7 +12160,7 @@ raw-body@2.4.0:
iconv-lite "0.4.24" iconv-lite "0.4.24"
unpipe "1.0.0" unpipe "1.0.0"
raw-body@^2.3.0, raw-body@^2.4.1: raw-body@^2.4.1:
version "2.4.1" version "2.4.1"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c"
integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==
@ -12259,10 +12240,10 @@ react-dom@16.13.1:
prop-types "^15.6.2" prop-types "^15.6.2"
scheduler "^0.19.1" scheduler "^0.19.1"
react-dropzone@11.0.3: react-dropzone@11.1.0:
version "11.0.3" version "11.1.0"
resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-11.0.3.tgz#59c396a1482454fa78466f8565336f40ce7f7c84" resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-11.1.0.tgz#c225f3c53450c80fbd80954361dc039090bfc14c"
integrity sha512-+MoMOoKZfkZ9i1+qEFl2ZU29AB/c9K2bFxyACqGynguJunmqO+k2PJ2AcuiH51xVNl9R7q/x5QdBaIWb6RtoSw== integrity sha512-gJT6iJadyTbevrigm6KZFaei/yNWfokzs1idumO7fXtRNPiGFDUpsQ+trHWwUO3yWOtJibpbo5tLZggjm+KV5w==
dependencies: dependencies:
attr-accept "^2.0.0" attr-accept "^2.0.0"
file-selector "^0.1.12" file-selector "^0.1.12"
@ -12396,13 +12377,6 @@ react-remove-scroll@^2.3.0:
use-callback-ref "^1.2.3" use-callback-ref "^1.2.3"
use-sidecar "^1.0.1" use-sidecar "^1.0.1"
react-reveal@1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/react-reveal/-/react-reveal-1.2.2.tgz#f47fbc44debc4c185ae2163a215a9e822c7adfef"
integrity sha512-JCv3fAoU6Z+Lcd8U48bwzm4pMZ79qsedSXYwpwt6lJNtj/v5nKJYZZbw3yhaQPPgYePo3Y0NOCoYOq/jcsisuw==
dependencies:
prop-types "^15.5.10"
react-side-effect@^2.1.0: react-side-effect@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.0.tgz#1ce4a8b4445168c487ed24dab886421f74d380d3" resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-2.1.0.tgz#1ce4a8b4445168c487ed24dab886421f74d380d3"
@ -12417,10 +12391,10 @@ react-style-singleton@^2.1.0:
invariant "^2.2.4" invariant "^2.2.4"
tslib "^1.0.0" tslib "^1.0.0"
react-syntax-highlighter@13.5.1: react-syntax-highlighter@13.5.3:
version "13.5.1" version "13.5.3"
resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-13.5.1.tgz#f21737cf6d582474a0f18b06b52613f4349c0e64" resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz#9712850f883a3e19eb858cf93fad7bb357eea9c6"
integrity sha512-VVYTnFXF55WMRGdr3QNEzAzcypFZqH45kS7rqh90+AFeNGtui8/gV5AIOIJjwTsuP2UxcO9qvEq94Jq9BYFUhw== integrity sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==
dependencies: dependencies:
"@babel/runtime" "^7.3.1" "@babel/runtime" "^7.3.1"
highlight.js "^10.1.1" highlight.js "^10.1.1"
@ -12885,11 +12859,6 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
require-main-filename@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
require-main-filename@^2.0.0: require-main-filename@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
@ -13106,15 +13075,15 @@ safe-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sass-graph@^2.2.4: sass-graph@2.2.5:
version "2.2.6" version "2.2.5"
resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.6.tgz#09fda0e4287480e3e4967b72a2d133ba09b8d827" resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8"
integrity sha512-MKuEYXFSGuRSi8FZ3A7imN1CeVn9Gpw0/SFJKdL1ejXJneI9a5rwlEZrKejhEFAA3O6yr3eIyl/WuvASvlT36g== integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==
dependencies: dependencies:
glob "^7.0.0" glob "^7.0.0"
lodash "^4.0.0" lodash "^4.0.0"
scss-tokenizer "^0.2.3" scss-tokenizer "^0.2.3"
yargs "^7.0.0" yargs "^13.3.2"
sass-loader@^7.3.1: sass-loader@^7.3.1:
version "7.3.1" version "7.3.1"
@ -13958,7 +13927,7 @@ string-similarity@^1.2.2:
lodash.map "^4.6.0" lodash.map "^4.6.0"
lodash.maxby "^4.6.0" lodash.maxby "^4.6.0"
string-width@^1.0.1, string-width@^1.0.2: string-width@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
@ -15131,16 +15100,11 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: uuid@3.4.0, uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0:
version "3.4.0" version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
uuid@^8.3.0:
version "8.3.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea"
integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==
v8-compile-cache@^1.1.2: v8-compile-cache@^1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4"
@ -15409,11 +15373,6 @@ whatwg-fetch@>=0.10.0:
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.0.tgz#e11de14f4878f773fbebcde8871b2c0699af8b30" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.0.tgz#e11de14f4878f773fbebcde8871b2c0699af8b30"
integrity sha512-rsum2ulz2iuZH08mJkT0Yi6JnKhwdw4oeyMjokgxd+mmqYSd9cPpOQf01TIWgjxG/U4+QR+AwKq6lSbXVxkyoQ== integrity sha512-rsum2ulz2iuZH08mJkT0Yi6JnKhwdw4oeyMjokgxd+mmqYSd9cPpOQf01TIWgjxG/U4+QR+AwKq6lSbXVxkyoQ==
which-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
which-module@^2.0.0: which-module@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
@ -15485,14 +15444,6 @@ worker-farm@^1.7.0:
dependencies: dependencies:
errno "~0.1.7" errno "~0.1.7"
wrap-ansi@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
dependencies:
string-width "^1.0.1"
strip-ansi "^3.0.1"
wrap-ansi@^3.0.1: wrap-ansi@^3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba"
@ -15623,11 +15574,6 @@ xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
y18n@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
y18n@^4.0.0: y18n@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
@ -15661,14 +15607,6 @@ yaml@^1.10.0, yaml@^1.7.2, yaml@^1.8.3:
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
yargs-parser@5.0.0-security.0:
version "5.0.0-security.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz#4ff7271d25f90ac15643b86076a2ab499ec9ee24"
integrity sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==
dependencies:
camelcase "^3.0.0"
object.assign "^4.1.0"
yargs-parser@^13.1.2: yargs-parser@^13.1.2:
version "13.1.2" version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
@ -15718,25 +15656,6 @@ yargs@^15.3.1:
y18n "^4.0.0" y18n "^4.0.0"
yargs-parser "^18.1.2" yargs-parser "^18.1.2"
yargs@^7.0.0:
version "7.1.1"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.1.tgz#67f0ef52e228d4ee0d6311acede8850f53464df6"
integrity sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"
decamelize "^1.1.1"
get-caller-file "^1.0.1"
os-locale "^1.4.0"
read-pkg-up "^1.0.1"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
set-blocking "^2.0.0"
string-width "^1.0.2"
which-module "^1.0.0"
y18n "^3.2.1"
yargs-parser "5.0.0-security.0"
yauzl@^2.10.0, yauzl@^2.4.2: yauzl@^2.10.0, yauzl@^2.4.2:
version "2.10.0" version "2.10.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"