1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-06-30 06:56:38 -04:00

even more useLocalStorage fixes

This commit is contained in:
2022-07-27 18:00:51 -04:00
parent d0c21c6bd4
commit 78593b03ca
4 changed files with 169 additions and 170 deletions

View File

@ -29,7 +29,7 @@ export const ThemeProvider = ({
};
}>) => {
// keep track of if/when the user has set their theme *on this site*
const [preferredTheme, setPreferredTheme] = useLocalStorage<string>(themeStorageKey);
const [preferredTheme, setPreferredTheme] = useLocalStorage(themeStorageKey);
// keep track of changes to the user's OS/browser dark mode setting
const [systemTheme, setSystemTheme] = useState("");
// hook into system `prefers-dark-mode` setting

View File

@ -1,32 +1,37 @@
// Modified from https://github.com/streamich/react-use/blob/e53ca94a0b1f20270b0f75dc2ca1fecf1e119dde/src/useLocalStorage.ts
import { useCallback, useState, useRef, useLayoutEffect } from "react";
import { useCallback, useState, useRef } from "react";
import type { Dispatch, SetStateAction } from "react";
// eslint-disable-next-line @typescript-eslint/no-empty-function
const noop = () => {};
const useLocalStorage = <T>(
const useLocalStorage = <T = string>(
key: string,
initialValue?: T
): [T | undefined, Dispatch<SetStateAction<T | undefined>>, typeof noop] => {
): [T | undefined, Dispatch<SetStateAction<T | undefined>>, () => void] => {
if (typeof window === "undefined" || typeof window.Storage === "undefined") {
// immediately return a "dummy" hook instead of throwing an error if localStorage isn't available, either in the
// browser or because this hook is being called server-side.
return [initialValue as T, noop, noop];
}
// TODO: make these customizable:
const serializer = String;
const deserializer = (value: any) => value; // eslint-disable-line @typescript-eslint/no-explicit-any
// TODO: make these customizable (e.g. `JSON.stringify()` and `JSON.parse()`)
const serializer = (value: T | undefined) => String(value);
const deserializer = (value: string) => value as unknown as T;
// eslint-disable-next-line react-hooks/rules-of-hooks
const initializer = useRef((key: string) => {
try {
const localStorageValue = window.localStorage.getItem(key);
// deserialize and return existing value if it's already been set
const storedValue = window.localStorage.getItem(key);
if (storedValue !== null) {
return deserializer(storedValue);
}
if (localStorageValue !== null) {
return deserializer(localStorageValue);
} else {
initialValue && window.localStorage.setItem(key, serializer(initialValue));
// item hasn't been set, but immediately set it to initialValue if provided
if (initialValue) {
window.localStorage.setItem(key, serializer(initialValue));
return initialValue;
}
} catch (error) {
@ -37,26 +42,20 @@ const useLocalStorage = <T>(
// eslint-disable-next-line react-hooks/rules-of-hooks
const [state, setState] = useState<T | undefined>(() => initializer.current(key));
// eslint-disable-next-line react-hooks/rules-of-hooks
useLayoutEffect(() => setState(initializer.current(key)), [key]);
// eslint-disable-next-line react-hooks/rules-of-hooks
const set: Dispatch<SetStateAction<T | undefined>> = useCallback(
(valOrFunc) => {
try {
// we need to support both T and (prevState: T) => T
const newState = valOrFunc instanceof Function ? valOrFunc(state) : valOrFunc;
if (typeof newState === "undefined") {
return;
}
const value = typeof newState === "string" ? newState : JSON.stringify(newState);
window.localStorage.setItem(key, value);
setState(deserializer(value));
} catch (error) {} // eslint-disable-line no-empty
window.localStorage.setItem(key, serializer(newState));
setState(newState);
} catch (error) {
console.error(`failed to set localStorage item '${key}':`, error);
}
},
[key, setState] // eslint-disable-line react-hooks/exhaustive-deps
[key, state] // eslint-disable-line react-hooks/exhaustive-deps
);
// eslint-disable-next-line react-hooks/rules-of-hooks
@ -65,7 +64,7 @@ const useLocalStorage = <T>(
window.localStorage.removeItem(key);
setState(undefined);
} catch (error) {} // eslint-disable-line no-empty
}, [key, setState]);
}, [key]);
return [state, set, remove];
};

View File

@ -28,8 +28,8 @@
"@primer/octicons": "^17.3.0",
"@prisma/client": "^4.1.0",
"@react-spring/web": "^9.5.2",
"@sentry/node": "^7.7.0",
"@sentry/tracing": "^7.7.0",
"@sentry/node": "^7.8.0",
"@sentry/tracing": "^7.8.0",
"@stitches/react": "^1.2.8",
"comma-number": "^2.1.0",
"copy-to-clipboard": "^3.3.1",
@ -42,7 +42,7 @@
"gray-matter": "^4.0.3",
"hex-to-rgba": "^2.0.1",
"marked": "^4.0.18",
"next": "12.2.4-canary.1",
"next": "12.2.4-canary.2",
"next-mdx-remote": "^4.1.0",
"next-seo": "^5.5.0",
"p-map": "^5.5.0",
@ -86,7 +86,7 @@
"@typescript-eslint/parser": "^5.31.0",
"cross-env": "^7.0.3",
"eslint": "~8.20.0",
"eslint-config-next": "12.2.4-canary.1",
"eslint-config-next": "12.2.4-canary.2",
"eslint-config-prettier": "~8.5.0",
"eslint-plugin-prettier": "~4.2.1",
"lint-staged": "^13.0.3",

280
yarn.lock
View File

@ -1127,82 +1127,82 @@
"@types/mdx" "^2.0.0"
"@types/react" ">=16"
"@next/env@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.4-canary.1.tgz#f026986197d171e53162b3547478ff61730d35e7"
integrity sha512-D5ax0pgf6mYrxyLsId03knyTHsK61Q4FlPqw5iPEBidaSYHpNRN2uR4h+kjFm2KpCVJR9ToGCGlDdQpLU5VriQ==
"@next/env@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.4-canary.2.tgz#4ce542bb9df632d443866329a081efbb920add59"
integrity sha512-CNlaln7PuRoh0ikxu/M+vqjTOWPcZwFsFTwUjLGgQdgP4qHbtn3Tn7Lg8jeuG4nD5t+4loSyHwH49VWfN2ixiQ==
"@next/eslint-plugin-next@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.2.4-canary.1.tgz#5f7ae565cd7230566dcfe0095e66073f3f801e19"
integrity sha512-8PUf5UVEuXG3TBAqoCR6SDOCaiNMq4oy0NEpPoFtZvzyL/5W2ydhXfj9RVjAb9QuFo0sLRIKglZHJDxuBE4G8w==
"@next/eslint-plugin-next@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.2.4-canary.2.tgz#90d7401dc1ad46ec728616eb0eaebaa4a573d658"
integrity sha512-ShnBuOMwq5s73T0cU8bJ7VYa0Y0qF+uULvFcqetS7U2nMUhZboW7yrMqAZ0uP2MVFJqv73Qh+LKWKUBT3OtZ4w==
dependencies:
glob "7.1.7"
"@next/swc-android-arm-eabi@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.4-canary.1.tgz#9c8d531b07df15b9b902d5a9de917a156caa7fbd"
integrity sha512-5vJ9oCO6XNfQmNH8G/Sz2LM84CNA/U+OVpMH9tKZBlhQrZiLAlljuI2A+pWV54Nofq1MMPmNq6Ve/6VyeORnHQ==
"@next/swc-android-arm-eabi@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.4-canary.2.tgz#3330ba94a0558d9959344726ad3d18235dbbe61a"
integrity sha512-9Ac17m3Kc2NX7od774bE2zKjDDX435aliPUdYFiwgNTX4mMoVGH+s9kzbPBEwQjJF+Cgs3h7kJpNrjbA3LxDlQ==
"@next/swc-android-arm64@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.2.4-canary.1.tgz#d6c2f2730d2d9344a2e929a801f76dde12f09afb"
integrity sha512-GzR6uE4KCSOXt9fOD1dHgQh1+zjvVhYnjxZDetAHpqENYbtho5aSpiZgnh7DYHjNJKECvx/pscB6s50VCzWkqA==
"@next/swc-android-arm64@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.2.4-canary.2.tgz#762bafda2ded5272743a84512e8f5569a20d4818"
integrity sha512-D7S5hXWoLXPkSjKh7OWRK3ygpc9K5VOi4vAnoGUHDryO2CLXIMDbylGjZ/KEPWL4bpwFYXl+58CA3zTBvPqNvQ==
"@next/swc-darwin-arm64@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.4-canary.1.tgz#a71b3cd18eda7b9791892a90c8d16302dc5409b0"
integrity sha512-p4ZpF3+6rrHwT2XXSm7RN1cctChOQmKrqrkexkIXiptROFJFtE9L02M5ITbWKqrQ9M4RxS6FtzpTLRtMrr0gwQ==
"@next/swc-darwin-arm64@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.4-canary.2.tgz#30c78d7bd30f759e61e62fb3a1c22ef1531f2f0c"
integrity sha512-Bx6EKRNwwWoSnAUPDzpL4euEUoFG1heONxYNnyJzwp2kRWsSwUoYkkeGrWxSURs8Ksy6ALQ3R8Pv5tKWhuBzzg==
"@next/swc-darwin-x64@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.4-canary.1.tgz#1c57019737ae8303861d5eb822a47da05575b9f3"
integrity sha512-w+WsxgtNatsKluOQaRzVdQ2slrGJz6lu3pdAVIG8p+ZWxFdVpdXXOI1WaIQVq8KhnA9gLKmDb/+5nWefedsoQQ==
"@next/swc-darwin-x64@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.4-canary.2.tgz#d1d56d46471d11b0ab9f1c37e36a8be471ca4b43"
integrity sha512-uhxRWHGPyuBds0I0jYIP9Mi4AMU/RrmKC7dkqgtkoVUD3RmAtVOQzn3CFQDb4srX9ElVSWhgFIa82IuwiU9qKQ==
"@next/swc-freebsd-x64@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.4-canary.1.tgz#6498713468559edca2e46b5fdcbe0addf8e802af"
integrity sha512-GJsm0e1q2DTOFwWHr33ZBcT5XjuQGF47F9tjKwnKEb/C6snBLesurgyXUGQHzqmMaNib3F/amYwj4mTPLogn/Q==
"@next/swc-freebsd-x64@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.4-canary.2.tgz#be59a63d3eb945c2e58d340d56bba2d9da042874"
integrity sha512-NCE+VKyhr+bUWyI7o1jqEgCkJxykbIWnx6f+/i9I9ktpi6voWmXSbXqBMialFEKFlPLhYg/ThJ1hOLkbXWgBcw==
"@next/swc-linux-arm-gnueabihf@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.4-canary.1.tgz#882df03e15bb2f7aa6eb1029f795dbdf713f86b0"
integrity sha512-JpqDgxj/m/sOIO8nJ1qYmcw1dhNzlYZUOBI9ko9OEQfR3nJ6ZB78D12f2RqpZ3f0W8VrpDwwChMmQvjzoYWqWA==
"@next/swc-linux-arm-gnueabihf@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.4-canary.2.tgz#bf95f9f6abd2b1613af33e9997587c3444558674"
integrity sha512-FRJhBzVav3iYpeEdOTlXDpiYvueaQWSbakCDSMbYd8yVcWuw4tslcxKOcJlx16qKswJX/GZuk0t8XP9JCV/Pmw==
"@next/swc-linux-arm64-gnu@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.4-canary.1.tgz#018501d27080f719b896e3bb1cf7d6c129ed6b79"
integrity sha512-2p+3by9+F3vPZ6rC1ShzTvnyU2bL1u89JGIiJIt42dVxOG2xpmv9YuoMV8xGqHVB8jXsk15NNPNXxX7gvsZIiQ==
"@next/swc-linux-arm64-gnu@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.4-canary.2.tgz#0a9a548f1a93b9c4b796921879c235234834ae45"
integrity sha512-D5xZ619ejiv6kJxm6fpJNOrNuXeeMxXQl81VQjOPV4Z2nKDVRN0OAWzW5OFG4xh2aDe0Z2LadlRMJMRQ/V2FYw==
"@next/swc-linux-arm64-musl@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.4-canary.1.tgz#8001616b805c035e9650456fbd0f5137726e51fb"
integrity sha512-zuv08vgsQa7uaIwtLx9I9gFhfyDEAhcy2M790IjBUCXBWZshdibKW/q7C2NUTzAAvrwm8HzHV8sKb8ax3XNH0g==
"@next/swc-linux-arm64-musl@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.4-canary.2.tgz#87fd31119919fdf334af48c02a19d2c5cc4d8eae"
integrity sha512-/nTG0v7CzNZlpKgVkYFha2Le9GGT73pyzsqUWE+P7PGf/5CO4/BHwhaW8ey5WLqTGdx+Nlm0048XDOtUhXF3bg==
"@next/swc-linux-x64-gnu@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.4-canary.1.tgz#ebda42974a3eff7299020a2daa47d8a35e59ef24"
integrity sha512-ROJKD06tmILZRbkih6VNJclV9TzmS16VaM9g7LsT7e8Ew6cadIUpOMCBFhQNgrxMqZ9bEqGFaPr/UgwCvoj5aA==
"@next/swc-linux-x64-gnu@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.4-canary.2.tgz#d2cfd139603d4d82efbdba5255e6870ec4ab4662"
integrity sha512-weylA2Y+feOSpq+oPAvxONlOgcMmpBqP98suwfl/U6S/ahQGpHizOj7/hylMSRMLj8vhCTcFn5GJcBIJHHmSGw==
"@next/swc-linux-x64-musl@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.4-canary.1.tgz#67e28aa1732c1a896f5c465bcda789dba5363f91"
integrity sha512-XuzQ0ol6zZIy+PMml+0bP9DNTZj9Z5NcNCnqRl36qSy+C13ssVC3BRMoR9cGqt+cSUjFX43f6IlUutP0uIF8YA==
"@next/swc-linux-x64-musl@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.4-canary.2.tgz#dc773606deacf6961aaf75ac7477a14ae07509fa"
integrity sha512-hBoa82xIb/mei4H7h6LqyVDXUrb0SoWzfOGmRKQRdDGzjE9BkHReX7OLw2CIlXx6mSnpZ/wmYQ6BpRAyYcmm+w==
"@next/swc-win32-arm64-msvc@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.4-canary.1.tgz#ff8bfd63df30af48d3c2963cb27a1698e52bacf8"
integrity sha512-Qr5SzmYDgpYNFmJzX01wc3XYKc8RVksY6ofA1Xkg5xZzxxAI6nYYqtZSgauj1nx9YVaHzHkNqWMuzkHU93wjig==
"@next/swc-win32-arm64-msvc@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.4-canary.2.tgz#7944e293f0f816110a34862c038d1c1f67cbe108"
integrity sha512-FC4k2BKRY/Kr/VgAfzQX81DGVQCnLm9SkqfWOiQTVYquPx5Se7df2aOH8soe/ZQLx+zdOHNo9opzBZZib3PrPA==
"@next/swc-win32-ia32-msvc@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.4-canary.1.tgz#b2e196cbb28fe6682724edcc8be46ded60671b2b"
integrity sha512-TIf4gl5Tve/PbqTZbNHE7FyvXCBEp9hEmcUxP4nX1YhNGiKO5CbdWXAOPFaZ8Hwd59NJDYBRREfWJ+EDFAH57Q==
"@next/swc-win32-ia32-msvc@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.4-canary.2.tgz#73e1cbbd167dfc31d1a1b53686a41abe3a095277"
integrity sha512-mPwxmx8OxHYSiR4StED3dO7k1m+Vu/Oxs4/mNOqNs/gFAaGl82WmKk/njUvYIsnWrDoKX5CgibV684J5bCchVw==
"@next/swc-win32-x64-msvc@12.2.4-canary.1":
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.4-canary.1.tgz#05b542169ddbb9fc822f138e3c175e172aee33a6"
integrity sha512-hsBZ+Z5YIJdxfX5zApbv49xffLX1wRdT1ReKIhQZMZY2v9L07MEV+GjPX+iE7B9XWHK2d2Y95AjAplH6vE3kGQ==
"@next/swc-win32-x64-msvc@12.2.4-canary.2":
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.4-canary.2.tgz#de9e3c232c3ac6cee9786c2ee53747785efd1ca5"
integrity sha512-dYEMAVCI38b4kVuvV8yhoc92SSm4tWcU8i9aDlfRCB7jUvHBfF5YSbDd3CI9MCiAc2314JVu6X5EdoQa/VwXZw==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
@ -1255,10 +1255,10 @@
"@octokit/types" "^6.0.3"
universal-user-agent "^6.0.0"
"@octokit/openapi-types@^12.10.0":
version "12.10.1"
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.10.1.tgz#57b5cc6c7b4e55d8642c93d06401fb1af4839899"
integrity sha512-P+SukKanjFY0ZhsK6wSVnQmxTP2eVPPE8OPSNuxaMYtgVzwJZgfGdwlYjf4RlRU4vLEw4ts2fsE2icG4nZ5ddQ==
"@octokit/openapi-types@^12.11.0":
version "12.11.0"
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0"
integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==
"@octokit/request-error@^3.0.0":
version "3.0.0"
@ -1282,11 +1282,11 @@
universal-user-agent "^6.0.0"
"@octokit/types@^6.0.3", "@octokit/types@^6.16.1":
version "6.40.0"
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.40.0.tgz#f2e665196d419e19bb4265603cf904a820505d0e"
integrity sha512-MFZOU5r8SwgJWDMhrLUSvyJPtVsqA6VnbVI3TNbsmw+Jnvrktzvq2fYES/6RiJA/5Ykdwq4mJmtlYUfW7CGjmw==
version "6.41.0"
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04"
integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==
dependencies:
"@octokit/openapi-types" "^12.10.0"
"@octokit/openapi-types" "^12.11.0"
"@primer/octicons@^17.3.0":
version "17.3.0"
@ -1363,60 +1363,60 @@
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz#0c8b74c50f29ee44f423f7416829c0bf8bb5eb27"
integrity sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==
"@sentry/core@7.7.0":
version "7.7.0"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.7.0.tgz#1a2d477897552d179380f7c54c7d81a4e98ea29a"
integrity sha512-Z15ACiuiFINFcK4gbMrnejLn4AVjKBPJOWKrrmpIe8mh+Y9diOuswt5mMUABs+jhpZvqht3PBLLGBL0WMsYMYA==
"@sentry/core@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.8.0.tgz#3ab3a4cb4389527e3ca08031a02f010ec52287e8"
integrity sha512-Xogwy96P6o3qgSLIGHxzKnRxrky8QdHpnS4A6ZWjnnFFAJmMg3MPF9SmqK5dOUpO9K69jTad9vs6ES2qTydfIw==
dependencies:
"@sentry/hub" "7.7.0"
"@sentry/types" "7.7.0"
"@sentry/utils" "7.7.0"
"@sentry/hub" "7.8.0"
"@sentry/types" "7.8.0"
"@sentry/utils" "7.8.0"
tslib "^1.9.3"
"@sentry/hub@7.7.0":
version "7.7.0"
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.7.0.tgz#9ad3471cf5ecaf1a9d3a3a04ca2515ffec9e2c09"
integrity sha512-6gydK234+a0nKhBRDdIJ7Dp42CaiW2juTiHegUVDq+482balVzbZyEAmESCmuzKJhx5BhlCElVxs/cci1NjMpg==
"@sentry/hub@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.8.0.tgz#ba261fff11f389511b2a2f7ccd4466dc781d1a8d"
integrity sha512-L+aZ7XQJ5cM9NFBy/4caTyBVOc5DB6LK1wxPSFxCy1zsr/XpEYqTAy6ATRUeC0UKxdd/sN/lnQ8liGwVAc0gGQ==
dependencies:
"@sentry/types" "7.7.0"
"@sentry/utils" "7.7.0"
"@sentry/types" "7.8.0"
"@sentry/utils" "7.8.0"
tslib "^1.9.3"
"@sentry/node@^7.7.0":
version "7.7.0"
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.7.0.tgz#d39e904968fcca8cb0a881dee81887a6abf3ad74"
integrity sha512-i62x23NHEhLe6CJ6l9E30uRCUMm0VMz9aUmmrjW+9uxS1mZhHTG2kpbU16ozyh9KTLswKDOSE75Z+MzQpGSQ/Q==
"@sentry/node@^7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.8.0.tgz#7b5f183d8717c5d106bf98936dcce3fa34a515f0"
integrity sha512-nnHeKVbOWlNC/ekgKJhSPDOJbw2W/Bk5OTRmJJm2TgrRS/RituogLjf9Ypw/oZOT4MWQHpn2qTI6yXta5WIQuw==
dependencies:
"@sentry/core" "7.7.0"
"@sentry/hub" "7.7.0"
"@sentry/types" "7.7.0"
"@sentry/utils" "7.7.0"
"@sentry/core" "7.8.0"
"@sentry/hub" "7.8.0"
"@sentry/types" "7.8.0"
"@sentry/utils" "7.8.0"
cookie "^0.4.1"
https-proxy-agent "^5.0.0"
lru_map "^0.3.3"
tslib "^1.9.3"
"@sentry/tracing@^7.7.0":
version "7.7.0"
resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.7.0.tgz#67324b755a28e115289755e44a0b8b467a63d0b2"
integrity sha512-HNmvTwemuc21q/K6HXsSp9njkne6N1JQ71TB+QGqYU5VtxsVgYSUhhYqV6WcHz7LK4Hj6TvNFoeu69/rO0ysgw==
"@sentry/tracing@^7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.8.0.tgz#e803317f26bd54b05f95f78cdc456979f786627e"
integrity sha512-qhem3wJgyd2tgRk0nHMGkWtiI3ln0ZdN8N+5hLnW+CrSz8Xm5/L5gwWQszOFG7WCYM3wRYEV093MuHg+qTg8iA==
dependencies:
"@sentry/hub" "7.7.0"
"@sentry/types" "7.7.0"
"@sentry/utils" "7.7.0"
"@sentry/hub" "7.8.0"
"@sentry/types" "7.8.0"
"@sentry/utils" "7.8.0"
tslib "^1.9.3"
"@sentry/types@7.7.0":
version "7.7.0"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.7.0.tgz#dd6bd3d119d7efea0e85dbaa4b17de1c22b63c7a"
integrity sha512-4x8O7uerSGLnYC10krHl9t8h7xXHn5FextqKYbTCXCnx2hC8D+9lz8wcbQAFo0d97wiUYqI8opmEgFVGx7c5hQ==
"@sentry/types@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.8.0.tgz#009ee9c53b474030a6b14025a8904b6260d57484"
integrity sha512-X9D2jlcAzbJdCHA+eCMv2t5HI9769Qpx48e+sZiK7Oasy1jwQtqzQRaiI9fy/zZ+p7Fyerj/4WjW/E2c4dJ63w==
"@sentry/utils@7.7.0":
version "7.7.0"
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.7.0.tgz#013e3097c4268a76de578494c7df999635fb0ad4"
integrity sha512-fD+ROSFpeJlK7bEvUT2LOW7QqgjBpXJwVISKZ0P2fuzclRC3KoB2pbZgBM4PXMMTiSzRGWhvfRRjBiBvQJBBJQ==
"@sentry/utils@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.8.0.tgz#ed9b9a607fa51125a48140b1ea836603202d3cc2"
integrity sha512-6WvXawUPs60R9MitHXFL533D/Ic9tqQZbvPnBXmAkfp90Y5rcoq2QfJjkqMk/Z+Gnplwi8/wcJCC8EtYKfWg6w==
dependencies:
"@sentry/types" "7.7.0"
"@sentry/types" "7.8.0"
tslib "^1.9.3"
"@stitches/react@^1.2.8":
@ -2038,14 +2038,14 @@ braces@^3.0.2:
fill-range "^7.0.1"
browserslist@^4.20.2, browserslist@^4.21.2:
version "4.21.2"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf"
integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==
version "4.21.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a"
integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==
dependencies:
caniuse-lite "^1.0.30001366"
electron-to-chromium "^1.4.188"
caniuse-lite "^1.0.30001370"
electron-to-chromium "^1.4.202"
node-releases "^2.0.6"
update-browserslist-db "^1.0.4"
update-browserslist-db "^1.0.5"
call-bind@^1.0.0, call-bind@^1.0.2:
version "1.0.2"
@ -2065,7 +2065,7 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001366:
caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001370:
version "1.0.30001370"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz#0a30d4f20d38b9e108cc5ae7cc62df9fe66cd5ba"
integrity sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g==
@ -2443,10 +2443,10 @@ eastasianwidth@^0.2.0:
resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
electron-to-chromium@^1.4.188:
version "1.4.199"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz#e0384fde79fdda89880e8be58196a9153e04db3b"
integrity sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==
electron-to-chromium@^1.4.202:
version "1.4.202"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.202.tgz#0c2ed733f42b02ec49a955c5badfcc65888c390b"
integrity sha512-JYsK2ex9lmQD27kj19fhXYxzFJ/phLAkLKHv49A5UY6kMRV2xED3qMMLg/voW/+0AR6wMiI+VxlmK9NDtdxlPA==
emoji-regex@^8.0.0:
version "8.0.0"
@ -2540,12 +2540,12 @@ escape-string-regexp@^4.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
eslint-config-next@12.2.4-canary.1:
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.2.4-canary.1.tgz#e15a32bd6f28ec9a142bac2e40b551ea53b0bbdf"
integrity sha512-gVjUO/kpWUSYO4g9swYQCpsinJtTMssDXQ8JNGz6iuPfVG+SNA+wcoGGzn+2ahww6bOST9nUavj5AMfDTm1qLw==
eslint-config-next@12.2.4-canary.2:
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.2.4-canary.2.tgz#4f2f99cfebc8aa6ccad0a5d7c98f5fbd1bd4a72b"
integrity sha512-RhEJJGApeej6jjTadruXFbCCXyBnktyZLgpYW9kZV9GZEC1ASzp8AILuA3FwwX2i1WFB/Es9YEnc4PG00TpoNw==
dependencies:
"@next/eslint-plugin-next" "12.2.4-canary.1"
"@next/eslint-plugin-next" "12.2.4-canary.2"
"@rushstack/eslint-patch" "^1.1.3"
"@typescript-eslint/parser" "^5.21.0"
eslint-import-resolver-node "^0.3.6"
@ -4354,31 +4354,31 @@ next-seo@^5.5.0:
resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-5.5.0.tgz#12bdfce60a6ae098f49617357a166c2d44dbc29e"
integrity sha512-5ouBHFtx8YrSDW44lj0qIEQ+oMcz6stgoITB+SqHUZbhgizoJsyLmq73gJ0lxtEKpcN8vG2QgRIJfdb8OAPChw==
next@12.2.4-canary.1:
version "12.2.4-canary.1"
resolved "https://registry.yarnpkg.com/next/-/next-12.2.4-canary.1.tgz#022bada3eb5505beda4bdd7df7a6e7359c51db5b"
integrity sha512-rpbosiN7/vUhw1cno2xnq5GJtqHg70d6fmnEdzNEM8eJcsQofD8wuBZCRkARKGBLlP8UKFScz6xH8ndbcIVLPA==
next@12.2.4-canary.2:
version "12.2.4-canary.2"
resolved "https://registry.yarnpkg.com/next/-/next-12.2.4-canary.2.tgz#f40aa4bcdc8dacb2abf76c6f7d63a88be7d86ae1"
integrity sha512-K7k8xhyC+4wrhW9c2DrLLPhhUG7XVFICgnfoavnO93TknhUBcZYQoSZq9T4EL/ct5hWu3xE3Prgd2+1WmoOSVg==
dependencies:
"@next/env" "12.2.4-canary.1"
"@next/env" "12.2.4-canary.2"
"@swc/helpers" "0.4.3"
caniuse-lite "^1.0.30001332"
postcss "8.4.14"
styled-jsx "5.0.2"
use-sync-external-store "1.2.0"
optionalDependencies:
"@next/swc-android-arm-eabi" "12.2.4-canary.1"
"@next/swc-android-arm64" "12.2.4-canary.1"
"@next/swc-darwin-arm64" "12.2.4-canary.1"
"@next/swc-darwin-x64" "12.2.4-canary.1"
"@next/swc-freebsd-x64" "12.2.4-canary.1"
"@next/swc-linux-arm-gnueabihf" "12.2.4-canary.1"
"@next/swc-linux-arm64-gnu" "12.2.4-canary.1"
"@next/swc-linux-arm64-musl" "12.2.4-canary.1"
"@next/swc-linux-x64-gnu" "12.2.4-canary.1"
"@next/swc-linux-x64-musl" "12.2.4-canary.1"
"@next/swc-win32-arm64-msvc" "12.2.4-canary.1"
"@next/swc-win32-ia32-msvc" "12.2.4-canary.1"
"@next/swc-win32-x64-msvc" "12.2.4-canary.1"
"@next/swc-android-arm-eabi" "12.2.4-canary.2"
"@next/swc-android-arm64" "12.2.4-canary.2"
"@next/swc-darwin-arm64" "12.2.4-canary.2"
"@next/swc-darwin-x64" "12.2.4-canary.2"
"@next/swc-freebsd-x64" "12.2.4-canary.2"
"@next/swc-linux-arm-gnueabihf" "12.2.4-canary.2"
"@next/swc-linux-arm64-gnu" "12.2.4-canary.2"
"@next/swc-linux-arm64-musl" "12.2.4-canary.2"
"@next/swc-linux-x64-gnu" "12.2.4-canary.2"
"@next/swc-linux-x64-musl" "12.2.4-canary.2"
"@next/swc-win32-arm64-msvc" "12.2.4-canary.2"
"@next/swc-win32-ia32-msvc" "12.2.4-canary.2"
"@next/swc-win32-x64-msvc" "12.2.4-canary.2"
nlcst-to-string@^2.0.0:
version "2.0.4"
@ -5637,7 +5637,7 @@ universal-user-agent@^6.0.0:
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
update-browserslist-db@^1.0.4:
update-browserslist-db@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"
integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==