From e90221654a6b371a95c91a44fb24f03d3d8b44fb Mon Sep 17 00:00:00 2001
From: Amaury <1293565+amaury1729@users.noreply.github.com>
Date: Sun, 10 Dec 2023 10:51:12 +0100
Subject: [PATCH] chore: Update dependencies (#469)
* React 18
* Sentry part1
* Update sentry
* use @/util
* Update packages
---
.gitignore | 3 +
next-env.d.ts | 1 +
next.config.js | 65 +-
package.json | 31 +-
sentry.client.config.js | 17 -
sentry.client.config.ts | 30 +
sentry.edge.config.ts | 16 +
sentry.properties | 4 -
sentry.server.config.js | 17 -
sentry.server.config.ts | 15 +
src/app/global-error.tsx | 19 +
src/app/layout.tsx | 16 +
src/components/ApiUsage.tsx | 8 +-
src/components/Dashboard.tsx | 6 +-
src/components/Demo.tsx | 6 +-
src/components/Footer.tsx | 7 +-
src/components/Nav.tsx | 11 +-
src/components/ProductCard/Card.tsx | 8 +-
src/components/ProductCard/FreeTrial.tsx | 22 +-
src/components/ProductCard/Sub.tsx | 70 +-
src/components/ProductCard/index.ts | 4 +-
src/components/SigninLayout.tsx | 2 +-
src/components/StripeManageButton.tsx | 8 +-
.../SubGetStarted/GetStartedLicense.tsx | 8 +-
.../SubGetStarted/GetStartedSaas.tsx | 26 +-
src/components/SubGetStarted/index.tsx | 10 +-
src/pages/_app.tsx | 2 +-
src/pages/_error.tsx | 18 +
src/pages/api/calls/webhook.ts | 22 +-
src/pages/api/sendinblue/create-contact.ts | 36 +-
.../api/stripe/create-checkout-session.ts | 32 +-
src/pages/api/stripe/create-portal-link.ts | 20 +-
src/pages/api/stripe/webhooks.ts | 102 +-
src/pages/api/v0/check_email.ts | 42 +-
src/pages/dashboard.tsx | 6 +-
src/pages/index.tsx | 8 +-
src/pages/login.tsx | 4 +-
src/pages/pricing.tsx | 10 +-
src/pages/reset_password_part_one.tsx | 4 +-
src/pages/reset_password_part_two.tsx | 8 +-
src/pages/signup.tsx | 4 +-
src/util/sentry.ts | 2 +-
src/util/useUser.tsx | 18 +-
yarn.lock | 1164 +++++------------
44 files changed, 797 insertions(+), 1135 deletions(-)
delete mode 100644 sentry.client.config.js
create mode 100644 sentry.client.config.ts
create mode 100644 sentry.edge.config.ts
delete mode 100644 sentry.properties
delete mode 100644 sentry.server.config.js
create mode 100644 sentry.server.config.ts
create mode 100644 src/app/global-error.tsx
create mode 100644 src/app/layout.tsx
create mode 100644 src/pages/_error.tsx
diff --git a/.gitignore b/.gitignore
index 23eab37d..1d0b5cf4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,3 +42,6 @@ reacher_backends.json
# Supabase
**/supabase/.branches
**/supabase/.temp
+
+# Sentry Config File
+.sentryclirc
diff --git a/next-env.d.ts b/next-env.d.ts
index 4f11a03d..fd36f949 100644
--- a/next-env.d.ts
+++ b/next-env.d.ts
@@ -1,5 +1,6 @@
///
///
+///
// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/next.config.js b/next.config.js
index 118f72ac..25811efc 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,36 +1,55 @@
-// This file sets a custom webpack configuration to use your Next.js app
-// with Sentry.
-// https://nextjs.org/docs/api-reference/next.config.js/introduction
-// https://docs.sentry.io/platforms/javascript/guides/nextjs/
-
-const { withSentryConfig } = require('@sentry/nextjs');
-
-const moduleExports = {
+const apiConfig = {
async rewrites() {
return [
{
// Rewrite `api.reacher.email/v0/check_email` to
// `reacher.email/api/v0/check_email` to be handled by the
// Next.js API handlers.
- source: '/v0/check_email',
- destination: '/api/v0/check_email',
+ source: "/v0/check_email",
+ destination: "/api/v0/check_email",
},
];
},
};
-const SentryWebpackPluginOptions = {
- // Additional config options for the Sentry Webpack plugin. Keep in mind that
- // the following options are set automatically, and overriding them is not
- // recommended:
- // release, url, org, project, authToken, configFile, stripPrefix,
- // urlPrefix, include, ignore
+// Injected content via Sentry wizard below
- silent: true, // Suppresses all logs
- // For all available options, see:
- // https://github.com/getsentry/sentry-webpack-plugin#options.
-};
+const { withSentryConfig } = require("@sentry/nextjs");
+
+module.exports = withSentryConfig(
+ apiConfig,
+ {
+ // For all available options, see:
+ // https://github.com/getsentry/sentry-webpack-plugin#options
+
+ // Suppresses source map uploading logs during build
+ silent: true,
+ org: "reacherhq",
+ project: "webapp",
+ },
+ {
+ // 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,
+
+ // Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers (increases server load)
+ tunnelRoute: "/monitoring",
+
+ // Hides source maps from generated client bundles
+ hideSourceMaps: true,
+
+ // Automatically tree-shake Sentry logger statements to reduce bundle size
+ disableLogger: true,
-// Make sure adding Sentry options is the last code to run before exporting, to
-// ensure that your source maps include changes from all other Webpack plugins
-module.exports = withSentryConfig(moduleExports, SentryWebpackPluginOptions);
+ // 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 a24ac168..65b3329d 100644
--- a/package.json
+++ b/package.json
@@ -16,34 +16,33 @@
"dependencies": {
"@geist-ui/react": "^2.1.5",
"@geist-ui/react-icons": "^1.0.1",
- "@hcaptcha/react-hcaptcha": "^1.4.4",
+ "@hcaptcha/react-hcaptcha": "^1.9.2",
"@reacherhq/api": "^0.3.10",
"@sendinblue/client": "^3.3.1",
- "@sentry/nextjs": "^7.45.0",
+ "@sentry/nextjs": "^7.86.0",
"@stripe/stripe-js": "^1.52.0",
"@supabase/supabase-js": "^1.35.7",
- "@types/cors": "^2.8.13",
- "@types/mailgun-js": "^0.22.13",
- "@types/markdown-pdf": "^9.0.2",
- "@types/mustache": "^4.2.2",
- "@types/react": "^17.0.43",
- "@types/react-dom": "^18.0.11",
- "@types/request-ip": "^0.0.37",
- "@types/uuid": "^9.0.1",
- "axios": "^1.3.4",
+ "@types/cors": "^2.8.17",
+ "@types/mailgun-js": "^0.22.18",
+ "@types/markdown-pdf": "^9.0.5",
+ "@types/mustache": "^4.2.5",
+ "@types/react": "18.2.19",
+ "@types/react-dom": "^18.2.17",
+ "@types/request-ip": "^0.0.41",
+ "@types/uuid": "^9.0.7",
+ "axios": "^1.6.2",
"cors": "^2.8.5",
- "date-fns": "^2.29.3",
+ "date-fns": "^2.30.0",
"mailgun-js": "^0.22.0",
"markdown-pdf": "^11.0.0",
"mustache": "^4.2.0",
- "next": "^12.2.5",
+ "next": "13",
"rate-limiter-flexible": "^2.4.1",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"stripe": "^9.13.0"
},
"devDependencies": {
- "@amaurym/config": "^1.3.6",
"eslint-config-next": "^13.2.4",
"supabase": "^1.115.5",
"typescript": "^5.0.2",
diff --git a/sentry.client.config.js b/sentry.client.config.js
deleted file mode 100644
index 147d4d2a..00000000
--- a/sentry.client.config.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// This file configures the initialization of Sentry on the browser.
-// The config you add here will be used whenever a page is visited.
-// https://docs.sentry.io/platforms/javascript/guides/nextjs/
-
-import * as Sentry from '@sentry/nextjs';
-
-const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN;
-
-Sentry.init({
- dsn: SENTRY_DSN,
- // Adjust this value in production, or use tracesSampler for greater control
- tracesSampleRate: 1.0,
- // ...
- // Note: if you want to override the automatic release value, do not set a
- // `release` value here - use the environment variable `SENTRY_RELEASE`, so
- // that it will also get attached to your source maps
-});
diff --git a/sentry.client.config.ts b/sentry.client.config.ts
new file mode 100644
index 00000000..fb395c1e
--- /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: process.env.NEXT_PUBLIC_SENTRY_DSN,
+
+ // 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: [
+ new Sentry.Replay({
+ // 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..7f15b544
--- /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: process.env.NEXT_PUBLIC_SENTRY_DSN,
+
+ // 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.properties b/sentry.properties
deleted file mode 100644
index 921d959b..00000000
--- a/sentry.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-defaults.url=https://sentry.io/
-defaults.org=reacherhq
-defaults.project=webapp
-cli.executable=./node_modules/@sentry/cli/bin/sentry-cli
diff --git a/sentry.server.config.js b/sentry.server.config.js
deleted file mode 100644
index f138ddec..00000000
--- a/sentry.server.config.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// 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';
-
-const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN;
-
-Sentry.init({
- dsn: SENTRY_DSN,
- // Adjust this value in production, or use tracesSampler for greater control
- tracesSampleRate: 1.0,
- // ...
- // Note: if you want to override the automatic release value, do not set a
- // `release` value here - use the environment variable `SENTRY_RELEASE`, so
- // that it will also get attached to your source maps
-});
diff --git a/sentry.server.config.ts b/sentry.server.config.ts
new file mode 100644
index 00000000..56499f56
--- /dev/null
+++ b/sentry.server.config.ts
@@ -0,0 +1,15 @@
+// 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: process.env.NEXT_PUBLIC_SENTRY_DSN,
+
+ // 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/src/app/global-error.tsx b/src/app/global-error.tsx
new file mode 100644
index 00000000..93779ffc
--- /dev/null
+++ b/src/app/global-error.tsx
@@ -0,0 +1,19 @@
+"use client";
+
+import * as Sentry from "@sentry/nextjs";
+import Error from "next/error";
+import { useEffect } from "react";
+
+export default function GlobalError({ error }: { error: Error }) {
+ useEffect(() => {
+ Sentry.captureException(error);
+ }, [error]);
+
+ return (
+
+
+
+
+
+ );
+}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
new file mode 100644
index 00000000..7e8e1632
--- /dev/null
+++ b/src/app/layout.tsx
@@ -0,0 +1,16 @@
+export const metadata = {
+ title: "Next.js",
+ description: "Generated by Next.js",
+};
+
+export default function RootLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/src/components/ApiUsage.tsx b/src/components/ApiUsage.tsx
index d89046e8..5f0bccca 100644
--- a/src/components/ApiUsage.tsx
+++ b/src/components/ApiUsage.tsx
@@ -3,10 +3,10 @@ import { Loader } from "@geist-ui/react-icons";
import { format, parseISO } from "date-fns";
import React, { useEffect, useState } from "react";
-import { sentryException } from "../util/sentry";
-import { subApiMaxCalls } from "../util/subs";
-import { getApiUsageClient } from "../util/supabaseClient";
-import { useUser } from "../util/useUser";
+import { sentryException } from "@/util/sentry";
+import { subApiMaxCalls } from "@/util/subs";
+import { getApiUsageClient } from "@/util/supabaseClient";
+import { useUser } from "@/util/useUser";
import styles from "./ApiUsage.module.css";
import { Demo } from "./Demo";
diff --git a/src/components/Dashboard.tsx b/src/components/Dashboard.tsx
index 08b10546..54431a40 100644
--- a/src/components/Dashboard.tsx
+++ b/src/components/Dashboard.tsx
@@ -7,9 +7,9 @@ import {
COMMERCIAL_LICENSE_PRODUCT_ID,
productName,
SAAS_10K_PRODUCT_ID,
-} from "../util/subs";
-import { SupabaseProductWithPrice } from "../util/supabaseClient";
-import { useUser } from "../util/useUser";
+} from "@/util/subs";
+import { SupabaseProductWithPrice } from "@/util/supabaseClient";
+import { useUser } from "@/util/useUser";
import { ApiUsage } from "./ApiUsage";
import styles from "./Dashboard.module.css";
diff --git a/src/components/Demo.tsx b/src/components/Demo.tsx
index c0e78be0..b2f80b96 100644
--- a/src/components/Demo.tsx
+++ b/src/components/Demo.tsx
@@ -2,9 +2,9 @@ import { Button, Card, Code, Input, Spacer, Text } from "@geist-ui/react";
import { CheckEmailOutput } from "@reacherhq/api/lib";
import React, { useState } from "react";
-import { postData } from "../util/helpers";
-import { sentryException } from "../util/sentry";
-import { useUser } from "../util/useUser";
+import { postData } from "@/util/helpers";
+import { sentryException } from "@/util/sentry";
+import { useUser } from "@/util/useUser";
function alertError(e: string) {
alert(
diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx
index 55446733..cb641c15 100644
--- a/src/components/Footer.tsx
+++ b/src/components/Footer.tsx
@@ -14,7 +14,12 @@ export function Footer(): React.ReactElement {
-
+
Made by Amaury, an indie
diff --git a/src/components/Nav.tsx b/src/components/Nav.tsx
index a611cb2c..369e81d8 100644
--- a/src/components/Nav.tsx
+++ b/src/components/Nav.tsx
@@ -6,8 +6,8 @@ import { useRouter } from "next/router";
import React from "react";
import logo from "../assets/logo/reacher.svg";
-import { sentryException } from "../util/sentry";
-import { useUser } from "../util/useUser";
+import { sentryException } from "@/util/sentry";
+import { useUser } from "@/util/useUser";
import styles from "./Nav.module.css";
export function Nav(): React.ReactElement {
@@ -21,7 +21,12 @@ export function Nav(): React.ReactElement {
className="flex"
href={user ? "/dashboard" : "https://reacher.email"}
>
-
+
Reacher
{user && (
diff --git a/src/components/ProductCard/Card.tsx b/src/components/ProductCard/Card.tsx
index 173138e4..1a3ebf69 100644
--- a/src/components/ProductCard/Card.tsx
+++ b/src/components/ProductCard/Card.tsx
@@ -1,8 +1,8 @@
-import { Card as GCard, Divider, Spacer, Text } from '@geist-ui/react';
-import { Check } from '@geist-ui/react-icons';
-import React from 'react';
+import { Card as GCard, Divider, Spacer, Text } from "@geist-ui/react";
+import { Check } from "@geist-ui/react-icons";
+import React from "react";
-import styles from './Card.module.css';
+import styles from "./Card.module.css";
export interface CardProps extends React.HTMLProps {
body?: string | React.ReactChild;
diff --git a/src/components/ProductCard/FreeTrial.tsx b/src/components/ProductCard/FreeTrial.tsx
index 67503cd3..52bf7365 100644
--- a/src/components/ProductCard/FreeTrial.tsx
+++ b/src/components/ProductCard/FreeTrial.tsx
@@ -1,8 +1,8 @@
-import { Button } from '@geist-ui/react';
-import React from 'react';
+import { Button } from "@geist-ui/react";
+import React from "react";
-import { productName } from '../../util/subs';
-import { Card } from './Card';
+import { productName } from "@/util/subs";
+import { Card } from "./Card";
export interface FreeTrialProps {
active: boolean;
@@ -13,8 +13,8 @@ export function FreeTrial({
active,
currency,
}: FreeTrialProps): React.ReactElement {
- const priceString = new Intl.NumberFormat('en-US', {
- style: 'currency',
+ const priceString = new Intl.NumberFormat("en-US", {
+ style: "currency",
currency,
minimumFractionDigits: 0,
}).format(0);
@@ -23,11 +23,11 @@ export function FreeTrial({
- {active ? 'Current Plan' : 'Not available'}
+ {active ? "Current Plan" : "Not available"}
}
features={[
- '50 email verifications per month.',
+ "50 email verifications per month.",
Full-featured
- {' '}
+ {" "}
email verifications.
,
- Support via{' '}
+ Support via{" "}
.
,
- 'No credit card required.',
+ "No credit card required.",
]}
header="Free Forever"
subtitle={
diff --git a/src/components/ProductCard/Sub.tsx b/src/components/ProductCard/Sub.tsx
index 1b9955dd..09ac7843 100644
--- a/src/components/ProductCard/Sub.tsx
+++ b/src/components/ProductCard/Sub.tsx
@@ -1,20 +1,20 @@
-import { Button, Text } from '@geist-ui/react';
-import { Info } from '@geist-ui/react-icons';
-import { useRouter } from 'next/router';
-import React, { useState } from 'react';
+import { Button, Text } from "@geist-ui/react";
+import { Info } from "@geist-ui/react-icons";
+import { useRouter } from "next/router";
+import React, { useState } from "react";
-import { postData } from '../../util/helpers';
-import { sentryException } from '../../util/sentry';
-import { getStripe } from '../../util/stripeClient';
-import { COMMERCIAL_LICENSE_PRODUCT_ID } from '../../util/subs';
+import { postData } from "@/util/helpers";
+import { sentryException } from "@/util/sentry";
+import { getStripe } from "@/util/stripeClient";
+import { COMMERCIAL_LICENSE_PRODUCT_ID } from "@/util/subs";
import type {
SupabasePrice,
SupabaseProductWithPrice,
SupabaseSubscription,
-} from '../../util/supabaseClient';
-import { useUser } from '../../util/useUser';
-import { Card } from './Card';
-import styles from './Card.module.css';
+} from "@/util/supabaseClient";
+import { useUser } from "@/util/useUser";
+import { Card } from "./Card";
+import styles from "./Card.module.css";
export interface ProductCardProps {
currency: string;
@@ -41,21 +41,21 @@ export function ProductCard({
setPriceIdLoading(price.id);
if (!session) {
- router.push('/signup').catch(sentryException);
+ router.push("/signup").catch(sentryException);
return;
}
try {
const { sessionId } = await postData<{ sessionId: string }>({
- url: '/api/stripe/create-checkout-session',
+ url: "/api/stripe/create-checkout-session",
data: { price },
token: session.access_token,
});
const stripe = await getStripe();
if (!stripe) {
- throw new Error('Empty stripe object at checkout');
+ throw new Error("Empty stripe object at checkout");
}
await stripe.redirectToCheckout({ sessionId });
@@ -67,8 +67,8 @@ export function ProductCard({
}
};
- const priceString = new Intl.NumberFormat('en-US', {
- style: 'currency',
+ const priceString = new Intl.NumberFormat("en-US", {
+ style: "currency",
currency: price.currency,
minimumFractionDigits: 0,
}).format(price.unit_amount / 100);
@@ -84,8 +84,8 @@ export function ProductCard({
window.sa_event(
`pricing:${
product.id === COMMERCIAL_LICENSE_PRODUCT_ID
- ? 'commercial'
- : 'saas'
+ ? "commercial"
+ : "saas"
}`
);
handleCheckout(price).catch(sentryException);
@@ -94,13 +94,13 @@ export function ProductCard({
>
{priceIdLoading
? session
- ? 'Redirecting to Stripe...'
- : 'Redirecting to sign up page...'
+ ? "Redirecting to Stripe..."
+ : "Redirecting to sign up page..."
: active
- ? 'Current Plan'
+ ? "Current Plan"
: user
- ? 'Upgrade Plan'
- : 'Get Started'}
+ ? "Upgrade Plan"
+ : "Get Started"}
}
features={
@@ -116,7 +116,7 @@ export function ProductCard({
Want a free trial before
- committing? Feel free to try self-hosting with the{' '}
+ committing? Feel free to try self-hosting with the{" "}
Full-featured
- {' '}
+ {" "}
email verifications.
,
- 'Customer support via email/chat.',
- 'Cancel anytime.',
+ "Customer support via email/chat.",
+ "Cancel anytime.",
];
}
@@ -184,7 +184,7 @@ function licenseFeatures(): (string | React.ReactElement)[] {
Unlimited email verifications per month.
,
- 💪 Bulk email verification.{' '}
+ 💪 Bulk email verification.{" "}
Full-featured
- {' '}
+ {" "}
email verifications.
,
- 'Customer support via email/chat.',
+ "Customer support via email/chat.",
- Comes with{' '}
+ Comes with{" "}
self-host guides
- {' '}
+ {" "}
(Heroku, Docker).
,
- See{' '}
+ See{" "}
{
diff --git a/src/components/StripeManageButton.tsx b/src/components/StripeManageButton.tsx
index 0f8ff469..8e85d7e8 100644
--- a/src/components/StripeManageButton.tsx
+++ b/src/components/StripeManageButton.tsx
@@ -1,12 +1,12 @@
import { Link as GLink } from "@geist-ui/react";
import React, { useState } from "react";
-import { postData } from "../util/helpers";
-import { sentryException } from "../util/sentry";
-import { useUser } from "../util/useUser";
+import { postData } from "@/util/helpers";
+import { sentryException } from "@/util/sentry";
+import { useUser } from "@/util/useUser";
export interface StripeMananageButton {
- children: React.ReactChildren | string;
+ children: React.ReactNode | string;
}
export function StripeMananageButton({
diff --git a/src/components/SubGetStarted/GetStartedLicense.tsx b/src/components/SubGetStarted/GetStartedLicense.tsx
index d73df538..d31285d8 100644
--- a/src/components/SubGetStarted/GetStartedLicense.tsx
+++ b/src/components/SubGetStarted/GetStartedLicense.tsx
@@ -1,5 +1,5 @@
-import { Card, Text } from '@geist-ui/react';
-import React from 'react';
+import { Card, Text } from "@geist-ui/react";
+import React from "react";
export function GetStartedLicense(): React.ReactElement {
return (
@@ -7,7 +7,7 @@ export function GetStartedLicense(): React.ReactElement {
How to get started with email verifications?
- To get started with self-hosting, please refer to our{' '}
+ To get started with self-hosting, please refer to our{" "}
- If you have any questions about self-hosting, please contact ✉️{' '}
+ If you have any questions about self-hosting, please contact ✉️{" "}
amaury@reacher.email.
diff --git a/src/components/SubGetStarted/GetStartedSaas.tsx b/src/components/SubGetStarted/GetStartedSaas.tsx
index 4cd7400c..c8b46251 100644
--- a/src/components/SubGetStarted/GetStartedSaas.tsx
+++ b/src/components/SubGetStarted/GetStartedSaas.tsx
@@ -1,7 +1,7 @@
-import { Card, Snippet, Spacer, Text } from '@geist-ui/react';
-import React from 'react';
+import { Card, Snippet, Spacer, Text } from "@geist-ui/react";
+import React from "react";
-import { useUser } from '../../util/useUser';
+import { useUser } from "@/util/useUser";
export function GetStartedSaas(): React.ReactElement {
const { userDetails } = useUser();
@@ -37,7 +37,7 @@ export function GetStartedSaas(): React.ReactElement {
width="100%"
/>
- Below is your unique AUTH_TOKEN.{' '}
+ Below is your unique AUTH_TOKEN.{" "}
Don't share it with anyone else!
- The most important field to check is{' '}
- is_reachable
, and you can also understand{' '}
+ The most important field to check is{" "}
+ is_reachable
, and you can also understand{" "}
all the other fields
- {' '}
- or read the{' '}
+ {" "}
+ or read the{" "}
Help! I still don't understand what to do. 😱
- Don't worry, I have prepared a{' '}
+ Don't worry, I have prepared a{" "}
beginner's guide
- {' '}
+ {" "}
for using the API, with a program called Postman. If you still
have questions, just use the chat widget on the bottom right
- corner to send me a message, or shoot me an email at{' '}
+ corner to send me a message, or shoot me an email at{" "}
amaury@reacher.email.
diff --git a/src/components/SubGetStarted/index.tsx b/src/components/SubGetStarted/index.tsx
index 560d44c7..5266dec2 100644
--- a/src/components/SubGetStarted/index.tsx
+++ b/src/components/SubGetStarted/index.tsx
@@ -1,9 +1,9 @@
-import React from 'react';
+import React from "react";
-import { COMMERCIAL_LICENSE_PRODUCT_ID } from '../../util/subs';
-import { SupabaseSubscription } from '../../util/supabaseClient';
-import { GetStartedLicense } from './GetStartedLicense';
-import { GetStartedSaas } from './GetStartedSaas';
+import { COMMERCIAL_LICENSE_PRODUCT_ID } from "@/util/subs";
+import { SupabaseSubscription } from "@/util/supabaseClient";
+import { GetStartedLicense } from "./GetStartedLicense";
+import { GetStartedSaas } from "./GetStartedSaas";
interface SubGetStartedProps {
subscription: SupabaseSubscription | null; // null means Free Trial
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index a0078ad1..3d1e1b20 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -6,7 +6,7 @@ import dynamic from "next/dynamic";
import React from "react";
import { Layout } from "../components";
-import { UserContextProvider } from "../util/useUser";
+import { UserContextProvider } from "@/util/useUser";
const myTheme = Themes.createFromLight({
type: "default",
diff --git a/src/pages/_error.tsx b/src/pages/_error.tsx
new file mode 100644
index 00000000..2c06a1ca
--- /dev/null
+++ b/src/pages/_error.tsx
@@ -0,0 +1,18 @@
+import * as Sentry from "@sentry/nextjs";
+import { NextPageContext } from "next";
+import Error from "next/error";
+
+const CustomErrorComponent = (props: { statusCode: number }) => {
+ return ;
+};
+
+CustomErrorComponent.getInitialProps = async (contextData: NextPageContext) => {
+ // 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/calls/webhook.ts b/src/pages/api/calls/webhook.ts
index a0927b68..b68b2c53 100644
--- a/src/pages/api/calls/webhook.ts
+++ b/src/pages/api/calls/webhook.ts
@@ -1,8 +1,8 @@
-import { CheckEmailOutput } from '@reacherhq/api';
-import { NextApiRequest, NextApiResponse } from 'next';
+import { CheckEmailOutput } from "@reacherhq/api";
+import { NextApiRequest, NextApiResponse } from "next";
-import { SupabaseCall } from '../../../util/supabaseClient';
-import { supabaseAdmin } from '../../../util/supabaseServer';
+import { SupabaseCall } from "@/util/supabaseClient";
+import { supabaseAdmin } from "@/util/supabaseServer";
export interface WebhookExtra {
userId: string;
@@ -19,24 +19,24 @@ const POST = async (
req: NextApiRequest,
res: NextApiResponse
): Promise => {
- if (req.method !== 'POST') {
- res.setHeader('Allow', 'POST');
- res.status(405).json({ error: 'Method Not Allowed' });
+ if (req.method !== "POST") {
+ res.setHeader("Allow", "POST");
+ res.status(405).json({ error: "Method Not Allowed" });
return;
}
if (
- req.headers['x-orchestrator-secret'] !==
+ req.headers["x-orchestrator-secret"] !==
process.env.RCH_ORCHESTRATOR_SECRET
) {
- res.status(403).json({ error: 'Invalid orchestrator secret' });
+ res.status(403).json({ error: "Invalid orchestrator secret" });
return;
}
const { extra, data: output } = req.body as WebhookPayload;
// Add to supabase
- const response = await supabaseAdmin.from('calls').insert({
+ const response = await supabaseAdmin.from("calls").insert({
endpoint: extra.endpoint,
user_id: extra.userId,
backend: output.debug?.server_name,
@@ -55,7 +55,7 @@ const POST = async (
return;
}
- res.status(200).json({ message: 'ok' });
+ res.status(200).json({ message: "ok" });
};
export default POST;
diff --git a/src/pages/api/sendinblue/create-contact.ts b/src/pages/api/sendinblue/create-contact.ts
index 58a009f3..7833faae 100644
--- a/src/pages/api/sendinblue/create-contact.ts
+++ b/src/pages/api/sendinblue/create-contact.ts
@@ -1,31 +1,31 @@
-import { CreateUpdateContactModel } from '@sendinblue/client';
-import type { User } from '@supabase/supabase-js';
-import { NextApiRequest, NextApiResponse } from 'next';
+import { CreateUpdateContactModel } from "@sendinblue/client";
+import type { User } from "@supabase/supabase-js";
+import { NextApiRequest, NextApiResponse } from "next";
-import { sendinblueApi } from '../../../util/sendinblue';
-import { sentryException } from '../../../util/sentry';
-import type { SupabaseUser } from '../../../util/supabaseClient';
-import { getUser, supabaseAdmin } from '../../../util/supabaseServer';
+import { sendinblueApi } from "@/util/sendinblue";
+import { sentryException } from "@/util/sentry";
+import type { SupabaseUser } from "@/util/supabaseClient";
+import { getUser, supabaseAdmin } from "@/util/supabaseServer";
const createContact = async (
req: NextApiRequest,
res: NextApiResponse
): Promise => {
try {
- if (req.method !== 'POST') {
- res.setHeader('Allow', 'POST');
- res.status(405).json({ error: 'Method Not Allowed' });
+ if (req.method !== "POST") {
+ res.setHeader("Allow", "POST");
+ res.status(405).json({ error: "Method Not Allowed" });
return;
}
const token = req.headers.authorization || req.headers.Authorization;
- if (typeof token !== 'string') {
- throw new Error('Expected API token in the Authorization header.');
+ if (typeof token !== "string") {
+ throw new Error("Expected API token in the Authorization header.");
}
const user = await getUser(token);
if (!user) {
- res.status(401).json({ error: 'User not found' });
+ res.status(401).json({ error: "User not found" });
return;
}
@@ -33,9 +33,9 @@ const createContact = async (
email: user.email,
attributes: {
WEBAPP_ENV:
- process.env.VERCEL_ENV === 'production'
- ? 'production'
- : 'staging',
+ process.env.VERCEL_ENV === "production"
+ ? "production"
+ : "staging",
SUPABASE_UUID: user.id,
},
listIds: [7], // List #7 is the Reacher sign up contact list.
@@ -73,9 +73,9 @@ async function updateUserSendinblueContactId(
}
await supabaseAdmin
- .from('users')
+ .from("users")
.update({
sendinblue_contact_id: body.id.toString(),
})
- .eq('id', user.id);
+ .eq("id", user.id);
}
diff --git a/src/pages/api/stripe/create-checkout-session.ts b/src/pages/api/stripe/create-checkout-session.ts
index 19c70126..9b009f71 100644
--- a/src/pages/api/stripe/create-checkout-session.ts
+++ b/src/pages/api/stripe/create-checkout-session.ts
@@ -1,19 +1,19 @@
-import { NextApiRequest, NextApiResponse } from 'next';
+import { NextApiRequest, NextApiResponse } from "next";
-import { getWebappURL } from '../../../util/helpers';
-import { sentryException } from '../../../util/sentry';
-import { stripe } from '../../../util/stripeServer';
-import { SupabasePrice } from '../../../util/supabaseClient';
-import { getActiveSubscription, getUser } from '../../../util/supabaseServer';
-import { createOrRetrieveCustomer } from '../../../util/useDatabase';
+import { getWebappURL } from "@/util/helpers";
+import { sentryException } from "@/util/sentry";
+import { stripe } from "@/util/stripeServer";
+import { SupabasePrice } from "@/util/supabaseClient";
+import { getActiveSubscription, getUser } from "@/util/supabaseServer";
+import { createOrRetrieveCustomer } from "@/util/useDatabase";
const createCheckoutSession = async (
req: NextApiRequest,
res: NextApiResponse
): Promise => {
- if (req.method !== 'POST') {
- res.setHeader('Allow', 'POST');
- res.status(405).json({ error: 'Method Not Allowed' });
+ if (req.method !== "POST") {
+ res.setHeader("Allow", "POST");
+ res.status(405).json({ error: "Method Not Allowed" });
return;
}
@@ -29,7 +29,7 @@ const createCheckoutSession = async (
metadata: Record;
};
- if (typeof token !== 'string') {
+ if (typeof token !== "string") {
throw new Error(`Expected token as string, got ${typeof token}.`);
}
const user = await getUser(token);
@@ -43,20 +43,20 @@ const createCheckoutSession = async (
`You can only have one active subscription at a time. Please cancel your existing subscription${
subscription.prices?.products?.name
? ` "${subscription.prices?.products?.name}"`
- : ''
+ : ""
}.`
);
}
if (!process.env.NEXT_PUBLIC_FRANCE_TAX_RATE_ID) {
throw new Error(
- 'Env variable NEXT_PUBLIC_FRANCE_TAX_RATE_ID needs to be set.'
+ "Env variable NEXT_PUBLIC_FRANCE_TAX_RATE_ID needs to be set."
);
}
const session = await stripe.checkout.sessions.create({
- payment_method_types: ['card'],
- billing_address_collection: 'required',
+ payment_method_types: ["card"],
+ billing_address_collection: "required",
customer,
line_items: [
{
@@ -67,7 +67,7 @@ const createCheckoutSession = async (
quantity,
},
],
- mode: 'subscription',
+ mode: "subscription",
allow_promotion_codes: true,
subscription_data: {
trial_from_plan: true,
diff --git a/src/pages/api/stripe/create-portal-link.ts b/src/pages/api/stripe/create-portal-link.ts
index eeda0e76..a3872720 100644
--- a/src/pages/api/stripe/create-portal-link.ts
+++ b/src/pages/api/stripe/create-portal-link.ts
@@ -1,25 +1,25 @@
-import { NextApiRequest, NextApiResponse } from 'next';
+import { NextApiRequest, NextApiResponse } from "next";
-import { getWebappURL } from '../../../util/helpers';
-import { sentryException } from '../../../util/sentry';
-import { stripe } from '../../../util/stripeServer';
-import { getUser } from '../../../util/supabaseServer';
-import { createOrRetrieveCustomer } from '../../../util/useDatabase';
+import { getWebappURL } from "@/util/helpers";
+import { sentryException } from "@/util/sentry";
+import { stripe } from "@/util/stripeServer";
+import { getUser } from "@/util/supabaseServer";
+import { createOrRetrieveCustomer } from "@/util/useDatabase";
const createPortalLink = async (
req: NextApiRequest,
res: NextApiResponse
): Promise => {
- if (req.method !== 'POST') {
- res.setHeader('Allow', 'POST');
- res.status(405).json({ error: 'Method Not Allowed' });
+ if (req.method !== "POST") {
+ res.setHeader("Allow", "POST");
+ res.status(405).json({ error: "Method Not Allowed" });
return;
}
try {
const token = req.headers.token;
- if (typeof token !== 'string') {
+ if (typeof token !== "string") {
throw new Error(`Expected token as string, got ${typeof token}.`);
}
const user = await getUser(token);
diff --git a/src/pages/api/stripe/webhooks.ts b/src/pages/api/stripe/webhooks.ts
index 6b76be6f..09dfa39a 100644
--- a/src/pages/api/stripe/webhooks.ts
+++ b/src/pages/api/stripe/webhooks.ts
@@ -1,19 +1,19 @@
-import { addMonths, format } from 'date-fns';
-import mailgun from 'mailgun-js';
+import { addMonths, format } from "date-fns";
+import mailgun from "mailgun-js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
-import Attachment from 'mailgun-js/lib/attachment';
-import { NextApiRequest, NextApiResponse } from 'next';
-import Stripe from 'stripe';
+import Attachment from "mailgun-js/lib/attachment";
+import { NextApiRequest, NextApiResponse } from "next";
+import Stripe from "stripe";
-import { generateLicense } from '../../../util/license';
-import { sentryException } from '../../../util/sentry';
-import { stripe } from '../../../util/stripeServer';
+import { generateLicense } from "@/util/license";
+import { sentryException } from "@/util/sentry";
+import { stripe } from "@/util/stripeServer";
import {
manageSubscriptionStatusChange,
upsertPriceRecord,
upsertProductRecord,
-} from '../../../util/useDatabase';
+} from "@/util/useDatabase";
// Stripe requires the raw body to construct the event.
export const config = {
@@ -25,30 +25,30 @@ export const config = {
async function buffer(readable: NextApiRequest) {
const chunks = [];
for await (const chunk of readable) {
- chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
+ chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
}
return Buffer.concat(chunks);
}
const relevantEvents = new Set([
- 'product.created',
- 'product.updated',
- 'price.created',
- 'price.updated',
- 'checkout.session.completed',
- 'customer.subscription.created',
- 'customer.subscription.updated',
- 'customer.subscription.deleted',
- 'invoice.payment_succeeded',
+ "product.created",
+ "product.updated",
+ "price.created",
+ "price.updated",
+ "checkout.session.completed",
+ "customer.subscription.created",
+ "customer.subscription.updated",
+ "customer.subscription.deleted",
+ "invoice.payment_succeeded",
]);
const webhookHandler = async (
req: NextApiRequest,
res: NextApiResponse
): Promise => {
- if (req.method === 'POST') {
+ if (req.method === "POST") {
const buf = await buffer(req);
- const sig = req.headers['stripe-signature'] as string;
+ const sig = req.headers["stripe-signature"] as string;
const webhookSecret = process.env.STRIPE_WEBHOOK_SECRET_LIVE as string;
let event;
@@ -64,46 +64,46 @@ const webhookHandler = async (
if (relevantEvents.has(event.type)) {
try {
switch (event.type) {
- case 'product.created':
- case 'product.updated': {
+ case "product.created":
+ case "product.updated": {
await upsertProductRecord(
event.data.object as Stripe.Product
);
break;
}
- case 'price.created':
- case 'price.updated': {
+ case "price.created":
+ case "price.updated": {
await upsertPriceRecord(
event.data.object as Stripe.Price
);
break;
}
- case 'customer.subscription.created':
- case 'customer.subscription.updated':
- case 'customer.subscription.deleted': {
+ case "customer.subscription.created":
+ case "customer.subscription.updated":
+ case "customer.subscription.deleted": {
const sub = event.data.object as Stripe.Subscription;
await manageSubscriptionStatusChange(
sub.id,
sub.customer as string,
- event.type === 'customer.subscription.created'
+ event.type === "customer.subscription.created"
);
break;
}
- case 'checkout.session.completed': {
+ case "checkout.session.completed": {
const checkoutSession = event.data
.object as Stripe.Checkout.Session;
- if (checkoutSession.mode === 'subscription') {
+ if (checkoutSession.mode === "subscription") {
const subscriptionId = checkoutSession.subscription;
- if (typeof subscriptionId !== 'string') {
+ if (typeof subscriptionId !== "string") {
throw new Error(
`Got invalid subscriptionId in webhookHandler.`
);
}
- if (typeof checkoutSession.customer !== 'string') {
+ if (typeof checkoutSession.customer !== "string") {
throw new Error(
`Got invalid checkoutSession.customer in webhookHandler.`
);
@@ -118,12 +118,12 @@ const webhookHandler = async (
break;
}
- case 'invoice.payment_succeeded': {
+ case "invoice.payment_succeeded": {
const invoice = event.data.object as Stripe.Invoice;
if (!invoice.customer_email) {
res.status(400).json({
- error: 'Got empty customer_email in invoice.',
+ error: "Got empty customer_email in invoice.",
});
return;
}
@@ -139,7 +139,7 @@ const webhookHandler = async (
if (!invoice.customer_name) {
throw new Error(
- 'customer_name is empty in invoice'
+ "customer_name is empty in invoice"
);
}
@@ -147,8 +147,8 @@ const webhookHandler = async (
const stripeBuyDate = new Date(invoice.created * 1000);
const licenseEndDate = addMonths(stripeBuyDate, 1);
const pdf = await generateLicense({
- backend_version: '<=0.3.x',
- ciee_version: '<=0.8.x',
+ backend_version: "<=0.3.x",
+ ciee_version: "<=0.8.x",
license_end_date: licenseEndDate,
number_devs: 8,
stripe_buy_date: stripeBuyDate,
@@ -161,18 +161,18 @@ const webhookHandler = async (
// Send the email with the attached PDF.
const data = {
- from: 'Amaury ',
- to: 'amaury@reacher.email',
+ from: "Amaury ",
+ to: "amaury@reacher.email",
subject: `Reacher Commercial License: ${format(
stripeBuyDate,
- 'dd/MM/yyyy'
- )} to ${format(licenseEndDate, 'dd/MM/yyyy')}`,
+ "dd/MM/yyyy"
+ )} to ${format(licenseEndDate, "dd/MM/yyyy")}`,
text: `Hello ${invoice.customer_name},
Thank you for using Reacher. You will find attached the Commercial License for the period of ${format(
stripeBuyDate,
- 'dd/MM/yyyy'
- )} to ${format(licenseEndDate, 'dd/MM/yyyy')}.
+ "dd/MM/yyyy"
+ )} to ${format(licenseEndDate, "dd/MM/yyyy")}.
A self-host guide can be found at https://help.reacher.email/self-host-guide, let me know if you need help.
@@ -181,7 +181,7 @@ Amaury`,
// eslint-disable-next-line
attachment: new Attachment({
...pdf,
- contentType: 'application/pdf',
+ contentType: "application/pdf",
}),
};
@@ -190,7 +190,7 @@ Amaury`,
domain: process.env.MAILGUN_DOMAIN as string,
// We need to set Host for EU zones.
// https://stackoverflow.com/questions/63489555/mailgun-401-forbidden
- host: 'api.eu.mailgun.net',
+ host: "api.eu.mailgun.net",
});
await mg.messages().send(data);
@@ -199,20 +199,20 @@ Amaury`,
}
default:
- throw new Error('Unhandled relevant event!');
+ throw new Error("Unhandled relevant event!");
}
} catch (err) {
sentryException(err as Error);
return res.json({
- error: 'Webhook handler failed. View logs.',
+ error: "Webhook handler failed. View logs.",
});
}
}
res.json({ received: true });
} else {
- res.setHeader('Allow', 'POST');
- res.status(405).json({ error: 'Method Not Allowed' });
+ res.setHeader("Allow", "POST");
+ res.status(405).json({ error: "Method Not Allowed" });
}
};
@@ -239,7 +239,7 @@ function stripeAddressToString(addr: Stripe.Address | null): string {
addr.country,
]
.filter((x) => !!x)
- .join(', ');
+ .join(", ");
}
export default webhookHandler;
diff --git a/src/pages/api/v0/check_email.ts b/src/pages/api/v0/check_email.ts
index 2dc55756..b7ece5e8 100644
--- a/src/pages/api/v0/check_email.ts
+++ b/src/pages/api/v0/check_email.ts
@@ -1,16 +1,16 @@
-import type { CheckEmailInput, CheckEmailOutput } from '@reacherhq/api';
-import { PostgrestError } from '@supabase/supabase-js';
-import axios, { AxiosError } from 'axios';
-import { NextApiRequest, NextApiResponse } from 'next';
-import { v4 } from 'uuid';
+import type { CheckEmailInput, CheckEmailOutput } from "@reacherhq/api";
+import { PostgrestError } from "@supabase/supabase-js";
+import axios, { AxiosError } from "axios";
+import { NextApiRequest, NextApiResponse } from "next";
+import { v4 } from "uuid";
-import { checkUserInDB, cors } from '../../../util/api';
-import { convertAxiosError, getWebappURL } from '../../../util/helpers';
-import { updateSendinblue } from '../../../util/sendinblue';
-import { sentryException } from '../../../util/sentry';
-import { SupabaseCall } from '../../../util/supabaseClient';
-import { supabaseAdmin } from '../../../util/supabaseServer';
-import { WebhookExtra } from '../calls/webhook';
+import { checkUserInDB, cors } from "@/util/api";
+import { convertAxiosError, getWebappURL } from "@/util/helpers";
+import { updateSendinblue } from "@/util/sendinblue";
+import { sentryException } from "@/util/sentry";
+import { SupabaseCall } from "@/util/supabaseClient";
+import { supabaseAdmin } from "@/util/supabaseServer";
+import { WebhookExtra } from "../calls/webhook";
const ORCHESTRATOR_URL = process.env.RCH_ORCHESTRATOR_URL as string;
const TIMEOUT = 60000;
@@ -22,9 +22,9 @@ const POST = async (
// Run cors
await cors(req, res);
- if (req.method !== 'POST') {
- res.setHeader('Allow', 'POST');
- res.status(405).json({ error: 'Method Not Allowed' });
+ if (req.method !== "POST") {
+ res.setHeader("Allow", "POST");
+ res.status(405).json({ error: "Method Not Allowed" });
return;
}
@@ -44,7 +44,7 @@ const POST = async (
url: `${getWebappURL()}/api/calls/webhook`,
extra: {
userId: user.id,
- endpoint: '/v0/check_email',
+ endpoint: "/v0/check_email",
verificationId: verificationId,
} as WebhookExtra,
},
@@ -58,7 +58,7 @@ const POST = async (
// Poll the database to make sure the call was added.
let checkEmailOutput: CheckEmailOutput | undefined;
let lastError: PostgrestError | Error | null = new Error(
- 'Timeout verifying email.'
+ "Timeout verifying email."
);
const startTime = Date.now();
@@ -66,9 +66,9 @@ const POST = async (
await new Promise((resolve) => setTimeout(resolve, 500));
const response = await supabaseAdmin
- .from('calls')
- .select('*')
- .eq('verification_id', verificationId)
+ .from("calls")
+ .select("*")
+ .eq("verification_id", verificationId)
.single();
// If there's no error, it means the result has been added to the
@@ -90,7 +90,7 @@ const POST = async (
if (!checkEmailOutput) {
res.status(500).json({
- error: 'Column result was not populated.',
+ error: "Column result was not populated.",
});
return;
}
diff --git a/src/pages/dashboard.tsx b/src/pages/dashboard.tsx
index 491afd50..cdb86837 100644
--- a/src/pages/dashboard.tsx
+++ b/src/pages/dashboard.tsx
@@ -4,12 +4,12 @@ import { useRouter } from "next/router";
import React, { useEffect } from "react";
import { Dashboard, Nav } from "../components";
-import { sentryException } from "../util/sentry";
+import { sentryException } from "@/util/sentry";
import {
getActiveProductsWithPrices,
SupabaseProductWithPrice,
-} from "../util/supabaseClient";
-import { useUser } from "../util/useUser";
+} from "@/util/supabaseClient";
+import { useUser } from "@/util/useUser";
export const getStaticProps: GetStaticProps = async () => {
const products = await getActiveProductsWithPrices();
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index f12bc3dd..4779f075 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -5,10 +5,10 @@ import React, { useEffect } from "react";
import { useState } from "react";
import { Nav } from "../components";
-import { parseHashComponents, postData } from "../util/helpers";
-import { sentryException } from "../util/sentry";
-import { getActiveProductsWithPrices } from "../util/supabaseClient";
-import { useUser } from "../util/useUser";
+import { parseHashComponents, postData } from "@/util/helpers";
+import { sentryException } from "@/util/sentry";
+import { getActiveProductsWithPrices } from "@/util/supabaseClient";
+import { useUser } from "@/util/useUser";
export const getStaticProps: GetStaticProps = async () => {
const products = await getActiveProductsWithPrices();
diff --git a/src/pages/login.tsx b/src/pages/login.tsx
index 9ad1d311..2d8fd5a2 100644
--- a/src/pages/login.tsx
+++ b/src/pages/login.tsx
@@ -8,8 +8,8 @@ import {
SigninLayoutMessage,
SigninMessage,
} from "../components";
-import { sentryException } from "../util/sentry";
-import { useUser } from "../util/useUser";
+import { sentryException } from "@/util/sentry";
+import { useUser } from "@/util/useUser";
export default function Login(): React.ReactElement {
const [email, setEmail] = useState("");
diff --git a/src/pages/pricing.tsx b/src/pages/pricing.tsx
index b6d3c5db..0192bcb3 100644
--- a/src/pages/pricing.tsx
+++ b/src/pages/pricing.tsx
@@ -6,12 +6,12 @@ import { FreeTrial, Nav, ProductCard } from "../components";
import {
COMMERCIAL_LICENSE_PRODUCT_ID,
SAAS_10K_PRODUCT_ID,
-} from "../util/subs";
+} from "@/util/subs";
import {
getActiveProductsWithPrices,
SupabaseProductWithPrice,
-} from "../util/supabaseClient";
-import { useUser } from "../util/useUser";
+} from "@/util/supabaseClient";
+import { useUser } from "@/util/useUser";
export const getStaticProps: GetStaticProps = async () => {
const products = await getActiveProductsWithPrices();
@@ -63,8 +63,8 @@ export default function Pricing({
onChange={(c) => setCurrency(c as string)}
value={currency}
>
- EUR
- USD
+ EUR (€)
+ USD ($)
diff --git a/src/pages/reset_password_part_one.tsx b/src/pages/reset_password_part_one.tsx
index bc4b5e04..0c15be2d 100644
--- a/src/pages/reset_password_part_one.tsx
+++ b/src/pages/reset_password_part_one.tsx
@@ -7,8 +7,8 @@ import {
SigninLayoutMessage,
SigninMessage,
} from "../components";
-import { sentryException } from "../util/sentry";
-import { useUser } from "../util/useUser";
+import { sentryException } from "@/util/sentry";
+import { useUser } from "@/util/useUser";
export default function ResetPasswordPartOne(): React.ReactElement {
const [email, setEmail] = useState("");
diff --git a/src/pages/reset_password_part_two.tsx b/src/pages/reset_password_part_two.tsx
index 79901c65..1ed74bad 100644
--- a/src/pages/reset_password_part_two.tsx
+++ b/src/pages/reset_password_part_two.tsx
@@ -8,10 +8,10 @@ import {
SigninLayoutMessage,
SigninMessage,
} from "../components";
-import { parseHashComponents } from "../util/helpers";
-import { sentryException } from "../util/sentry";
-import { supabase } from "../util/supabaseClient";
-import { useUser } from "../util/useUser";
+import { parseHashComponents } from "@/util/helpers";
+import { sentryException } from "@/util/sentry";
+import { supabase } from "@/util/supabaseClient";
+import { useUser } from "@/util/useUser";
export default function ResetPasswordPartTwo(): React.ReactElement {
const router = useRouter();
diff --git a/src/pages/signup.tsx b/src/pages/signup.tsx
index f51783d5..95cf7ffe 100644
--- a/src/pages/signup.tsx
+++ b/src/pages/signup.tsx
@@ -9,8 +9,8 @@ import {
SigninLayoutMessage,
SigninMessage,
} from "../components";
-import { sentryException } from "../util/sentry";
-import { useUser } from "../util/useUser";
+import { sentryException } from "@/util/sentry";
+import { useUser } from "@/util/useUser";
function Feedback({
onChange,
diff --git a/src/util/sentry.ts b/src/util/sentry.ts
index f41bacde..9b8ed919 100644
--- a/src/util/sentry.ts
+++ b/src/util/sentry.ts
@@ -1,4 +1,4 @@
-import { captureException } from "@sentry/browser";
+import { captureException } from "@sentry/nextjs";
/**
* Capture an error, and send it to Sentry.
diff --git a/src/util/useUser.tsx b/src/util/useUser.tsx
index cd9c4508..d19e20de 100644
--- a/src/util/useUser.tsx
+++ b/src/util/useUser.tsx
@@ -5,15 +5,9 @@ import type {
User,
UserCredentials,
} from "@supabase/gotrue-js";
-import React, {
- createContext,
- FunctionComponent,
- useContext,
- useEffect,
- useState,
-} from "react";
+import React, { createContext, useContext, useEffect, useState } from "react";
-import { getWebappURL } from "../util/helpers";
+import { getWebappURL } from "./helpers";
import { sentryException } from "./sentry";
import { supabase, SupabaseSubscription, SupabaseUser } from "./supabaseClient";
@@ -56,8 +50,12 @@ interface UserContext {
export const UserContext = createContext({} as UserContext);
-export const UserContextProvider: FunctionComponent = (
- props
+interface UserContextProviderProps {
+ children: React.ReactNode;
+}
+
+export const UserContextProvider = (
+ props: UserContextProviderProps
): React.ReactElement => {
const [userLoaded, setUserLoaded] = useState(false);
const [userFinishedLoading, setUserFinishedLoading] = useState(false);
diff --git a/yarn.lock b/yarn.lock
index 61fc17f1..8252204f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,34 +2,6 @@
# yarn lockfile v1
-"@amaurym/config@^1.3.6":
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/@amaurym/config/-/config-1.3.6.tgz#81d78ead4817f848f31ada8748d2b683cb8fc4e1"
- integrity sha512-8Fua0WEe78op4lqWdvW6U92EWRwPEWPP1Kmt9LtWIH+EjXVsncRUAQL5+8BdnICxXftDklkcrDzd94BIT0Z6cQ==
- dependencies:
- "@amaurym/eslintrc" "^1.3.6"
- "@amaurym/tsconfig" "^1.3.5"
-
-"@amaurym/eslintrc@^1.3.6":
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/@amaurym/eslintrc/-/eslintrc-1.3.6.tgz#88d1420aed45daaaaf6e5e32bad7203522a8ebc2"
- integrity sha512-vM6MEl9NpCsQK32hiPq6kyQyXlUf+74KV2F6G8TBL3fj3fZfdIc+IqUFTVrv4c0AP6AKwxQNCM71P3mnZunabA==
- dependencies:
- "@typescript-eslint/eslint-plugin" "^5.14.0"
- "@typescript-eslint/parser" "^5.14.0"
- eslint "^8.10.0"
- eslint-config-prettier "^8.5.0"
- eslint-plugin-prettier "^4.0.0"
- eslint-plugin-react "^7.29.3"
- eslint-plugin-react-hooks "^4.3.0"
- eslint-plugin-simple-import-sort "^7.0.0"
- prettier "^2.5.1"
-
-"@amaurym/tsconfig@^1.3.5":
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/@amaurym/tsconfig/-/tsconfig-1.3.5.tgz#9c7d070902100eca97e7de1ecb2178576cf27b51"
- integrity sha512-toHa2YI/Ew3PIyMTBJqjWY/ZazcMrGODB3I9oz5SPZZGdZxyAlo2trLi63HA+NZlweJjXQQWWrGb90RruYjS6g==
-
"@ampproject/remapping@^2.2.0":
version "2.2.0"
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
@@ -959,6 +931,13 @@
dependencies:
regenerator-runtime "^0.13.11"
+"@babel/runtime@^7.21.0":
+ version "7.23.5"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.5.tgz#11edb98f8aeec529b82b211028177679144242db"
+ integrity sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
"@babel/template@^7.18.10", "@babel/template@^7.20.7":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
@@ -1369,21 +1348,6 @@
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz#563ff4277f1230a006472664fa9278a83dd124da"
integrity sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==
-"@eslint/eslintrc@^1.3.0":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f"
- integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==
- dependencies:
- ajv "^6.12.4"
- debug "^4.3.2"
- espree "^9.3.2"
- globals "^13.15.0"
- ignore "^5.2.0"
- import-fresh "^3.2.1"
- js-yaml "^4.1.0"
- minimatch "^3.1.2"
- strip-json-comments "^3.1.1"
-
"@gar/promisify@^1.0.1":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
@@ -1401,26 +1365,18 @@
dependencies:
styled-jsx "3.3.0"
-"@hcaptcha/react-hcaptcha@^1.4.4":
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/@hcaptcha/react-hcaptcha/-/react-hcaptcha-1.4.4.tgz#529c55369160995115735b5fe5453daef4670f04"
- integrity sha512-Aen217LDnf5ywbPSwBG5CsoqBLIHIAS9lhj3zQjXJuO13doQ6/ubkCWNuY8jmwYLefoFt3V3MrZmCdKDaFoTuQ==
- dependencies:
- "@babel/runtime" "^7.17.9"
+"@hcaptcha/loader@^1.0.10":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@hcaptcha/loader/-/loader-1.1.2.tgz#512d8ce528c7e7393924c3f188fa98425aa4313f"
+ integrity sha512-YEBXCGNUBpPJUd5UZg64jBU6YMOhDjGdzS6dUCI9P8uIJttuQz3P76wVmK9kdKOuvLUaB7HwVBBmNv/bkAaIEw==
-"@humanwhocodes/config-array@^0.9.2":
- version "0.9.5"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
- integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
+"@hcaptcha/react-hcaptcha@^1.9.2":
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/@hcaptcha/react-hcaptcha/-/react-hcaptcha-1.9.2.tgz#62ee76003ab290d11f7b4ae6c59f8ec06d4d9a1d"
+ integrity sha512-FKsfxi2PV0UTFp3TvW8L02z2MHZjhBVOvH1OznR4ccxjugCZa8ix4weP/wKRUaLHcKwmCfXSu35Agen41aP1mQ==
dependencies:
- "@humanwhocodes/object-schema" "^1.2.1"
- debug "^4.1.1"
- minimatch "^3.0.4"
-
-"@humanwhocodes/object-schema@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
- integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+ "@babel/runtime" "^7.17.9"
+ "@hcaptcha/loader" "^1.0.10"
"@jridgewell/gen-mapping@^0.1.0":
version "0.1.1"
@@ -1485,10 +1441,10 @@
semver "^7.3.5"
tar "^6.1.11"
-"@next/env@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.5.tgz#d908c57b35262b94db3e431e869b72ac3e1ad3e3"
- integrity sha512-vLPLV3cpPGjUPT3PjgRj7e3nio9t6USkuew3JE/jMeon/9Mvp1WyR18v3iwnCuX7eUAm1HmAbJHHLAbcu/EJcw==
+"@next/env@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/env/-/env-13.5.6.tgz#c1148e2e1aa166614f05161ee8f77ded467062bc"
+ integrity sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==
"@next/eslint-plugin-next@13.2.4":
version "13.2.4"
@@ -1497,70 +1453,50 @@
dependencies:
glob "7.1.7"
-"@next/swc-android-arm-eabi@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.5.tgz#903a5479ab4c2705d9c08d080907475f7bacf94d"
- integrity sha512-cPWClKxGhgn2dLWnspW+7psl3MoLQUcNqJqOHk2BhNcou9ARDtC0IjQkKe5qcn9qg7I7U83Gp1yh2aesZfZJMA==
-
-"@next/swc-android-arm64@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.2.5.tgz#2f9a98ec4166c7860510963b31bda1f57a77c792"
- integrity sha512-vMj0efliXmC5b7p+wfcQCX0AfU8IypjkzT64GiKJD9PgiA3IILNiGJr1fw2lyUDHkjeWx/5HMlMEpLnTsQslwg==
-
-"@next/swc-darwin-arm64@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.5.tgz#31b1c3c659d54be546120c488a1e1bad21c24a1d"
- integrity sha512-VOPWbO5EFr6snla/WcxUKtvzGVShfs302TEMOtzYyWni6f9zuOetijJvVh9CCTzInnXAZMtHyNhefijA4HMYLg==
-
-"@next/swc-darwin-x64@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.5.tgz#2e44dd82b2b7fef88238d1bc4d3bead5884cedfd"
- integrity sha512-5o8bTCgAmtYOgauO/Xd27vW52G2/m3i5PX7MUYePquxXAnX73AAtqA3WgPXBRitEB60plSKZgOTkcpqrsh546A==
-
-"@next/swc-freebsd-x64@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.5.tgz#e24e75d8c2581bfebc75e4f08f6ddbd116ce9dbd"
- integrity sha512-yYUbyup1JnznMtEBRkK4LT56N0lfK5qNTzr6/DEyDw5TbFVwnuy2hhLBzwCBkScFVjpFdfiC6SQAX3FrAZzuuw==
-
-"@next/swc-linux-arm-gnueabihf@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.5.tgz#46d8c514d834d2b5f67086013f0bd5e3081e10b9"
- integrity sha512-2ZE2/G921Acks7UopJZVMgKLdm4vN4U0yuzvAMJ6KBavPzqESA2yHJlm85TV/K9gIjKhSk5BVtauIUntFRP8cg==
-
-"@next/swc-linux-arm64-gnu@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.5.tgz#91f725ac217d3a1f4f9f53b553615ba582fd3d9f"
- integrity sha512-/I6+PWVlz2wkTdWqhlSYYJ1pWWgUVva6SgX353oqTh8njNQp1SdFQuWDqk8LnM6ulheVfSsgkDzxrDaAQZnzjQ==
-
-"@next/swc-linux-arm64-musl@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.5.tgz#e627e8c867920995810250303cd9b8e963598383"
- integrity sha512-LPQRelfX6asXyVr59p5sTpx5l+0yh2Vjp/R8Wi4X9pnqcayqT4CUJLiHqCvZuLin3IsFdisJL0rKHMoaZLRfmg==
-
-"@next/swc-linux-x64-gnu@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.5.tgz#83a5e224fbc4d119ef2e0f29d0d79c40cc43887e"
- integrity sha512-0szyAo8jMCClkjNK0hknjhmAngUppoRekW6OAezbEYwHXN/VNtsXbfzgYOqjKWxEx3OoAzrT3jLwAF0HdX2MEw==
-
-"@next/swc-linux-x64-musl@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.5.tgz#be700d48471baac1ec2e9539396625584a317e95"
- integrity sha512-zg/Y6oBar1yVnW6Il1I/08/2ukWtOG6s3acdJdEyIdsCzyQi4RLxbbhkD/EGQyhqBvd3QrC6ZXQEXighQUAZ0g==
-
-"@next/swc-win32-arm64-msvc@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.5.tgz#a93e958133ad3310373fda33a79aa10af2a0aa97"
- integrity sha512-3/90DRNSqeeSRMMEhj4gHHQlLhhKg5SCCoYfE3kBjGpE63EfnblYUqsszGGZ9ekpKL/R4/SGB40iCQr8tR5Jiw==
-
-"@next/swc-win32-ia32-msvc@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.5.tgz#4f5f7ba0a98ff89a883625d4af0125baed8b2e19"
- integrity sha512-hGLc0ZRAwnaPL4ulwpp4D2RxmkHQLuI8CFOEEHdzZpS63/hMVzv81g8jzYA0UXbb9pus/iTc3VRbVbAM03SRrw==
-
-"@next/swc-win32-x64-msvc@12.2.5":
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz#20fed129b04a0d3f632c6d0de135345bb623b1e4"
- integrity sha512-7h5/ahY7NeaO2xygqVrSG/Y8Vs4cdjxIjowTZ5W6CKoTKn7tmnuxlUc2h74x06FKmbhAd9agOjr/AOKyxYYm9Q==
+"@next/swc-darwin-arm64@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz#b15d139d8971360fca29be3bdd703c108c9a45fb"
+ integrity sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==
+
+"@next/swc-darwin-x64@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.6.tgz#9c72ee31cc356cb65ce6860b658d807ff39f1578"
+ integrity sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==
+
+"@next/swc-linux-arm64-gnu@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.6.tgz#59f5f66155e85380ffa26ee3d95b687a770cfeab"
+ integrity sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==
+
+"@next/swc-linux-arm64-musl@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.6.tgz#f012518228017052736a87d69bae73e587c76ce2"
+ integrity sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==
+
+"@next/swc-linux-x64-gnu@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.6.tgz#339b867a7e9e7ee727a700b496b269033d820df4"
+ integrity sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==
+
+"@next/swc-linux-x64-musl@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.6.tgz#ae0ae84d058df758675830bcf70ca1846f1028f2"
+ integrity sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==
+
+"@next/swc-win32-arm64-msvc@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.6.tgz#a5cc0c16920485a929a17495064671374fdbc661"
+ integrity sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==
+
+"@next/swc-win32-ia32-msvc@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.6.tgz#6a2409b84a2cbf34bf92fe714896455efb4191e4"
+ integrity sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==
+
+"@next/swc-win32-x64-msvc@13.5.6":
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.6.tgz#4a3e2a206251abc729339ba85f60bc0433c2865d"
+ integrity sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==
"@nodelib/fs.scandir@2.1.4":
version "2.1.4"
@@ -1750,131 +1686,144 @@
lodash "^4.17.21"
request "^2.81.0"
-"@sentry-internal/tracing@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.45.0.tgz#01f347d0d1b42451b340b32b12923dc22e042d27"
- integrity sha512-0aIDY2OvUX7k2XHaimOlWkboXoQvJ9dEKvfpu0Wh0YxfUTGPa+wplUdg3WVdkk018sq1L11MKmj4MPZyYUvXhw==
- dependencies:
- "@sentry/core" "7.45.0"
- "@sentry/types" "7.45.0"
- "@sentry/utils" "7.45.0"
- tslib "^1.9.3"
-
-"@sentry/browser@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.45.0.tgz#c9f8031ad184558d08c374d4e4ee30996cc5b543"
- integrity sha512-/dUrUwnI34voMj+jSJT7b5Jun+xy1utVyzzwTq3Oc22N+SB17ZOX9svZ4jl1Lu6tVJPVjPyvL6zlcbrbMwqFjg==
- dependencies:
- "@sentry-internal/tracing" "7.45.0"
- "@sentry/core" "7.45.0"
- "@sentry/replay" "7.45.0"
- "@sentry/types" "7.45.0"
- "@sentry/utils" "7.45.0"
- tslib "^1.9.3"
-
-"@sentry/cli@^1.74.6":
- version "1.74.6"
- resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.74.6.tgz#c4f276e52c6f5e8c8d692845a965988068ebc6f5"
- integrity sha512-pJ7JJgozyjKZSTjOGi86chIngZMLUlYt2HOog+OJn+WGvqEkVymu8m462j1DiXAnex9NspB4zLLNuZ/R6rTQHg==
+"@sentry-internal/feedback@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.86.0.tgz#01c7b509a3adc9cdd03658082daf29a6cae9cc8f"
+ integrity sha512-6rl0JYjmAKnhm4/fuFaROh4Ht8oi9f6ZeIcViCuGJcrGICZJJY0s+R77XJI78rNa82PYFrSCcnWXcGji4T8E7g==
+ dependencies:
+ "@sentry/core" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
+
+"@sentry-internal/tracing@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.86.0.tgz#657e80eb7d08d1030393902c1a7bc47fc39ccb2d"
+ integrity sha512-b4dUsNWlPWRwakGwR7bhOkqiFlqQszH1hhVFwrm/8s3kqEBZ+E4CeIfCvuHBHQ1cM/fx55xpXX/BU163cy+3iQ==
+ dependencies:
+ "@sentry/core" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
+
+"@sentry/browser@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.86.0.tgz#9b828a444949f8fe4a47d830cc87b8b52275c24e"
+ integrity sha512-nfYWpVOmug+W7KJO7/xhA1JScMZcYHcoOVHLsUFm4znx51U4qZEk+zZDM11Q2Nw6MuDyEYg6bsH1QCwaoC6nLw==
+ dependencies:
+ "@sentry-internal/feedback" "7.86.0"
+ "@sentry-internal/tracing" "7.86.0"
+ "@sentry/core" "7.86.0"
+ "@sentry/replay" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
+
+"@sentry/cli@^1.77.1":
+ version "1.77.1"
+ resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.77.1.tgz#ebcf884712ef6c3c75443f491ec16f6a22148aec"
+ integrity sha512-OtJ7U9LeuPUAY/xow9wwcjM9w42IJIpDtClTKI/RliE685vd/OJUIpiAvebHNthDYpQynvwb/0iuF4fonh+CKw==
dependencies:
https-proxy-agent "^5.0.0"
mkdirp "^0.5.5"
node-fetch "^2.6.7"
- npmlog "^4.1.2"
progress "^2.0.3"
proxy-from-env "^1.1.0"
which "^2.0.2"
-"@sentry/core@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.45.0.tgz#87fdb283c211f145e508cc8ff89dabdf2fbcfc39"
- integrity sha512-xJfdTS4lRmHvZI/A5MazdnKhBJFkisKu6G9EGNLlZLre+6W4PH5sb7QX4+xoBdqG7v10Jvdia112vi762ojO2w==
+"@sentry/core@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.86.0.tgz#d01f538783dee9a0d79141a63145392ad2c1cb89"
+ integrity sha512-SbLvqd1bRYzhDS42u7GMnmbDMfth/zRiLElQWbLK/shmuZzTcfQSwNNdF4Yj+VfjOkqPFgGmICHSHVUc9dh01g==
dependencies:
- "@sentry/types" "7.45.0"
- "@sentry/utils" "7.45.0"
- tslib "^1.9.3"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
-"@sentry/integrations@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.45.0.tgz#79166f44af59127bd67824dcaddb4fee254023d7"
- integrity sha512-2lwBACr7w9YmnilndRH+39Ow97DJIZUPsDMlppu2NNFEZl2fBDpl+YWh7rxuMIpsOKqZkgxVhxWuoZL9gcWvEA==
+"@sentry/integrations@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.86.0.tgz#70240b354428dbaac32c2224b27539f295593c2b"
+ integrity sha512-BStRH1yBhhUsvmCXWx88/1+cY93l4B+3RW60RPeYcupvUQ1DJ8qxfN918+nA9XoZt9XELXvs8USCqqynG/aEkg==
dependencies:
- "@sentry/types" "7.45.0"
- "@sentry/utils" "7.45.0"
+ "@sentry/core" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
localforage "^1.8.1"
- tslib "^1.9.3"
-"@sentry/nextjs@^7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.45.0.tgz#b54012dc3b4554da81b5a463c59e0d7ddf63f38a"
- integrity sha512-JEWM3g0X1a57qY6PpCFUYr/Zigyl/AlmVwl8RbAS9J4LF5M6wD9CXSFIGOtS+Pt3KoxJCgiUsRJg+KCsszIcCg==
+"@sentry/nextjs@^7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.86.0.tgz#f814e3fe8ca3b27082fd1c7652aa01744a50feef"
+ integrity sha512-pdRTt3ELLlpyKKtvumSiqFeTImdSAnoII1JSNwJvmWz9+3MRsvBW/Ee4r19WxK07Y/nxPxyPaIuUmbsXnjkt1A==
dependencies:
"@rollup/plugin-commonjs" "24.0.0"
- "@sentry/core" "7.45.0"
- "@sentry/integrations" "7.45.0"
- "@sentry/node" "7.45.0"
- "@sentry/react" "7.45.0"
- "@sentry/types" "7.45.0"
- "@sentry/utils" "7.45.0"
- "@sentry/webpack-plugin" "1.20.0"
+ "@sentry/core" "7.86.0"
+ "@sentry/integrations" "7.86.0"
+ "@sentry/node" "7.86.0"
+ "@sentry/react" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
+ "@sentry/vercel-edge" "7.86.0"
+ "@sentry/webpack-plugin" "1.21.0"
chalk "3.0.0"
+ resolve "1.22.8"
rollup "2.78.0"
stacktrace-parser "^0.1.10"
- tslib "^1.9.3"
-"@sentry/node@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.45.0.tgz#7315cac471dadcbcc6ca2b2439fd2550ab3ddd1f"
- integrity sha512-x8mq+DrJWpSi716Rap/2w70DKWD8vjl87Y70OYFu+Dn6CxWDHClObSxLzuJcE5lww0Sq9RnU6UHQWzjXSb/pVQ==
+"@sentry/node@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.86.0.tgz#416db178aeb64f7895a23ae1c3d4d65ce51ed50a"
+ integrity sha512-cB1bn/LMn2Km97Y3hv63xwWxT50/G5ixGuSxTZ3dCQM6VDhmZoCuC5NGT3itVvaRd6upQXRZa5W0Zgyh0HXKig==
dependencies:
- "@sentry-internal/tracing" "7.45.0"
- "@sentry/core" "7.45.0"
- "@sentry/types" "7.45.0"
- "@sentry/utils" "7.45.0"
- cookie "^0.4.1"
+ "@sentry-internal/tracing" "7.86.0"
+ "@sentry/core" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
https-proxy-agent "^5.0.0"
- lru_map "^0.3.3"
- tslib "^1.9.3"
-"@sentry/react@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.45.0.tgz#9d3634b7b93bc1fa0872cdec49c1fbacd4ef2506"
- integrity sha512-Dbz85nfvMUikbLHUuIt6fBNPmTvThFn+rWB5KS1NIOJifyWAdpIU3X7yCUJE5xhsUObNLiHlNJlqhaQI4nR1bQ==
+"@sentry/react@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.86.0.tgz#54b1a27e773f3a4fe6afe5d83bbc3e71e42ac326"
+ integrity sha512-2bHi+YcG4cT+4xHXXzv+AZpU3pdPUlDBorSgHOpa9At4yxr17UWW2f8bP9wPYRgj+NEIM3YhDgR46FlBu9GSKg==
dependencies:
- "@sentry/browser" "7.45.0"
- "@sentry/types" "7.45.0"
- "@sentry/utils" "7.45.0"
+ "@sentry/browser" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
hoist-non-react-statics "^3.3.2"
- tslib "^1.9.3"
-"@sentry/replay@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.45.0.tgz#1da15e8c419bb77ec7475c7b1879d11f17edad20"
- integrity sha512-smM7FIcFIyKu30BqCl8BzLo1gH/z9WwXdGX6V0fNvHab9fJZ09+xjFn+LmIyo6N8H8jjwsup0+yQ12kiF/ZsEw==
+"@sentry/replay@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.86.0.tgz#d001eac9687de3555efded9423d3cf00e8ae6d9f"
+ integrity sha512-YYZO8bfQSx1H87Te/zzyHPLHvExWiYwUfMWW68yGX+PPZIIzxaM81/iCQHkoucxlvuPCOtxCgf7RSMbsnqEa8g==
dependencies:
- "@sentry/core" "7.45.0"
- "@sentry/types" "7.45.0"
- "@sentry/utils" "7.45.0"
+ "@sentry-internal/tracing" "7.86.0"
+ "@sentry/core" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.0"
-"@sentry/types@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.45.0.tgz#b5e2db7a421f6090398565b0a72fb3bbdc94233a"
- integrity sha512-iFt7msfUK8LCodFF3RKUyaxy9tJv/gpWhzxUFyNxtuVwlpmd+q6mtsFGn8Af3pbpm8A+MKyz1ebMwXj0PQqknw==
+"@sentry/types@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.86.0.tgz#56ed2f5b15e8130ea5ecfbbc4102d88eaa3b3a67"
+ integrity sha512-pGAt0+bMfWgo0KG2epthfNV4Wae03tURpoxNjGo5Fr4cXxvLTSijSAQ6rmmO4bXBJ7+rErEjX30g30o/eEdP9g==
-"@sentry/utils@7.45.0":
- version "7.45.0"
- resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.45.0.tgz#e13e075098578557ec3a0decf735cbad6a26ce63"
- integrity sha512-aTY7qqtNUudd09SH5DVSKMm3iQ6ZeWufduc0I9bPZe6UMM09BDc4KmjmrzRkdQ+VaOmHo7+v+HZKQk5f+AbuTQ==
+"@sentry/utils@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.86.0.tgz#356ec19bf1e3e5c40935dd987fd15bee8c6b37ba"
+ integrity sha512-6PejFtw9VTFFy5vu0ks+U7Ozkqz+eMt+HN8AZKBKErYzX5/xs0kpkOcSRpu3ETdTYcZf8VAmLVgFgE2BE+3WuQ==
dependencies:
- "@sentry/types" "7.45.0"
- tslib "^1.9.3"
+ "@sentry/types" "7.86.0"
-"@sentry/webpack-plugin@1.20.0":
- version "1.20.0"
- resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-1.20.0.tgz#e7add76122708fb6b4ee7951294b521019720e58"
- integrity sha512-Ssj1mJVFsfU6vMCOM2d+h+KQR7QHSfeIP16t4l20Uq/neqWXZUQ2yvQfe4S3BjdbJXz/X4Rw8Hfy1Sd0ocunYw==
+"@sentry/vercel-edge@7.86.0":
+ version "7.86.0"
+ resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-7.86.0.tgz#aa0df4def5ffeaa39b8b15a62565eb4570e6435e"
+ integrity sha512-+MPb93DXIeYIoaFTT1YpC0myIkXW3xtxhQ7y7QwqS7k6x1zBb34OVCGitdE6+o85RV83sFMMiBxrfKNLt5Ht0A==
dependencies:
- "@sentry/cli" "^1.74.6"
+ "@sentry-internal/tracing" "7.86.0"
+ "@sentry/core" "7.86.0"
+ "@sentry/types" "7.86.0"
+ "@sentry/utils" "7.86.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"
"@sinclair/typebox@0.25.24":
@@ -1939,10 +1888,10 @@
"@supabase/realtime-js" "^1.7.5"
"@supabase/storage-js" "^1.7.2"
-"@swc/helpers@0.4.3":
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.3.tgz#16593dfc248c53b699d4b5026040f88ddb497012"
- integrity sha512-6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA==
+"@swc/helpers@0.5.2":
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.2.tgz#85ea0c76450b61ad7d10a37050289eded783c27d"
+ integrity sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==
dependencies:
tslib "^2.4.0"
@@ -2025,10 +1974,10 @@
resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
-"@types/cors@^2.8.13":
- version "2.8.13"
- resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94"
- integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==
+"@types/cors@^2.8.17":
+ version "2.8.17"
+ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b"
+ integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==
dependencies:
"@types/node" "*"
@@ -2078,7 +2027,7 @@
resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==
-"@types/json-schema@^7.0.6", "@types/json-schema@^7.0.9":
+"@types/json-schema@^7.0.6":
version "7.0.11"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
@@ -2095,18 +2044,18 @@
dependencies:
"@types/node" "*"
-"@types/mailgun-js@^0.22.13":
- version "0.22.13"
- resolved "https://registry.yarnpkg.com/@types/mailgun-js/-/mailgun-js-0.22.13.tgz#208219999b4c50426c477f9af848476bf79307c7"
- integrity sha512-XmUM4BiawBrya84wNasBWSWPxjHhmFmqX3n56z0cskPoHZUYftjtr4/N0DzSjdLF0MctMWgEL5Hvoi7O0LHBTA==
+"@types/mailgun-js@^0.22.18":
+ version "0.22.18"
+ resolved "https://registry.yarnpkg.com/@types/mailgun-js/-/mailgun-js-0.22.18.tgz#c4f2e0249a1f1db4934a68bf2ee1df33251466cf"
+ integrity sha512-xp1QwOjlgvbV9MmKEEmmXN0PkfDxkVQjq0IU1c9DL7VBIQCPxnrqLTaCVm40Ig+YxUnt6e2dT/dNUhaKGQ+V6A==
dependencies:
"@types/node" "*"
form-data "^2.5.0"
-"@types/markdown-pdf@^9.0.2":
- version "9.0.2"
- resolved "https://registry.yarnpkg.com/@types/markdown-pdf/-/markdown-pdf-9.0.2.tgz#4588587061fdb1c9f6158b2cf20bbf2652ddeb5d"
- integrity sha512-T449YMxgP/JlOMS8cartggmFNvmn3NwUDyVY3MvD7bItYm064lG83GYMnmagCrzQQcU4I/Sfr8hDEJgJFrKg7A==
+"@types/markdown-pdf@^9.0.5":
+ version "9.0.5"
+ resolved "https://registry.yarnpkg.com/@types/markdown-pdf/-/markdown-pdf-9.0.5.tgz#e81cb0140c27ab9ee40fc2715702d46a7eba4f7f"
+ integrity sha512-0FJtLFwfr0zZW69a/qbv/sSqFGr7YUdfIB+ytVhm7If7zIQ/UXXoOHXsTDwCz30/PLf8ya6JjD3mRL+lFnbT5g==
"@types/mdast@^3.0.0":
version "3.0.11"
@@ -2130,10 +2079,10 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
-"@types/mustache@^4.2.2":
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/@types/mustache/-/mustache-4.2.2.tgz#825bf5c214c3ab84d0b23fef2c8eb898f3ff8717"
- integrity sha512-MUSpfpW0yZbTgjekDbH0shMYBUD+X/uJJJMm9LXN1d5yjl5lCY1vN/eWKD6D1tOtjA6206K0zcIPnUaFMurdNA==
+"@types/mustache@^4.2.5":
+ version "4.2.5"
+ resolved "https://registry.yarnpkg.com/@types/mustache/-/mustache-4.2.5.tgz#9129f0d6857f976e00e171bbb3460e4b702f84ef"
+ integrity sha512-PLwiVvTBg59tGFL/8VpcGvqOu3L4OuveNvPi0EYbWchRdEVP++yRUXJPFl+CApKEq13017/4Nf7aQ5lTtHUNsA==
"@types/node@*", "@types/node@>=8.1.0":
version "16.3.3"
@@ -2155,14 +2104,14 @@
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
-"@types/react-dom@^18.0.11":
- version "18.0.11"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33"
- integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==
+"@types/react-dom@^18.2.17":
+ version "18.2.17"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.17.tgz#375c55fab4ae671bd98448dcfa153268d01d6f64"
+ integrity sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@^17.0.43":
+"@types/react@*":
version "17.0.43"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.43.tgz#4adc142887dd4a2601ce730bc56c3436fdb07a55"
integrity sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==
@@ -2171,6 +2120,15 @@
"@types/scheduler" "*"
csstype "^3.0.2"
+"@types/react@18.2.19":
+ version "18.2.19"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.19.tgz#f77cb2c8307368e624d464a25b9675fa35f95a8b"
+ integrity sha512-e2S8wmY1ePfM517PqCG80CcE48Xs5k0pwJzuDZsfE8IZRRBfOMCF+XqnFxu6mWtyivum1MQm4aco+WIt6Coimw==
+ dependencies:
+ "@types/prop-types" "*"
+ "@types/scheduler" "*"
+ csstype "^3.0.2"
+
"@types/react@^18.0.15":
version "18.0.30"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.30.tgz#83944e679fc7aeab3f042b76d63c4d755b56b7c4"
@@ -2180,10 +2138,10 @@
"@types/scheduler" "*"
csstype "^3.0.2"
-"@types/request-ip@^0.0.37":
- version "0.0.37"
- resolved "https://registry.yarnpkg.com/@types/request-ip/-/request-ip-0.0.37.tgz#06decdcdeeaa834edf2b0a7dea0c1aefd5a04375"
- integrity sha512-uw6/i3rQnpznxD7LtLaeuZytLhKZK6bRoTS6XVJlwxIOoOpEBU7bgKoVXDNtOg4Xl6riUKHa9bjMVrL6ESqYlQ==
+"@types/request-ip@^0.0.41":
+ version "0.0.41"
+ resolved "https://registry.yarnpkg.com/@types/request-ip/-/request-ip-0.0.41.tgz#c22a3244df2573402989346062851b06b7a5ac4e"
+ integrity sha512-Qzz0PM2nSZej4lsLzzNfADIORZhhxO7PED0fXpg4FjXiHuJ/lMyUg+YFF5q8x9HPZH3Gl6N+NOM8QZjItNgGKg==
dependencies:
"@types/node" "*"
@@ -2219,27 +2177,12 @@
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
-"@types/uuid@^9.0.1":
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.1.tgz#98586dc36aee8dacc98cc396dbca8d0429647aa6"
- integrity sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==
+"@types/uuid@^9.0.7":
+ version "9.0.7"
+ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8"
+ integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==
-"@typescript-eslint/eslint-plugin@^5.14.0":
- version "5.26.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz#c1f98ccba9d345e38992975d3ca56ed6260643c2"
- integrity sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==
- dependencies:
- "@typescript-eslint/scope-manager" "5.26.0"
- "@typescript-eslint/type-utils" "5.26.0"
- "@typescript-eslint/utils" "5.26.0"
- debug "^4.3.4"
- functional-red-black-tree "^1.0.1"
- ignore "^5.2.0"
- regexpp "^3.2.0"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
-"@typescript-eslint/parser@^5.14.0", "@typescript-eslint/parser@^5.42.0":
+"@typescript-eslint/parser@^5.42.0":
version "5.43.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.43.0.tgz#9c86581234b88f2ba406f0b99a274a91c11630fd"
integrity sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug==
@@ -2249,14 +2192,6 @@
"@typescript-eslint/typescript-estree" "5.43.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.26.0":
- version "5.26.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz#44209c7f649d1a120f0717e0e82da856e9871339"
- integrity sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==
- dependencies:
- "@typescript-eslint/types" "5.26.0"
- "@typescript-eslint/visitor-keys" "5.26.0"
-
"@typescript-eslint/scope-manager@5.43.0":
version "5.43.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz#566e46303392014d5d163704724872e1f2dd3c15"
@@ -2265,38 +2200,11 @@
"@typescript-eslint/types" "5.43.0"
"@typescript-eslint/visitor-keys" "5.43.0"
-"@typescript-eslint/type-utils@5.26.0":
- version "5.26.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz#937dee97702361744a3815c58991acf078230013"
- integrity sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==
- dependencies:
- "@typescript-eslint/utils" "5.26.0"
- debug "^4.3.4"
- tsutils "^3.21.0"
-
-"@typescript-eslint/types@5.26.0":
- version "5.26.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.26.0.tgz#cb204bb154d3c103d9cc4d225f311b08219469f3"
- integrity sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==
-
"@typescript-eslint/types@5.43.0":
version "5.43.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.43.0.tgz#e4ddd7846fcbc074325293515fa98e844d8d2578"
integrity sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==
-"@typescript-eslint/typescript-estree@5.26.0":
- version "5.26.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz#16cbceedb0011c2ed4f607255f3ee1e6e43b88c3"
- integrity sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==
- dependencies:
- "@typescript-eslint/types" "5.26.0"
- "@typescript-eslint/visitor-keys" "5.26.0"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
"@typescript-eslint/typescript-estree@5.43.0":
version "5.43.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz#b6883e58ba236a602c334be116bfc00b58b3b9f2"
@@ -2310,26 +2218,6 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.26.0":
- version "5.26.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.26.0.tgz#896b8480eb124096e99c8b240460bb4298afcfb4"
- integrity sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==
- dependencies:
- "@types/json-schema" "^7.0.9"
- "@typescript-eslint/scope-manager" "5.26.0"
- "@typescript-eslint/types" "5.26.0"
- "@typescript-eslint/typescript-estree" "5.26.0"
- eslint-scope "^5.1.1"
- eslint-utils "^3.0.0"
-
-"@typescript-eslint/visitor-keys@5.26.0":
- version "5.26.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz#7195f756e367f789c0e83035297c45b417b57f57"
- integrity sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==
- dependencies:
- "@typescript-eslint/types" "5.26.0"
- eslint-visitor-keys "^3.3.0"
-
"@typescript-eslint/visitor-keys@5.43.0":
version "5.43.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz#cbbdadfdfea385310a20a962afda728ea106befa"
@@ -2542,7 +2430,7 @@ accepts@~1.3.8:
mime-types "~2.1.34"
negotiator "0.6.3"
-acorn-jsx@^5.0.0, acorn-jsx@^5.3.2:
+acorn-jsx@^5.0.0:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
@@ -2562,7 +2450,7 @@ acorn@^8.4.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73"
integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==
-acorn@^8.6.0, acorn@^8.7.1:
+acorn@^8.6.0:
version "8.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
@@ -2618,7 +2506,7 @@ ajv@8.6.3:
require-from-string "^2.0.2"
uri-js "^4.2.2"
-ajv@^6.0.0, ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
+ajv@^6.0.0, ajv@^6.12.3:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -2635,16 +2523,6 @@ ansi-escapes@^4.2.1:
dependencies:
type-fest "^0.21.3"
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-
-ansi-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
- integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
-
ansi-regex@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
@@ -2677,11 +2555,6 @@ anymatch@~3.1.2:
normalize-path "^3.0.0"
picomatch "^2.0.4"
-aproba@^1.0.3:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
- integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-
"aproba@^1.0.3 || ^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
@@ -2695,14 +2568,6 @@ are-we-there-yet@^2.0.0:
delegates "^1.0.0"
readable-stream "^3.6.0"
-are-we-there-yet@~1.1.2:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
- integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.6"
-
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
@@ -2896,10 +2761,10 @@ axios@^1.2.2:
form-data "^4.0.0"
proxy-from-env "^1.1.0"
-axios@^1.3.4:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024"
- integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==
+axios@^1.6.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2"
+ integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==
dependencies:
follow-redirects "^1.15.0"
form-data "^4.0.0"
@@ -3084,6 +2949,13 @@ bufferutil@^4.0.1:
dependencies:
node-gyp-build "^4.2.0"
+busboy@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
+ integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
+ dependencies:
+ streamsearch "^1.1.0"
+
bytes@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
@@ -3149,15 +3021,10 @@ call-bind@^1.0.0, call-bind@^1.0.2:
function-bind "^1.1.1"
get-intrinsic "^1.0.2"
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-caniuse-lite@^1.0.30001332:
- version "1.0.30001376"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001376.tgz#af2450833e5a06873fbb030a9556ca9461a2736d"
- integrity sha512-I27WhtOQ3X3v3it9gNs/oTpoE5KpwmqKR5oKPA8M0G7uMXh9Ty81Q904HpKUrM30ei7zfcL5jE7AXefgbOfMig==
+caniuse-lite@^1.0.30001406:
+ version "1.0.30001566"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz#61a8e17caf3752e3e426d4239c549ebbb37fef0d"
+ integrity sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==
caniuse-lite@^1.0.30001449:
version "1.0.30001472"
@@ -3186,7 +3053,7 @@ chalk@^2.0.0:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
+chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -3266,6 +3133,11 @@ cli-width@^3.0.0:
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
+client-only@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
+ integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
+
clone-response@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
@@ -3293,11 +3165,6 @@ code-block-writer@^10.1.1:
resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-10.1.1.tgz#ad5684ed4bfb2b0783c8b131281ae84ee640a42f"
integrity sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
-
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -3364,7 +3231,7 @@ concat-stream@^1.4.7, concat-stream@^1.6.2:
readable-stream "^2.2.2"
typedarray "^0.0.6"
-console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0:
+console-control-strings@^1.0.0, console-control-strings@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
@@ -3450,7 +3317,7 @@ cross-fetch@^3.0.6, cross-fetch@^3.1.0, cross-fetch@^3.1.5:
dependencies:
node-fetch "2.6.7"
-cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -3514,10 +3381,12 @@ data-uri-to-buffer@^4.0.0:
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e"
integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==
-date-fns@^2.29.3:
- version "2.29.3"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8"
- integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==
+date-fns@^2.30.0:
+ version "2.30.0"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0"
+ integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==
+ dependencies:
+ "@babel/runtime" "^7.21.0"
deasync@^0.1.0:
version "0.1.28"
@@ -3569,13 +3438,6 @@ debug@^4.1.1:
dependencies:
ms "2.1.2"
-debug@^4.3.2:
- version "4.3.3"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
- integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
- dependencies:
- ms "2.1.2"
-
decode-named-character-reference@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e"
@@ -3590,7 +3452,7 @@ decompress-response@^6.0.0:
dependencies:
mimic-response "^3.1.0"
-deep-is@^0.1.3, deep-is@~0.1.3:
+deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
@@ -3725,13 +3587,6 @@ doctrine@^2.1.0:
dependencies:
esutils "^2.0.2"
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
dotenv@^16.0.0:
version "16.0.3"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07"
@@ -4213,11 +4068,6 @@ eslint-config-next@^13.2.4:
eslint-plugin-react "^7.31.7"
eslint-plugin-react-hooks "^4.5.0"
-eslint-config-prettier@^8.5.0:
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
- integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
-
eslint-import-resolver-node@^0.3.6:
version "0.3.6"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd"
@@ -4284,19 +4134,12 @@ eslint-plugin-jsx-a11y@^6.5.1:
language-tags "^1.0.5"
minimatch "^3.0.4"
-eslint-plugin-prettier@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0"
- integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==
- dependencies:
- prettier-linter-helpers "^1.0.0"
-
-eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.5.0:
+eslint-plugin-react-hooks@^4.5.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
-eslint-plugin-react@^7.29.3, eslint-plugin-react@^7.31.7:
+eslint-plugin-react@^7.31.7:
version "7.31.8"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz#3a4f80c10be1bcbc8197be9e8b641b2a3ef219bf"
integrity sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==
@@ -4316,94 +4159,11 @@ eslint-plugin-react@^7.29.3, eslint-plugin-react@^7.31.7:
semver "^6.3.0"
string.prototype.matchall "^4.0.7"
-eslint-plugin-simple-import-sort@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8"
- integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw==
-
-eslint-scope@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
- integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^4.1.1"
-
-eslint-scope@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
- integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^5.2.0"
-
-eslint-utils@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
- integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
- dependencies:
- eslint-visitor-keys "^2.0.0"
-
-eslint-visitor-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
- integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
-
eslint-visitor-keys@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
-eslint@^8.10.0:
- version "8.16.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.16.0.tgz#6d936e2d524599f2a86c708483b4c372c5d3bbae"
- integrity sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==
- dependencies:
- "@eslint/eslintrc" "^1.3.0"
- "@humanwhocodes/config-array" "^0.9.2"
- ajv "^6.10.0"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.3.2"
- doctrine "^3.0.0"
- escape-string-regexp "^4.0.0"
- eslint-scope "^7.1.1"
- eslint-utils "^3.0.0"
- eslint-visitor-keys "^3.3.0"
- espree "^9.3.2"
- esquery "^1.4.0"
- esutils "^2.0.2"
- fast-deep-equal "^3.1.3"
- file-entry-cache "^6.0.1"
- functional-red-black-tree "^1.0.1"
- glob-parent "^6.0.1"
- globals "^13.15.0"
- ignore "^5.2.0"
- import-fresh "^3.0.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- js-yaml "^4.1.0"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash.merge "^4.6.2"
- minimatch "^3.1.2"
- natural-compare "^1.4.0"
- optionator "^0.9.1"
- regexpp "^3.2.0"
- strip-ansi "^6.0.1"
- strip-json-comments "^3.1.0"
- text-table "^0.2.0"
- v8-compile-cache "^2.0.3"
-
-espree@^9.3.2:
- version "9.3.2"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596"
- integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==
- dependencies:
- acorn "^8.7.1"
- acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.3.0"
-
esprima@3.x.x:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
@@ -4414,30 +4174,11 @@ esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
- integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
- integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
- dependencies:
- estraverse "^5.2.0"
-
-estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.2.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-estraverse@^5.1.0, estraverse@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
- integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
-
estraverse@^5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
@@ -4616,16 +4357,11 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-fast-diff@^1.1.2:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
- integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
-
fast-glob@3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9:
version "3.2.11"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
@@ -4653,7 +4389,7 @@ fast-json-stable-stringify@^2.0.0:
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
+fast-levenshtein@~2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
@@ -4694,13 +4430,6 @@ figures@^3.0.0:
dependencies:
escape-string-regexp "^1.0.5"
-file-entry-cache@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
- integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
- dependencies:
- flat-cache "^3.0.4"
-
file-uri-to-path@1, file-uri-to-path@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
@@ -4746,19 +4475,6 @@ find-up@^5.0.0:
locate-path "^6.0.0"
path-exists "^4.0.0"
-flat-cache@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
- integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
- dependencies:
- flatted "^3.1.0"
- rimraf "^3.0.2"
-
-flatted@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
- integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
-
follow-redirects@^1.15.0:
version "1.15.2"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
@@ -4889,6 +4605,11 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+function-bind@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+
function.prototype.name@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
@@ -4899,11 +4620,6 @@ function.prototype.name@^1.1.5:
es-abstract "^1.19.0"
functions-have-names "^1.2.2"
-functional-red-black-tree@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
- integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-
functions-have-names@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
@@ -4924,20 +4640,6 @@ gauge@^3.0.0:
strip-ansi "^6.0.1"
wide-align "^1.1.2"
-gauge@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
- integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
- dependencies:
- aproba "^1.0.3"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.0"
- object-assign "^4.1.0"
- signal-exit "^3.0.0"
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wide-align "^1.1.0"
-
generic-names@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-4.0.0.tgz#0bd8a2fd23fe8ea16cbd0a279acd69c06933d9a3"
@@ -5032,12 +4734,10 @@ glob-parent@^5.1.2, glob-parent@~5.1.2:
dependencies:
is-glob "^4.0.1"
-glob-parent@^6.0.1:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
- integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
- dependencies:
- is-glob "^4.0.3"
+glob-to-regexp@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
+ integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
glob@7.1.7:
version "7.1.7"
@@ -5091,13 +4791,6 @@ globals@^11.1.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^13.15.0:
- version "13.15.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac"
- integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==
- dependencies:
- type-fest "^0.20.2"
-
globalyzer@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465"
@@ -5251,7 +4944,7 @@ has-tostringtag@^1.0.0:
dependencies:
has-symbols "^1.0.2"
-has-unicode@^2.0.0, has-unicode@^2.0.1:
+has-unicode@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
@@ -5271,6 +4964,13 @@ hasha@^2.2.0:
is-stream "^1.0.1"
pinkie-promise "^2.0.0"
+hasown@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
+ integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
+ dependencies:
+ function-bind "^1.1.2"
+
hast-util-to-estree@^2.0.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.3.2.tgz#11ab0cd2e70ecf0305151af56e636b1cdfbba0bf"
@@ -5444,14 +5144,6 @@ immediate@~3.0.5:
resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=
-import-fresh@^3.0.0, import-fresh@^3.2.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
- integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -5594,6 +5286,13 @@ is-core-module@^2.10.0:
dependencies:
has "^1.0.3"
+is-core-module@^2.13.0:
+ version "2.13.1"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
+ integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
+ dependencies:
+ hasown "^2.0.0"
+
is-core-module@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
@@ -5633,24 +5332,12 @@ is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
- integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
-
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
@@ -5839,7 +5526,7 @@ javascript-stringify@^2.0.1:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-yaml@^4.0.0, js-yaml@^4.1.0:
+js-yaml@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
@@ -5899,11 +5586,6 @@ json-schema@0.2.3:
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
- integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -6011,14 +5693,6 @@ language-tags@^1.0.5:
dependencies:
language-subtag-registry "~0.3.2"
-levn@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
- integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
- dependencies:
- prelude-ls "^1.2.1"
- type-check "~0.4.0"
-
levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -6094,11 +5768,6 @@ lodash.debounce@^4.0.8:
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-lodash.merge@^4.6.2:
- version "4.6.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
- integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-
lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
@@ -6148,11 +5817,6 @@ lru-cache@^7.14.1:
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89"
integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==
-lru_map@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd"
- integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=
-
magic-string@^0.25.3:
version "0.25.9"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
@@ -6857,10 +6521,10 @@ nanoid@^3.3.4:
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+nanoid@^3.3.6:
+ version "3.3.7"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
+ integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
negotiator@0.6.3:
version "0.6.3"
@@ -6882,31 +6546,28 @@ next-tick@~1.0.0:
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
-next@^12.2.5:
- version "12.2.5"
- resolved "https://registry.yarnpkg.com/next/-/next-12.2.5.tgz#14fb5975e8841fad09553b8ef41fe1393602b717"
- integrity sha512-tBdjqX5XC/oFs/6gxrZhjmiq90YWizUYU6qOWAfat7zJwrwapJ+BYgX2PmiacunXMaRpeVT4vz5MSPSLgNkrpA==
- dependencies:
- "@next/env" "12.2.5"
- "@swc/helpers" "0.4.3"
- caniuse-lite "^1.0.30001332"
- postcss "8.4.14"
- styled-jsx "5.0.4"
- use-sync-external-store "1.2.0"
+next@13:
+ version "13.5.6"
+ resolved "https://registry.yarnpkg.com/next/-/next-13.5.6.tgz#e964b5853272236c37ce0dd2c68302973cf010b1"
+ integrity sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==
+ dependencies:
+ "@next/env" "13.5.6"
+ "@swc/helpers" "0.5.2"
+ busboy "1.6.0"
+ caniuse-lite "^1.0.30001406"
+ postcss "8.4.31"
+ styled-jsx "5.1.1"
+ watchpack "2.4.0"
optionalDependencies:
- "@next/swc-android-arm-eabi" "12.2.5"
- "@next/swc-android-arm64" "12.2.5"
- "@next/swc-darwin-arm64" "12.2.5"
- "@next/swc-darwin-x64" "12.2.5"
- "@next/swc-freebsd-x64" "12.2.5"
- "@next/swc-linux-arm-gnueabihf" "12.2.5"
- "@next/swc-linux-arm64-gnu" "12.2.5"
- "@next/swc-linux-arm64-musl" "12.2.5"
- "@next/swc-linux-x64-gnu" "12.2.5"
- "@next/swc-linux-x64-musl" "12.2.5"
- "@next/swc-win32-arm64-msvc" "12.2.5"
- "@next/swc-win32-ia32-msvc" "12.2.5"
- "@next/swc-win32-x64-msvc" "12.2.5"
+ "@next/swc-darwin-arm64" "13.5.6"
+ "@next/swc-darwin-x64" "13.5.6"
+ "@next/swc-linux-arm64-gnu" "13.5.6"
+ "@next/swc-linux-arm64-musl" "13.5.6"
+ "@next/swc-linux-x64-gnu" "13.5.6"
+ "@next/swc-linux-x64-musl" "13.5.6"
+ "@next/swc-win32-arm64-msvc" "13.5.6"
+ "@next/swc-win32-ia32-msvc" "13.5.6"
+ "@next/swc-win32-x64-msvc" "13.5.6"
node-addon-api@^1.7.1:
version "1.7.2"
@@ -6978,16 +6639,6 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
-npmlog@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
- integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
- dependencies:
- are-we-there-yet "~1.1.2"
- console-control-strings "~1.1.0"
- gauge "~2.7.3"
- set-blocking "~2.0.0"
-
npmlog@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
@@ -6998,17 +6649,12 @@ npmlog@^5.0.1:
gauge "^3.0.0"
set-blocking "^2.0.0"
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@^4, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@@ -7120,18 +6766,6 @@ optionator@^0.8.1:
type-check "~0.3.2"
word-wrap "~1.2.3"
-optionator@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
- integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
- dependencies:
- deep-is "^0.1.3"
- fast-levenshtein "^2.0.6"
- levn "^0.4.1"
- prelude-ls "^1.2.1"
- type-check "^0.4.0"
- word-wrap "^1.2.3"
-
ora@^5.4.1:
version "5.4.1"
resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18"
@@ -7256,13 +6890,6 @@ pako@~0.2.0:
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
parse-entities@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e"
@@ -7491,12 +7118,12 @@ postcss-value-parser@^4.1.0:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-postcss@8.4.14:
- version "8.4.14"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
- integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
+postcss@8.4.31:
+ version "8.4.31"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
+ integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
dependencies:
- nanoid "^3.3.4"
+ nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
@@ -7509,33 +7136,16 @@ postcss@^8.4.19, postcss@^8.4.21:
picocolors "^1.0.0"
source-map-js "^1.0.2"
-prelude-ls@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
- integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
-prettier-linter-helpers@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
- integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
- dependencies:
- fast-diff "^1.1.2"
-
prettier@2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
-prettier@^2.5.1:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032"
- integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==
-
pretty-bytes@5.6.0:
version "5.6.0"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
@@ -7719,14 +7329,13 @@ raw-body@^2.2.0:
iconv-lite "0.4.24"
unpipe "1.0.0"
-react-dom@^17.0.2:
- version "17.0.2"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
- integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
+react-dom@^18.2.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
+ integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
dependencies:
loose-envify "^1.1.0"
- object-assign "^4.1.1"
- scheduler "^0.20.2"
+ scheduler "^0.23.0"
react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
@@ -7738,13 +7347,12 @@ react-refresh@^0.14.0:
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
-react@^17.0.2:
- version "17.0.2"
- resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
- integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
+react@^18.2.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
+ integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
dependencies:
loose-envify "^1.1.0"
- object-assign "^4.1.1"
read-cmd-shim@^4.0.0:
version "4.0.0"
@@ -7761,7 +7369,7 @@ readable-stream@1.1.x:
isarray "0.0.1"
string_decoder "~0.10.x"
-readable-stream@2, readable-stream@^2.0.6, readable-stream@^2.2.2:
+readable-stream@2, readable-stream@^2.2.2:
version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
@@ -7844,6 +7452,11 @@ regenerator-runtime@^0.13.4:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==
+regenerator-runtime@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
+ integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
+
regenerator-transform@^0.15.1:
version "0.15.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56"
@@ -7860,11 +7473,6 @@ regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3:
define-properties "^1.1.3"
functions-have-names "^1.2.2"
-regexpp@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
- integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
-
regexpu-core@^5.3.1:
version "5.3.2"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b"
@@ -7979,16 +7587,20 @@ resolve-alpn@^1.0.0:
resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
resolve-from@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+resolve@1.22.8:
+ version "1.22.8"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
+ integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
resolve@^1.14.2, resolve@^1.22.0, resolve@^1.22.1:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
@@ -8124,13 +7736,12 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-scheduler@^0.20.2:
- version "0.20.2"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
- integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
+scheduler@^0.23.0:
+ version "0.23.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
+ integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
dependencies:
loose-envify "^1.1.0"
- object-assign "^4.1.1"
semver@6.1.1:
version "6.1.1"
@@ -8190,7 +7801,7 @@ serve-static@1.15.0:
parseurl "~1.3.3"
send "0.18.0"
-set-blocking@^2.0.0, set-blocking@~2.0.0:
+set-blocking@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
@@ -8413,28 +8024,16 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+streamsearch@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
+ integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
+
string-hash@1.1.3, string-hash@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=
-string-width@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-"string-width@^1.0.2 || 2":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@@ -8528,20 +8127,6 @@ stringify-entities@^4.0.0:
character-entities-html4 "^2.0.0"
character-entities-legacy "^3.0.0"
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
- dependencies:
- ansi-regex "^3.0.0"
-
strip-ansi@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
@@ -8566,11 +8151,6 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
stripe@^9.13.0:
version "9.13.0"
resolved "https://registry.yarnpkg.com/stripe/-/stripe-9.13.0.tgz#eea108bf522c8a13089c1c32e757cfc274027e6f"
@@ -8600,10 +8180,12 @@ styled-jsx@3.3.0:
stylis "3.5.4"
stylis-rule-sheet "0.0.10"
-styled-jsx@5.0.4:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.4.tgz#5b1bd0b9ab44caae3dd1361295559706e044aa53"
- integrity sha512-sDFWLbg4zR+UkNzfk5lPilyIgtpddfxXEULxhujorr5jtePTUqiPDc5BC0v1NRqTr/WaFBGQQUoYToGlF4B2KQ==
+styled-jsx@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f"
+ integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==
+ dependencies:
+ client-only "0.0.1"
stylis-rule-sheet@0.0.10:
version "0.0.10"
@@ -8714,11 +8296,6 @@ tar@^6.1.11:
mkdirp "^1.0.3"
yallist "^4.0.0"
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-
throttleit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
@@ -8914,13 +8491,6 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
-type-check@^0.4.0, type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
@@ -8928,11 +8498,6 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-type-fest@^0.20.2:
- version "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.21.3:
version "0.21.3"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
@@ -9163,11 +8728,6 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-use-sync-external-store@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
- integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
-
utf-8-validate@^5.0.2:
version "5.0.5"
resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1"
@@ -9205,11 +8765,6 @@ v8-compile-cache-lib@^3.0.1:
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
-v8-compile-cache@^2.0.3:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
- integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
-
vary@^1, vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -9300,6 +8855,14 @@ vm2@^3.9.8:
acorn "^8.7.0"
acorn-walk "^8.2.0"
+watchpack@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
+ integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
+ dependencies:
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.1.2"
+
wcwidth@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -9372,13 +8935,6 @@ which@^2.0.1, which@^2.0.2:
dependencies:
isexe "^2.0.0"
-wide-align@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
- integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
- dependencies:
- string-width "^1.0.2 || 2"
-
wide-align@^1.1.2:
version "1.1.5"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
@@ -9391,7 +8947,7 @@ with-callback@^1.0.2:
resolved "https://registry.yarnpkg.com/with-callback/-/with-callback-1.0.2.tgz#a09629b9a920028d721404fb435bdcff5c91bc21"
integrity sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=
-word-wrap@^1.2.3, word-wrap@~1.2.3:
+word-wrap@~1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==