From 30101cfd5b2515c77f5dd5fe8c5c77131305e52c Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Sat, 13 Nov 2021 12:08:36 +1300
Subject: [PATCH 01/15] switch to main commit
---
.gitignore | 1 +
package-lock.json | 421 +++++++-
package.json | 11 +-
pnpm-lock.yaml | 1090 +++++++++++++++++++++
src/lib/bta.ts | 35 +
src/routes/login.svelte | 19 +
src/routes/you/[user].svelte | 76 ++
src/routes/you/supa/fsauth/auth.ts | 35 +
src/routes/you/supa/you_api/[user].ts | 38 +
src/routes/you/supa/you_api/set/[user].ts | 29 +
10 files changed, 1744 insertions(+), 11 deletions(-)
create mode 100644 pnpm-lock.yaml
create mode 100644 src/lib/bta.ts
create mode 100644 src/routes/login.svelte
create mode 100644 src/routes/you/[user].svelte
create mode 100644 src/routes/you/supa/fsauth/auth.ts
create mode 100644 src/routes/you/supa/you_api/[user].ts
create mode 100644 src/routes/you/supa/you_api/set/[user].ts
diff --git a/.gitignore b/.gitignore
index dad6f80..65624f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ node_modules
/build
/.svelte-kit
/package
+.env
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index fabd88d..cdb3753 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,13 +8,14 @@
"name": "scratchinfo",
"version": "1.2.0",
"dependencies": {
+ "@supabase/supabase-js": "^1.27.0",
"@sveltejs/adapter-vercel": "^1.0.0-next.31"
},
"devDependencies": {
"@sveltejs/kit": "next",
- "svelte": "^3.43.2",
- "svelte-check": "^2.2.7",
- "svelte-preprocess": "^4.9.4",
+ "svelte": "^3.44.1",
+ "svelte-check": "^2.2.8",
+ "svelte-preprocess": "^4.9.8",
"tslib": "^2.3.1",
"typescript": "^4.4.4"
}
@@ -67,6 +68,50 @@
"node": ">= 8.0.0"
}
},
+ "node_modules/@supabase/gotrue-js": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.20.0.tgz",
+ "integrity": "sha512-udv6o44JPqQWc8dh9bJnvvUpPKFtzVpSpsTKiS541gjR9kNCgdxkMMYBh5653W9gKfcmqN5mYf9/hYzDOoB6ww==",
+ "dependencies": {
+ "cross-fetch": "^3.0.6"
+ }
+ },
+ "node_modules/@supabase/postgrest-js": {
+ "version": "0.35.0",
+ "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.35.0.tgz",
+ "integrity": "sha512-z+XKJ2oXuGEAEBVXseeQUXaM3ekQZK4XF0Kc399Glyg+rZaBTwNeJtY+Q/23NcIE5uNMYbTnEXm80jZbLBnWdw==",
+ "dependencies": {
+ "cross-fetch": "^3.0.6"
+ }
+ },
+ "node_modules/@supabase/realtime-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.2.1.tgz",
+ "integrity": "sha512-nhwSvizonT8hiMoQHOqs+2MZNV8qkhKn552g7NIJktVmqpz//O1dGjdcXyjhbAurW18z0Y7Qa9G7UXfEYJKRPQ==",
+ "dependencies": {
+ "@types/websocket": "^1.0.3",
+ "websocket": "^1.0.34"
+ }
+ },
+ "node_modules/@supabase/storage-js": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-1.5.0.tgz",
+ "integrity": "sha512-ki2HT9FrCYRN3yoqWqX+u47TUHQ8lgSStAqV/97kMov1z2d+iIlqGBGVcaGDqq4NvK8CipG8IJARYM72oX+afA==",
+ "dependencies": {
+ "cross-fetch": "^3.1.0"
+ }
+ },
+ "node_modules/@supabase/supabase-js": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.27.0.tgz",
+ "integrity": "sha512-oAm111Y1t7X+S5GeJWw9NdzAn1A1Cz5WAB/evYjM4ut7ZVWpeaEAlQ2p34MAjDrRVAcCfEr75rQwLTCqPcmMMQ==",
+ "dependencies": {
+ "@supabase/gotrue-js": "^1.20.0",
+ "@supabase/postgrest-js": "^0.35.0",
+ "@supabase/realtime-js": "^1.2.1",
+ "@supabase/storage-js": "^1.5.0"
+ }
+ },
"node_modules/@sveltejs/adapter-vercel": {
"version": "1.0.0-next.31",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.31.tgz",
@@ -126,8 +171,7 @@
"node_modules/@types/node": {
"version": "16.11.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz",
- "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==",
- "dev": true
+ "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w=="
},
"node_modules/@types/pug": {
"version": "2.0.5",
@@ -144,6 +188,14 @@
"@types/node": "*"
}
},
+ "node_modules/@types/websocket": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.4.tgz",
+ "integrity": "sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -218,6 +270,18 @@
"node": "*"
}
},
+ "node_modules/bufferutil": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz",
+ "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=6.14.2"
+ }
+ },
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -297,6 +361,23 @@
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
+ "node_modules/cross-fetch": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
+ "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
+ "dependencies": {
+ "node-fetch": "2.6.1"
+ }
+ },
+ "node_modules/d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "dependencies": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
"node_modules/debug": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
@@ -323,12 +404,41 @@
"node": ">=8"
}
},
+ "node_modules/es5-ext": {
+ "version": "0.10.53",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
+ "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "dependencies": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "node_modules/es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
"node_modules/es6-promise": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
"integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
"dev": true
},
+ "node_modules/es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "dependencies": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
"node_modules/esbuild": {
"version": "0.13.12",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.12.tgz",
@@ -567,6 +677,19 @@
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true
},
+ "node_modules/ext": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
+ "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
+ "dependencies": {
+ "type": "^2.5.0"
+ }
+ },
+ "node_modules/ext/node_modules/type": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
+ "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
+ },
"node_modules/fast-glob": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
@@ -775,6 +898,11 @@
"node": ">=0.12.0"
}
},
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
"node_modules/kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
@@ -881,6 +1009,29 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
+ "node_modules/next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ }
+ },
+ "node_modules/node-gyp-build": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
+ "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -1294,6 +1445,19 @@
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
"dev": true
},
+ "node_modules/type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+ },
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
"node_modules/typescript": {
"version": "4.4.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
@@ -1307,6 +1471,18 @@
"node": ">=4.2.0"
}
},
+ "node_modules/utf-8-validate": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz",
+ "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=6.14.2"
+ }
+ },
"node_modules/vite": {
"version": "2.6.13",
"resolved": "https://registry.npmjs.org/vite/-/vite-2.6.13.tgz",
@@ -1344,11 +1520,48 @@
}
}
},
+ "node_modules/websocket": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
+ "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
+ "dependencies": {
+ "bufferutil": "^4.0.1",
+ "debug": "^2.2.0",
+ "es5-ext": "^0.10.50",
+ "typedarray-to-buffer": "^3.1.5",
+ "utf-8-validate": "^5.0.2",
+ "yaeti": "^0.0.6"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/websocket/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/websocket/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
+ },
+ "node_modules/yaeti": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
+ "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=",
+ "engines": {
+ "node": ">=0.10.32"
+ }
}
},
"dependencies": {
@@ -1388,6 +1601,50 @@
"picomatch": "^2.2.2"
}
},
+ "@supabase/gotrue-js": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.20.0.tgz",
+ "integrity": "sha512-udv6o44JPqQWc8dh9bJnvvUpPKFtzVpSpsTKiS541gjR9kNCgdxkMMYBh5653W9gKfcmqN5mYf9/hYzDOoB6ww==",
+ "requires": {
+ "cross-fetch": "^3.0.6"
+ }
+ },
+ "@supabase/postgrest-js": {
+ "version": "0.35.0",
+ "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.35.0.tgz",
+ "integrity": "sha512-z+XKJ2oXuGEAEBVXseeQUXaM3ekQZK4XF0Kc399Glyg+rZaBTwNeJtY+Q/23NcIE5uNMYbTnEXm80jZbLBnWdw==",
+ "requires": {
+ "cross-fetch": "^3.0.6"
+ }
+ },
+ "@supabase/realtime-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.2.1.tgz",
+ "integrity": "sha512-nhwSvizonT8hiMoQHOqs+2MZNV8qkhKn552g7NIJktVmqpz//O1dGjdcXyjhbAurW18z0Y7Qa9G7UXfEYJKRPQ==",
+ "requires": {
+ "@types/websocket": "^1.0.3",
+ "websocket": "^1.0.34"
+ }
+ },
+ "@supabase/storage-js": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-1.5.0.tgz",
+ "integrity": "sha512-ki2HT9FrCYRN3yoqWqX+u47TUHQ8lgSStAqV/97kMov1z2d+iIlqGBGVcaGDqq4NvK8CipG8IJARYM72oX+afA==",
+ "requires": {
+ "cross-fetch": "^3.1.0"
+ }
+ },
+ "@supabase/supabase-js": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.27.0.tgz",
+ "integrity": "sha512-oAm111Y1t7X+S5GeJWw9NdzAn1A1Cz5WAB/evYjM4ut7ZVWpeaEAlQ2p34MAjDrRVAcCfEr75rQwLTCqPcmMMQ==",
+ "requires": {
+ "@supabase/gotrue-js": "^1.20.0",
+ "@supabase/postgrest-js": "^0.35.0",
+ "@supabase/realtime-js": "^1.2.1",
+ "@supabase/storage-js": "^1.5.0"
+ }
+ },
"@sveltejs/adapter-vercel": {
"version": "1.0.0-next.31",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.31.tgz",
@@ -1425,8 +1682,7 @@
"@types/node": {
"version": "16.11.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz",
- "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==",
- "dev": true
+ "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w=="
},
"@types/pug": {
"version": "2.0.5",
@@ -1443,6 +1699,14 @@
"@types/node": "*"
}
},
+ "@types/websocket": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.4.tgz",
+ "integrity": "sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -1499,6 +1763,14 @@
"integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
"dev": true
},
+ "bufferutil": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz",
+ "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==",
+ "requires": {
+ "node-gyp-build": "^4.3.0"
+ }
+ },
"callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -1558,6 +1830,23 @@
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
+ "cross-fetch": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
+ "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
+ "requires": {
+ "node-fetch": "2.6.1"
+ }
+ },
+ "d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
"debug": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
@@ -1573,12 +1862,41 @@
"integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
"dev": true
},
+ "es5-ext": {
+ "version": "0.10.53",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
+ "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
"es6-promise": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
"integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
"dev": true
},
+ "es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "requires": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
"esbuild": {
"version": "0.13.12",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.12.tgz",
@@ -1711,6 +2029,21 @@
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true
},
+ "ext": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
+ "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
+ "requires": {
+ "type": "^2.5.0"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
+ "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
+ }
+ }
+ },
"fast-glob": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
@@ -1870,6 +2203,11 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
"kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
@@ -1949,6 +2287,21 @@
"integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
"dev": true
},
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
+ },
+ "node-fetch": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
+ },
+ "node-gyp-build": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
+ "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q=="
+ },
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -2206,12 +2559,33 @@
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
"dev": true
},
+ "type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
"typescript": {
"version": "4.4.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
"integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
"dev": true
},
+ "utf-8-validate": {
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz",
+ "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==",
+ "requires": {
+ "node-gyp-build": "^4.3.0"
+ }
+ },
"vite": {
"version": "2.6.13",
"resolved": "https://registry.npmjs.org/vite/-/vite-2.6.13.tgz",
@@ -2225,11 +2599,44 @@
"rollup": "^2.57.0"
}
},
+ "websocket": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
+ "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
+ "requires": {
+ "bufferutil": "^4.0.1",
+ "debug": "^2.2.0",
+ "es5-ext": "^0.10.50",
+ "typedarray-to-buffer": "^3.1.5",
+ "utf-8-validate": "^5.0.2",
+ "yaeti": "^0.0.6"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
+ },
+ "yaeti": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
+ "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
}
}
}
diff --git a/package.json b/package.json
index 7e2bb09..508adca 100644
--- a/package.json
+++ b/package.json
@@ -10,14 +10,17 @@
},
"devDependencies": {
"@sveltejs/kit": "next",
- "svelte": "^3.43.2",
- "svelte-check": "^2.2.7",
- "svelte-preprocess": "^4.9.4",
+ "svelte": "^3.44.1",
+ "svelte-check": "^2.2.8",
+ "svelte-preprocess": "^4.9.8",
"tslib": "^2.3.1",
"typescript": "^4.4.4"
},
"type": "module",
"dependencies": {
- "@sveltejs/adapter-vercel": "^1.0.0-next.31"
+ "@supabase/supabase-js": "^1.27.0",
+ "@sveltejs/adapter-vercel": "^1.0.0-next.31",
+ "dotenv": "^10.0.0",
+ "jsonwebtoken": "^8.5.1"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..c580b9b
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,1090 @@
+lockfileVersion: 5.3
+
+specifiers:
+ '@supabase/supabase-js': ^1.27.0
+ '@sveltejs/adapter-vercel': ^1.0.0-next.31
+ '@sveltejs/kit': next
+ dotenv: ^10.0.0
+ jsonwebtoken: ^8.5.1
+ svelte: ^3.44.1
+ svelte-check: ^2.2.8
+ svelte-preprocess: ^4.9.8
+ tslib: ^2.3.1
+ typescript: ^4.4.4
+
+dependencies:
+ '@supabase/supabase-js': 1.27.0
+ '@sveltejs/adapter-vercel': 1.0.0-next.31
+ dotenv: 10.0.0
+ jsonwebtoken: 8.5.1
+
+devDependencies:
+ '@sveltejs/kit': 1.0.0-next.196_svelte@3.44.1
+ svelte: 3.44.1
+ svelte-check: 2.2.8_svelte@3.44.1
+ svelte-preprocess: 4.9.8_svelte@3.44.1+typescript@4.4.4
+ tslib: 2.3.1
+ typescript: 4.4.4
+
+packages:
+
+ /@nodelib/fs.scandir/2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat/2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /@nodelib/fs.walk/1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.13.0
+ dev: true
+
+ /@rollup/pluginutils/4.1.1:
+ resolution: {integrity: sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==}
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.0
+ dev: true
+
+ /@supabase/gotrue-js/1.20.0:
+ resolution: {integrity: sha512-udv6o44JPqQWc8dh9bJnvvUpPKFtzVpSpsTKiS541gjR9kNCgdxkMMYBh5653W9gKfcmqN5mYf9/hYzDOoB6ww==}
+ dependencies:
+ cross-fetch: 3.1.4
+ dev: false
+
+ /@supabase/postgrest-js/0.35.0:
+ resolution: {integrity: sha512-z+XKJ2oXuGEAEBVXseeQUXaM3ekQZK4XF0Kc399Glyg+rZaBTwNeJtY+Q/23NcIE5uNMYbTnEXm80jZbLBnWdw==}
+ dependencies:
+ cross-fetch: 3.1.4
+ dev: false
+
+ /@supabase/realtime-js/1.2.1:
+ resolution: {integrity: sha512-nhwSvizonT8hiMoQHOqs+2MZNV8qkhKn552g7NIJktVmqpz//O1dGjdcXyjhbAurW18z0Y7Qa9G7UXfEYJKRPQ==}
+ dependencies:
+ '@types/websocket': 1.0.4
+ websocket: 1.0.34
+ dev: false
+
+ /@supabase/storage-js/1.5.0:
+ resolution: {integrity: sha512-ki2HT9FrCYRN3yoqWqX+u47TUHQ8lgSStAqV/97kMov1z2d+iIlqGBGVcaGDqq4NvK8CipG8IJARYM72oX+afA==}
+ dependencies:
+ cross-fetch: 3.1.4
+ dev: false
+
+ /@supabase/supabase-js/1.27.0:
+ resolution: {integrity: sha512-oAm111Y1t7X+S5GeJWw9NdzAn1A1Cz5WAB/evYjM4ut7ZVWpeaEAlQ2p34MAjDrRVAcCfEr75rQwLTCqPcmMMQ==}
+ dependencies:
+ '@supabase/gotrue-js': 1.20.0
+ '@supabase/postgrest-js': 0.35.0
+ '@supabase/realtime-js': 1.2.1
+ '@supabase/storage-js': 1.5.0
+ dev: false
+
+ /@sveltejs/adapter-vercel/1.0.0-next.31:
+ resolution: {integrity: sha512-W8p/U00B6ihVrDpwMkgEexfVUzaLmn4MRtXj//Gw4NDFfsrZR4P5wBidrOAIkCYBMvqCOHD+vbAvIiAMOaN23g==}
+ dependencies:
+ esbuild: 0.13.12
+ dev: false
+
+ /@sveltejs/kit/1.0.0-next.196_svelte@3.44.1:
+ resolution: {integrity: sha512-z7sA/2/3Il5biibjPXCYXJC11TyFhgCvMaJvvbtMnu2l3EmOmJBMS+r2djGptzfFsugSVNwGQFn8+ldWQWq3jA==}
+ engines: {node: '>=14.13'}
+ hasBin: true
+ peerDependencies:
+ svelte: ^3.44.0
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 1.0.0-next.30_svelte@3.44.1+vite@2.6.13
+ cheap-watch: 1.0.4
+ sade: 1.7.4
+ svelte: 3.44.1
+ vite: 2.6.13
+ transitivePeerDependencies:
+ - diff-match-patch
+ - less
+ - sass
+ - stylus
+ - supports-color
+ dev: true
+
+ /@sveltejs/vite-plugin-svelte/1.0.0-next.30_svelte@3.44.1+vite@2.6.13:
+ resolution: {integrity: sha512-YQqdMxjL1VgSFk4/+IY3yLwuRRapPafPiZTiaGEq1psbJYSNYUWx9F1zMm32GMsnogg3zn99mGJOqe3ld3HZSg==}
+ engines: {node: ^14.13.1 || >= 16}
+ peerDependencies:
+ diff-match-patch: ^1.0.5
+ svelte: ^3.44.0
+ vite: ^2.6.0
+ peerDependenciesMeta:
+ diff-match-patch:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 4.1.1
+ debug: 4.3.2
+ kleur: 4.1.4
+ magic-string: 0.25.7
+ require-relative: 0.8.7
+ svelte: 3.44.1
+ svelte-hmr: 0.14.7_svelte@3.44.1
+ vite: 2.6.13
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@types/node/16.11.7:
+ resolution: {integrity: sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==}
+
+ /@types/pug/2.0.5:
+ resolution: {integrity: sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==}
+ dev: true
+
+ /@types/sass/1.43.0:
+ resolution: {integrity: sha512-DPSXNJ1rYLo88GyF9tuB4bsYGfpKI1a4+wOQmc+LI1SUoocm9QLRSpz0GxxuyjmJsYFIQo/dDlRSSpIXngff+w==}
+ dependencies:
+ '@types/node': 16.11.7
+ dev: true
+
+ /@types/websocket/1.0.4:
+ resolution: {integrity: sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==}
+ dependencies:
+ '@types/node': 16.11.7
+ dev: false
+
+ /ansi-styles/4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /anymatch/3.1.2:
+ resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.0
+ dev: true
+
+ /balanced-match/1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: true
+
+ /binary-extensions/2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /brace-expansion/1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /braces/3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /buffer-crc32/0.2.13:
+ resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=}
+ dev: true
+
+ /buffer-equal-constant-time/1.0.1:
+ resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=}
+ dev: false
+
+ /bufferutil/4.0.5:
+ resolution: {integrity: sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==}
+ engines: {node: '>=6.14.2'}
+ requiresBuild: true
+ dependencies:
+ node-gyp-build: 4.3.0
+ dev: false
+
+ /callsites/3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /chalk/4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /cheap-watch/1.0.4:
+ resolution: {integrity: sha512-QR/9FrtRL5fjfUJBhAKCdi0lSRQ3rVRRum3GF9wDKp2TJbEIMGhUEr2yU8lORzm9Isdjx7/k9S0DFDx+z5VGtw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /chokidar/3.5.2:
+ resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.2
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /color-convert/2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name/1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ dev: true
+
+ /concat-map/0.0.1:
+ resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
+ dev: true
+
+ /cross-fetch/3.1.4:
+ resolution: {integrity: sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==}
+ dependencies:
+ node-fetch: 2.6.1
+ dev: false
+
+ /d/1.0.1:
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
+ dependencies:
+ es5-ext: 0.10.53
+ type: 1.2.0
+ dev: false
+
+ /debug/2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ dependencies:
+ ms: 2.0.0
+ dev: false
+
+ /debug/4.3.2:
+ resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /detect-indent/6.1.0:
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /dotenv/10.0.0:
+ resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /ecdsa-sig-formatter/1.0.11:
+ resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+
+ /es5-ext/0.10.53:
+ resolution: {integrity: sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==}
+ dependencies:
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ next-tick: 1.0.0
+ dev: false
+
+ /es6-iterator/2.0.3:
+ resolution: {integrity: sha1-p96IkUGgWpSwhUQDstCg+/qY87c=}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.53
+ es6-symbol: 3.1.3
+ dev: false
+
+ /es6-promise/3.3.1:
+ resolution: {integrity: sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=}
+ dev: true
+
+ /es6-symbol/3.1.3:
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
+ dependencies:
+ d: 1.0.1
+ ext: 1.6.0
+ dev: false
+
+ /esbuild-android-arm64/0.13.12:
+ resolution: {integrity: sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-darwin-64/0.13.12:
+ resolution: {integrity: sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-darwin-arm64/0.13.12:
+ resolution: {integrity: sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-freebsd-64/0.13.12:
+ resolution: {integrity: sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA==}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-freebsd-arm64/0.13.12:
+ resolution: {integrity: sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw==}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-linux-32/0.13.12:
+ resolution: {integrity: sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ==}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-linux-64/0.13.12:
+ resolution: {integrity: sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-linux-arm/0.13.12:
+ resolution: {integrity: sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-linux-arm64/0.13.12:
+ resolution: {integrity: sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-linux-mips64le/0.13.12:
+ resolution: {integrity: sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g==}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-linux-ppc64le/0.13.12:
+ resolution: {integrity: sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw==}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-netbsd-64/0.13.12:
+ resolution: {integrity: sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA==}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-openbsd-64/0.13.12:
+ resolution: {integrity: sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ==}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-sunos-64/0.13.12:
+ resolution: {integrity: sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw==}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-windows-32/0.13.12:
+ resolution: {integrity: sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-windows-64/0.13.12:
+ resolution: {integrity: sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /esbuild-windows-arm64/0.13.12:
+ resolution: {integrity: sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /esbuild/0.13.12:
+ resolution: {integrity: sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow==}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ esbuild-android-arm64: 0.13.12
+ esbuild-darwin-64: 0.13.12
+ esbuild-darwin-arm64: 0.13.12
+ esbuild-freebsd-64: 0.13.12
+ esbuild-freebsd-arm64: 0.13.12
+ esbuild-linux-32: 0.13.12
+ esbuild-linux-64: 0.13.12
+ esbuild-linux-arm: 0.13.12
+ esbuild-linux-arm64: 0.13.12
+ esbuild-linux-mips64le: 0.13.12
+ esbuild-linux-ppc64le: 0.13.12
+ esbuild-netbsd-64: 0.13.12
+ esbuild-openbsd-64: 0.13.12
+ esbuild-sunos-64: 0.13.12
+ esbuild-windows-32: 0.13.12
+ esbuild-windows-64: 0.13.12
+ esbuild-windows-arm64: 0.13.12
+
+ /estree-walker/2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
+ /ext/1.6.0:
+ resolution: {integrity: sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==}
+ dependencies:
+ type: 2.5.0
+ dev: false
+
+ /fast-glob/3.2.7:
+ resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.4
+ dev: true
+
+ /fastq/1.13.0:
+ resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /fill-range/7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /fs.realpath/1.0.0:
+ resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
+ dev: true
+
+ /fsevents/2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind/1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ dev: true
+
+ /glob-parent/5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob/7.2.0:
+ resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.0.4
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /graceful-fs/4.2.8:
+ resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==}
+ dev: true
+
+ /has-flag/4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /has/1.0.3:
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+ engines: {node: '>= 0.4.0'}
+ dependencies:
+ function-bind: 1.1.1
+ dev: true
+
+ /import-fresh/3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
+ /inflight/1.0.6:
+ resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits/2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: true
+
+ /is-binary-path/2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
+ /is-core-module/2.8.0:
+ resolution: {integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==}
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /is-extglob/2.1.1:
+ resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-glob/4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-number/7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+ dev: true
+
+ /is-typedarray/1.0.0:
+ resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=}
+ dev: false
+
+ /jsonwebtoken/8.5.1:
+ resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==}
+ engines: {node: '>=4', npm: '>=1.4.28'}
+ dependencies:
+ jws: 3.2.2
+ lodash.includes: 4.3.0
+ lodash.isboolean: 3.0.3
+ lodash.isinteger: 4.0.4
+ lodash.isnumber: 3.0.3
+ lodash.isplainobject: 4.0.6
+ lodash.isstring: 4.0.1
+ lodash.once: 4.1.1
+ ms: 2.1.2
+ semver: 5.7.1
+ dev: false
+
+ /jwa/1.4.1:
+ resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==}
+ dependencies:
+ buffer-equal-constant-time: 1.0.1
+ ecdsa-sig-formatter: 1.0.11
+ safe-buffer: 5.2.1
+ dev: false
+
+ /jws/3.2.2:
+ resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==}
+ dependencies:
+ jwa: 1.4.1
+ safe-buffer: 5.2.1
+ dev: false
+
+ /kleur/4.1.4:
+ resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /lodash.includes/4.3.0:
+ resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=}
+ dev: false
+
+ /lodash.isboolean/3.0.3:
+ resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=}
+ dev: false
+
+ /lodash.isinteger/4.0.4:
+ resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=}
+ dev: false
+
+ /lodash.isnumber/3.0.3:
+ resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=}
+ dev: false
+
+ /lodash.isplainobject/4.0.6:
+ resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=}
+ dev: false
+
+ /lodash.isstring/4.0.1:
+ resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=}
+ dev: false
+
+ /lodash.once/4.1.1:
+ resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=}
+ dev: false
+
+ /magic-string/0.25.7:
+ resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
+ dependencies:
+ sourcemap-codec: 1.4.8
+ dev: true
+
+ /merge2/1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /micromatch/4.0.4:
+ resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.0
+ dev: true
+
+ /min-indent/1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /minimatch/3.0.4:
+ resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimist/1.2.5:
+ resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
+ dev: true
+
+ /mkdirp/0.5.5:
+ resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.5
+ dev: true
+
+ /mri/1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /ms/2.0.0:
+ resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=}
+ dev: false
+
+ /ms/2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ /nanoid/3.1.30:
+ resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: true
+
+ /next-tick/1.0.0:
+ resolution: {integrity: sha1-yobR/ogoFpsBICCOPchCS524NCw=}
+ dev: false
+
+ /node-fetch/2.6.1:
+ resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==}
+ engines: {node: 4.x || >=6.0.0}
+ dev: false
+
+ /node-gyp-build/4.3.0:
+ resolution: {integrity: sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==}
+ hasBin: true
+ dev: false
+
+ /normalize-path/3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /once/1.4.0:
+ resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /parent-module/1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
+ /path-is-absolute/1.0.1:
+ resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /path-parse/1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ dev: true
+
+ /picocolors/1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: true
+
+ /picomatch/2.3.0:
+ resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==}
+ engines: {node: '>=8.6'}
+ dev: true
+
+ /postcss/8.3.11:
+ resolution: {integrity: sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.1.30
+ picocolors: 1.0.0
+ source-map-js: 0.6.2
+ dev: true
+
+ /queue-microtask/1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /readdirp/3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.0
+ dev: true
+
+ /require-relative/0.8.7:
+ resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=}
+ dev: true
+
+ /resolve-from/4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /resolve/1.20.0:
+ resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==}
+ dependencies:
+ is-core-module: 2.8.0
+ path-parse: 1.0.7
+ dev: true
+
+ /reusify/1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ /rimraf/2.7.1:
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.0
+ dev: true
+
+ /rollup/2.59.0:
+ resolution: {integrity: sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /run-parallel/1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /sade/1.7.4:
+ resolution: {integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ mri: 1.2.0
+ dev: true
+
+ /safe-buffer/5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: false
+
+ /sander/0.5.1:
+ resolution: {integrity: sha1-dB4kXiMfB8r7b98PEzrfohalAq0=}
+ dependencies:
+ es6-promise: 3.3.1
+ graceful-fs: 4.2.8
+ mkdirp: 0.5.5
+ rimraf: 2.7.1
+ dev: true
+
+ /semver/5.7.1:
+ resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
+ hasBin: true
+ dev: false
+
+ /sorcery/0.10.0:
+ resolution: {integrity: sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=}
+ hasBin: true
+ dependencies:
+ buffer-crc32: 0.2.13
+ minimist: 1.2.5
+ sander: 0.5.1
+ sourcemap-codec: 1.4.8
+ dev: true
+
+ /source-map-js/0.6.2:
+ resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /source-map/0.7.3:
+ resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /sourcemap-codec/1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ dev: true
+
+ /strip-indent/3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ min-indent: 1.0.1
+ dev: true
+
+ /supports-color/7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /svelte-check/2.2.8_svelte@3.44.1:
+ resolution: {integrity: sha512-y8BmSf3v+jOoVwKY0K3wAiIt3hupLiUS4HYqXSZPXJZrChKddp+N8fyNeClsDChLt2sLUo6sOAhlnok/RJ+iIw==}
+ hasBin: true
+ peerDependencies:
+ svelte: ^3.24.0
+ dependencies:
+ chalk: 4.1.2
+ chokidar: 3.5.2
+ fast-glob: 3.2.7
+ import-fresh: 3.3.0
+ minimist: 1.2.5
+ sade: 1.7.4
+ source-map: 0.7.3
+ svelte: 3.44.1
+ svelte-preprocess: 4.9.8_svelte@3.44.1+typescript@4.4.4
+ typescript: 4.4.4
+ transitivePeerDependencies:
+ - '@babel/core'
+ - coffeescript
+ - less
+ - node-sass
+ - postcss
+ - postcss-load-config
+ - pug
+ - sass
+ - stylus
+ - sugarss
+ dev: true
+
+ /svelte-hmr/0.14.7_svelte@3.44.1:
+ resolution: {integrity: sha512-pDrzgcWSoMaK6AJkBWkmgIsecW0GChxYZSZieIYfCP0v2oPyx2CYU/zm7TBIcjLVUPP714WxmViE9Thht4etog==}
+ peerDependencies:
+ svelte: '>=3.19.0'
+ dependencies:
+ svelte: 3.44.1
+ dev: true
+
+ /svelte-preprocess/4.9.8_svelte@3.44.1+typescript@4.4.4:
+ resolution: {integrity: sha512-EQS/oRZzMtYdAprppZxY3HcysKh11w54MgA63ybtL+TAZ4hVqYOnhw41JVJjWN9dhPnNjjLzvbZ2tMhTsla1Og==}
+ engines: {node: '>= 9.11.2'}
+ requiresBuild: true
+ peerDependencies:
+ '@babel/core': ^7.10.2
+ coffeescript: ^2.5.1
+ less: ^3.11.3
+ node-sass: '*'
+ postcss: ^7 || ^8
+ postcss-load-config: ^2.1.0 || ^3.0.0
+ pug: ^3.0.0
+ sass: ^1.26.8
+ stylus: ^0.54.7
+ sugarss: ^2.0.0
+ svelte: ^3.23.0
+ typescript: ^3.9.5 || ^4.0.0
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ coffeescript:
+ optional: true
+ less:
+ optional: true
+ node-sass:
+ optional: true
+ postcss:
+ optional: true
+ postcss-load-config:
+ optional: true
+ pug:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@types/pug': 2.0.5
+ '@types/sass': 1.43.0
+ detect-indent: 6.1.0
+ magic-string: 0.25.7
+ sorcery: 0.10.0
+ strip-indent: 3.0.0
+ svelte: 3.44.1
+ typescript: 4.4.4
+ dev: true
+
+ /svelte/3.44.1:
+ resolution: {integrity: sha512-4DrCEJoBvdR689efHNSxIQn2pnFwB7E7j2yLEJtHE/P8hxwZWIphCtJ8are7bjl/iVMlcEf5uh5pJ68IwR09vQ==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /to-regex-range/5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+
+ /tslib/2.3.1:
+ resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
+ dev: true
+
+ /type/1.2.0:
+ resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
+ dev: false
+
+ /type/2.5.0:
+ resolution: {integrity: sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==}
+ dev: false
+
+ /typedarray-to-buffer/3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+ dependencies:
+ is-typedarray: 1.0.0
+ dev: false
+
+ /typescript/4.4.4:
+ resolution: {integrity: sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+ dev: true
+
+ /utf-8-validate/5.0.7:
+ resolution: {integrity: sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==}
+ engines: {node: '>=6.14.2'}
+ requiresBuild: true
+ dependencies:
+ node-gyp-build: 4.3.0
+ dev: false
+
+ /vite/2.6.13:
+ resolution: {integrity: sha512-+tGZ1OxozRirTudl4M3N3UTNJOlxdVo/qBl2IlDEy/ZpTFcskp+k5ncNjayR3bRYTCbqSOFz2JWGN1UmuDMScA==}
+ engines: {node: '>=12.2.0'}
+ hasBin: true
+ peerDependencies:
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ peerDependenciesMeta:
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ dependencies:
+ esbuild: 0.13.12
+ postcss: 8.3.11
+ resolve: 1.20.0
+ rollup: 2.59.0
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /websocket/1.0.34:
+ resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==}
+ engines: {node: '>=4.0.0'}
+ dependencies:
+ bufferutil: 4.0.5
+ debug: 2.6.9
+ es5-ext: 0.10.53
+ typedarray-to-buffer: 3.1.5
+ utf-8-validate: 5.0.7
+ yaeti: 0.0.6
+ dev: false
+
+ /wrappy/1.0.2:
+ resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
+ dev: true
+
+ /yaeti/0.0.6:
+ resolution: {integrity: sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=}
+ engines: {node: '>=0.10.32'}
+ dev: false
diff --git a/src/lib/bta.ts b/src/lib/bta.ts
new file mode 100644
index 0000000..1b44b84
--- /dev/null
+++ b/src/lib/bta.ts
@@ -0,0 +1,35 @@
+// Thanks to https://gist.github.com/oeon/0ada0457194ebf70ec2428900ba76255 for the code!
+const b2a = (a) => {
+ var c,
+ d,
+ e,
+ f,
+ g,
+ h,
+ i,
+ j,
+ o,
+ b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+ k = 0,
+ l = 0,
+ m = "",
+ n = [];
+ if (!a) return a;
+ do
+ (c = a.charCodeAt(k++)),
+ (d = a.charCodeAt(k++)),
+ (e = a.charCodeAt(k++)),
+ (j = (c << 16) | (d << 8) | e),
+ (f = 63 & (j >> 18)),
+ (g = 63 & (j >> 12)),
+ (h = 63 & (j >> 6)),
+ (i = 63 & j),
+ (n[l++] = b.charAt(f) + b.charAt(g) + b.charAt(h) + b.charAt(i));
+ while (k < a.length);
+ return (
+ (m = n.join("")),
+ (o = a.length % 3),
+ (o ? m.slice(0, o - 3) : m) + "===".slice(o || 3)
+ );
+};
+export default b2a;
diff --git a/src/routes/login.svelte b/src/routes/login.svelte
new file mode 100644
index 0000000..4520514
--- /dev/null
+++ b/src/routes/login.svelte
@@ -0,0 +1,19 @@
+
+
+
Log in with FluffyScratch Auth
+
+Log in with FluffyScratch
+
+Your username will automatically be retrieved when you authenticate with FluffyScratch.
diff --git a/src/routes/you/[user].svelte b/src/routes/you/[user].svelte
new file mode 100644
index 0000000..f275582
--- /dev/null
+++ b/src/routes/you/[user].svelte
@@ -0,0 +1,76 @@
+
+
+
+
+{username} | You Page
+
+{#if loading == true}
+ Loading...
+
+ Loading...
+
+{:else if ok == true && loading == false}
+ Featured Studio
+
+
+
+
{responseResult.studio.title}
+
{responseResult.studio.description}
+
Go to studio
+
+
+{:else}
+
+
+
+
+ An error has occured. This user may not exist.
+{/if}
+
+
+
\ No newline at end of file
diff --git a/src/routes/you/supa/fsauth/auth.ts b/src/routes/you/supa/fsauth/auth.ts
new file mode 100644
index 0000000..9b4854e
--- /dev/null
+++ b/src/routes/you/supa/fsauth/auth.ts
@@ -0,0 +1,35 @@
+/**
+ * @type {import('@sveltejs/kit').RequestHandler}
+ */
+import jwt from "jsonwebtoken";
+export async function get({ query }) {
+ try {
+ const privateCode = query.get("privateCode");
+ const fluffyFetch = await fetch(
+ `https://fluffyscratch.hampton.pw/auth/verify/v2/${privateCode}`
+ );
+ const ffc = await fluffyFetch.json();
+ console.log(ffc)
+ if (ffc.valid == null) {
+ throw new Error("Authentication not valid.");
+ }
+ const myJWT = await jwt.sign(
+ { username: ffc.username },
+ process.env.SUPABASE_JWT_SECRET
+ );
+ return {
+ body: {
+ works: true,
+ token: myJWT,
+ },
+ };
+ } catch (err) {
+ console.error(err)
+ return {
+ status: 500,
+ body: {
+ works: false,
+ },
+ };
+ }
+}
diff --git a/src/routes/you/supa/you_api/[user].ts b/src/routes/you/supa/you_api/[user].ts
new file mode 100644
index 0000000..0227bd6
--- /dev/null
+++ b/src/routes/you/supa/you_api/[user].ts
@@ -0,0 +1,38 @@
+/**
+ * @type {import('@sveltejs/kit').RequestHandler}
+ */
+import { createClient } from "@supabase/supabase-js";
+export async function get({ params }) {
+ const { user } = params;
+ try {
+ const supabase = createClient(
+ // @ts-expect-error
+ import.meta.env.VITE_SUPABASE_URL,
+ import.meta.env.VITE_SUPABASE_ANON_KEY
+ );
+ const { data, error } = await supabase
+ .from("users")
+ .select()
+ .eq("username", user);
+ if (error || data.length == 0) {
+ throw new Error("No user found with this username.")
+ }
+ const studioAPI = await (await fetch(`https://api.scratch.mit.edu/studios/${data[0].studio}/`)).json()
+ return {
+ body: {
+ data,
+ studio: studioAPI,
+ studio_url: `https://scratch.mit.edu/studios/${data[0].studio}`,
+ isError: false,
+ },
+ };
+ } catch (err) {
+ console.error(err);
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ },
+ };
+ }
+}
diff --git a/src/routes/you/supa/you_api/set/[user].ts b/src/routes/you/supa/you_api/set/[user].ts
new file mode 100644
index 0000000..9e3995c
--- /dev/null
+++ b/src/routes/you/supa/you_api/set/[user].ts
@@ -0,0 +1,29 @@
+/**
+ * @type {import('@sveltejs/kit').RequestHandler}
+ */
+import { createClient } from "@supabase/supabase-js";
+// this part is because process.env sometimes breaks
+import dotenv from "dotenv";
+dotenv.config();
+
+export async function post(request) {
+ try {
+ const supabase = createClient(
+ process.env["SUPABASE_URL"],
+ process.env["SUPABASE_ANON_KEY"]
+ );
+ console.log(process.env)
+ supabase.auth.setAuth(request.body.token);
+ return {
+ iserror: false,
+ };
+ } catch (err) {
+ console.error(err);
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ },
+ };
+ }
+}
From 1214986a6634f2276bed0686f9ebca46331edbce Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Sun, 14 Nov 2021 16:23:48 +1300
Subject: [PATCH 02/15] More changes
---
src/routes/__layout.svelte | 3 +
src/routes/dashboard.svelte | 58 +++++++++++++++++++
src/routes/login.svelte | 8 ++-
src/routes/logout.svelte | 16 +++++
src/routes/you/supa/fsauth/auth.ts | 9 ++-
src/routes/you/supa/fsauth/checkAuth.svelte | 21 +++++++
.../you/supa/fsauth/getUserFromToken.ts | 36 ++++++++++++
src/routes/you/supa/you_api/[user].ts | 8 ++-
src/routes/you/supa/you_api/set/[user].ts | 31 ++++++++--
9 files changed, 178 insertions(+), 12 deletions(-)
create mode 100644 src/routes/dashboard.svelte
create mode 100644 src/routes/logout.svelte
create mode 100644 src/routes/you/supa/fsauth/checkAuth.svelte
create mode 100644 src/routes/you/supa/fsauth/getUserFromToken.ts
diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte
index 8baff80..1496e1c 100644
--- a/src/routes/__layout.svelte
+++ b/src/routes/__layout.svelte
@@ -48,6 +48,9 @@
Home
+
+ Dashboard
+
About
diff --git a/src/routes/dashboard.svelte b/src/routes/dashboard.svelte
new file mode 100644
index 0000000..d065ade
--- /dev/null
+++ b/src/routes/dashboard.svelte
@@ -0,0 +1,58 @@
+
+
+Scratchinfo Dashboard
+
+Your You Page
+{#if loading}
+ Loading...
+
+ Loading...
+
+{:else}
+ Studio ID:
+
+{/if}
+
+
diff --git a/src/routes/login.svelte b/src/routes/login.svelte
index 4520514..5ca46da 100644
--- a/src/routes/login.svelte
+++ b/src/routes/login.svelte
@@ -2,11 +2,15 @@
import { onMount } from "svelte";
import b2a from "$lib/bta";
let submitFunction: Function = function () {};
-
+ let isLoggedIn = false;
onMount(() => {
+ isLoggedIn = !!window.localStorage.getItem("authToken")
+ if (isLoggedIn) {
+ window.location.href = "/"
+ }
submitFunction = function () {
console.log("Sending user to FluffyScratch for authentication...");
- const urlEncode = b2a(`${window.location.host}/you/supa/fsauth/auth`);
+ const urlEncode = b2a(`${window.location.host}/you/supa/fsauth/checkAuth`);
window.location.href = `https://fluffyscratch.hampton.pw/auth/getKeys/v2?redirect=${urlEncode}`;
};
});
diff --git a/src/routes/logout.svelte b/src/routes/logout.svelte
new file mode 100644
index 0000000..8ec2d39
--- /dev/null
+++ b/src/routes/logout.svelte
@@ -0,0 +1,16 @@
+
+
+Log out
+
+Are you sure that you want to log out?
+Log out
+
diff --git a/src/routes/you/supa/fsauth/auth.ts b/src/routes/you/supa/fsauth/auth.ts
index 9b4854e..74127f5 100644
--- a/src/routes/you/supa/fsauth/auth.ts
+++ b/src/routes/you/supa/fsauth/auth.ts
@@ -2,6 +2,9 @@
* @type {import('@sveltejs/kit').RequestHandler}
*/
import jwt from "jsonwebtoken";
+// this part is because process.env sometimes breaks
+import dotenv from "dotenv";
+dotenv.config();
export async function get({ query }) {
try {
const privateCode = query.get("privateCode");
@@ -9,13 +12,13 @@ export async function get({ query }) {
`https://fluffyscratch.hampton.pw/auth/verify/v2/${privateCode}`
);
const ffc = await fluffyFetch.json();
- console.log(ffc)
- if (ffc.valid == null) {
+ if (ffc.valid == false) {
throw new Error("Authentication not valid.");
}
const myJWT = await jwt.sign(
{ username: ffc.username },
- process.env.SUPABASE_JWT_SECRET
+ process.env["SUPABASE_JWT_SECRET"],
+ { expiresIn: "2h", audience: "scratchinfo" }
);
return {
body: {
diff --git a/src/routes/you/supa/fsauth/checkAuth.svelte b/src/routes/you/supa/fsauth/checkAuth.svelte
new file mode 100644
index 0000000..c50cd19
--- /dev/null
+++ b/src/routes/you/supa/fsauth/checkAuth.svelte
@@ -0,0 +1,21 @@
+
+Checking authentication status...
+You should be redirected to the homepage automatically once you have authenticated with FluffyScratch.
+Status: {status}
\ No newline at end of file
diff --git a/src/routes/you/supa/fsauth/getUserFromToken.ts b/src/routes/you/supa/fsauth/getUserFromToken.ts
new file mode 100644
index 0000000..e3c8214
--- /dev/null
+++ b/src/routes/you/supa/fsauth/getUserFromToken.ts
@@ -0,0 +1,36 @@
+/**
+ * @type {import('@sveltejs/kit').RequestHandler}
+ */
+ import jwt from "jsonwebtoken";
+ // this part is because process.env sometimes breaks
+ import dotenv from "dotenv";
+ dotenv.config();
+ export async function post(request) {
+ try {
+ try {
+ const jwtContent = jwt.verify(JSON.parse(request.body).token, process.env["SUPABASE_JWT_SECRET"], {
+ maxAge: "2h",
+ });
+ return {
+ body: jwtContent
+ }
+ } catch {
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ msg: "Token not valid."
+ },
+ };
+ }
+ } catch (err) {
+ console.error(err)
+ return {
+ status: 500,
+ body: {
+ works: false,
+ },
+ };
+ }
+ }
+
\ No newline at end of file
diff --git a/src/routes/you/supa/you_api/[user].ts b/src/routes/you/supa/you_api/[user].ts
index 0227bd6..fa2df1a 100644
--- a/src/routes/you/supa/you_api/[user].ts
+++ b/src/routes/you/supa/you_api/[user].ts
@@ -2,13 +2,15 @@
* @type {import('@sveltejs/kit').RequestHandler}
*/
import { createClient } from "@supabase/supabase-js";
+import dotenv from "dotenv";
+dotenv.config();
+
export async function get({ params }) {
const { user } = params;
try {
const supabase = createClient(
- // @ts-expect-error
- import.meta.env.VITE_SUPABASE_URL,
- import.meta.env.VITE_SUPABASE_ANON_KEY
+ process.env["SUPABASE_URL"],
+ process.env["SUPABASE_ANON_KEY"]
);
const { data, error } = await supabase
.from("users")
diff --git a/src/routes/you/supa/you_api/set/[user].ts b/src/routes/you/supa/you_api/set/[user].ts
index 9e3995c..0b6754b 100644
--- a/src/routes/you/supa/you_api/set/[user].ts
+++ b/src/routes/you/supa/you_api/set/[user].ts
@@ -2,20 +2,42 @@
* @type {import('@sveltejs/kit').RequestHandler}
*/
import { createClient } from "@supabase/supabase-js";
-// this part is because process.env sometimes breaks
+import jwt from "jsonwebtoken";
import dotenv from "dotenv";
dotenv.config();
export async function post(request) {
+ const { user } = request.params;
try {
+ try {
+ jwt.verify(request.body.token, process.env["SUPABASE_JWT_SECRET"], {
+ maxAge: "2h",
+ });
+ } catch {
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ msg: "Token not valid."
+ },
+ };
+ }
const supabase = createClient(
process.env["SUPABASE_URL"],
process.env["SUPABASE_ANON_KEY"]
);
- console.log(process.env)
- supabase.auth.setAuth(request.body.token);
+ const userExists = await supabase
+ .from("users")
+ .select()
+ .eq("username", user);
+ if (userExists.error || userExists.data.length == 0) {
+ throw new Error("No user found with this username.");
+ }
return {
- iserror: false,
+ body: {
+ username: user,
+ iserror: false,
+ },
};
} catch (err) {
console.error(err);
@@ -23,6 +45,7 @@ export async function post(request) {
status: 500,
body: {
iserror: true,
+ msg: "Error unknown."
},
};
}
From deecfc86eccf025b92c60b93c0a3e4a9860c2933 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Sun, 14 Nov 2021 20:40:47 +1300
Subject: [PATCH 03/15] commit
---
src/routes/dashboard.svelte | 10 +++++++++-
src/routes/you/supa/you_api/set/[user].ts | 6 ++++--
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/routes/dashboard.svelte b/src/routes/dashboard.svelte
index d065ade..30e9a33 100644
--- a/src/routes/dashboard.svelte
+++ b/src/routes/dashboard.svelte
@@ -3,11 +3,15 @@
let loggedOut = false;
let loading = true;
let studioID = 0;
+ let saveChanges = async function() {};
onMount(async () => {
loggedOut = !!!window.localStorage.getItem("authToken");
if (loggedOut) {
- window.location.href = "/";
+ window.location.href = "/login";
}
+ saveChanges = async function() {
+
+ }
// CUD = current user data
const CUDFetch = await fetch("/you/supa/fsauth/getUserFromToken", {
method: "POST",
@@ -32,6 +36,7 @@
Scratchinfo Dashboard
+Log out
Your You Page
{#if loading}
@@ -42,6 +47,9 @@
{:else}
Studio ID:
+
+
+ Save changes
{/if}
diff --git a/src/routes/privacy.svelte b/src/routes/privacy.svelte
new file mode 100644
index 0000000..9830a4e
--- /dev/null
+++ b/src/routes/privacy.svelte
@@ -0,0 +1,41 @@
+
+Last modified: 15 November 2021
+
+
+ All Scratchinfo pages are hosted through Vercel .
+
+
+ When you use the Scratchinfo User searching service, the username of the user
+ you are searching may be accessible to our data sources. This information is
+ necessary to provide you with Scratchinfo.
+
+Some of our data sources are
+
+ ScratchDB by @DatOneLefty on Scratch
+ ocular by @Jeffalo on Scratch
+ The official Scratch API by the Scratch Team
+
+
+ All requests to these services are taken through our servers to minimise the
+ exposure of potentially sensitive information to these sources, such as your
+ IP address.
+
+
+
+ When you are using Scratchinfo You, your Scratch account is verified by the FluffyScratch authentication platform . FluffyScratch allows Scratchinfo to verify your Scratch account.
+
+
+ Our PostgreSQL database is provided by Supabase . All of the data used to provide Scratchinfo You is on Supabase.
+
+
+ Scratchinfo is open source on our GitHub repository and is licensed under the MIT License.
+
diff --git a/src/routes/you/supa/you_api/func/set.ts b/src/routes/you/supa/you_api/func/set.ts
new file mode 100644
index 0000000..22264f9
--- /dev/null
+++ b/src/routes/you/supa/you_api/func/set.ts
@@ -0,0 +1,79 @@
+/**
+ * @type {import('@sveltejs/kit').RequestHandler}
+ */
+import { createClient } from "@supabase/supabase-js";
+import jwt from "jsonwebtoken";
+import dotenv from "dotenv";
+dotenv.config();
+
+export async function post(request) {
+ const parsedBody = JSON.parse(request.body);
+ try {
+ let jwtv = undefined;
+ try {
+ // jwt.verify returns a decoded object so we can use this to check the JWT
+ jwtv = jwt.verify(parsedBody.token, process.env["SUPABASE_JWT_SECRET"], {
+ maxAge: "2h",
+ });
+ } catch {
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ msg: "Token not valid.",
+ },
+ };
+ }
+ const user = jwtv.username;
+ if (isNaN(parsedBody.studio)) {
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ msg: "Studio is not a number.",
+ },
+ };
+ }
+ const studioSet = Math.round(Number(parsedBody.studio));
+ const supabase = createClient(
+ process.env["SUPABASE_URL"],
+ process.env["SUPABASE_ANON_KEY"]
+ );
+ const userExists = await supabase
+ .from("users")
+ .select()
+ .eq("username", user);
+ if (userExists.error || userExists.data.length == 0) {
+ const createUser = await supabase
+ .from("users")
+ .insert([{ username: user, studio: studioSet }]);
+ if (createUser.error) {
+ throw new Error("An error has occured.1");
+ }
+ } else {
+ const setUser = await supabase
+ .from("users")
+ .update({ username: user, studio: studioSet })
+ .eq("username", user);
+ console.log(setUser)
+ if (setUser.error) {
+ throw new Error(setUser.error.toString());
+ }
+ }
+ return {
+ body: {
+ username: user,
+ iserror: false,
+ },
+ };
+ } catch (err) {
+ console.error(err);
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ msg: "Error unknown.",
+ },
+ };
+ }
+}
diff --git a/src/routes/you/supa/you_api/set/[user].ts b/src/routes/you/supa/you_api/set/[user].ts
deleted file mode 100644
index e12f9c2..0000000
--- a/src/routes/you/supa/you_api/set/[user].ts
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @type {import('@sveltejs/kit').RequestHandler}
- */
-import { createClient } from "@supabase/supabase-js";
-import jwt from "jsonwebtoken";
-import dotenv from "dotenv";
-dotenv.config();
-
-export async function post(request) {
- try {
- let jwtv = undefined;
- try {
- // jwt.verify returns a decoded object so we can use this to check the JWT
- jwtv = jwt.verify(request.body.token, process.env["SUPABASE_JWT_SECRET"], {
- maxAge: "2h",
- });
- } catch {
- return {
- status: 500,
- body: {
- iserror: true,
- msg: "Token not valid."
- },
- };
- }
- const user = jwtv.username;
- const supabase = createClient(
- process.env["SUPABASE_URL"],
- process.env["SUPABASE_ANON_KEY"]
- );
- const userExists = await supabase
- .from("users")
- .select()
- .eq("username", user);
- if (userExists.error || userExists.data.length == 0) {
- throw new Error("No user found with this username.");
- }
- return {
- body: {
- username: user,
- iserror: false,
- },
- };
- } catch (err) {
- console.error(err);
- return {
- status: 500,
- body: {
- iserror: true,
- msg: "Error unknown."
- },
- };
- }
-}
From 12ea5e7c5cbd18b54bf378503285cb49e7eb4770 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 15:13:10 +1300
Subject: [PATCH 05/15] remove console log
---
src/routes/api/[user].ts | 5 ++---
src/routes/dashboard.svelte | 2 --
src/routes/leaderboards/forums.svelte | 3 ---
src/routes/you/supa/you_api/func/set.ts | 1 -
4 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/src/routes/api/[user].ts b/src/routes/api/[user].ts
index 0d35efc..00a2772 100644
--- a/src/routes/api/[user].ts
+++ b/src/routes/api/[user].ts
@@ -7,14 +7,13 @@ export async function get({ params }) {
const api_official_user = await (
await fetch(`https://api.scratch.mit.edu/users/${user}/`)
).json();
- console.log(1)
let scratchdb, scratchdb_forum_user = {"counts": undefined};
scratchdb = await (
await fetch(`https://scratchdb.lefty.one/v3/user/info/${user}`)
- ).json();console.log(1);
+ ).json();
scratchdb_forum_user = await (
await fetch(`https://scratchdb.lefty.one/v3/forum/user/info/${user}`)
- ).json();console.log(1);
+ ).json();
let ocular = {"status": undefined, "color": undefined}
try {
ocular = await (
diff --git a/src/routes/dashboard.svelte b/src/routes/dashboard.svelte
index 796e437..0d47c7e 100644
--- a/src/routes/dashboard.svelte
+++ b/src/routes/dashboard.svelte
@@ -20,12 +20,10 @@
});
if (scf.ok) {
problem = false;
- console.log("no error")
// continue on with scripts
} else {
// an error has occured so handle it appropriately
problem = true;
- console.log(await scf.text())
}
};
// CUD = current user data
diff --git a/src/routes/leaderboards/forums.svelte b/src/routes/leaderboards/forums.svelte
index ce02c48..d7042de 100644
--- a/src/routes/leaderboards/forums.svelte
+++ b/src/routes/leaderboards/forums.svelte
@@ -23,11 +23,9 @@
.then((data) => {
postList[fetchedForum] = data;
loading = false;
- console.log(postList);
});
};
totalmodify = function() {
- console.log("check modified")
if(total == false && typeof postList[forum] == "undefined") {
modified();
}
@@ -43,7 +41,6 @@
.then((data) => {
postList["total"] = data;
loading = false;
- console.log(postList);
});
});
diff --git a/src/routes/you/supa/you_api/func/set.ts b/src/routes/you/supa/you_api/func/set.ts
index 22264f9..38bff9f 100644
--- a/src/routes/you/supa/you_api/func/set.ts
+++ b/src/routes/you/supa/you_api/func/set.ts
@@ -55,7 +55,6 @@ export async function post(request) {
.from("users")
.update({ username: user, studio: studioSet })
.eq("username", user);
- console.log(setUser)
if (setUser.error) {
throw new Error(setUser.error.toString());
}
From f99348c07c63e5a01297180ab67795e12f38e382 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 15:20:08 +1300
Subject: [PATCH 06/15] you
---
src/routes/users/[user].svelte | 75 +++++++++++++++++-----------------
1 file changed, 37 insertions(+), 38 deletions(-)
diff --git a/src/routes/users/[user].svelte b/src/routes/users/[user].svelte
index 90f980e..3796b19 100644
--- a/src/routes/users/[user].svelte
+++ b/src/routes/users/[user].svelte
@@ -152,44 +152,43 @@
Joined on {new Date(info.joinDate).toLocaleString()}
Latest User Agent: {info.user_agent}
-
- Visit on Scratch
- Visit on ScratchStats
- Visit on ocular
- Visit on PostPercent
- Visit on Magnifier
- Visit on Scratory
-
+ Visit on Scratchinfo You
+
+ Visit on Scratch
+ Visit on ScratchStats
+ Visit on ocular
+ Visit on PostPercent
+ Visit on Magnifier
+ Visit on Scratory
From 5a60e18e46264c72bf40190710b144f65b8c7c94 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 15:28:51 +1300
Subject: [PATCH 07/15] formatting wheeeee
---
src/lib/bta.ts | 62 ++++----
src/lib/forumlist.ts | 76 +++++-----
src/routes/api/[user].ts | 112 +++++++--------
src/routes/leaderboards/api/[type].ts | 38 ++---
src/routes/leaderboards/api/forum-[forum].ts | 38 ++---
src/routes/you/supa/fsauth/auth.ts | 54 +++----
.../you/supa/fsauth/getUserFromToken.ts | 41 +++---
src/routes/you/supa/you_api/[user].ts | 56 ++++----
src/routes/you/supa/you_api/func/set.ts | 136 +++++++++---------
9 files changed, 306 insertions(+), 307 deletions(-)
diff --git a/src/lib/bta.ts b/src/lib/bta.ts
index 1b44b84..91fde50 100644
--- a/src/lib/bta.ts
+++ b/src/lib/bta.ts
@@ -1,35 +1,35 @@
// Thanks to https://gist.github.com/oeon/0ada0457194ebf70ec2428900ba76255 for the code!
const b2a = (a) => {
- var c,
- d,
- e,
- f,
- g,
- h,
- i,
- j,
- o,
- b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
- k = 0,
- l = 0,
- m = "",
- n = [];
- if (!a) return a;
- do
- (c = a.charCodeAt(k++)),
- (d = a.charCodeAt(k++)),
- (e = a.charCodeAt(k++)),
- (j = (c << 16) | (d << 8) | e),
- (f = 63 & (j >> 18)),
- (g = 63 & (j >> 12)),
- (h = 63 & (j >> 6)),
- (i = 63 & j),
- (n[l++] = b.charAt(f) + b.charAt(g) + b.charAt(h) + b.charAt(i));
- while (k < a.length);
- return (
- (m = n.join("")),
- (o = a.length % 3),
- (o ? m.slice(0, o - 3) : m) + "===".slice(o || 3)
- );
+ var c,
+ d,
+ e,
+ f,
+ g,
+ h,
+ i,
+ j,
+ o,
+ b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+ k = 0,
+ l = 0,
+ m = "",
+ n = [];
+ if (!a) return a;
+ do
+ (c = a.charCodeAt(k++)),
+ (d = a.charCodeAt(k++)),
+ (e = a.charCodeAt(k++)),
+ (j = (c << 16) | (d << 8) | e),
+ (f = 63 & (j >> 18)),
+ (g = 63 & (j >> 12)),
+ (h = 63 & (j >> 6)),
+ (i = 63 & j),
+ (n[l++] = b.charAt(f) + b.charAt(g) + b.charAt(h) + b.charAt(i));
+ while (k < a.length);
+ return (
+ (m = n.join("")),
+ (o = a.length % 3),
+ (o ? m.slice(0, o - 3) : m) + "===".slice(o || 3)
+ );
};
export default b2a;
diff --git a/src/lib/forumlist.ts b/src/lib/forumlist.ts
index 4734de8..0f4329f 100644
--- a/src/lib/forumlist.ts
+++ b/src/lib/forumlist.ts
@@ -1,40 +1,40 @@
let forumlist = [
- "New Scratchers",
- "Announcements",
- "Requests",
- "Show and Tell",
- "Collaboration",
- "Help with Scripts",
- "Project Ideas",
- "Bugs and Glitches",
- "Other Languages",
- "Questions about Scratch",
- "Things I'm Making and Creating",
- "Advanced Topics",
- "Things I'm Reading and Playing",
- "Suggestions",
- "Open Source Projects",
- "Connecting to the Physical World",
- "Developing Scratch Extensions",
- "Africa",
- "Bahasa Indonesia",
- "Català",
- "Deutsch",
- "Ελληνικά",
- "Español",
- "فارسی",
- "Français",
- "עברית",
- "한국어",
- "Italiano",
- "Nederlands",
- "日本語",
- "Norsk",
- "Polski",
- "Português",
- "Pусский",
- "Türkçe",
- "中文",
- "Translating Scratch"
- ];
+ "New Scratchers",
+ "Announcements",
+ "Requests",
+ "Show and Tell",
+ "Collaboration",
+ "Help with Scripts",
+ "Project Ideas",
+ "Bugs and Glitches",
+ "Other Languages",
+ "Questions about Scratch",
+ "Things I'm Making and Creating",
+ "Advanced Topics",
+ "Things I'm Reading and Playing",
+ "Suggestions",
+ "Open Source Projects",
+ "Connecting to the Physical World",
+ "Developing Scratch Extensions",
+ "Africa",
+ "Bahasa Indonesia",
+ "Català",
+ "Deutsch",
+ "Ελληνικά",
+ "Español",
+ "فارسی",
+ "Français",
+ "עברית",
+ "한국어",
+ "Italiano",
+ "Nederlands",
+ "日本語",
+ "Norsk",
+ "Polski",
+ "Português",
+ "Pусский",
+ "Türkçe",
+ "中文",
+ "Translating Scratch"
+];
export default forumlist;
\ No newline at end of file
diff --git a/src/routes/api/[user].ts b/src/routes/api/[user].ts
index 00a2772..37d7add 100644
--- a/src/routes/api/[user].ts
+++ b/src/routes/api/[user].ts
@@ -2,19 +2,19 @@
* @type {import('@sveltejs/kit').RequestHandler}
*/
export async function get({ params }) {
- const { user } = params;
- try {
- const api_official_user = await (
- await fetch(`https://api.scratch.mit.edu/users/${user}/`)
- ).json();
- let scratchdb, scratchdb_forum_user = {"counts": undefined};
- scratchdb = await (
- await fetch(`https://scratchdb.lefty.one/v3/user/info/${user}`)
- ).json();
- scratchdb_forum_user = await (
- await fetch(`https://scratchdb.lefty.one/v3/forum/user/info/${user}`)
- ).json();
- let ocular = {"status": undefined, "color": undefined}
+ const { user } = params;
+ try {
+ const api_official_user = await (
+ await fetch(`https://api.scratch.mit.edu/users/${user}/`)
+ ).json();
+ let scratchdb, scratchdb_forum_user = { "counts": undefined };
+ scratchdb = await (
+ await fetch(`https://scratchdb.lefty.one/v3/user/info/${user}`)
+ ).json();
+ scratchdb_forum_user = await (
+ await fetch(`https://scratchdb.lefty.one/v3/forum/user/info/${user}`)
+ ).json();
+ let ocular = { "status": undefined, "color": undefined }
try {
ocular = await (
await fetch(`https://my-ocular.jeffalo.net/api/user/${user}/`)
@@ -22,52 +22,52 @@ export async function get({ params }) {
} catch (error) {
ocular.status = "(Scratchinfo Message) Ocular seems to be down.";
}
- if (ocular.status == undefined || ocular.color == undefined) {
- ocular.status = "No ocular status found.";
- }
- const user_projects = await (
- await fetch(`https://api.scratch.mit.edu/users/${user}/projects/?limit=1`)
- ).json();
- let agent = "(Scratchinfo) An error has occured!";
- if (user_projects.length === 0) {
- agent = "(Scratchinfo) No projects have been shared by this user.";
- } else {
- const project_to_fetch = user_projects[0].id;
- const project = await (
- await fetch(`https://projects.scratch.mit.edu/${project_to_fetch}/`)
- ).json();
+ if (ocular.status == undefined || ocular.color == undefined) {
+ ocular.status = "No ocular status found.";
+ }
+ const user_projects = await (
+ await fetch(`https://api.scratch.mit.edu/users/${user}/projects/?limit=1`)
+ ).json();
+ let agent = "(Scratchinfo) An error has occured!";
+ if (user_projects.length === 0) {
+ agent = "(Scratchinfo) No projects have been shared by this user.";
+ } else {
+ const project_to_fetch = user_projects[0].id;
+ const project = await (
+ await fetch(`https://projects.scratch.mit.edu/${project_to_fetch}/`)
+ ).json();
try {
agent = project["meta"]["agent"];
} catch (error) {
agent = "(Scratchinfo) An error has occured in getting the user agent."
}
-
- }
- return {
- body: {
- username: api_official_user.username,
- user_agent: agent,
- scratchteam: api_official_user.scratchteam,
- history: {
- joined: api_official_user.history.joined,
- },
- ocular: {
- status: ocular.status,
- color: ocular.color,
- },
- scratchdb,
- counts: scratchdb_forum_user.counts,
- images: api_official_user.profile.images,
- iserror: false,
- },
- };
- } catch (err) {
- console.error(err);
- return {
- body: {
- iserror: true,
- error_msg: err.toString(),
- },
- };
- }
+
+ }
+ return {
+ body: {
+ username: api_official_user.username,
+ user_agent: agent,
+ scratchteam: api_official_user.scratchteam,
+ history: {
+ joined: api_official_user.history.joined,
+ },
+ ocular: {
+ status: ocular.status,
+ color: ocular.color,
+ },
+ scratchdb,
+ counts: scratchdb_forum_user.counts,
+ images: api_official_user.profile.images,
+ iserror: false,
+ },
+ };
+ } catch (err) {
+ console.error(err);
+ return {
+ body: {
+ iserror: true,
+ error_msg: err.toString(),
+ },
+ };
+ }
}
diff --git a/src/routes/leaderboards/api/[type].ts b/src/routes/leaderboards/api/[type].ts
index c265bb5..5086582 100644
--- a/src/routes/leaderboards/api/[type].ts
+++ b/src/routes/leaderboards/api/[type].ts
@@ -2,23 +2,23 @@
* @type {import('@sveltejs/kit').RequestHandler}
*/
export async function get({ params }) {
- const { type } = params;
- try {
- let leaderboard = {};
- leaderboard = await (
- await fetch(`https://scratchdb.lefty.one/v3/user/rank/global/${type}`)
- ).json();
- return {
- body: leaderboard,
- };
- } catch (err) {
- console.error(err);
- return {
- status: 500,
- body: {
- iserror: true,
- error_msg: err.toString(),
- },
- };
- }
+ const { type } = params;
+ try {
+ let leaderboard = {};
+ leaderboard = await (
+ await fetch(`https://scratchdb.lefty.one/v3/user/rank/global/${type}`)
+ ).json();
+ return {
+ body: leaderboard,
+ };
+ } catch (err) {
+ console.error(err);
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ error_msg: err.toString(),
+ },
+ };
+ }
}
diff --git a/src/routes/leaderboards/api/forum-[forum].ts b/src/routes/leaderboards/api/forum-[forum].ts
index f5962f6..dd3e7db 100644
--- a/src/routes/leaderboards/api/forum-[forum].ts
+++ b/src/routes/leaderboards/api/forum-[forum].ts
@@ -1,24 +1,24 @@
/**
* @type {import('@sveltejs/kit').RequestHandler}
*/
- export async function get({ params }) {
- const { forum } = params;
- try {
- let leaderboard = {};
- leaderboard = await (
- await fetch(`https://scratchdb.lefty.one/v3/forum/category/rank/${forum}`)
- ).json();
- return {
- body: leaderboard,
- };
- } catch (err) {
- console.error(err);
- return {
+export async function get({ params }) {
+ const { forum } = params;
+ try {
+ let leaderboard = {};
+ leaderboard = await (
+ await fetch(`https://scratchdb.lefty.one/v3/forum/category/rank/${forum}`)
+ ).json();
+ return {
+ body: leaderboard,
+ };
+ } catch (err) {
+ console.error(err);
+ return {
status: 500,
- body: {
- iserror: true,
- error_msg: err.toString(),
- },
- };
- }
+ body: {
+ iserror: true,
+ error_msg: err.toString(),
+ },
+ };
+ }
}
diff --git a/src/routes/you/supa/fsauth/auth.ts b/src/routes/you/supa/fsauth/auth.ts
index 74127f5..a893389 100644
--- a/src/routes/you/supa/fsauth/auth.ts
+++ b/src/routes/you/supa/fsauth/auth.ts
@@ -6,33 +6,33 @@ import jwt from "jsonwebtoken";
import dotenv from "dotenv";
dotenv.config();
export async function get({ query }) {
- try {
- const privateCode = query.get("privateCode");
- const fluffyFetch = await fetch(
- `https://fluffyscratch.hampton.pw/auth/verify/v2/${privateCode}`
- );
- const ffc = await fluffyFetch.json();
- if (ffc.valid == false) {
- throw new Error("Authentication not valid.");
- }
- const myJWT = await jwt.sign(
- { username: ffc.username },
- process.env["SUPABASE_JWT_SECRET"],
+ try {
+ const privateCode = query.get("privateCode");
+ const fluffyFetch = await fetch(
+ `https://fluffyscratch.hampton.pw/auth/verify/v2/${privateCode}`
+ );
+ const ffc = await fluffyFetch.json();
+ if (ffc.valid == false) {
+ throw new Error("Authentication not valid.");
+ }
+ const myJWT = await jwt.sign(
+ { username: ffc.username },
+ process.env["SUPABASE_JWT_SECRET"],
{ expiresIn: "2h", audience: "scratchinfo" }
- );
- return {
- body: {
- works: true,
- token: myJWT,
- },
- };
- } catch (err) {
+ );
+ return {
+ body: {
+ works: true,
+ token: myJWT,
+ },
+ };
+ } catch (err) {
console.error(err)
- return {
- status: 500,
- body: {
- works: false,
- },
- };
- }
+ return {
+ status: 500,
+ body: {
+ works: false,
+ },
+ };
+ }
}
diff --git a/src/routes/you/supa/fsauth/getUserFromToken.ts b/src/routes/you/supa/fsauth/getUserFromToken.ts
index e3c8214..13c60f2 100644
--- a/src/routes/you/supa/fsauth/getUserFromToken.ts
+++ b/src/routes/you/supa/fsauth/getUserFromToken.ts
@@ -1,20 +1,20 @@
/**
* @type {import('@sveltejs/kit').RequestHandler}
*/
- import jwt from "jsonwebtoken";
- // this part is because process.env sometimes breaks
- import dotenv from "dotenv";
- dotenv.config();
- export async function post(request) {
- try {
+import jwt from "jsonwebtoken";
+// this part is because process.env sometimes breaks
+import dotenv from "dotenv";
+dotenv.config();
+export async function post(request) {
+ try {
try {
- const jwtContent = jwt.verify(JSON.parse(request.body).token, process.env["SUPABASE_JWT_SECRET"], {
- maxAge: "2h",
- });
+ const jwtContent = jwt.verify(JSON.parse(request.body).token, process.env["SUPABASE_JWT_SECRET"], {
+ maxAge: "2h",
+ });
return {
body: jwtContent
}
- } catch {
+ } catch {
return {
status: 500,
body: {
@@ -23,14 +23,13 @@
},
};
}
- } catch (err) {
- console.error(err)
- return {
- status: 500,
- body: {
- works: false,
- },
- };
- }
- }
-
\ No newline at end of file
+ } catch (err) {
+ console.error(err)
+ return {
+ status: 500,
+ body: {
+ works: false,
+ },
+ };
+ }
+}
diff --git a/src/routes/you/supa/you_api/[user].ts b/src/routes/you/supa/you_api/[user].ts
index fa2df1a..9499677 100644
--- a/src/routes/you/supa/you_api/[user].ts
+++ b/src/routes/you/supa/you_api/[user].ts
@@ -6,35 +6,35 @@ import dotenv from "dotenv";
dotenv.config();
export async function get({ params }) {
- const { user } = params;
- try {
- const supabase = createClient(
- process.env["SUPABASE_URL"],
- process.env["SUPABASE_ANON_KEY"]
- );
- const { data, error } = await supabase
- .from("users")
- .select()
- .eq("username", user);
- if (error || data.length == 0) {
- throw new Error("No user found with this username.")
- }
+ const { user } = params;
+ try {
+ const supabase = createClient(
+ process.env["SUPABASE_URL"],
+ process.env["SUPABASE_ANON_KEY"]
+ );
+ const { data, error } = await supabase
+ .from("users")
+ .select()
+ .eq("username", user);
+ if (error || data.length == 0) {
+ throw new Error("No user found with this username.")
+ }
const studioAPI = await (await fetch(`https://api.scratch.mit.edu/studios/${data[0].studio}/`)).json()
- return {
- body: {
- data,
+ return {
+ body: {
+ data,
studio: studioAPI,
studio_url: `https://scratch.mit.edu/studios/${data[0].studio}`,
- isError: false,
- },
- };
- } catch (err) {
- console.error(err);
- return {
- status: 500,
- body: {
- iserror: true,
- },
- };
- }
+ isError: false,
+ },
+ };
+ } catch (err) {
+ console.error(err);
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ },
+ };
+ }
}
diff --git a/src/routes/you/supa/you_api/func/set.ts b/src/routes/you/supa/you_api/func/set.ts
index 38bff9f..4f2cefc 100644
--- a/src/routes/you/supa/you_api/func/set.ts
+++ b/src/routes/you/supa/you_api/func/set.ts
@@ -7,72 +7,72 @@ import dotenv from "dotenv";
dotenv.config();
export async function post(request) {
- const parsedBody = JSON.parse(request.body);
- try {
- let jwtv = undefined;
- try {
- // jwt.verify returns a decoded object so we can use this to check the JWT
- jwtv = jwt.verify(parsedBody.token, process.env["SUPABASE_JWT_SECRET"], {
- maxAge: "2h",
- });
- } catch {
- return {
- status: 500,
- body: {
- iserror: true,
- msg: "Token not valid.",
- },
- };
- }
- const user = jwtv.username;
- if (isNaN(parsedBody.studio)) {
- return {
- status: 500,
- body: {
- iserror: true,
- msg: "Studio is not a number.",
- },
- };
- }
- const studioSet = Math.round(Number(parsedBody.studio));
- const supabase = createClient(
- process.env["SUPABASE_URL"],
- process.env["SUPABASE_ANON_KEY"]
- );
- const userExists = await supabase
- .from("users")
- .select()
- .eq("username", user);
- if (userExists.error || userExists.data.length == 0) {
- const createUser = await supabase
- .from("users")
- .insert([{ username: user, studio: studioSet }]);
- if (createUser.error) {
- throw new Error("An error has occured.1");
- }
- } else {
- const setUser = await supabase
- .from("users")
- .update({ username: user, studio: studioSet })
- .eq("username", user);
- if (setUser.error) {
- throw new Error(setUser.error.toString());
- }
- }
- return {
- body: {
- username: user,
- iserror: false,
- },
- };
- } catch (err) {
- console.error(err);
- return {
- status: 500,
- body: {
- iserror: true,
- msg: "Error unknown.",
- },
- };
- }
+ const parsedBody = JSON.parse(request.body);
+ try {
+ let jwtv = undefined;
+ try {
+ // jwt.verify returns a decoded object so we can use this to check the JWT
+ jwtv = jwt.verify(parsedBody.token, process.env["SUPABASE_JWT_SECRET"], {
+ maxAge: "2h",
+ });
+ } catch {
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ msg: "Token not valid.",
+ },
+ };
+ }
+ const user = jwtv.username;
+ if (isNaN(parsedBody.studio)) {
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ msg: "Studio is not a number.",
+ },
+ };
+ }
+ const studioSet = Math.round(Number(parsedBody.studio));
+ const supabase = createClient(
+ process.env["SUPABASE_URL"],
+ process.env["SUPABASE_ANON_KEY"]
+ );
+ const userExists = await supabase
+ .from("users")
+ .select()
+ .eq("username", user);
+ if (userExists.error || userExists.data.length == 0) {
+ const createUser = await supabase
+ .from("users")
+ .insert([{ username: user, studio: studioSet }]);
+ if (createUser.error) {
+ throw new Error("An error has occured.1");
+ }
+ } else {
+ const setUser = await supabase
+ .from("users")
+ .update({ username: user, studio: studioSet })
+ .eq("username", user);
+ if (setUser.error) {
+ throw new Error(setUser.error.toString());
+ }
+ }
+ return {
+ body: {
+ username: user,
+ iserror: false,
+ },
+ };
+ } catch (err) {
+ console.error(err);
+ return {
+ status: 500,
+ body: {
+ iserror: true,
+ msg: "Error unknown.",
+ },
+ };
+ }
}
From 2c1d2e7b5b832048609b907981423d708f74b260 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 15:31:17 +1300
Subject: [PATCH 08/15] Thanks dhuls for telling me that it is myocular
---
src/routes/privacy.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/routes/privacy.svelte b/src/routes/privacy.svelte
index 9830a4e..7f71072 100644
--- a/src/routes/privacy.svelte
+++ b/src/routes/privacy.svelte
@@ -14,7 +14,7 @@
Some of our data sources are
ScratchDB by @DatOneLefty on Scratch
- ocular by @Jeffalo on Scratch
+ my-ocular by @Jeffalo on Scratch
The official Scratch API by the Scratch Team
From 4274c8d3373e60ca3538aed4e3ceffa0687f323e Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 16:02:42 +1300
Subject: [PATCH 09/15] fix spelling mistake
---
src/routes/you/[user].svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/routes/you/[user].svelte b/src/routes/you/[user].svelte
index f275582..6e52a3d 100644
--- a/src/routes/you/[user].svelte
+++ b/src/routes/you/[user].svelte
@@ -64,7 +64,7 @@
d="M4.285 12.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 10.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 9.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5z"
/>
-
An error has occured. This user may not exist.
+ An error has occurred. This user may not exist.
{/if}
From c3323f3dd2cdec670e6529fa04c5110534a1ed37 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 18:54:45 +1300
Subject: [PATCH 10/15] add busy users
---
src/routes/dashboard.svelte | 32 ++++++++----
src/routes/you/[user].svelte | 68 ++++++++++++++-----------
src/routes/you/supa/you_api/func/set.ts | 5 +-
3 files changed, 65 insertions(+), 40 deletions(-)
diff --git a/src/routes/dashboard.svelte b/src/routes/dashboard.svelte
index 0d47c7e..8339f4c 100644
--- a/src/routes/dashboard.svelte
+++ b/src/routes/dashboard.svelte
@@ -2,10 +2,14 @@
import { onMount } from "svelte";
let loggedOut = false;
let loading = true;
- let problem = false;
+ let problem = false;
+ let isBusy = false;
let studioID: number = 0;
let saveChanges = async function () {};
onMount(async () => {
+ loading = true;
+ problem = false;
+ isBusy = false;
loggedOut = !!!window.localStorage.getItem("authToken");
if (loggedOut) {
window.location.href = "/login";
@@ -15,16 +19,17 @@
method: "POST",
body: JSON.stringify({
token: window.localStorage.getItem("authToken").toString(),
- studio: Number(studioID)
+ studio: Number(studioID),
+ busy: !!isBusy,
}),
});
- if (scf.ok) {
- problem = false;
- // continue on with scripts
- } else {
- // an error has occured so handle it appropriately
- problem = true;
- }
+ if (scf.ok) {
+ problem = false;
+ // continue on with scripts
+ } else {
+ // an error has occured so handle it appropriately
+ problem = true;
+ }
};
// CUD = current user data
const CUDFetch = await fetch("/you/supa/fsauth/getUserFromToken", {
@@ -44,6 +49,7 @@
const userData = await userDataFetch.json();
studioID = userData.data[0].studio;
+ isBusy = userData.data[0].isBusy;
} else {
}
});
@@ -60,6 +66,14 @@
Loading...
{:else}
+ Busy?
+
+
Studio ID:
diff --git a/src/routes/you/[user].svelte b/src/routes/you/[user].svelte
index 6e52a3d..c2ee5f2 100644
--- a/src/routes/you/[user].svelte
+++ b/src/routes/you/[user].svelte
@@ -13,41 +13,51 @@
export let username;
let responseResult: any = {};
let getResults: Function = function () {};
- let loading, ok = true;
+ let loading,
+ ok = true;
onMount(async () => {
- loading = true;
- let youfetch = await fetch(`/you/supa/you_api/${username}`);
- if (youfetch.ok) {
- // the user exists so we can continue with displaying results
- responseResult = await youfetch.json();
- loading = false;
- } else {
- // either the server has a code error, function timeout, or the user doesn't exist
- responseResult.resultOk = false;
- loading = false;
- ok = false;
- throw new Error("User not found");
- }
+ loading = true;
+ let youfetch = await fetch(`/you/supa/you_api/${username}`);
+ if (youfetch.ok) {
+ // the user exists so we can continue with displaying results
+ responseResult = await youfetch.json();
+ loading = false;
+ } else {
+ // either the server has a code error, function timeout, or the user doesn't exist
+ responseResult.resultOk = false;
+ loading = false;
+ ok = false;
+ throw new Error("User not found");
+ }
});
{username} | You Page
-
+
{#if loading == true}
Loading...
Loading...
{:else if ok == true && loading == false}
+ {#if responseResult.data[0].busy}
+ This user is currently busy.
+ {/if}
Featured Studio
-
-
-
-
{responseResult.studio.title}
-
{responseResult.studio.description}
-
Go to studio
-
-
+
+
+
+
{responseResult.studio.title}
+
{responseResult.studio.description}
+
Go to studio
+
+
{:else}
An error has occurred. This user may not exist.
{/if}
-
\ No newline at end of file
+ .card-title,
+ .card-text {
+ max-height: 100px;
+ overflow: scroll;
+ }
+
diff --git a/src/routes/you/supa/you_api/func/set.ts b/src/routes/you/supa/you_api/func/set.ts
index 4f2cefc..db1b3a1 100644
--- a/src/routes/you/supa/you_api/func/set.ts
+++ b/src/routes/you/supa/you_api/func/set.ts
@@ -35,6 +35,7 @@ export async function post(request) {
};
}
const studioSet = Math.round(Number(parsedBody.studio));
+ const isBusy = !!parsedBody.busy;
const supabase = createClient(
process.env["SUPABASE_URL"],
process.env["SUPABASE_ANON_KEY"]
@@ -46,14 +47,14 @@ export async function post(request) {
if (userExists.error || userExists.data.length == 0) {
const createUser = await supabase
.from("users")
- .insert([{ username: user, studio: studioSet }]);
+ .insert([{ username: user, studio: studioSet, busy: isBusy }]);
if (createUser.error) {
throw new Error("An error has occured.1");
}
} else {
const setUser = await supabase
.from("users")
- .update({ username: user, studio: studioSet })
+ .update({ username: user, studio: studioSet, busy: isBusy })
.eq("username", user);
if (setUser.error) {
throw new Error(setUser.error.toString());
From 364c02d3d8b0c872fb94794f54d9452df8ce3764 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 19:05:36 +1300
Subject: [PATCH 11/15] oops
---
src/routes/users/[user].svelte | 38 ----------------------------------
1 file changed, 38 deletions(-)
diff --git a/src/routes/users/[user].svelte b/src/routes/users/[user].svelte
index c7e3b24..348c27e 100644
--- a/src/routes/users/[user].svelte
+++ b/src/routes/users/[user].svelte
@@ -195,44 +195,6 @@
href={`https://scratory.vercel.app/user/${info.username}`}
>Visit on Scratory
-
- Visit on Scratch
- Visit on ScratchStats
- Visit on ocular
- Visit on PostPercent
- Visit on Magnifier
- Visit on Scratory
-
From 9eb77119b1a6c6367cf971f78a50fad145cf09ec Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 20:08:44 +1300
Subject: [PATCH 12/15] bring user to dashboard instead of homepage
---
src/routes/you/supa/fsauth/checkAuth.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/routes/you/supa/fsauth/checkAuth.svelte b/src/routes/you/supa/fsauth/checkAuth.svelte
index c50cd19..1babf72 100644
--- a/src/routes/you/supa/fsauth/checkAuth.svelte
+++ b/src/routes/you/supa/fsauth/checkAuth.svelte
@@ -9,7 +9,7 @@
status = "Authentication valid."
const afsjson = await authFetchStatus.json();
window.localStorage.setItem("authToken", afsjson.token)
- window.location.href = "/"
+ window.location.href = "/dashboard"
} else {
status = "Authentication not valid. Redirecting to login menu..."
window.location.href = "/login"
From 25fa86cfc2c6d92150614736493d4bdabf5ec3a3 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 21:09:40 +1300
Subject: [PATCH 13/15] fix bug
---
src/routes/dashboard.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/routes/dashboard.svelte b/src/routes/dashboard.svelte
index 8339f4c..ac7f1b0 100644
--- a/src/routes/dashboard.svelte
+++ b/src/routes/dashboard.svelte
@@ -49,7 +49,7 @@
const userData = await userDataFetch.json();
studioID = userData.data[0].studio;
- isBusy = userData.data[0].isBusy;
+ isBusy = userData.data[0].busy;
} else {
}
});
From 381351960af9abab5894fb2e88b419d42c165586 Mon Sep 17 00:00:00 2001
From: webdev03 <75148774+webdev03@users.noreply.github.com>
Date: Mon, 15 Nov 2021 21:28:01 +1300
Subject: [PATCH 14/15] unnecessary step
---
src/routes/dashboard.svelte | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/routes/dashboard.svelte b/src/routes/dashboard.svelte
index ac7f1b0..f75a42f 100644
--- a/src/routes/dashboard.svelte
+++ b/src/routes/dashboard.svelte
@@ -75,7 +75,7 @@
/>
Studio ID:
-
+
Date: Tue, 16 Nov 2021 11:31:12 +1300
Subject: [PATCH 15/15] time to get people to use pnpm
---
package-lock.json | 2642 ---------------------------------------------
1 file changed, 2642 deletions(-)
delete mode 100644 package-lock.json
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index f3056e3..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,2642 +0,0 @@
-{
- "name": "scratchinfo",
- "version": "1.2.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "scratchinfo",
- "version": "1.2.0",
- "dependencies": {
- "@supabase/supabase-js": "^1.27.0",
- "@sveltejs/adapter-vercel": "^1.0.0-next.31"
- },
- "devDependencies": {
- "@sveltejs/kit": "next",
- "svelte": "^3.44.1",
- "svelte-check": "^2.2.8",
- "svelte-preprocess": "^4.9.8",
- "tslib": "^2.3.1",
- "typescript": "^4.4.4"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@rollup/pluginutils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.1.tgz",
- "integrity": "sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==",
- "dev": true,
- "dependencies": {
- "estree-walker": "^2.0.1",
- "picomatch": "^2.2.2"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/@supabase/gotrue-js": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.20.0.tgz",
- "integrity": "sha512-udv6o44JPqQWc8dh9bJnvvUpPKFtzVpSpsTKiS541gjR9kNCgdxkMMYBh5653W9gKfcmqN5mYf9/hYzDOoB6ww==",
- "dependencies": {
- "cross-fetch": "^3.0.6"
- }
- },
- "node_modules/@supabase/postgrest-js": {
- "version": "0.35.0",
- "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.35.0.tgz",
- "integrity": "sha512-z+XKJ2oXuGEAEBVXseeQUXaM3ekQZK4XF0Kc399Glyg+rZaBTwNeJtY+Q/23NcIE5uNMYbTnEXm80jZbLBnWdw==",
- "dependencies": {
- "cross-fetch": "^3.0.6"
- }
- },
- "node_modules/@supabase/realtime-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.2.1.tgz",
- "integrity": "sha512-nhwSvizonT8hiMoQHOqs+2MZNV8qkhKn552g7NIJktVmqpz//O1dGjdcXyjhbAurW18z0Y7Qa9G7UXfEYJKRPQ==",
- "dependencies": {
- "@types/websocket": "^1.0.3",
- "websocket": "^1.0.34"
- }
- },
- "node_modules/@supabase/storage-js": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-1.5.0.tgz",
- "integrity": "sha512-ki2HT9FrCYRN3yoqWqX+u47TUHQ8lgSStAqV/97kMov1z2d+iIlqGBGVcaGDqq4NvK8CipG8IJARYM72oX+afA==",
- "dependencies": {
- "cross-fetch": "^3.1.0"
- }
- },
- "node_modules/@supabase/supabase-js": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.27.0.tgz",
- "integrity": "sha512-oAm111Y1t7X+S5GeJWw9NdzAn1A1Cz5WAB/evYjM4ut7ZVWpeaEAlQ2p34MAjDrRVAcCfEr75rQwLTCqPcmMMQ==",
- "dependencies": {
- "@supabase/gotrue-js": "^1.20.0",
- "@supabase/postgrest-js": "^0.35.0",
- "@supabase/realtime-js": "^1.2.1",
- "@supabase/storage-js": "^1.5.0"
- }
- },
- "node_modules/@sveltejs/adapter-vercel": {
- "version": "1.0.0-next.31",
- "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.31.tgz",
- "integrity": "sha512-W8p/U00B6ihVrDpwMkgEexfVUzaLmn4MRtXj//Gw4NDFfsrZR4P5wBidrOAIkCYBMvqCOHD+vbAvIiAMOaN23g==",
- "dependencies": {
- "esbuild": "^0.13.4"
- }
- },
- "node_modules/@sveltejs/kit": {
- "version": "1.0.0-next.196",
- "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.196.tgz",
- "integrity": "sha512-z7sA/2/3Il5biibjPXCYXJC11TyFhgCvMaJvvbtMnu2l3EmOmJBMS+r2djGptzfFsugSVNwGQFn8+ldWQWq3jA==",
- "dev": true,
- "dependencies": {
- "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30",
- "cheap-watch": "^1.0.4",
- "sade": "^1.7.4",
- "vite": "^2.6.12"
- },
- "bin": {
- "svelte-kit": "svelte-kit.js"
- },
- "engines": {
- "node": ">=14.13"
- },
- "peerDependencies": {
- "svelte": "^3.44.0"
- }
- },
- "node_modules/@sveltejs/vite-plugin-svelte": {
- "version": "1.0.0-next.30",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.30.tgz",
- "integrity": "sha512-YQqdMxjL1VgSFk4/+IY3yLwuRRapPafPiZTiaGEq1psbJYSNYUWx9F1zMm32GMsnogg3zn99mGJOqe3ld3HZSg==",
- "dev": true,
- "dependencies": {
- "@rollup/pluginutils": "^4.1.1",
- "debug": "^4.3.2",
- "kleur": "^4.1.4",
- "magic-string": "^0.25.7",
- "require-relative": "^0.8.7",
- "svelte-hmr": "^0.14.7"
- },
- "engines": {
- "node": "^14.13.1 || >= 16"
- },
- "peerDependencies": {
- "diff-match-patch": "^1.0.5",
- "svelte": "^3.44.0",
- "vite": "^2.6.0"
- },
- "peerDependenciesMeta": {
- "diff-match-patch": {
- "optional": true
- }
- }
- },
- "node_modules/@types/node": {
- "version": "16.11.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz",
- "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w=="
- },
- "node_modules/@types/pug": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.5.tgz",
- "integrity": "sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==",
- "dev": true
- },
- "node_modules/@types/sass": {
- "version": "1.43.0",
- "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.0.tgz",
- "integrity": "sha512-DPSXNJ1rYLo88GyF9tuB4bsYGfpKI1a4+wOQmc+LI1SUoocm9QLRSpz0GxxuyjmJsYFIQo/dDlRSSpIXngff+w==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/websocket": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.4.tgz",
- "integrity": "sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/bufferutil": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz",
- "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==",
- "hasInstallScript": true,
- "dependencies": {
- "node-gyp-build": "^4.3.0"
- },
- "engines": {
- "node": ">=6.14.2"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/cheap-watch": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cheap-watch/-/cheap-watch-1.0.4.tgz",
- "integrity": "sha512-QR/9FrtRL5fjfUJBhAKCdi0lSRQ3rVRRum3GF9wDKp2TJbEIMGhUEr2yU8lORzm9Isdjx7/k9S0DFDx+z5VGtw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
- "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
- "dev": true,
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "node_modules/cross-fetch": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
- "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
- "dependencies": {
- "node-fetch": "2.6.1"
- }
- },
- "node_modules/d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "dependencies": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/detect-indent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
- "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
- "dependencies": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- }
- },
- "node_modules/es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/es6-promise": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
- "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
- "dev": true
- },
- "node_modules/es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "dependencies": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "node_modules/esbuild": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.12.tgz",
- "integrity": "sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow==",
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "optionalDependencies": {
- "esbuild-android-arm64": "0.13.12",
- "esbuild-darwin-64": "0.13.12",
- "esbuild-darwin-arm64": "0.13.12",
- "esbuild-freebsd-64": "0.13.12",
- "esbuild-freebsd-arm64": "0.13.12",
- "esbuild-linux-32": "0.13.12",
- "esbuild-linux-64": "0.13.12",
- "esbuild-linux-arm": "0.13.12",
- "esbuild-linux-arm64": "0.13.12",
- "esbuild-linux-mips64le": "0.13.12",
- "esbuild-linux-ppc64le": "0.13.12",
- "esbuild-netbsd-64": "0.13.12",
- "esbuild-openbsd-64": "0.13.12",
- "esbuild-sunos-64": "0.13.12",
- "esbuild-windows-32": "0.13.12",
- "esbuild-windows-64": "0.13.12",
- "esbuild-windows-arm64": "0.13.12"
- }
- },
- "node_modules/esbuild-android-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.12.tgz",
- "integrity": "sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/esbuild-darwin-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.12.tgz",
- "integrity": "sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/esbuild-darwin-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.12.tgz",
- "integrity": "sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/esbuild-freebsd-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.12.tgz",
- "integrity": "sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/esbuild-freebsd-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.12.tgz",
- "integrity": "sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/esbuild-linux-32": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.12.tgz",
- "integrity": "sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.12.tgz",
- "integrity": "sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-arm": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.12.tgz",
- "integrity": "sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw==",
- "cpu": [
- "arm"
- ],
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.12.tgz",
- "integrity": "sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-mips64le": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.12.tgz",
- "integrity": "sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g==",
- "cpu": [
- "mips64el"
- ],
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-ppc64le": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.12.tgz",
- "integrity": "sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw==",
- "cpu": [
- "ppc64"
- ],
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-netbsd-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.12.tgz",
- "integrity": "sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "netbsd"
- ]
- },
- "node_modules/esbuild-openbsd-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.12.tgz",
- "integrity": "sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "openbsd"
- ]
- },
- "node_modules/esbuild-sunos-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.12.tgz",
- "integrity": "sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "sunos"
- ]
- },
- "node_modules/esbuild-windows-32": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.12.tgz",
- "integrity": "sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/esbuild-windows-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.12.tgz",
- "integrity": "sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/esbuild-windows-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.12.tgz",
- "integrity": "sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
- },
- "node_modules/ext": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
- "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
- "dependencies": {
- "type": "^2.5.0"
- }
- },
- "node_modules/ext/node_modules/type": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
- "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
- },
- "node_modules/fast-glob": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
- "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
- "dev": true
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
- "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
- },
- "node_modules/kleur": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
- "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "dev": true,
- "dependencies": {
- "sourcemap-codec": "^1.4.4"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "node_modules/mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/mri": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
- "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/nanoid": {
- "version": "3.1.30",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
- "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
- "dev": true,
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
- },
- "node_modules/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
- "engines": {
- "node": "4.x || >=6.0.0"
- }
- },
- "node_modules/node-gyp-build": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
- "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==",
- "bin": {
- "node-gyp-build": "bin.js",
- "node-gyp-build-optional": "optional.js",
- "node-gyp-build-test": "build-test.js"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/postcss": {
- "version": "8.3.11",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz",
- "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==",
- "dev": true,
- "dependencies": {
- "nanoid": "^3.1.30",
- "picocolors": "^1.0.0",
- "source-map-js": "^0.6.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/require-relative": {
- "version": "0.8.7",
- "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
- "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=",
- "dev": true
- },
- "node_modules/resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/rollup": {
- "version": "2.59.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.59.0.tgz",
- "integrity": "sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==",
- "dev": true,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/sade": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
- "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
- "dev": true,
- "dependencies": {
- "mri": "^1.1.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/sander": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz",
- "integrity": "sha1-dB4kXiMfB8r7b98PEzrfohalAq0=",
- "dev": true,
- "dependencies": {
- "es6-promise": "^3.1.2",
- "graceful-fs": "^4.1.3",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.2"
- }
- },
- "node_modules/sorcery": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz",
- "integrity": "sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=",
- "dev": true,
- "dependencies": {
- "buffer-crc32": "^0.2.5",
- "minimist": "^1.2.0",
- "sander": "^0.5.0",
- "sourcemap-codec": "^1.3.0"
- },
- "bin": {
- "sorcery": "bin/index.js"
- }
- },
- "node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/source-map-js": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
- "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "dev": true
- },
- "node_modules/strip-indent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
- "dev": true,
- "dependencies": {
- "min-indent": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/svelte": {
- "version": "3.44.1",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.44.1.tgz",
- "integrity": "sha512-4DrCEJoBvdR689efHNSxIQn2pnFwB7E7j2yLEJtHE/P8hxwZWIphCtJ8are7bjl/iVMlcEf5uh5pJ68IwR09vQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/svelte-check": {
- "version": "2.2.9",
- "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-2.2.9.tgz",
- "integrity": "sha512-au77iP0v2f8F0gWu5Nk3dPkASk4H6DyLQEDQrQR6a7BWJaTnGEZKFhe5EsD8f9tHLyA4awPBi+D56hVuRsbgNA==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "chokidar": "^3.4.1",
- "fast-glob": "^3.2.7",
- "import-fresh": "^3.2.1",
- "minimist": "^1.2.5",
- "sade": "^1.7.4",
- "source-map": "^0.7.3",
- "svelte-preprocess": "^4.0.0",
- "typescript": "*"
- },
- "bin": {
- "svelte-check": "bin/svelte-check"
- },
- "peerDependencies": {
- "svelte": "^3.24.0"
- }
- },
- "node_modules/svelte-hmr": {
- "version": "0.14.7",
- "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.14.7.tgz",
- "integrity": "sha512-pDrzgcWSoMaK6AJkBWkmgIsecW0GChxYZSZieIYfCP0v2oPyx2CYU/zm7TBIcjLVUPP714WxmViE9Thht4etog==",
- "dev": true,
- "peerDependencies": {
- "svelte": ">=3.19.0"
- }
- },
- "node_modules/svelte-preprocess": {
- "version": "4.9.8",
- "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.9.8.tgz",
- "integrity": "sha512-EQS/oRZzMtYdAprppZxY3HcysKh11w54MgA63ybtL+TAZ4hVqYOnhw41JVJjWN9dhPnNjjLzvbZ2tMhTsla1Og==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "@types/pug": "^2.0.4",
- "@types/sass": "^1.16.0",
- "detect-indent": "^6.0.0",
- "magic-string": "^0.25.7",
- "sorcery": "^0.10.0",
- "strip-indent": "^3.0.0"
- },
- "engines": {
- "node": ">= 9.11.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.10.2",
- "coffeescript": "^2.5.1",
- "less": "^3.11.3",
- "postcss": "^7 || ^8",
- "postcss-load-config": "^2.1.0 || ^3.0.0",
- "pug": "^3.0.0",
- "sass": "^1.26.8",
- "stylus": "^0.54.7",
- "sugarss": "^2.0.0",
- "svelte": "^3.23.0",
- "typescript": "^3.9.5 || ^4.0.0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "coffeescript": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "node-sass": {
- "optional": true
- },
- "postcss": {
- "optional": true
- },
- "postcss-load-config": {
- "optional": true
- },
- "pug": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
- "dev": true
- },
- "node_modules/type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
- },
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
- "node_modules/typescript": {
- "version": "4.4.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
- "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/utf-8-validate": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz",
- "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==",
- "hasInstallScript": true,
- "dependencies": {
- "node-gyp-build": "^4.3.0"
- },
- "engines": {
- "node": ">=6.14.2"
- }
- },
- "node_modules/vite": {
- "version": "2.6.13",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.6.13.tgz",
- "integrity": "sha512-+tGZ1OxozRirTudl4M3N3UTNJOlxdVo/qBl2IlDEy/ZpTFcskp+k5ncNjayR3bRYTCbqSOFz2JWGN1UmuDMScA==",
- "dev": true,
- "dependencies": {
- "esbuild": "^0.13.2",
- "postcss": "^8.3.8",
- "resolve": "^1.20.0",
- "rollup": "^2.57.0"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": ">=12.2.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "less": "*",
- "sass": "*",
- "stylus": "*"
- },
- "peerDependenciesMeta": {
- "less": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- }
- }
- },
- "node_modules/websocket": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
- "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
- "dependencies": {
- "bufferutil": "^4.0.1",
- "debug": "^2.2.0",
- "es5-ext": "^0.10.50",
- "typedarray-to-buffer": "^3.1.5",
- "utf-8-validate": "^5.0.2",
- "yaeti": "^0.0.6"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/websocket/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/websocket/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "node_modules/yaeti": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
- "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=",
- "engines": {
- "node": ">=0.10.32"
- }
- }
- },
- "dependencies": {
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@rollup/pluginutils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.1.tgz",
- "integrity": "sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==",
- "dev": true,
- "requires": {
- "estree-walker": "^2.0.1",
- "picomatch": "^2.2.2"
- }
- },
- "@supabase/gotrue-js": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.20.0.tgz",
- "integrity": "sha512-udv6o44JPqQWc8dh9bJnvvUpPKFtzVpSpsTKiS541gjR9kNCgdxkMMYBh5653W9gKfcmqN5mYf9/hYzDOoB6ww==",
- "requires": {
- "cross-fetch": "^3.0.6"
- }
- },
- "@supabase/postgrest-js": {
- "version": "0.35.0",
- "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.35.0.tgz",
- "integrity": "sha512-z+XKJ2oXuGEAEBVXseeQUXaM3ekQZK4XF0Kc399Glyg+rZaBTwNeJtY+Q/23NcIE5uNMYbTnEXm80jZbLBnWdw==",
- "requires": {
- "cross-fetch": "^3.0.6"
- }
- },
- "@supabase/realtime-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.2.1.tgz",
- "integrity": "sha512-nhwSvizonT8hiMoQHOqs+2MZNV8qkhKn552g7NIJktVmqpz//O1dGjdcXyjhbAurW18z0Y7Qa9G7UXfEYJKRPQ==",
- "requires": {
- "@types/websocket": "^1.0.3",
- "websocket": "^1.0.34"
- }
- },
- "@supabase/storage-js": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-1.5.0.tgz",
- "integrity": "sha512-ki2HT9FrCYRN3yoqWqX+u47TUHQ8lgSStAqV/97kMov1z2d+iIlqGBGVcaGDqq4NvK8CipG8IJARYM72oX+afA==",
- "requires": {
- "cross-fetch": "^3.1.0"
- }
- },
- "@supabase/supabase-js": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.27.0.tgz",
- "integrity": "sha512-oAm111Y1t7X+S5GeJWw9NdzAn1A1Cz5WAB/evYjM4ut7ZVWpeaEAlQ2p34MAjDrRVAcCfEr75rQwLTCqPcmMMQ==",
- "requires": {
- "@supabase/gotrue-js": "^1.20.0",
- "@supabase/postgrest-js": "^0.35.0",
- "@supabase/realtime-js": "^1.2.1",
- "@supabase/storage-js": "^1.5.0"
- }
- },
- "@sveltejs/adapter-vercel": {
- "version": "1.0.0-next.31",
- "resolved": "https://registry.npmjs.org/@sveltejs/adapter-vercel/-/adapter-vercel-1.0.0-next.31.tgz",
- "integrity": "sha512-W8p/U00B6ihVrDpwMkgEexfVUzaLmn4MRtXj//Gw4NDFfsrZR4P5wBidrOAIkCYBMvqCOHD+vbAvIiAMOaN23g==",
- "requires": {
- "esbuild": "^0.13.4"
- }
- },
- "@sveltejs/kit": {
- "version": "1.0.0-next.196",
- "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.196.tgz",
- "integrity": "sha512-z7sA/2/3Il5biibjPXCYXJC11TyFhgCvMaJvvbtMnu2l3EmOmJBMS+r2djGptzfFsugSVNwGQFn8+ldWQWq3jA==",
- "dev": true,
- "requires": {
- "@sveltejs/vite-plugin-svelte": "^1.0.0-next.30",
- "cheap-watch": "^1.0.4",
- "sade": "^1.7.4",
- "vite": "^2.6.12"
- }
- },
- "@sveltejs/vite-plugin-svelte": {
- "version": "1.0.0-next.30",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.30.tgz",
- "integrity": "sha512-YQqdMxjL1VgSFk4/+IY3yLwuRRapPafPiZTiaGEq1psbJYSNYUWx9F1zMm32GMsnogg3zn99mGJOqe3ld3HZSg==",
- "dev": true,
- "requires": {
- "@rollup/pluginutils": "^4.1.1",
- "debug": "^4.3.2",
- "kleur": "^4.1.4",
- "magic-string": "^0.25.7",
- "require-relative": "^0.8.7",
- "svelte-hmr": "^0.14.7"
- }
- },
- "@types/node": {
- "version": "16.11.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz",
- "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w=="
- },
- "@types/pug": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.5.tgz",
- "integrity": "sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==",
- "dev": true
- },
- "@types/sass": {
- "version": "1.43.0",
- "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.0.tgz",
- "integrity": "sha512-DPSXNJ1rYLo88GyF9tuB4bsYGfpKI1a4+wOQmc+LI1SUoocm9QLRSpz0GxxuyjmJsYFIQo/dDlRSSpIXngff+w==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/websocket": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.4.tgz",
- "integrity": "sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==",
- "requires": {
- "@types/node": "*"
- }
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true
- },
- "bufferutil": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz",
- "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==",
- "requires": {
- "node-gyp-build": "^4.3.0"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "cheap-watch": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cheap-watch/-/cheap-watch-1.0.4.tgz",
- "integrity": "sha512-QR/9FrtRL5fjfUJBhAKCdi0lSRQ3rVRRum3GF9wDKp2TJbEIMGhUEr2yU8lORzm9Isdjx7/k9S0DFDx+z5VGtw==",
- "dev": true
- },
- "chokidar": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
- "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "cross-fetch": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
- "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
- "requires": {
- "node-fetch": "2.6.1"
- }
- },
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "detect-indent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
- "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
- "dev": true
- },
- "es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "es6-promise": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
- "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
- "dev": true
- },
- "es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "requires": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "esbuild": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.12.tgz",
- "integrity": "sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow==",
- "requires": {
- "esbuild-android-arm64": "0.13.12",
- "esbuild-darwin-64": "0.13.12",
- "esbuild-darwin-arm64": "0.13.12",
- "esbuild-freebsd-64": "0.13.12",
- "esbuild-freebsd-arm64": "0.13.12",
- "esbuild-linux-32": "0.13.12",
- "esbuild-linux-64": "0.13.12",
- "esbuild-linux-arm": "0.13.12",
- "esbuild-linux-arm64": "0.13.12",
- "esbuild-linux-mips64le": "0.13.12",
- "esbuild-linux-ppc64le": "0.13.12",
- "esbuild-netbsd-64": "0.13.12",
- "esbuild-openbsd-64": "0.13.12",
- "esbuild-sunos-64": "0.13.12",
- "esbuild-windows-32": "0.13.12",
- "esbuild-windows-64": "0.13.12",
- "esbuild-windows-arm64": "0.13.12"
- }
- },
- "esbuild-android-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.12.tgz",
- "integrity": "sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw==",
- "optional": true
- },
- "esbuild-darwin-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.12.tgz",
- "integrity": "sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw==",
- "optional": true
- },
- "esbuild-darwin-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.12.tgz",
- "integrity": "sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ==",
- "optional": true
- },
- "esbuild-freebsd-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.12.tgz",
- "integrity": "sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA==",
- "optional": true
- },
- "esbuild-freebsd-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.12.tgz",
- "integrity": "sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw==",
- "optional": true
- },
- "esbuild-linux-32": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.12.tgz",
- "integrity": "sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ==",
- "optional": true
- },
- "esbuild-linux-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.12.tgz",
- "integrity": "sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q==",
- "optional": true
- },
- "esbuild-linux-arm": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.12.tgz",
- "integrity": "sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw==",
- "optional": true
- },
- "esbuild-linux-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.12.tgz",
- "integrity": "sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA==",
- "optional": true
- },
- "esbuild-linux-mips64le": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.12.tgz",
- "integrity": "sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g==",
- "optional": true
- },
- "esbuild-linux-ppc64le": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.12.tgz",
- "integrity": "sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw==",
- "optional": true
- },
- "esbuild-netbsd-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.12.tgz",
- "integrity": "sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA==",
- "optional": true
- },
- "esbuild-openbsd-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.12.tgz",
- "integrity": "sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ==",
- "optional": true
- },
- "esbuild-sunos-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.12.tgz",
- "integrity": "sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw==",
- "optional": true
- },
- "esbuild-windows-32": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.12.tgz",
- "integrity": "sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ==",
- "optional": true
- },
- "esbuild-windows-64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.12.tgz",
- "integrity": "sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ==",
- "optional": true
- },
- "esbuild-windows-arm64": {
- "version": "0.13.12",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.12.tgz",
- "integrity": "sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ==",
- "optional": true
- },
- "estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
- },
- "ext": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
- "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
- "requires": {
- "type": "^2.5.0"
- },
- "dependencies": {
- "type": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
- "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
- }
- }
- },
- "fast-glob": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
- "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- }
- },
- "fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-core-module": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
- "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
- },
- "kleur": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
- "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
- "dev": true
- },
- "magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "dev": true,
- "requires": {
- "sourcemap-codec": "^1.4.4"
- }
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
- "min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "mri": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
- "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "nanoid": {
- "version": "3.1.30",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
- "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
- "dev": true
- },
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
- },
- "node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
- },
- "node-gyp-build": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz",
- "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q=="
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
- "dev": true
- },
- "postcss": {
- "version": "8.3.11",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz",
- "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==",
- "dev": true,
- "requires": {
- "nanoid": "^3.1.30",
- "picocolors": "^1.0.0",
- "source-map-js": "^0.6.2"
- }
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "require-relative": {
- "version": "0.8.7",
- "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
- "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=",
- "dev": true
- },
- "resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "rollup": {
- "version": "2.59.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.59.0.tgz",
- "integrity": "sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==",
- "dev": true,
- "requires": {
- "fsevents": "~2.3.2"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "sade": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
- "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
- "dev": true,
- "requires": {
- "mri": "^1.1.0"
- }
- },
- "sander": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz",
- "integrity": "sha1-dB4kXiMfB8r7b98PEzrfohalAq0=",
- "dev": true,
- "requires": {
- "es6-promise": "^3.1.2",
- "graceful-fs": "^4.1.3",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.2"
- }
- },
- "sorcery": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.10.0.tgz",
- "integrity": "sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=",
- "dev": true,
- "requires": {
- "buffer-crc32": "^0.2.5",
- "minimist": "^1.2.0",
- "sander": "^0.5.0",
- "sourcemap-codec": "^1.3.0"
- }
- },
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
- },
- "source-map-js": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
- "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
- "dev": true
- },
- "sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "dev": true
- },
- "strip-indent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
- "dev": true,
- "requires": {
- "min-indent": "^1.0.0"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "svelte": {
- "version": "3.44.1",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.44.1.tgz",
- "integrity": "sha512-4DrCEJoBvdR689efHNSxIQn2pnFwB7E7j2yLEJtHE/P8hxwZWIphCtJ8are7bjl/iVMlcEf5uh5pJ68IwR09vQ==",
- "dev": true
- },
- "svelte-check": {
- "version": "2.2.9",
- "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-2.2.9.tgz",
- "integrity": "sha512-au77iP0v2f8F0gWu5Nk3dPkASk4H6DyLQEDQrQR6a7BWJaTnGEZKFhe5EsD8f9tHLyA4awPBi+D56hVuRsbgNA==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "chokidar": "^3.4.1",
- "fast-glob": "^3.2.7",
- "import-fresh": "^3.2.1",
- "minimist": "^1.2.5",
- "sade": "^1.7.4",
- "source-map": "^0.7.3",
- "svelte-preprocess": "^4.0.0",
- "typescript": "*"
- }
- },
- "svelte-hmr": {
- "version": "0.14.7",
- "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.14.7.tgz",
- "integrity": "sha512-pDrzgcWSoMaK6AJkBWkmgIsecW0GChxYZSZieIYfCP0v2oPyx2CYU/zm7TBIcjLVUPP714WxmViE9Thht4etog==",
- "dev": true,
- "requires": {}
- },
- "svelte-preprocess": {
- "version": "4.9.8",
- "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.9.8.tgz",
- "integrity": "sha512-EQS/oRZzMtYdAprppZxY3HcysKh11w54MgA63ybtL+TAZ4hVqYOnhw41JVJjWN9dhPnNjjLzvbZ2tMhTsla1Og==",
- "dev": true,
- "requires": {
- "@types/pug": "^2.0.4",
- "@types/sass": "^1.16.0",
- "detect-indent": "^6.0.0",
- "magic-string": "^0.25.7",
- "sorcery": "^0.10.0",
- "strip-indent": "^3.0.0"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
- "dev": true
- },
- "type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typescript": {
- "version": "4.4.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
- "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
- "dev": true
- },
- "utf-8-validate": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz",
- "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==",
- "requires": {
- "node-gyp-build": "^4.3.0"
- }
- },
- "vite": {
- "version": "2.6.13",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.6.13.tgz",
- "integrity": "sha512-+tGZ1OxozRirTudl4M3N3UTNJOlxdVo/qBl2IlDEy/ZpTFcskp+k5ncNjayR3bRYTCbqSOFz2JWGN1UmuDMScA==",
- "dev": true,
- "requires": {
- "esbuild": "^0.13.2",
- "fsevents": "~2.3.2",
- "postcss": "^8.3.8",
- "resolve": "^1.20.0",
- "rollup": "^2.57.0"
- }
- },
- "websocket": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
- "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
- "requires": {
- "bufferutil": "^4.0.1",
- "debug": "^2.2.0",
- "es5-ext": "^0.10.50",
- "typedarray-to-buffer": "^3.1.5",
- "utf-8-validate": "^5.0.2",
- "yaeti": "^0.0.6"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "yaeti": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
- "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
- }
- }
-}