Skip to content
Snippets Groups Projects
Commit 96f80009 authored by Migushthe2nd's avatar Migushthe2nd
Browse files

Merge remote-tracking branch 'origin/docker' into docker

parents 2807e841 855fefce
Branches
No related tags found
No related merge requests found
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="390" height="844" viewBox="0 0 390 844">
<defs>
<style>
.cls-1 {
fill: url(#linear-gradient);
}
</style>
<linearGradient id="linear-gradient" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox">
<stop offset="0" stop-color="#cdd6db"/>
<stop offset="1" stop-color="#003b70"/>
</linearGradient>
</defs>
<path id="Path_14" class="cls-1" d="M0,10.9H390v844H0Z" transform="translate(0 -10.902)"/>
</svg>
......@@ -3,12 +3,13 @@
<slot />
<div class="ml-input">
<input
:id="this.id"
:id="id"
type="text"
size="2"
maxlength="5"
value="2500"
:value="value"
oninput="this.parentNode.dataset.value = this.value"
@keyup.enter="updateValue"
>
<span>ml</span>
<svg xmlns="http://www.w3.org/2000/svg" class="cls-1" width="19.445" height="19.445" viewBox="0 0 19.445 19.445">
......@@ -17,7 +18,6 @@
<path id="Path_8" data-name="Path 8" d="M0,0H7.132V10.636L3.566,14.181,0,10.636Z" transform="translate(0 6.187)" />
</g>
</svg>
</div>
</div>
</template>
......@@ -27,6 +27,12 @@ export default {
props: {
id: String,
className: String,
value: String
},
methods: {
updateValue(event) {
this.$emit('input', event.target.value)
}
}
}
</script>
......
......@@ -144,7 +144,7 @@
</svg>
<p class="goal">
1000 / 2500 ml
{{ consumption ? consumption : '----' }} / {{ goal ? goal : '----' }} ml
</p>
<p class="inspirational-message">
......@@ -159,18 +159,38 @@ export default {
return {
translateYFull: -1383,
translateYEmpty: -1066,
translateYPos: -1383,
fillPercentage: 0
translateYPos: -1383
}
},
async fetch() {
// TODO make this Promise.all(Settled)
const goalResponse = await this.$axios.get('/api/goal')
const consumptionResponse = await this.$axios.get('/api/consumption/total', {
params: {
begin: this.UTCFloor()
}
})
this.$store.commit('setGoal', goalResponse.data.goal)
this.$store.commit('setConsumption', consumptionResponse.data.average)
},
computed: {
fillPercentage() {
return this.$store.getters.fillPercentage
},
goal() {
return this.$store.getters.goal
},
consumption() {
return this.$store.getters.consumption
}
},
mounted() {
this.fillDroplet()
},
methods: {
async fillDroplet () {
setTimeout(() => {
this.fillPercentage = 40
}, 4)
UTCFloor() {
// https://stackoverflow.com/a/53096398/14851412
const date = new Date()
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDay()))
}
}
}
......
......@@ -434,14 +434,20 @@
/>
</g>
</svg>
Log out
<button @click="logout">Log out</button>
</li>
</ul>
</section>
</template>
<script>
export default {
methods: {
async logout() {
await this.$auth.logout()
}
}
}
</script>
<style lang="scss" scoped>
......
<template>
<div>
<Nuxt/>
</div>
</template>
<script>
export default {
head() {
return {
bodyAttrs: {
id: "login-page"
}
}
}
}
</script>
<style>
@font-face {
font-family: Bungee;
src: local("Bungee"), url("~/assets/fonts/Bungee-Regular.ttf") format("TrueType");
}
html {
font-family: 'Bungee',
'Source Sans Pro',
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
'Helvetica Neue',
Arial,
sans-serif;
font-size: 1.25rem;
word-spacing: 1px;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
box-sizing: border-box;
scroll-behavior: smooth;
}
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
}
.button {
padding: .25em .5em .25em .5em;
background-image: linear-gradient(white, #89ceff);
border-radius: 1em;
color: #05629D;
}
#login-page {
overflow-x: hidden;
background-image: linear-gradient(#CDD6DB, #003B70);
height: 100%;
}
</style>
......@@ -16,6 +16,12 @@ export default {
]
},
env: {
// baseUrl: process.env.API_BASE_URL || 'localhost',
mode: process.env.MODE || 'production',
port: process.env.PORT || 3000
},
// Global CSS: https://go.nuxtjs.dev/config-css
css: [
'@/assets/css/windi.css'
......@@ -38,7 +44,10 @@ export default {
// Modules: https://go.nuxtjs.dev/config-modules
modules: [
// https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa'
'@nuxtjs/pwa',
'@nuxtjs/axios',
'@nuxtjs/auth-next'
],
// PWA module configuration: https://go.nuxtjs.dev/pwa
......@@ -50,5 +59,48 @@ export default {
// Build Configuration: https://go.nuxtjs.dev/config-build
build: {
},
router: {
middleware: ['auth']
},
axios: {
// baseURL: 'http://localhost:3001/'
proxy: process.env.MODE === 'development'
},
proxy: {
'/api/': {
target: 'http://localhost:3001/',
pathRewrite: { '^/api/': '' }
}
},
auth: {
strategies: {
cookie: {
// cookie: {
// name: 'connect.sid'
// },
endpoints: {
login: {
url: 'api/auth/login',
method: 'post'
},
logout: {
url: 'api/auth/logout',
method: 'post'
},
user: {
url: 'api/user/me',
method: 'get'
}
},
user: {
property: false
}
}
}
}
}
......@@ -12,6 +12,9 @@
"test": "jest"
},
"dependencies": {
"@nuxtjs/auth-next": "5.0.0-1624817847.21691f1",
"@nuxtjs/axios": "^5.13.6",
"@nuxtjs/proxy": "^2.1.0",
"@nuxtjs/pwa": "^3.3.5",
"core-js": "^3.9.1",
"nuxt": "^2.15.3"
......
<template>
<div class="login-container">
<svg
class="watermark"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="527.999"
height="792"
viewBox="0 0 527.999 792"
>
<defs>
<filter
id="Path_6"
x="80.391"
y="546"
width="81.134"
height="81.134"
filterUnits="userSpaceOnUse"
>
<feOffset dy="3" input="SourceAlpha" />
<feGaussianBlur stdDeviation="3" result="blur" />
<feFlood flood-opacity="0.349" />
<feComposite operator="in" in2="blur" />
<feComposite in="SourceGraphic" />
</filter>
<filter
id="Path_5"
x="210.474"
y="566.859"
width="107.052"
height="109.141"
filterUnits="userSpaceOnUse"
>
<feOffset dy="3" input="SourceAlpha" />
<feGaussianBlur stdDeviation="3" result="blur-2" />
<feFlood flood-opacity="0.361" />
<feComposite operator="in" in2="blur-2" />
<feComposite in="SourceGraphic" />
</filter>
<filter
id="Path_45"
x="366.474"
y="546"
width="81.134"
height="81.134"
filterUnits="userSpaceOnUse"
>
<feOffset dy="3" input="SourceAlpha" />
<feGaussianBlur stdDeviation="3" result="blur-3" />
<feFlood flood-opacity="0.349" />
<feComposite operator="in" in2="blur-3" />
<feComposite in="SourceGraphic" />
</filter>
</defs>
<g id="Group_41" data-name="Group 41" transform="translate(415 -828)">
<g id="Path_44" data-name="Path 44" class="cls-1" transform="translate(-415 922)">
<path
class="cls-4"
d="M264-94c-.577.781,264,377.927,264,525.249S409.8,698,264,698,0,578.572,0,431.25,264.577-94.78,264-94Z"
/>
<path
class="cls-5"
d="M 263.70703125 -22.25128173828125 C 171.9195556640625 116.2078247070312 39.99996948242188 338.6212768554688 39.99996948242188 431.2499084472656 C 39.99996948242188 556.280029296875 140.48583984375 657.9994506835938 263.9995422363281 657.9994506835938 C 387.5132446289062 657.9994506835938 487.9991149902344 556.280029296875 487.9991149902344 431.2499084472656 C 487.9991149902344 359.7812194824219 404.7320556640625 191.885009765625 263.70703125 -22.25128173828125 M 264.00048828125 -94.00042724609375 C 264.0005187988281 -94.00042724609375 264 -93.99969482421875 263.9990234375 -93.9981689453125 C 263.9994506835938 -93.99951171875 264.0004577636719 -94.00042724609375 264.00048828125 -94.00042724609375 Z M 263.9990234375 -93.9981689453125 C 263.6159973144531 -92.94195556640625 527.9990844726562 283.9821472167969 527.9990844726562 431.2499084472656 C 527.9990844726562 578.5715942382812 409.8025512695312 697.9994506835938 263.9995422363281 697.9994506835938 C 118.1966857910156 697.9994506835938 0 578.5715942382812 0 431.2499084472656 C 0 284.2878723144531 263.2866516113281 -92.93243408203125 263.9990234375 -93.9981689453125 Z"
/>
</g>
<g id="Droplet" class="cls-2" transform="translate(-325.609 1380)">
<g class="cls-8" transform="matrix(1, 0, 0, 1, -89.39, -552)">
<path
id="Path_6-2"
data-name="Path 6"
class="cls-3"
d="M31.567,0A31.567,31.567,0,1,1,0,31.567,31.567,31.567,0,0,1,31.567,0Z"
transform="translate(89.39 552)"
/>
</g>
<g class="cls-7" transform="matrix(1, 0, 0, 1, -89.39, -552)">
<path
id="Path_5-2"
data-name="Path 5"
class="cls-3"
d="M232.416-460.866c9.135-12.482,78.1-9.285,82.994,0s5.039,82.727-41.5,82.934S223.28-448.384,232.416-460.866Z"
transform="translate(-9.01 1041.93)"
/>
</g>
<g class="cls-6" transform="matrix(1, 0, 0, 1, -89.39, -552)">
<path
id="Path_45-2"
data-name="Path 45"
class="cls-3"
d="M31.567,0A31.567,31.567,0,1,1,0,31.567,31.567,31.567,0,0,1,31.567,0Z"
transform="translate(375.47 552)"
/>
</g>
</g>
</g>
</svg>
<h1><span>Log in</span> to access</h1>
<h2>your hydrominder</h2>
<p v-if="loginError" class="error">
Something went wrong logging you in.
Check your username and password and try again.
</p>
<form class="login-form" @submit.prevent="userLogin">
<label for="username">Username</label>
<input id="username" v-model="login.username" type="text">
<label for="password">Password</label>
<input id="password" v-model="login.password" class="password" type="password">
<button class="button" type="submit">Log in</button>
</form>
</div>
</template>
<script>
export default {
layout: 'login',
data () {
return {
login: {
username: '',
password: ''
},
loginError: false
}
},
methods: {
async userLogin () {
try {
await this.$auth.loginWith('cookie', { data: this.login })
this.loginError = false
} catch (err) {
this.loginError = true
}
}
},
auth: 'guest'
}
</script>
<style lang="scss" scoped>
.login-form {
input {
margin: 0;
font-size: 1.2rem;
border: 5px solid white;
border-radius: 35px;
box-shadow: 0 5px 7px rgba(0, 0, 0, .4) inset,
0 3px 5px #555;
padding: 0 1em 0 0.25em;
background: #87A1B6;
color: #004377;
width: 300px;
grid-area: 1 / 1;
}
.password {
background: #708EA8;
}
label {
font-size: 1.1rem;
margin-top: 5%;
margin-right: 6em;
}
button {
background-image: linear-gradient(#94ccef, #ebf7ff);
margin-top: 27%;
width: 300px;
box-shadow: 0 5px 8px rgba(0, 0, 0, .4);
}
}
.login-container {
position:relative;
margin: 0 auto;
min-height: 100vh;
max-width: 500px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
color: white;
font-size: 1.3rem;
text-shadow: 0 4px 7px #333;
h1 {
margin-top: 2em;
}
h2 {
margin-bottom: 2em;
z-index: 5;
}
span {
color: #004377;
font-size: 1.6rem;
vertical-align: center;
text-shadow: -1px 3px 4px #444;
}
.error {
color: darkred;
text-shadow: none;
font-size: .7em;
}
.watermark {
position: absolute;
top: 3%;
right: -250px;
height:92vh;
width:auto;
z-index: -1;
mix-blend-mode: soft-light;
.cls-1 {
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
}
.cls-1, .cls-2 {
mix-blend-mode: soft-light;
isolation: isolate;
}
.cls-3 {
fill: #fff;
}
.cls-4, .cls-5 {
stroke: none;
}
.cls-5 {
fill: #fff;
}
.cls-6 {
filter: url(#Path_45);
}
.cls-7 {
filter: url(#Path_5);
}
.cls-8 {
filter: url(#Path_6);
}
}
}
</style>
<template>
<section class="tracker-section">
<MililiterInput :id="'add-water'">
<MililiterInput :id="'add-water'" v-model="waterAddition">
<!--suppress XmlInvalidId -->
<label for="add-water">How much water did you drink?</label>
</MililiterInput>
......@@ -11,7 +11,35 @@
</template>
<script>
export default {
data() {
return {
waterAddition: undefined
}
},
watch: {
async waterAddition() {
if (this.waterAddition === undefined || this.waterAddition === null) {
return
}
await this.$axios.post('api/consumption', null, {
params: { amount: this.waterAddition }
})
const consumptionResponse = await this.$axios.get('/api/consumption/total', {
params: { begin: this.UTCFloor() }
})
await this.$router.push('/')
this.$store.commit('setConsumption', consumptionResponse.data.average)
}
},
methods: {
UTCFloor() {
// https://stackoverflow.com/a/53096398/14851412
const date = new Date()
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDay()))
}
}
}
</script>
<style scoped lang="scss">
......
......@@ -62,9 +62,9 @@
</g>
</g>
</svg>
<MililiterInput :id="'goal'">
<MililiterInput :id="'goal'" v-model="goal">
<!--suppress XmlInvalidId -->
<label for="goal">You're <span>40%</span> of the way to your goal of</label>
<label for="goal">You're <span>{{ fillPercentage }}%</span> of the way to your goal of</label>
</MililiterInput>
<NuxtLink to="/add-water">
<button>
......@@ -96,23 +96,36 @@
<script>
export default {
data: function () {
data() {
return {
dashOffsetFull: 210,
dashOffsetEmpty: 961,
fillPercentage: 40,
dashOffset: 600
goal: 0
}
},
methods: {
fillTracker: async function () {
setTimeout(() => {
this.dashOffset = (this.dashOffsetEmpty - ((this.dashOffsetEmpty - this.dashOffsetFull) * this.fillPercentage / 100))
}, 4)
computed: {
fillPercentage() {
return this.$store.getters.fillPercentage
},
// goal() {
// return this.$store.getters.goal
// },
dashOffset() {
return (this.dashOffsetEmpty - ((this.dashOffsetEmpty - this.dashOffsetFull) * this.fillPercentage / 100))
}
},
watch: {
async goal() {
const goalResponse = await this.$axios.post('/api/goal', {
amount: this.goal
})
this.$store.commit('setGoal', goalResponse.data.goal)
}
},
mounted() {
this.fillTracker()
this.goal = this.$store.getters.goal
},
methods: {
}
}
</script>
......@@ -167,7 +180,7 @@ export default {
height:auto;
position: absolute;
top: max(-100px, calc((-85 / 350) * 90vw));
z-index: 0;
z-index: -10;
#tracker-filler {
--dashoffset-empty: 961;
......@@ -181,21 +194,11 @@ export default {
stroke-width: 19px;
stroke-linecap: round;
stroke-dasharray: var(--dashoffset-empty);
stroke-dashoffset: var(--dashoffset-empty);
stroke-dashoffset: var(--dashoffset-target);
transform-origin: 164px 164px;
transform: rotate(129.5deg);
animation: ease-in-out 3s fill forwards;
@keyframes fill {
from {
stroke-dashoffset: var(--dashoffset-empty);
}
to {
stroke-dashoffset: var(--dashoffset-target);
}
}
transition: all ease-in-out 2s;
}
}
}
......
static/favicon.ico

1.36 KiB | W: 32px | H: 32px

static/favicon.ico

15 KiB | W: 48px | H: 48px

static/favicon.ico
static/favicon.ico
static/favicon.ico
static/favicon.ico
  • 2-up
  • Swipe
  • Onion skin
static/icon.png

12.4 KiB

export const state = () => ({
lastShownFillPercentage: 0,
goal: undefined,
consumption: 0
})
export const mutations = {
setFillPercentage(state, fillPercentage) {
state.lastShownFillPercentage = fillPercentage
},
setGoal(state, goal) {
state.goal = goal
},
setConsumption(state, consumption) {
state.consumption = consumption
}
}
export const getters = {
lastShownFillPercentage(state) {
return state.lastShownFillPercentage
},
goal(state) {
return state.goal
},
consumption(state) {
return state.consumption
},
fillPercentage(state) {
return Math.min(100, Math.floor(state.consumption / state.goal * 100))
}
}
......@@ -25,7 +25,8 @@
},
"types": [
"@nuxt/types",
"@types/node"
"@types/node",
"@nuxtjs/auth-next"
]
},
"exclude": [
......
......@@ -894,7 +894,7 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
"@babel/runtime@^7.14.0", "@babel/runtime@^7.8.4":
"@babel/runtime@^7.14.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.8.4":
version "7.15.4"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a"
integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==
......@@ -1561,6 +1561,32 @@
webpack-node-externals "^3.0.0"
webpackbar "^4.0.0"
"@nuxtjs/auth-next@5.0.0-1624817847.21691f1":
version "5.0.0-1624817847.21691f1"
resolved "https://registry.yarnpkg.com/@nuxtjs/auth-next/-/auth-next-5.0.0-1624817847.21691f1.tgz#28b92625ac5817d8083f8b42dd184a88caefbe96"
integrity sha512-PsHhLtzglMnwM2o16mgM7zQ3KwTI7AIg2ja3IFYujbs9s1w8HvnRD3byMRj1WZo0vXEBRh3u3nHxKEBIbFe1Xg==
dependencies:
"@nuxtjs/axios" "^5.13.0"
axios "^0.21.1"
body-parser "^1.19.0"
consola "^2.15.3"
cookie "^0.4.1"
defu "^3.2.2"
hasha "^5.2.2"
jwt-decode "^3.1.2"
requrl "^3.0.2"
"@nuxtjs/axios@^5.13.0", "@nuxtjs/axios@^5.13.6":
version "5.13.6"
resolved "https://registry.yarnpkg.com/@nuxtjs/axios/-/axios-5.13.6.tgz#6f4bbd98a3a7799a5d2c0726c6ad2a98aa111881"
integrity sha512-XS+pOE0xsDODs1zAIbo95A0LKlilvJi8YW0NoXYuq3/jjxGgWDxizZ6Yx0AIIjZOoGsXJOPc0/BcnSEUQ2mFBA==
dependencies:
"@nuxtjs/proxy" "^2.1.0"
axios "^0.21.1"
axios-retry "^3.1.9"
consola "^2.15.3"
defu "^5.0.0"
"@nuxtjs/eslint-config-typescript@^6.0.0":
version "6.0.1"
resolved "https://registry.yarnpkg.com/@nuxtjs/eslint-config-typescript/-/eslint-config-typescript-6.0.1.tgz#11e91a5e25aca6855ec7525080da694c4b3cd4d4"
......@@ -1592,6 +1618,13 @@
consola "^2.15.0"
eslint-webpack-plugin "^2.4.1"
"@nuxtjs/proxy@^2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@nuxtjs/proxy/-/proxy-2.1.0.tgz#fa7715a11d237fa1273503c4e9e137dd1bf5575b"
integrity sha512-/qtoeqXgZ4Mg6LRg/gDUZQrFpOlOdHrol/vQYMnKu3aN3bP90UfOUB3QSDghUUK7OISAJ0xp8Ld78aHyCTcKCQ==
dependencies:
http-proxy-middleware "^1.0.6"
"@nuxtjs/pwa@^3.3.5":
version "3.3.5"
resolved "https://registry.yarnpkg.com/@nuxtjs/pwa/-/pwa-3.3.5.tgz#db7c905536ebe8a464a347b6ae3215810642c044"
......@@ -1810,6 +1843,13 @@
"@types/relateurl" "*"
"@types/uglify-js" "*"
"@types/http-proxy@^1.17.5":
version "1.17.7"
resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.7.tgz#30ea85cc2c868368352a37f0d0d3581e24834c6f"
integrity sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==
dependencies:
"@types/node" "*"
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
......@@ -2724,6 +2764,21 @@ autoprefixer@^9.6.1:
postcss "^7.0.32"
postcss-value-parser "^4.1.0"
axios-retry@^3.1.9:
version "3.2.2"
resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-3.2.2.tgz#e2afca0af3392615e7938d4d17177c5a5572086f"
integrity sha512-dalsS+nk+dw3KIJ+sXzNCAPWhgqWkJhfHFeDXBKJXo0S/Uc1YVHf+d9Vhh9WgoAFgSU2JgLnQjSB99rRfg29Sg==
dependencies:
"@babel/runtime" "^7.15.4"
is-retry-allowed "^2.2.0"
axios@^0.21.1:
version "0.21.4"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
dependencies:
follow-redirects "^1.14.0"
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
......@@ -2986,6 +3041,22 @@ bn.js@^5.0.0, bn.js@^5.1.1:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
body-parser@^1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
dependencies:
bytes "3.1.0"
content-type "~1.0.4"
debug "2.6.9"
depd "~1.1.2"
http-errors "1.7.2"
iconv-lite "0.4.24"
on-finished "~2.3.0"
qs "6.7.0"
raw-body "2.4.0"
type-is "~1.6.17"
boolbase@^1.0.0, boolbase@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
......@@ -3174,6 +3245,11 @@ bytes@3.0.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
bytes@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
cacache@^12.0.2:
version "12.0.4"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
......@@ -3703,6 +3779,11 @@ constants-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
content-type@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
......@@ -3715,6 +3796,11 @@ cookie@^0.3.1:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
cookie@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
copy-concurrently@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
......@@ -4858,6 +4944,11 @@ etag@^1.8.1, etag@~1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
eventemitter3@^4.0.0:
version "4.0.7"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
events@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
......@@ -5202,6 +5293,11 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3"
readable-stream "^2.3.6"
follow-redirects@^1.0.0, follow-redirects@^1.14.0:
version "1.14.4"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379"
integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==
for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
......@@ -5735,6 +5831,17 @@ htmlparser2@^6.1.0:
domutils "^2.5.2"
entities "^2.0.0"
http-errors@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
dependencies:
depd "~1.1.2"
inherits "2.0.3"
setprototypeof "1.1.1"
statuses ">= 1.5.0 < 2"
toidentifier "1.0.0"
http-errors@~1.7.2:
version "1.7.3"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
......@@ -5755,6 +5862,26 @@ http-proxy-agent@^4.0.1:
agent-base "6"
debug "4"
http-proxy-middleware@^1.0.6:
version "1.3.1"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz#43700d6d9eecb7419bf086a128d0f7205d9eb665"
integrity sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==
dependencies:
"@types/http-proxy" "^1.17.5"
http-proxy "^1.18.1"
is-glob "^4.0.1"
is-plain-obj "^3.0.0"
micromatch "^4.0.2"
http-proxy@^1.18.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
dependencies:
eventemitter3 "^4.0.0"
follow-redirects "^1.0.0"
requires-port "^1.0.0"
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
......@@ -6166,6 +6293,11 @@ is-plain-obj@^1.0.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
is-plain-obj@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
......@@ -6191,6 +6323,11 @@ is-resolvable@^1.0.0:
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
is-retry-allowed@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d"
integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==
is-ssh@^1.3.0:
version "1.3.3"
resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e"
......@@ -6826,6 +6963,11 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
jwt-decode@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59"
integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
......@@ -7150,6 +7292,11 @@ mdn-data@2.0.4:
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
mem@^8.1.1:
version "8.1.1"
resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122"
......@@ -9014,6 +9161,11 @@ q@^1.1.2:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
qs@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
qs@^6.9.4:
version "6.10.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a"
......@@ -9079,6 +9231,16 @@ range-parser@^1.2.1, range-parser@~1.2.1:
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
raw-body@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
dependencies:
bytes "3.1.0"
http-errors "1.7.2"
iconv-lite "0.4.24"
unpipe "1.0.0"
rc9@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/rc9/-/rc9-1.2.0.tgz#ef098181fdde714efc4c426383d6e46c14b1254a"
......@@ -9291,6 +9453,16 @@ require-main-filename@^2.0.0:
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
requrl@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/requrl/-/requrl-3.0.2.tgz#d376104193b02a2d874dde68454c2db2dfeb0fac"
integrity sha512-f3gjR6d8MhOpn46PP+DSJywbmxi95fxQm3coXBFwognjFLla9X6tr8BdNyaIKNOEkaRbRcm0/zYAqN19N1oyhg==
reserved-words@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1"
......@@ -10569,6 +10741,14 @@ type-fest@^0.8.0, type-fest@^0.8.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
type-is@~1.6.17:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
dependencies:
media-typer "0.3.0"
mime-types "~2.1.24"
typedarray-to-buffer@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
......@@ -10683,7 +10863,7 @@ universalify@^2.0.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
unpipe@~1.0.0:
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment