diff --git a/.gitignore b/.gitignore
index 7e1e63ad..69c9a26e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,3 +42,6 @@ next-env.d.ts
/playwright-report/
/blob-report/
/playwright/.cache/
+
+# Sentry Config File
+.sentryclirc
diff --git a/README.md b/README.md
index 1d112efc..7239305a 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
- [ ] Labels page
- [ ] content & styling
- [ ] View content by tag/genre
-- [ ] Sentry
+- [x] Sentry
- [ ] **Virtualized list** for micro posts
- [ ] copy to clipboard icons
- [ ] context: tracklist
diff --git a/next.config.js b/next.config.js
index 1491e63f..ba7db3c4 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,6 +1,8 @@
/** @type {import('next').NextConfig} */
const { withContentlayer } = require('next-contentlayer')
+const { withSentryConfig } = require("@sentry/nextjs");
+
const hostnames = [
'i.scdn.co', // Spotify Album Art
@@ -12,7 +14,6 @@ const hostnames = [
'd20tmfka7s58bt.cloudfront.net', // img-omg
'spotifycdn.com',
'*.spotifycdn.com'
-
]
module.exports = withContentlayer({
@@ -40,3 +41,49 @@ module.exports = withContentlayer({
return config;
},
})
+
+
+
+
+// Injected content via Sentry wizard below
+module.exports = withSentryConfig(
+ module.exports,
+ {
+ // For all available options, see:
+ // https://github.com/getsentry/sentry-webpack-plugin#options
+
+ // Suppresses source map uploading logs during build
+ silent: true,
+ org: "goosebumps-collective",
+ project: "goosebumps-collective",
+ },
+ {
+ // For all available options, see:
+ // https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/
+
+ // Upload a larger set of source maps for prettier stack traces (increases build time)
+ widenClientFileUpload: true,
+
+ // Transpiles SDK to be compatible with IE11 (increases bundle size)
+ transpileClientSDK: true,
+
+ // Route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers.
+ // This can increase your server load as well as your hosting bill.
+ // Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client-
+ // side errors will fail.
+ tunnelRoute: "/monitoring",
+
+ // Hides source maps from generated client bundles
+ hideSourceMaps: true,
+
+ // Automatically tree-shake Sentry logger statements to reduce bundle size
+ disableLogger: true,
+
+ // Enables automatic instrumentation of Vercel Cron Monitors.
+ // See the following for more information:
+ // https://docs.sentry.io/product/crons/
+ // https://vercel.com/docs/cron-jobs
+ automaticVercelMonitors: true,
+ }
+);
+
diff --git a/package.json b/package.json
index 6e5b8e75..e4fe094e 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"@radix-ui/colors": "^3.0.0",
"@radix-ui/react-scroll-area": "^1.0.2",
"@radix-ui/react-tabs": "^1.0.4",
+ "@sentry/nextjs": "^7.105.0",
"@vercel/og": "^0.6.2",
"clsx": "^2.1.0",
"contentlayer": "^0.3.2",
diff --git a/sentry.client.config.ts b/sentry.client.config.ts
new file mode 100644
index 00000000..5ad4ca00
--- /dev/null
+++ b/sentry.client.config.ts
@@ -0,0 +1,30 @@
+// This file configures the initialization of Sentry on the client.
+// The config you add here will be used whenever a users loads a page in their browser.
+// https://docs.sentry.io/platforms/javascript/guides/nextjs/
+
+import * as Sentry from "@sentry/nextjs";
+
+Sentry.init({
+ dsn: "https://6698428c07e44ccbb83372b6057b407d@o452087.ingest.us.sentry.io/5439010",
+
+ // Adjust this value in production, or use tracesSampler for greater control
+ tracesSampleRate: 1,
+
+ // Setting this option to true will print useful information to the console while you're setting up Sentry.
+ debug: false,
+
+ replaysOnErrorSampleRate: 1.0,
+
+ // This sets the sample rate to be 10%. You may want this to be 100% while
+ // in development and sample at a lower rate in production
+ replaysSessionSampleRate: 0.1,
+
+ // You can remove this option if you're not planning to use the Sentry Session Replay feature:
+ integrations: [
+ Sentry.replayIntegration({
+ // Additional Replay configuration goes in here, for example:
+ maskAllText: true,
+ blockAllMedia: true,
+ }),
+ ],
+});
diff --git a/sentry.edge.config.ts b/sentry.edge.config.ts
new file mode 100644
index 00000000..6c987084
--- /dev/null
+++ b/sentry.edge.config.ts
@@ -0,0 +1,16 @@
+// This file configures the initialization of Sentry for edge features (middleware, edge routes, and so on).
+// The config you add here will be used whenever one of the edge features is loaded.
+// Note that this config is unrelated to the Vercel Edge Runtime and is also required when running locally.
+// https://docs.sentry.io/platforms/javascript/guides/nextjs/
+
+import * as Sentry from "@sentry/nextjs";
+
+Sentry.init({
+ dsn: "https://6698428c07e44ccbb83372b6057b407d@o452087.ingest.us.sentry.io/5439010",
+
+ // Adjust this value in production, or use tracesSampler for greater control
+ tracesSampleRate: 1,
+
+ // Setting this option to true will print useful information to the console while you're setting up Sentry.
+ debug: false,
+});
diff --git a/sentry.server.config.ts b/sentry.server.config.ts
new file mode 100644
index 00000000..29ae1254
--- /dev/null
+++ b/sentry.server.config.ts
@@ -0,0 +1,19 @@
+// This file configures the initialization of Sentry on the server.
+// The config you add here will be used whenever the server handles a request.
+// https://docs.sentry.io/platforms/javascript/guides/nextjs/
+
+import * as Sentry from "@sentry/nextjs";
+
+Sentry.init({
+ dsn: "https://6698428c07e44ccbb83372b6057b407d@o452087.ingest.us.sentry.io/5439010",
+
+ // Adjust this value in production, or use tracesSampler for greater control
+ tracesSampleRate: 1,
+
+ // Setting this option to true will print useful information to the console while you're setting up Sentry.
+ debug: false,
+
+ // uncomment the line below to enable Spotlight (https://spotlightjs.com)
+ // spotlight: process.env.NODE_ENV === 'development',
+
+});
diff --git a/src/components/RSS.tsx b/src/components/RSS.tsx
index 14139ae1..75f3faab 100644
--- a/src/components/RSS.tsx
+++ b/src/components/RSS.tsx
@@ -1,6 +1,7 @@
import { useRouter } from 'next/router'
import { useState } from 'react'
import { FaSquareRss } from 'react-icons/fa6'
+import * as Sentry from '@sentry/nextjs'
export const RSS = () => {
const [isCopied, setIsCopied] = useState(false)
@@ -16,6 +17,7 @@ export const RSS = () => {
setIsCopied(false)
}, 3500)
} catch (error) {
+ Sentry.captureException(error)
console.error('Failed to copy to clipboard', error)
}
}
diff --git a/src/pages/_error.jsx b/src/pages/_error.jsx
new file mode 100644
index 00000000..46a61d69
--- /dev/null
+++ b/src/pages/_error.jsx
@@ -0,0 +1,17 @@
+import * as Sentry from "@sentry/nextjs";
+import Error from "next/error";
+
+const CustomErrorComponent = (props) => {
+ return ;
+};
+
+CustomErrorComponent.getInitialProps = async (contextData) => {
+ // In case this is running in a serverless function, await this in order to give Sentry
+ // time to send the error before the lambda exits
+ await Sentry.captureUnderscoreErrorException(contextData);
+
+ // This will contain the status code of the response
+ return Error.getInitialProps(contextData);
+};
+
+export default CustomErrorComponent;
diff --git a/src/pages/api/album.ts b/src/pages/api/album.ts
index 05738625..ef6e211b 100644
--- a/src/pages/api/album.ts
+++ b/src/pages/api/album.ts
@@ -1,6 +1,7 @@
import { AlbumApiResponse, GenericAndMaybeLegacyError, TrackAPIResponse } from '@/src/types'
import { NextApiRequest, NextApiResponse } from 'next'
import { getAlbumDetails } from '../../lib/spotify'
+import * as Sentry from '@sentry/nextjs'
const { parse } = require('spotify-uri')
@@ -20,33 +21,39 @@ export default async (
id = query?.id
}
- const response = await getAlbumDetails(id)
- if (response.status > 400) {
- return res.status(200).json({ error: 'Album Not Found' })
+ try {
+ const response = await getAlbumDetails(id)
+
+ if (response.status > 400) {
+ return res.status(response.status).json({ error: 'Album Not Found' })
+ }
+
+ const albumType = response.album_type
+ const albumImageUrl = response.images[0].url
+ const title = response.name
+ const artists = response.artists.map((_artist) => _artist.name).join(', ')
+ const albumUrl = response.external_urls.spotify
+
+ const number_of_tracks_in_album = response.tracks.items.length
+ const preview_url_track_number = randomNumberWithinRange(0, number_of_tracks_in_album - 1)
+ const previewUrl = response.tracks.items[preview_url_track_number].preview_url
+ const tracks: TrackAPIResponse[] = response.tracks.items.map(
+ (item): TrackAPIResponse => ({
+ artists: item.artists.map((_artist) => _artist.name).join(', '),
+ previewUrl: item.preview_url,
+ title: item.name,
+ trackUrl: item.external_urls.spotify,
+ albumImageUrl
+ })
+ )
+
+ return res
+ .status(200)
+ .json({ tracks, albumType, albumImageUrl, title, artists, albumUrl, previewUrl })
+ } catch (error) {
+ Sentry.captureException(error)
+ return res.status(500).json({ error: 'Internal Server Error' })
}
-
- const albumType = response.album_type
- const albumImageUrl = response.images[0].url
- const title = response.name
- const artists = response.artists.map((_artist) => _artist.name).join(', ')
- const albumUrl = response.external_urls.spotify
-
- const number_of_tracks_in_album = response.tracks.items.length
- const preview_url_track_number = randomNumberWithinRange(0, number_of_tracks_in_album - 1)
- const previewUrl = response.tracks.items[preview_url_track_number].preview_url
- const tracks: TrackAPIResponse[] = response.tracks.items.map(
- (item): TrackAPIResponse => ({
- artists: item.artists.map((_artist) => _artist.name).join(', '),
- previewUrl: item.preview_url,
- title: item.name,
- trackUrl: item.external_urls.spotify,
- albumImageUrl
- })
- )
-
- return res
- .status(200)
- .json({ tracks, albumType, albumImageUrl, title, artists, albumUrl, previewUrl })
}
function randomNumberWithinRange(myMin, myMax) {
diff --git a/src/pages/api/dl.ts b/src/pages/api/dl.ts
index 7f13b83c..a4ef10ba 100644
--- a/src/pages/api/dl.ts
+++ b/src/pages/api/dl.ts
@@ -1,5 +1,6 @@
import { NextApiRequest, NextApiResponse } from 'next';
import fetch from 'node-fetch';
+import * as Sentry from '@sentry/nextjs'
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
// Get the URL of the file to download from the query parameters or request body
@@ -19,6 +20,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
// Return the downloaded file as the response body
response.body.pipe(res);
} catch (error) {
+ Sentry.captureException(error)
res.status(500).json({ error: 'Failed to download file' });
}
}
\ No newline at end of file
diff --git a/src/pages/api/playlist.ts b/src/pages/api/playlist.ts
index 818bbc60..deda3ac2 100644
--- a/src/pages/api/playlist.ts
+++ b/src/pages/api/playlist.ts
@@ -1,6 +1,7 @@
import { GenericAndMaybeLegacyError, PlaylistApiResponse, TrackAPIResponse } from '@/src/types'
import { NextApiRequest, NextApiResponse } from 'next'
import { getPlaylistDetails } from '../../lib/spotify'
+import * as Sentry from '@sentry/nextjs'
const { parse } = require('spotify-uri')
@@ -20,28 +21,34 @@ export default async (
id = query?.id
}
- const response = await getPlaylistDetails(id)
- if (response.status > 400) {
- return res.status(200).json({ error: 'Playlist Not Found' })
- }
+ try {
+
+ const response = await getPlaylistDetails(id)
+ if (response.status > 400) {
+ return res.status(response.status).json({ error: 'Playlist Not Found' })
+ }
- const playlistUrl = response.external_urls.spotify
- const coverImageUrl = response.images[0].url
- const title = response.name
- const { description } = response
- const ownerName = response.owner.display_name
- const tracks: TrackAPIResponse[] = response.tracks.items.map(
- (item): TrackAPIResponse => ({
- albumType: item.track.album.album_type,
- albumImageUrl: item.track.album.images[0].url,
- artists: item.track.artists.map((_artist) => _artist.name).join(', '),
- previewUrl: item.track.preview_url,
- title: item.track.name,
- trackUrl: item.track.external_urls.spotify,
- })
- )
-
- return res.status(200).json({ playlistUrl, coverImageUrl, title, description, ownerName, tracks })
+ const playlistUrl = response.external_urls.spotify
+ const coverImageUrl = response.images[0].url
+ const title = response.name
+ const { description } = response
+ const ownerName = response.owner.display_name
+ const tracks: TrackAPIResponse[] = response.tracks.items.map(
+ (item): TrackAPIResponse => ({
+ albumType: item.track.album.album_type,
+ albumImageUrl: item.track.album.images[0].url,
+ artists: item.track.artists.map((_artist) => _artist.name).join(', '),
+ previewUrl: item.track.preview_url,
+ title: item.track.name,
+ trackUrl: item.track.external_urls.spotify,
+ })
+ )
+
+ return res.status(200).json({ playlistUrl, coverImageUrl, title, description, ownerName, tracks })
+ } catch (error) {
+ Sentry.captureException(error)
+ return res.status(500).json({ error: 'Internal Server Error' })
+ }
}
function randomNumberWithinRange(myMin, myMax) {
diff --git a/src/pages/api/rss.ts b/src/pages/api/rss.ts
index eccdbddf..9ee373eb 100644
--- a/src/pages/api/rss.ts
+++ b/src/pages/api/rss.ts
@@ -3,7 +3,7 @@ import { NextApiRequest, NextApiResponse } from 'next';
import { allMixes } from '@/contentlayer/generated'
import fetch from 'node-fetch';
import { DEFAULT_IMAGE_URL } from '@/src/constants';
-
+import * as Sentry from '@sentry/nextjs'
export default async (req: NextApiRequest, res: NextApiResponse) => {
@@ -20,12 +20,12 @@ export default async (req: NextApiRequest, res: NextApiResponse) => {
${new Date(mix.date).toUTCString()}
${mix.description ?
- `${encodeXML(mix.description)}. Get the tracklist and more a immersive experience over at ${url}` : ''
+ `${encodeXML(mix.description)}. Get the tracklist and more a immersive experience over at ${url}` : ''
}
${mix.title}
${encodeXML(mix.description)}
- ${mix.genres ? `${mix.genres.join(', ')}`: ''}
+ ${mix.genres ? `${mix.genres.join(', ')}` : ''}
Guide Fari
Guide Fari
no
@@ -60,7 +60,7 @@ export default async (req: NextApiRequest, res: NextApiResponse) => {
return res.status(200).send(sitemap);
} catch (e: unknown) {
- console.log('e:', e)
+ Sentry.captureException(e)
if (!(e instanceof Error)) {
throw e;
}
@@ -70,7 +70,7 @@ export default async (req: NextApiRequest, res: NextApiResponse) => {
};
const encodeXML = (str: string) =>
-str
+ str
.replace(/&/g, '&')
.replace(//g, '>')
diff --git a/src/pages/api/sentry-example-api.js b/src/pages/api/sentry-example-api.js
new file mode 100644
index 00000000..3b306a04
--- /dev/null
+++ b/src/pages/api/sentry-example-api.js
@@ -0,0 +1,11 @@
+import * as Sentry from '@sentry/nextjs'
+
+export default function handler(_req, res) {
+ try {
+ throw new Error("now it will show up in the dashboard");
+ } catch (error) {
+ Sentry.addBreadcrumb({ message: "sentry-example-api error", category: "sentry-example-api", level: "error", data: { demoData: 'is this working' } });
+ Sentry.captureException(error);
+ res.status(500).json({ error: "Its me. not you." });
+ }
+}
\ No newline at end of file
diff --git a/src/pages/api/track.ts b/src/pages/api/track.ts
index 2488bf20..1046da07 100644
--- a/src/pages/api/track.ts
+++ b/src/pages/api/track.ts
@@ -1,6 +1,7 @@
import { GenericAndMaybeLegacyError, TrackAPIResponse } from '@/src/types'
import { NextApiRequest, NextApiResponse } from 'next'
import { getTrackDetails } from '../../lib/spotify'
+import * as Sentry from '@sentry/nextjs'
const { parse } = require('spotify-uri')
@@ -20,17 +21,23 @@ export default async (
id = query?.id
}
- const response = await getTrackDetails(id)
- if (response.status > 400) {
- return res.status(200).json({ error: 'Track Not Found' })
- }
+ try {
+
+ const response = await getTrackDetails(id)
+ if (response.status > 400) {
+ return res.status(response.status).json({ error: 'Track Not Found' })
+ }
- const albumType = response.album.album_type
- const albumImageUrl = response.album.images[0].url
- const title = response.name
- const artists = response.artists.map((_artist) => _artist.name).join(', ')
- const trackUrl = response.external_urls.spotify
- const previewUrl = response.preview_url
+ const albumType = response.album.album_type
+ const albumImageUrl = response.album.images[0].url
+ const title = response.name
+ const artists = response.artists.map((_artist) => _artist.name).join(', ')
+ const trackUrl = response.external_urls.spotify
+ const previewUrl = response.preview_url
- return res.status(200).json({ albumType, albumImageUrl, title, artists, trackUrl, previewUrl })
+ return res.status(200).json({ albumType, albumImageUrl, title, artists, trackUrl, previewUrl })
+ } catch (error) {
+ Sentry.captureException(error)
+ return res.status(500).json({ error: 'Internal Server Error' })
+ }
}
diff --git a/src/pages/sentry-example-page.jsx b/src/pages/sentry-example-page.jsx
new file mode 100644
index 00000000..e5085c30
--- /dev/null
+++ b/src/pages/sentry-example-page.jsx
@@ -0,0 +1,93 @@
+import Head from 'next/head'
+import * as Sentry from '@sentry/nextjs'
+
+export default function Page() {
+ return (
+
+
+
Sentry Onboarding
+
+
+
+
+
+
+
+
+ Get started by sending us a sample error:
+
+
+
+ Next, look for the error on the{' '}
+ Issues Page.
+
+
+ For more information, see{' '}
+
+ https://docs.sentry.io/platforms/javascript/guides/nextjs/
+
+
+
+
+ )
+}
diff --git a/yarn.lock b/yarn.lock
index c971dc2a..101a38cf 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -900,7 +900,7 @@
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
-"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
+"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
version "1.4.15"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
@@ -2020,6 +2020,27 @@
resolved "https://registry.yarnpkg.com/@resvg/resvg-wasm/-/resvg-wasm-2.4.0.tgz#e01164b9a267c822e1ff797daa2fb91b663ea6f0"
integrity sha512-C7c51Nn4yTxXFKvgh2txJFNweaVcfUPQxwEUFw4aWsCmfiBDJsTSwviIF8EcwjQ6k8bPyMWCl1vw4BdxE569Cg==
+"@rollup/plugin-commonjs@24.0.0":
+ version "24.0.0"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.0.tgz#fb7cf4a6029f07ec42b25daa535c75b05a43f75c"
+ integrity sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.1"
+ commondir "^1.0.1"
+ estree-walker "^2.0.2"
+ glob "^8.0.3"
+ is-reference "1.2.1"
+ magic-string "^0.27.0"
+
+"@rollup/pluginutils@^5.0.1":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0"
+ integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-walker "^2.0.2"
+ picomatch "^2.3.1"
+
"@rollup/rollup-android-arm-eabi@4.9.6":
version "4.9.6"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz#66b8d9cb2b3a474d115500f9ebaf43e2126fe496"
@@ -2090,6 +2111,160 @@
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz#2d4260033e199b3032a08b41348ac10de21c47e9"
integrity sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==
+"@sentry-internal/feedback@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.113.0.tgz#90a3c5493e289d589cfde79330fca549a24f41a4"
+ integrity sha512-eEmL8QXauUnM3FXGv0GT29RpL0Jo0pkn/uMu3aqjhQo7JKNqUGVYIUxJxiGWbVMbDXqPQ7L66bjjMS3FR1GM2g==
+ dependencies:
+ "@sentry/core" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+
+"@sentry-internal/replay-canvas@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.113.0.tgz#8a0165494b0a0ba7b1ae45166ca90a8749c38b7a"
+ integrity sha512-K8uA42aobNF/BAXf14el15iSAi9fonLBUrjZi6nPDq7zaA8rPvfcTL797hwCbqkETz2zDf52Jz7I3WFCshDoUw==
+ dependencies:
+ "@sentry/core" "7.113.0"
+ "@sentry/replay" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+
+"@sentry-internal/tracing@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.113.0.tgz#936f23205ab53be62f1753b923eddc243cefde86"
+ integrity sha512-8MDnYENRMnEfQjvN4gkFYFaaBSiMFSU/6SQZfY9pLI3V105z6JQ4D0PGMAUVowXilwNZVpKNYohE7XByuhEC7Q==
+ dependencies:
+ "@sentry/core" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+
+"@sentry/browser@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.113.0.tgz#09b77812cbf476eacdccdc714ba4e4ba2c170a88"
+ integrity sha512-PdyVHPOprwoxGfKGsP2dXDWO0MBDW1eyP7EZlfZvM1A4hjk6ZRNfCv30g+TrqX4hiZDKzyqN3+AdP7N/J2IX0Q==
+ dependencies:
+ "@sentry-internal/feedback" "7.113.0"
+ "@sentry-internal/replay-canvas" "7.113.0"
+ "@sentry-internal/tracing" "7.113.0"
+ "@sentry/core" "7.113.0"
+ "@sentry/integrations" "7.113.0"
+ "@sentry/replay" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+
+"@sentry/cli@^1.77.1":
+ version "1.77.3"
+ resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.77.3.tgz#c40b4d09b0878d6565d42a915855add99db4fec3"
+ integrity sha512-c3eDqcDRmy4TFz2bFU5Y6QatlpoBPPa8cxBooaS4aMQpnIdLYPF1xhyyiW0LQlDUNc3rRjNF7oN5qKoaRoMTQQ==
+ dependencies:
+ https-proxy-agent "^5.0.0"
+ mkdirp "^0.5.5"
+ node-fetch "^2.6.7"
+ progress "^2.0.3"
+ proxy-from-env "^1.1.0"
+ which "^2.0.2"
+
+"@sentry/core@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.113.0.tgz#84307eabf03ece9304894ad24ee15581a220c5c7"
+ integrity sha512-pg75y3C5PG2+ur27A0Re37YTCEnX0liiEU7EOxWDGutH17x3ySwlYqLQmZsFZTSnvzv7t3MGsNZ8nT5O0746YA==
+ dependencies:
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+
+"@sentry/integrations@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.113.0.tgz#cce71e07cf90c4bf9b22f85c3ce22d9ba926ae5a"
+ integrity sha512-w0sspGBQ+6+V/9bgCkpuM3CGwTYoQEVeTW6iNebFKbtN7MrM3XsGAM9I2cW1jVxFZROqCBPFtd2cs5n0j14aAg==
+ dependencies:
+ "@sentry/core" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+ localforage "^1.8.1"
+
+"@sentry/nextjs@^7.105.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.113.0.tgz#c9c5eccadd6e2f3b8ad0b949ca4dfba0d6fa3340"
+ integrity sha512-lI5iJfbAC3dSakwq5+/JP58mLftxlDPPeY5ttcIuSHmNV/oobETJFTbWRIojUWYYn0E+Eea2OSdY5jPqxI7+iA==
+ dependencies:
+ "@rollup/plugin-commonjs" "24.0.0"
+ "@sentry/core" "7.113.0"
+ "@sentry/integrations" "7.113.0"
+ "@sentry/node" "7.113.0"
+ "@sentry/react" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+ "@sentry/vercel-edge" "7.113.0"
+ "@sentry/webpack-plugin" "1.21.0"
+ chalk "3.0.0"
+ resolve "1.22.8"
+ rollup "2.78.0"
+ stacktrace-parser "^0.1.10"
+
+"@sentry/node@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.113.0.tgz#c0d15a50a167f6cfc3a736838c9a919d5d6f1b01"
+ integrity sha512-Vam4Ia0I9fhVw8GJOzcLP7MiiHJSKl8L9LzLMMLG3+2/dFnDQOyS7sOfk3GqgpwzqPiusP9vFu7CFSX7EMQbTg==
+ dependencies:
+ "@sentry-internal/tracing" "7.113.0"
+ "@sentry/core" "7.113.0"
+ "@sentry/integrations" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+
+"@sentry/react@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.113.0.tgz#8e21c92e9691ea881639596d7e60a996b23ba229"
+ integrity sha512-+zVPz+h5Wydq4ntekw3/dXq5jeHIpZoQ2iqhB96PA9Y94JIq178i/xIP204S1h6rN7cmWAqtR93vnPKdxnlUbQ==
+ dependencies:
+ "@sentry/browser" "7.113.0"
+ "@sentry/core" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+ hoist-non-react-statics "^3.3.2"
+
+"@sentry/replay@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.113.0.tgz#db41b792e5d9966a9b1ca4eb1695ad7100f39b50"
+ integrity sha512-UD2IaphOWKFdeGR+ZiaNAQ+wFsnwbJK6PNwcW6cHmWKv9COlKufpFt06lviaqFZ8jmNrM4H+r+R8YVTrqCuxgg==
+ dependencies:
+ "@sentry-internal/tracing" "7.113.0"
+ "@sentry/core" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+
+"@sentry/types@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.113.0.tgz#2193c9933838302c82814771b03a8647fa684ffb"
+ integrity sha512-PJbTbvkcPu/LuRwwXB1He8m+GjDDLKBtu3lWg5xOZaF5IRdXQU2xwtdXXsjge4PZR00tF7MO7X8ZynTgWbYaew==
+
+"@sentry/utils@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.113.0.tgz#1e6e790c9d84e4809b2bb529bbd33a506b6db7bd"
+ integrity sha512-nzKsErwmze1mmEsbW2AwL2oB+I5v6cDEJY4sdfLekA4qZbYZ8pV5iWza6IRl4XfzGTE1qpkZmEjPU9eyo0yvYw==
+ dependencies:
+ "@sentry/types" "7.113.0"
+
+"@sentry/vercel-edge@7.113.0":
+ version "7.113.0"
+ resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-7.113.0.tgz#0cc3714d9d2c55e1f083c38d8fefa278ee93bc87"
+ integrity sha512-cHbo+v7ECRNluVWMJZqsNelf3JrV5Qw/aRH4Dw74IdErCYROAQx1pEuE7BnM3rIEgOQAMR/J/Fu7GFGecSbzTA==
+ dependencies:
+ "@sentry-internal/tracing" "7.113.0"
+ "@sentry/core" "7.113.0"
+ "@sentry/integrations" "7.113.0"
+ "@sentry/types" "7.113.0"
+ "@sentry/utils" "7.113.0"
+
+"@sentry/webpack-plugin@1.21.0":
+ version "1.21.0"
+ resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-1.21.0.tgz#bbe7cb293751f80246a4a56f9a7dd6de00f14b58"
+ integrity sha512-x0PYIMWcsTauqxgl7vWUY6sANl+XGKtx7DCVnnY7aOIIlIna0jChTAPANTfA2QrK+VK+4I/4JxatCEZBnXh3Og==
+ dependencies:
+ "@sentry/cli" "^1.77.1"
+ webpack-sources "^2.0.0 || ^3.0.0"
+
"@shuding/opentype.js@1.4.0-beta.0":
version "1.4.0-beta.0"
resolved "https://registry.yarnpkg.com/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz#5d1e7e9e056f546aad41df1c5043f8f85d39e24b"
@@ -2447,6 +2622,13 @@ acorn@^8.0.0, acorn@^8.10.0, acorn@^8.11.3, acorn@^8.9.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
+agent-base@6:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+ integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+ dependencies:
+ debug "4"
+
agent-base@^7.0.2, agent-base@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434"
@@ -2831,6 +3013,14 @@ chai@^4.3.10:
pathval "^1.1.1"
type-detect "^4.0.8"
+chalk@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -2996,6 +3186,11 @@ comment-json@^4.2.3:
has-own-prop "^2.0.0"
repeat-string "^1.6.1"
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
+
compute-scroll-into-view@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-2.0.4.tgz#2b444b2b9e4724819d2531efacb7ac094155fdf6"
@@ -3831,6 +4026,11 @@ estree-util-visit@^2.0.0:
"@types/estree-jsx" "^1.0.0"
"@types/unist" "^3.0.0"
+estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
estree-walker@^3.0.0, estree-walker@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d"
@@ -4140,6 +4340,17 @@ glob@^7.1.3:
once "^1.3.0"
path-is-absolute "^1.0.0"
+glob@^8.0.3:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
+ integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^5.0.1"
+ once "^1.3.0"
+
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
@@ -4367,6 +4578,13 @@ hey-listen@^1.0.8:
resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68"
integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==
+hoist-non-react-statics@^3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
+ integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+ dependencies:
+ react-is "^16.7.0"
+
html-encoding-sniffer@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448"
@@ -4387,6 +4605,14 @@ http-proxy-agent@^7.0.0:
agent-base "^7.1.0"
debug "^4.3.4"
+https-proxy-agent@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+ integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
+ dependencies:
+ agent-base "6"
+ debug "4"
+
https-proxy-agent@^7.0.2:
version "7.0.2"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b"
@@ -4422,6 +4648,11 @@ imagescript@^1.2.16:
resolved "https://registry.yarnpkg.com/imagescript/-/imagescript-1.2.18.tgz#058744cb22a49065c78415304a537d608c02d9ab"
integrity sha512-8AwTawraXovLo2PgKvFt96SZqJDwl0CnHDyrtoPUQHMmoA7u9M8EnqFZwCofSM+Uo623Z580iKW74bs2fzjoYQ==
+immediate@~3.0.5:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+ integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
+
import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -4649,6 +4880,13 @@ is-potential-custom-element-name@^1.0.1:
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
+is-reference@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
+ integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
+ dependencies:
+ "@types/estree" "*"
+
is-reference@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c"
@@ -4903,6 +5141,13 @@ lexical@^0.12.4:
resolved "https://registry.yarnpkg.com/lexical/-/lexical-0.12.6.tgz#6ffd60dcfe770c1a6fdc03c2ffd9e49182d16102"
integrity sha512-Nlfjc+k9cIWpOMv7XufF0Mv09TAXSemNAuAqFLaOwTcN+RvhvYTDtVLSp9D9r+5I097fYs1Vf/UYwH2xEpkFfQ==
+lie@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
+ integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==
+ dependencies:
+ immediate "~3.0.5"
+
lilconfig@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
@@ -4934,6 +5179,13 @@ local-pkg@^0.5.0:
mlly "^1.4.2"
pkg-types "^1.0.3"
+localforage@^1.8.1:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4"
+ integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==
+ dependencies:
+ lie "3.1.1"
+
locate-path@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
@@ -5016,6 +5268,13 @@ lz-string@^1.4.4, lz-string@^1.5.0:
resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941"
integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==
+magic-string@^0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
+ integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.13"
+
magic-string@^0.30.5:
version "0.30.6"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.6.tgz#996e21b42f944e45591a68f0905d6a740a12506c"
@@ -6013,6 +6272,13 @@ minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
dependencies:
brace-expansion "^1.1.7"
+minimatch@^5.0.1:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8:
version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
@@ -6023,6 +6289,13 @@ minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8:
resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c"
integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==
+mkdirp@^0.5.5:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+ dependencies:
+ minimist "^1.2.6"
+
mlly@^1.2.0, mlly@^1.4.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.5.0.tgz#8428a4617d54cc083d3009030ac79739a0e5447a"
@@ -6151,6 +6424,13 @@ node-domexception@^1.0.0:
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
+node-fetch@^2.6.7:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
+ integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
+ dependencies:
+ whatwg-url "^5.0.0"
+
node-fetch@^3.0.0, node-fetch@^3.3.1:
version "3.3.2"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b"
@@ -6638,6 +6918,11 @@ prismjs@^1.27.0:
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
+progress@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
@@ -6670,6 +6955,11 @@ protobufjs@^7.2.2, protobufjs@^7.2.4:
"@types/node" ">=13.7.0"
long "^5.0.0"
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
psl@^1.1.33:
version "1.9.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
@@ -6722,7 +7012,7 @@ react-icons@^5.0.1:
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.0.1.tgz#1694e11bfa2a2888cab47dcc30154ce90485feee"
integrity sha512-WqLZJ4bLzlhmsvme6iFdgO8gfZP17rfjYEJ2m9RsZjZ+cc4k1hTzknEz63YS1MeT50kVzoa1Nz36f4BEx+Wigw==
-react-is@^16.13.1:
+react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -6898,7 +7188,7 @@ resolve-pkg-maps@^1.0.0:
resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
-resolve@^1.1.7, resolve@^1.19.0, resolve@^1.22.2, resolve@^1.22.4:
+resolve@1.22.8, resolve@^1.1.7, resolve@^1.19.0, resolve@^1.22.2, resolve@^1.22.4:
version "1.22.8"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
@@ -6928,6 +7218,13 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
+rollup@2.78.0:
+ version "2.78.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e"
+ integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
rollup@^4.2.0:
version "4.9.6"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.9.6.tgz#4515facb0318ecca254a2ee1315e22e09efc50a0"
@@ -7142,6 +7439,13 @@ stackback@0.0.2:
resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b"
integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==
+stacktrace-parser@^0.1.10:
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
+ integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==
+ dependencies:
+ type-fest "^0.7.1"
+
static-browser-server@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/static-browser-server/-/static-browser-server-1.0.3.tgz#9030d141b99ed92c8eec1a7546b87548fd036f5d"
@@ -7466,6 +7770,11 @@ tr46@^5.0.0:
dependencies:
punycode "^2.3.1"
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
trim-lines@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
@@ -7528,6 +7837,11 @@ type-fest@^0.20.2:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+type-fest@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
+ integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
+
type-fest@^3.12.0:
version "3.13.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706"
@@ -7912,11 +8226,21 @@ web-streams-polyfill@^3.0.3:
resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz#32e26522e05128203a7de59519be3c648004343b"
integrity sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
webidl-conversions@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
+"webpack-sources@^2.0.0 || ^3.0.0":
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
+ integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+
whatwg-encoding@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5"
@@ -7937,6 +8261,14 @@ whatwg-url@^14.0.0:
tr46 "^5.0.0"
webidl-conversions "^7.0.0"
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
which-boxed-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
@@ -7987,7 +8319,7 @@ which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.9:
gopd "^1.0.1"
has-tostringtag "^1.0.1"
-which@^2.0.1:
+which@^2.0.1, which@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==