mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2026-09-06 04:55:33 -04:00
switch db from fauna to prisma & planetscale (#971)
This commit is contained in:
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
AIRTABLE_API_KEY=
|
AIRTABLE_API_KEY=
|
||||||
AIRTABLE_BASE=
|
AIRTABLE_BASE=
|
||||||
FAUNADB_SERVER_SECRET=
|
|
||||||
GH_PUBLIC_TOKEN=
|
GH_PUBLIC_TOKEN=
|
||||||
HCAPTCHA_SECRET_KEY=
|
HCAPTCHA_SECRET_KEY=
|
||||||
NEXT_PUBLIC_HCAPTCHA_SITE_KEY=
|
NEXT_PUBLIC_HCAPTCHA_SITE_KEY=
|
||||||
|
PLANETSCALE_PRISMA_DATABASE_URL=
|
||||||
SENTRY_AUTH_TOKEN=
|
SENTRY_AUTH_TOKEN=
|
||||||
NEXT_PUBLIC_SENTRY_DSN=
|
SENTRY_DSN=
|
||||||
SPOTIFY_CLIENT_ID=
|
SPOTIFY_CLIENT_ID=
|
||||||
SPOTIFY_CLIENT_SECRET=
|
SPOTIFY_CLIENT_SECRET=
|
||||||
SPOTIFY_REFRESH_TOKEN=
|
SPOTIFY_REFRESH_TOKEN=
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
[](https://github.com/jakejarvis/jarv.is)
|
[](https://github.com/jakejarvis/jarv.is)
|
||||||
[](http://jarvis2i2vp4j4tbxjogsnqdemnte5xhzyi7hziiyzxwge3hzmh57zad.onion/)
|
[](http://jarvis2i2vp4j4tbxjogsnqdemnte5xhzyi7hziiyzxwge3hzmh57zad.onion/)
|
||||||
|
|
||||||
My humble abode on the World Wide Web, created and deployed using [Next.js](https://nextjs.org/), [Stitches](https://stitches.dev/), [Vercel](https://vercel.com/), [and more](https://jarv.is/humans.txt).
|
My humble abode on the World Wide Web, created and deployed using [Next.js](https://nextjs.org/), [Stitches](https://stitches.dev/), [PlanetScale](https://planetscale.com/), [Vercel](https://vercel.com/), [and more](https://jarv.is/humans.txt).
|
||||||
|
|
||||||
I keep an ongoing list of [post ideas](https://github.com/jakejarvis/jarv.is/issues/1) and [coding to-dos](https://github.com/jakejarvis/jarv.is/issues/714) as issues in this repo. Outside contributions, improvements, and/or corrections are welcome too!
|
I keep an ongoing list of [post ideas](https://github.com/jakejarvis/jarv.is/issues/1) and [coding to-dos](https://github.com/jakejarvis/jarv.is/issues/714) as issues in this repo. Outside contributions, improvements, and/or corrections are welcome too!
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
import { PrismaClient } from "@prisma/client";
|
||||||
|
|
||||||
|
// PrismaClient is attached to the `global` object in development to prevent
|
||||||
|
// exhausting your database connection limit.
|
||||||
|
//
|
||||||
|
// Learn more:
|
||||||
|
// https://pris.ly/d/help/next-js-best-practices
|
||||||
|
|
||||||
|
declare global {
|
||||||
|
// allow global `var` declarations
|
||||||
|
// eslint-disable-next-line no-var
|
||||||
|
var prisma: PrismaClient | undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const prisma =
|
||||||
|
global.prisma ||
|
||||||
|
new PrismaClient({
|
||||||
|
log: ["query"],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (process.env.NODE_ENV !== "production") global.prisma = prisma;
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
// Initialize a new pageview database. For use with Fauna Schema Migrate:
|
|
||||||
// https://github.com/fauna-labs/fauna-schema-migrate#readme
|
|
||||||
|
|
||||||
import faunadb from "faunadb";
|
|
||||||
const {
|
|
||||||
CreateCollection,
|
|
||||||
CreateIndex,
|
|
||||||
CreateFunction,
|
|
||||||
Query,
|
|
||||||
Collection,
|
|
||||||
Role,
|
|
||||||
Var,
|
|
||||||
Index,
|
|
||||||
Let,
|
|
||||||
Match,
|
|
||||||
Lambda,
|
|
||||||
Get,
|
|
||||||
Create,
|
|
||||||
Update,
|
|
||||||
Add,
|
|
||||||
Select,
|
|
||||||
If,
|
|
||||||
Exists,
|
|
||||||
ToInteger,
|
|
||||||
} = faunadb.query;
|
|
||||||
|
|
||||||
// initializes the empty database
|
|
||||||
CreateCollection({ name: "hits" });
|
|
||||||
|
|
||||||
// this allows us to quickly pull a post's corresponding row
|
|
||||||
CreateIndex({
|
|
||||||
name: "hits_by_slug",
|
|
||||||
source: Collection("hits"),
|
|
||||||
terms: [
|
|
||||||
{
|
|
||||||
field: ["data", "slug"],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
unique: false,
|
|
||||||
serialized: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
// a wrapper to get a post's row, add one to it, and return the new tally
|
|
||||||
CreateFunction({
|
|
||||||
name: "increment_hit",
|
|
||||||
body: Query(
|
|
||||||
Lambda(
|
|
||||||
"slug",
|
|
||||||
Let(
|
|
||||||
{ match: Match(Index("hits_by_slug"), Var("slug")) },
|
|
||||||
If(
|
|
||||||
Exists(Var("match")),
|
|
||||||
Let(
|
|
||||||
{
|
|
||||||
ref: Select("ref", Get(Var("match"))),
|
|
||||||
hits: ToInteger(Select("hits", Select("data", Get(Var("match"))))),
|
|
||||||
},
|
|
||||||
Update(Var("ref"), { data: { hits: Add(Var("hits"), 1) } })
|
|
||||||
),
|
|
||||||
Create(Collection("hits"), { data: { slug: Var("slug"), hits: 1 } })
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
role: Role("server"),
|
|
||||||
});
|
|
||||||
+3
-3
@@ -26,6 +26,7 @@
|
|||||||
"@novnc/novnc": "github:novnc/novnc#cdfb33665195eb9a73fb00feb6ebaccd1068cd50",
|
"@novnc/novnc": "github:novnc/novnc#cdfb33665195eb9a73fb00feb6ebaccd1068cd50",
|
||||||
"@octokit/graphql": "^4.8.0",
|
"@octokit/graphql": "^4.8.0",
|
||||||
"@primer/octicons": "^17.3.0",
|
"@primer/octicons": "^17.3.0",
|
||||||
|
"@prisma/client": "^3.15.2",
|
||||||
"@react-spring/web": "^9.4.5",
|
"@react-spring/web": "^9.4.5",
|
||||||
"@sentry/node": "^7.2.0",
|
"@sentry/node": "^7.2.0",
|
||||||
"@sentry/tracing": "^7.2.0",
|
"@sentry/tracing": "^7.2.0",
|
||||||
@@ -35,7 +36,6 @@
|
|||||||
"dayjs": "^1.11.3",
|
"dayjs": "^1.11.3",
|
||||||
"fast-glob": "^3.2.11",
|
"fast-glob": "^3.2.11",
|
||||||
"fathom-client": "^3.5.0",
|
"fathom-client": "^3.5.0",
|
||||||
"faunadb": "^4.6.0",
|
|
||||||
"feather-icons": "^4.29.0",
|
"feather-icons": "^4.29.0",
|
||||||
"feed": "^4.2.2",
|
"feed": "^4.2.2",
|
||||||
"formik": "^2.2.9",
|
"formik": "^2.2.9",
|
||||||
@@ -48,7 +48,6 @@
|
|||||||
"next-seo": "^5.4.0",
|
"next-seo": "^5.4.0",
|
||||||
"next-transpile-modules": "^9.0.0",
|
"next-transpile-modules": "^9.0.0",
|
||||||
"p-map": "^5.5.0",
|
"p-map": "^5.5.0",
|
||||||
"p-retry": "^5.1.1",
|
|
||||||
"prop-types": "^15.8.1",
|
"prop-types": "^15.8.1",
|
||||||
"query-string": "^7.1.1",
|
"query-string": "^7.1.1",
|
||||||
"react": "18.2.0",
|
"react": "18.2.0",
|
||||||
@@ -96,6 +95,7 @@
|
|||||||
"eslint-plugin-prettier": "~4.0.0",
|
"eslint-plugin-prettier": "~4.0.0",
|
||||||
"lint-staged": "^13.0.2",
|
"lint-staged": "^13.0.2",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
|
"prisma": "^3.15.2",
|
||||||
"simple-git-hooks": "^2.8.0",
|
"simple-git-hooks": "^2.8.0",
|
||||||
"typescript": "^4.7.4",
|
"typescript": "^4.7.4",
|
||||||
"uglify-js": "^3.16.1"
|
"uglify-js": "^3.16.1"
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
"pre-commit": "npx lint-staged"
|
"pre-commit": "npx lint-staged"
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"*.{js,jsx,ts,tsx,md,mdx}": [
|
"*.{js,jsx,ts,tsx}": [
|
||||||
"eslint"
|
"eslint"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
+25
-56
@@ -1,6 +1,5 @@
|
|||||||
import faunadb from "faunadb";
|
|
||||||
import pRetry from "p-retry";
|
|
||||||
import { getAllNotes } from "../../lib/helpers/parse-notes";
|
import { getAllNotes } from "../../lib/helpers/parse-notes";
|
||||||
|
import { prisma } from "../../lib/helpers/prisma";
|
||||||
import { logServerError } from "../../lib/helpers/sentry";
|
import { logServerError } from "../../lib/helpers/sentry";
|
||||||
import type { NextApiRequest, NextApiResponse } from "next";
|
import type { NextApiRequest, NextApiResponse } from "next";
|
||||||
|
|
||||||
@@ -26,21 +25,10 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
|||||||
return res.status(405).end();
|
return res.status(405).end();
|
||||||
}
|
}
|
||||||
|
|
||||||
const client = new faunadb.Client({
|
|
||||||
secret: process.env.FAUNADB_SERVER_SECRET || "",
|
|
||||||
checkNewVersion: false, // https://github.com/fauna/faunadb-js/pull/504
|
|
||||||
});
|
|
||||||
const { slug } = req.query;
|
const { slug } = req.query;
|
||||||
|
|
||||||
if (slug) {
|
if (slug) {
|
||||||
// increment this page's hits. retry 3 times in case of Fauna "contended transaction" error:
|
const hits = await incrementPageHits(slug as string);
|
||||||
// https://sentry.io/share/issue/9c60a58211954ed7a8dfbe289bd107b5/
|
|
||||||
const { hits } = await pRetry(() => incrementPageHits(slug, client), {
|
|
||||||
onFailedAttempt: (error) => {
|
|
||||||
console.warn(`Attempt ${error.attemptNumber} failed, trying again...`);
|
|
||||||
},
|
|
||||||
retries: 3,
|
|
||||||
});
|
|
||||||
|
|
||||||
// disable caching on both ends
|
// disable caching on both ends
|
||||||
res.setHeader("Cache-Control", "private, no-cache, no-store, must-revalidate");
|
res.setHeader("Cache-Control", "private, no-cache, no-store, must-revalidate");
|
||||||
@@ -50,7 +38,7 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
|||||||
return res.status(200).json({ hits });
|
return res.status(200).json({ hits });
|
||||||
} else {
|
} else {
|
||||||
// return overall site stats if slug not specified
|
// return overall site stats if slug not specified
|
||||||
const siteStats = await getSiteStats(client);
|
const siteStats = await getSiteStats();
|
||||||
|
|
||||||
// let Vercel edge cache results for 15 mins
|
// let Vercel edge cache results for 15 mins
|
||||||
res.setHeader("Cache-Control", "public, max-age=0, s-maxage=900, stale-while-revalidate");
|
res.setHeader("Cache-Control", "public, max-age=0, s-maxage=900, stale-while-revalidate");
|
||||||
@@ -66,54 +54,38 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
|
|||||||
await logServerError(error);
|
await logServerError(error);
|
||||||
|
|
||||||
// 500 Internal Server Error
|
// 500 Internal Server Error
|
||||||
return res.status(500).json({ success: false, message });
|
return res.status(500).json({ message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const incrementPageHits = async (slug: string | string[], client: faunadb.Client): Promise<PageStats> => {
|
const incrementPageHits = async (slug: string): Promise<number> => {
|
||||||
const q = faunadb.query;
|
const pageHits = await prisma.hits.upsert({
|
||||||
const result: { data: PageStats } = await client.query(
|
where: {
|
||||||
q.Let(
|
|
||||||
{
|
|
||||||
match: q.Match(q.Index("hits_by_slug"), slug),
|
|
||||||
},
|
|
||||||
q.If(
|
|
||||||
q.Exists(q.Var("match")),
|
|
||||||
q.Let(
|
|
||||||
{
|
|
||||||
ref: q.Select("ref", q.Get(q.Var("match"))),
|
|
||||||
hits: q.ToInteger(q.Select("hits", q.Select("data", q.Get(q.Var("match"))))),
|
|
||||||
},
|
|
||||||
q.Update(q.Var("ref"), {
|
|
||||||
data: {
|
|
||||||
hits: q.Add(q.Var("hits"), 1),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
),
|
|
||||||
q.Create(q.Collection("hits"), {
|
|
||||||
data: {
|
|
||||||
slug,
|
slug,
|
||||||
hits: 1,
|
|
||||||
},
|
},
|
||||||
})
|
create: {
|
||||||
)
|
slug,
|
||||||
)
|
},
|
||||||
);
|
update: {
|
||||||
|
hits: {
|
||||||
|
increment: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
// send client the *new* hit count
|
// send client the *new* hit count
|
||||||
return result.data;
|
return pageHits.hits;
|
||||||
};
|
};
|
||||||
|
|
||||||
const getSiteStats = async (client: faunadb.Client): Promise<SiteStats> => {
|
const getSiteStats = async (): Promise<SiteStats> => {
|
||||||
const notes = await getAllNotes();
|
const notes = await getAllNotes();
|
||||||
const q = faunadb.query;
|
const pages: SiteStats["pages"] = await prisma.hits.findMany({
|
||||||
|
orderBy: [
|
||||||
const { data: pages }: { data: SiteStats["pages"] } = await client.query(
|
{
|
||||||
q.Map(
|
hits: "desc",
|
||||||
q.Paginate(q.Documents(q.Collection("hits")), { size: 99 }),
|
},
|
||||||
q.Lambda((x) => q.Select("data", q.Get(x)))
|
],
|
||||||
)
|
});
|
||||||
);
|
|
||||||
|
|
||||||
const siteStats: SiteStats = {
|
const siteStats: SiteStats = {
|
||||||
total: { hits: 0 },
|
total: { hits: 0 },
|
||||||
@@ -135,9 +107,6 @@ const getSiteStats = async (client: faunadb.Client): Promise<SiteStats> => {
|
|||||||
return page;
|
return page;
|
||||||
});
|
});
|
||||||
|
|
||||||
// sort by hits (descending)
|
|
||||||
siteStats.pages.sort((a, b) => (a.hits > b.hits ? -1 : 1));
|
|
||||||
|
|
||||||
return siteStats;
|
return siteStats;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+5
-9
@@ -2,7 +2,6 @@ import { NextSeo } from "next-seo";
|
|||||||
import Content from "../components/Content";
|
import Content from "../components/Content";
|
||||||
import PageTitle from "../components/PageTitle";
|
import PageTitle from "../components/PageTitle";
|
||||||
import Link from "../components/Link";
|
import Link from "../components/Link";
|
||||||
import Image from "../components/Image";
|
|
||||||
import IFrame from "../components/IFrame";
|
import IFrame from "../components/IFrame";
|
||||||
import Blockquote from "../components/Blockquote";
|
import Blockquote from "../components/Blockquote";
|
||||||
import CodeInline from "../components/CodeInline";
|
import CodeInline from "../components/CodeInline";
|
||||||
@@ -10,8 +9,6 @@ import { H2 } from "../components/Heading";
|
|||||||
import { UnorderedList, ListItem } from "../components/List";
|
import { UnorderedList, ListItem } from "../components/List";
|
||||||
import { fathomSiteId, siteDomain } from "../lib/config";
|
import { fathomSiteId, siteDomain } from "../lib/config";
|
||||||
|
|
||||||
import faunaImg from "../public/static/images/privacy/fauna_hits.png";
|
|
||||||
|
|
||||||
const Privacy = () => {
|
const Privacy = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -53,13 +50,14 @@ const Privacy = () => {
|
|||||||
|
|
||||||
<p>
|
<p>
|
||||||
A very simple hit counter on each blog post tallies an aggregate number of pageviews (i.e.{" "}
|
A very simple hit counter on each blog post tallies an aggregate number of pageviews (i.e.{" "}
|
||||||
<CodeInline>hits = hits + 1</CodeInline>) in a <Link href="https://fauna.com/">Fauna</Link> database.
|
<CodeInline>hits = hits + 1</CodeInline>) in a <Link href="https://planetscale.com/">PlanetScale</Link> SQL
|
||||||
Individual views and identifying (or non-identifying) details are <strong>never stored or logged</strong>.
|
database. Individual views and identifying (or non-identifying) details are{" "}
|
||||||
|
<strong>never stored or logged</strong>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <Link href="https://github.com/jakejarvis/jarv.is/blob/main/pages/api/hits.ts">serverless function</Link>{" "}
|
The <Link href="https://github.com/jakejarvis/jarv.is/blob/main/prisma/schema.prisma">database schema</Link>,{" "}
|
||||||
and{" "}
|
<Link href="https://github.com/jakejarvis/jarv.is/blob/main/pages/api/hits.ts">serverless function</Link> and{" "}
|
||||||
<Link href="https://github.com/jakejarvis/jarv.is/blob/main/components/HitCounter/HitCounter.tsx">
|
<Link href="https://github.com/jakejarvis/jarv.is/blob/main/components/HitCounter/HitCounter.tsx">
|
||||||
client script
|
client script
|
||||||
</Link>{" "}
|
</Link>{" "}
|
||||||
@@ -67,8 +65,6 @@ const Privacy = () => {
|
|||||||
are public.
|
are public.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<Image src={faunaImg} alt="The entire database schema." />
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<Link href="https://usefathom.com/ref/ZEYG0O">
|
<Link href="https://usefathom.com/ref/ZEYG0O">
|
||||||
<strong>Fathom Analytics</strong>
|
<strong>Fathom Analytics</strong>
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
generator client {
|
||||||
|
provider = "prisma-client-js"
|
||||||
|
previewFeatures = ["referentialIntegrity"]
|
||||||
|
}
|
||||||
|
|
||||||
|
datasource db {
|
||||||
|
provider = "mysql"
|
||||||
|
url = env("PLANETSCALE_PRISMA_DATABASE_URL")
|
||||||
|
referentialIntegrity = "prisma"
|
||||||
|
}
|
||||||
|
|
||||||
|
model hits {
|
||||||
|
slug String @id @db.VarChar(128)
|
||||||
|
hits Int @default(1)
|
||||||
|
}
|
||||||
+2
-1
@@ -31,7 +31,8 @@
|
|||||||
- Next.js & React
|
- Next.js & React
|
||||||
- Vercel
|
- Vercel
|
||||||
- Stitches
|
- Stitches
|
||||||
- Fauna
|
- Prisma
|
||||||
|
- PlanetScale
|
||||||
- Giscus
|
- Giscus
|
||||||
- Fathom Analytics
|
- Fathom Analytics
|
||||||
- ...and more: https://jarv.is/uses/
|
- ...and more: https://jarv.is/uses/
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 156 KiB |
@@ -1299,6 +1299,23 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
object-assign "^4.1.1"
|
object-assign "^4.1.1"
|
||||||
|
|
||||||
|
"@prisma/client@^3.15.2":
|
||||||
|
version "3.15.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-3.15.2.tgz#2181398147afc79bfe0d83c03a88dc45b49bd365"
|
||||||
|
integrity sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==
|
||||||
|
dependencies:
|
||||||
|
"@prisma/engines-version" "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
|
||||||
|
|
||||||
|
"@prisma/engines-version@3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e":
|
||||||
|
version "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
|
||||||
|
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e.tgz#bf5e2373ca68ce7556b967cb4965a7095e93fe53"
|
||||||
|
integrity sha512-e3k2Vd606efd1ZYy2NQKkT4C/pn31nehyLhVug6To/q8JT8FpiMrDy7zmm3KLF0L98NOQQcutaVtAPhzKhzn9w==
|
||||||
|
|
||||||
|
"@prisma/engines@3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e":
|
||||||
|
version "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
|
||||||
|
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e.tgz#f691893df506b93e3cb1ccc15ec6e5ac64e8e570"
|
||||||
|
integrity sha512-NHlojO1DFTsSi3FtEleL9QWXeSF/UjhCW0fgpi7bumnNZ4wj/eQ+BJJ5n2pgoOliTOGv9nX2qXvmHap7rJMNmg==
|
||||||
|
|
||||||
"@react-spring/animated@~9.4.5":
|
"@react-spring/animated@~9.4.5":
|
||||||
version "9.4.5"
|
version "9.4.5"
|
||||||
resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.4.5.tgz#dd9921c716a4f4a3ed29491e0c0c9f8ca0eb1a54"
|
resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.4.5.tgz#dd9921c716a4f4a3ed29491e0c0c9f8ca0eb1a54"
|
||||||
@@ -1682,11 +1699,6 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/remove-markdown/-/remove-markdown-0.3.1.tgz#82bc3664c313f50f7c77f1bb59935f567689dc63"
|
resolved "https://registry.yarnpkg.com/@types/remove-markdown/-/remove-markdown-0.3.1.tgz#82bc3664c313f50f7c77f1bb59935f567689dc63"
|
||||||
integrity sha512-JpJNEJEsmmltyL2LdE8KRjJ0L2ad5vgLibqNj85clohT9AyTrfN6jvHxStPshDkmtcL/ShFu0p2tbY7DBS1mqQ==
|
integrity sha512-JpJNEJEsmmltyL2LdE8KRjJ0L2ad5vgLibqNj85clohT9AyTrfN6jvHxStPshDkmtcL/ShFu0p2tbY7DBS1mqQ==
|
||||||
|
|
||||||
"@types/retry@0.12.1":
|
|
||||||
version "0.12.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065"
|
|
||||||
integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==
|
|
||||||
|
|
||||||
"@types/sax@^1.2.1":
|
"@types/sax@^1.2.1":
|
||||||
version "1.2.4"
|
version "1.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.4.tgz#8221affa7f4f3cb21abd22f244cfabfa63e6a69e"
|
resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.4.tgz#8221affa7f4f3cb21abd22f244cfabfa63e6a69e"
|
||||||
@@ -1849,13 +1861,6 @@ ajv@^6.10.0, ajv@^6.12.4:
|
|||||||
json-schema-traverse "^0.4.1"
|
json-schema-traverse "^0.4.1"
|
||||||
uri-js "^4.2.2"
|
uri-js "^4.2.2"
|
||||||
|
|
||||||
ansi-align@^3.0.0:
|
|
||||||
version "3.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
|
|
||||||
integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
|
|
||||||
dependencies:
|
|
||||||
string-width "^4.1.0"
|
|
||||||
|
|
||||||
ansi-escapes@^4.3.0:
|
ansi-escapes@^4.3.0:
|
||||||
version "4.3.2"
|
version "4.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
|
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
|
||||||
@@ -2024,30 +2029,11 @@ balanced-match@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||||
|
|
||||||
base64-js@^1.2.0:
|
|
||||||
version "1.5.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
|
||||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
|
||||||
|
|
||||||
boolbase@^1.0.0:
|
boolbase@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
|
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
|
||||||
integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
|
integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
|
||||||
|
|
||||||
boxen@^5.0.1:
|
|
||||||
version "5.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50"
|
|
||||||
integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
|
|
||||||
dependencies:
|
|
||||||
ansi-align "^3.0.0"
|
|
||||||
camelcase "^6.2.0"
|
|
||||||
chalk "^4.1.0"
|
|
||||||
cli-boxes "^2.2.1"
|
|
||||||
string-width "^4.2.2"
|
|
||||||
type-fest "^0.20.2"
|
|
||||||
widest-line "^3.1.0"
|
|
||||||
wrap-ansi "^7.0.0"
|
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.11"
|
version "1.1.11"
|
||||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
||||||
@@ -2073,11 +2059,6 @@ browserslist@^4.20.2, browserslist@^4.20.4:
|
|||||||
node-releases "^2.0.5"
|
node-releases "^2.0.5"
|
||||||
update-browserslist-db "^1.0.0"
|
update-browserslist-db "^1.0.0"
|
||||||
|
|
||||||
btoa-lite@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337"
|
|
||||||
integrity sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==
|
|
||||||
|
|
||||||
call-bind@^1.0.0, call-bind@^1.0.2:
|
call-bind@^1.0.0, call-bind@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
|
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
|
||||||
@@ -2115,7 +2096,7 @@ chalk@^2.0.0:
|
|||||||
escape-string-regexp "^1.0.5"
|
escape-string-regexp "^1.0.5"
|
||||||
supports-color "^5.3.0"
|
supports-color "^5.3.0"
|
||||||
|
|
||||||
chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1:
|
chalk@^4.0.0, chalk@^4.1.0:
|
||||||
version "4.1.2"
|
version "4.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
||||||
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
||||||
@@ -2160,11 +2141,6 @@ clean-stack@^4.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp "5.0.0"
|
escape-string-regexp "5.0.0"
|
||||||
|
|
||||||
cli-boxes@^2.2.1:
|
|
||||||
version "2.2.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
|
|
||||||
integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
|
|
||||||
|
|
||||||
cli-cursor@^3.1.0:
|
cli-cursor@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
|
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
|
||||||
@@ -2302,13 +2278,6 @@ cross-env@^7.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
cross-spawn "^7.0.1"
|
cross-spawn "^7.0.1"
|
||||||
|
|
||||||
cross-fetch@^3.1.5:
|
|
||||||
version "3.1.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
|
|
||||||
integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
|
|
||||||
dependencies:
|
|
||||||
node-fetch "2.6.7"
|
|
||||||
|
|
||||||
cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||||
version "7.0.3"
|
version "7.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||||
@@ -2494,11 +2463,6 @@ domutils@^2.8.0:
|
|||||||
domelementtype "^2.2.0"
|
domelementtype "^2.2.0"
|
||||||
domhandler "^4.2.0"
|
domhandler "^4.2.0"
|
||||||
|
|
||||||
dotenv@^8.2.0:
|
|
||||||
version "8.6.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b"
|
|
||||||
integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==
|
|
||||||
|
|
||||||
duplexer@^0.1.2:
|
duplexer@^0.1.2:
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
|
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
|
||||||
@@ -2968,22 +2932,6 @@ fathom-client@^3.5.0:
|
|||||||
resolved "https://registry.yarnpkg.com/fathom-client/-/fathom-client-3.5.0.tgz#47bf3e67fa789ec415fe6efdc0ec02b9187b4b0d"
|
resolved "https://registry.yarnpkg.com/fathom-client/-/fathom-client-3.5.0.tgz#47bf3e67fa789ec415fe6efdc0ec02b9187b4b0d"
|
||||||
integrity sha512-BiRDS9Q9a8Zma0H717FWC5cvf545K/CsxBpxKT22TcSl1EbRhhlHWIJgrdeiQUfdorBK2ppy09TwMOhRsbos/A==
|
integrity sha512-BiRDS9Q9a8Zma0H717FWC5cvf545K/CsxBpxKT22TcSl1EbRhhlHWIJgrdeiQUfdorBK2ppy09TwMOhRsbos/A==
|
||||||
|
|
||||||
faunadb@^4.6.0:
|
|
||||||
version "4.6.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/faunadb/-/faunadb-4.6.0.tgz#86ffe4a2b9e6efdf29103d61623edfbaba53dd60"
|
|
||||||
integrity sha512-lBCS9wOLIdoeQmhzFvNAXM9B4T3Ptv2HUf0RrPsC2LA1zPtTQFBtdhH7fvTlwRyUawIKDjs1wn5pk2o8g0Cylg==
|
|
||||||
dependencies:
|
|
||||||
base64-js "^1.2.0"
|
|
||||||
boxen "^5.0.1"
|
|
||||||
btoa-lite "^1.0.0"
|
|
||||||
chalk "^4.1.1"
|
|
||||||
cross-fetch "^3.1.5"
|
|
||||||
dotenv "^8.2.0"
|
|
||||||
fn-annotate "^1.1.3"
|
|
||||||
node-abort-controller "^3.0.1"
|
|
||||||
object-assign "^4.1.0"
|
|
||||||
util-deprecate "^1.0.2"
|
|
||||||
|
|
||||||
feather-icons@^4.29.0:
|
feather-icons@^4.29.0:
|
||||||
version "4.29.0"
|
version "4.29.0"
|
||||||
resolved "https://registry.yarnpkg.com/feather-icons/-/feather-icons-4.29.0.tgz#4e40e3cbb7bf359ffbbf700edbebdde4e4a74ab6"
|
resolved "https://registry.yarnpkg.com/feather-icons/-/feather-icons-4.29.0.tgz#4e40e3cbb7bf359ffbbf700edbebdde4e4a74ab6"
|
||||||
@@ -3038,11 +2986,6 @@ flatted@^3.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
|
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
|
||||||
integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
|
integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
|
||||||
|
|
||||||
fn-annotate@^1.1.3:
|
|
||||||
version "1.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/fn-annotate/-/fn-annotate-1.2.0.tgz#28da000117dea61842fe61f353f41cf4c93a7a7e"
|
|
||||||
integrity sha512-j2gv2wkRhQgkJNf1ygdca8ynP3tK+a87bowc+RG81iWTye3yKIOeAkrKYv0Kqyh8yCeSyljOk3ZFelfXUFpirA==
|
|
||||||
|
|
||||||
formik@^2.2.9:
|
formik@^2.2.9:
|
||||||
version "2.2.9"
|
version "2.2.9"
|
||||||
resolved "https://registry.yarnpkg.com/formik/-/formik-2.2.9.tgz#8594ba9c5e2e5cf1f42c5704128e119fc46232d0"
|
resolved "https://registry.yarnpkg.com/formik/-/formik-2.2.9.tgz#8594ba9c5e2e5cf1f42c5704128e119fc46232d0"
|
||||||
@@ -4555,12 +4498,7 @@ nlcst-to-string@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@types/nlcst" "^1.0.0"
|
"@types/nlcst" "^1.0.0"
|
||||||
|
|
||||||
node-abort-controller@^3.0.1:
|
node-fetch@^2.6.7:
|
||||||
version "3.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.0.1.tgz#f91fa50b1dee3f909afabb7e261b1e1d6b0cb74e"
|
|
||||||
integrity sha512-/ujIVxthRs+7q6hsdjHMaj8hRG9NuWmwrz+JdRwZ14jdFoKSkm+vDsCbF9PLpnSqjaWQJuTmVtcWHNLr+vrOFw==
|
|
||||||
|
|
||||||
node-fetch@2.6.7, node-fetch@^2.6.7:
|
|
||||||
version "2.6.7"
|
version "2.6.7"
|
||||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
|
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
|
||||||
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
|
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
|
||||||
@@ -4591,7 +4529,7 @@ nth-check@^2.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
boolbase "^1.0.0"
|
boolbase "^1.0.0"
|
||||||
|
|
||||||
object-assign@^4.1.0, object-assign@^4.1.1:
|
object-assign@^4.1.1:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
|
||||||
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
|
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
|
||||||
@@ -4717,14 +4655,6 @@ p-map@^5.5.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
aggregate-error "^4.0.0"
|
aggregate-error "^4.0.0"
|
||||||
|
|
||||||
p-retry@^5.1.1:
|
|
||||||
version "5.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-5.1.1.tgz#1950b9be441474a67f852811c1d4ec955885d2c8"
|
|
||||||
integrity sha512-i69WkEU5ZAL8mrmdmVviWwU+DN+IUF8f4sSJThoJ3z5A7Nn5iuO5ROX3Boye0u+uYQLOSfgFl7SuFZCjlAVbQA==
|
|
||||||
dependencies:
|
|
||||||
"@types/retry" "0.12.1"
|
|
||||||
retry "^0.13.1"
|
|
||||||
|
|
||||||
p-try@^1.0.0:
|
p-try@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
|
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
|
||||||
@@ -4859,6 +4789,13 @@ prettier@^2.7.1:
|
|||||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
|
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
|
||||||
integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
|
integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
|
||||||
|
|
||||||
|
prisma@^3.15.2:
|
||||||
|
version "3.15.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/prisma/-/prisma-3.15.2.tgz#4ebe32fb284da3ac60c49fbc16c75e56ecf32067"
|
||||||
|
integrity sha512-nMNSMZvtwrvoEQ/mui8L/aiCLZRCj5t6L3yujKpcDhIPk7garp8tL4nMx2+oYsN0FWBacevJhazfXAbV1kfBzA==
|
||||||
|
dependencies:
|
||||||
|
"@prisma/engines" "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
|
||||||
|
|
||||||
prop-types@^15.7.2, prop-types@^15.8.1:
|
prop-types@^15.7.2, prop-types@^15.8.1:
|
||||||
version "15.8.1"
|
version "15.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
|
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
|
||||||
@@ -5250,11 +5187,6 @@ retext@^8.1.0:
|
|||||||
retext-stringify "^3.0.0"
|
retext-stringify "^3.0.0"
|
||||||
unified "^10.0.0"
|
unified "^10.0.0"
|
||||||
|
|
||||||
retry@^0.13.1:
|
|
||||||
version "0.13.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
|
|
||||||
integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
|
|
||||||
|
|
||||||
reusify@^1.0.4:
|
reusify@^1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
|
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
|
||||||
@@ -5522,7 +5454,7 @@ string-argv@^0.3.1:
|
|||||||
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
|
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
|
||||||
integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
|
integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
|
||||||
|
|
||||||
string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2:
|
string-width@^4.1.0, string-width@^4.2.0:
|
||||||
version "4.2.3"
|
version "4.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||||
@@ -5983,11 +5915,6 @@ use-sync-external-store@1.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.1.0.tgz#3343c3fe7f7e404db70f8c687adf5c1652d34e82"
|
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.1.0.tgz#3343c3fe7f7e404db70f8c687adf5c1652d34e82"
|
||||||
integrity sha512-SEnieB2FPKEVne66NpXPd1Np4R1lTNKfjuy3XdIoPQKYBAFdzbzSZlSn1KJZUiihQLQC5Znot4SBz1EOTBwQAQ==
|
integrity sha512-SEnieB2FPKEVne66NpXPd1Np4R1lTNKfjuy3XdIoPQKYBAFdzbzSZlSn1KJZUiihQLQC5Znot4SBz1EOTBwQAQ==
|
||||||
|
|
||||||
util-deprecate@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
|
||||||
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
|
||||||
|
|
||||||
uvu@^0.5.0:
|
uvu@^0.5.0:
|
||||||
version "0.5.4"
|
version "0.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.4.tgz#5a37482ade580b7d817569e0b2c013712857293c"
|
resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.4.tgz#5a37482ade580b7d817569e0b2c013712857293c"
|
||||||
@@ -6089,13 +6016,6 @@ which@^2.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
isexe "^2.0.0"
|
isexe "^2.0.0"
|
||||||
|
|
||||||
widest-line@^3.1.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
|
|
||||||
integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
|
|
||||||
dependencies:
|
|
||||||
string-width "^4.0.0"
|
|
||||||
|
|
||||||
word-wrap@^1.2.3:
|
word-wrap@^1.2.3:
|
||||||
version "1.2.3"
|
version "1.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
|
||||||
|
|||||||
Reference in New Issue
Block a user