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

finally fix slow typescript compilation!

see https://github.com/stitchesjs/stitches/issues/1038
This commit is contained in:
2022-06-13 06:47:29 -04:00
parent cef74d4e97
commit 1776173cab
22 changed files with 104 additions and 101 deletions

View File

@ -28,7 +28,7 @@ const Captcha = ({ size = "normal", theme, className, ...rest }: CaptchaProps) =
<div className={className}>
{hasMounted && (
<HCaptcha
sitekey={process.env.NEXT_PUBLIC_HCAPTCHA_SITE_KEY}
sitekey={process.env.NEXT_PUBLIC_HCAPTCHA_SITE_KEY || ""}
reCaptchaCompat={false}
tabIndex={0}
size={size}

View File

@ -142,7 +142,7 @@ export type ContactFormProps = {
const ContactForm = ({ className }: ContactFormProps) => {
// status/feedback:
const [submitted, setSubmitted] = useState(false);
const [success, setSuccess] = useState(null);
const [success, setSuccess] = useState(false);
const [feedback, setFeedback] = useState("");
const handleSubmit = (values: Values, { setSubmitting }: FormikHelpers<Values>) => {
@ -197,7 +197,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
"h-captcha-response": "",
}}
validate={(values: Values) => {
const errors: { name?: boolean; email?: boolean; message?: boolean; "h-captcha-response"?: boolean } = {};
const errors: Partial<Record<keyof Values, boolean>> = {};
errors.name = !values.name;
errors.email = !values.email; // also loosely validated that it's email-like via browser (not foolproof)
@ -206,7 +206,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
if (!errors.name && !errors.email && !errors.message && !errors["h-captcha-response"]) {
setFeedback("");
return null;
return {};
} else {
setSuccess(false);
setFeedback("Please make sure that all fields are properly filled in.");
@ -218,6 +218,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
{({ setFieldValue, isSubmitting }) => (
<Form className={className} name="contact">
<Field name="name">
{/* @ts-ignore */}
{({ field, meta }) => (
<Input
type="text"
@ -230,6 +231,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
</Field>
<Field name="email">
{/* @ts-ignore */}
{({ field, meta }) => (
<Input
type="email"
@ -243,6 +245,7 @@ const ContactForm = ({ className }: ContactFormProps) => {
</Field>
<Field name="message">
{/* @ts-ignore */}
{({ field, meta }) => (
<TextArea
placeholder="Write something..."

View File

@ -96,7 +96,7 @@ const Footer = ({ ...rest }: FooterProps) => {
<Link href="/previously/" prefetch={false} title="Previously on...">
2001
</Link>{" "}
{new Date(process.env.NEXT_PUBLIC_RELEASE_DATE).getUTCFullYear()}.
{new Date(process.env.NEXT_PUBLIC_RELEASE_DATE || Date.now()).getUTCFullYear()}.
</div>
<div>

View File

@ -20,10 +20,9 @@ const RoundedImage = styled(NextImage, {
borderRadius: "$rounded",
});
export type ImageProps = NextImageProps &
ComponentProps<typeof RoundedImage> & {
href?: string; // optionally wrap image in a link
};
export type ImageProps = ComponentProps<typeof RoundedImage> & {
href?: string; // optionally wrap image in a link
};
const Image = ({
src,

View File

@ -2,7 +2,6 @@ import NextLink from "next/link";
import { styled } from "../../lib/styles/stitches.config";
import { baseUrl } from "../../lib/config";
import type { ComponentProps } from "react";
import type { LinkProps as NextLinkProps } from "next/link";
const StyledLink = styled(NextLink, {
color: "$link",
@ -37,11 +36,9 @@ const StyledLink = styled(NextLink, {
},
});
export type LinkProps = Omit<ComponentProps<typeof StyledLink>, "href"> &
NextLinkProps & {
underline?: boolean;
openInNewTab?: boolean;
};
export type LinkProps = ComponentProps<typeof StyledLink> & {
openInNewTab?: boolean;
};
const Link = ({ href, rel, target, prefetch = false, underline = true, openInNewTab, ...rest }: LinkProps) => {
// This component auto-detects whether or not this link should open in the same window (the default for internal

View File

@ -118,7 +118,7 @@ const NoteMeta = ({ slug, date, title, htmlTitle, tags = [] }: NoteMetaProps) =>
)}
</Wrapper>
<NoteTitle slug={slug} htmlTitle={htmlTitle || title} />
<NoteTitle {...{ slug, title, htmlTitle }} />
</>
);
};

View File

@ -23,9 +23,9 @@ const Link = styled(NextLink, {
textDecoration: "none",
});
export type NoteTitleProps = Pick<NoteFrontMatter, "slug" | "htmlTitle"> & ComponentProps<typeof Title>;
export type NoteTitleProps = Pick<NoteFrontMatter, "slug" | "title" | "htmlTitle"> & ComponentProps<typeof Title>;
const NoteTitle = ({ slug, htmlTitle, ...rest }: NoteTitleProps) => {
const NoteTitle = ({ slug, title, htmlTitle, ...rest }: NoteTitleProps) => {
return (
<Title {...rest}>
<Link
@ -33,7 +33,7 @@ const NoteTitle = ({ slug, htmlTitle, ...rest }: NoteTitleProps) => {
pathname: "/notes/[slug]/",
query: { slug },
}}
dangerouslySetInnerHTML={{ __html: htmlTitle }}
dangerouslySetInnerHTML={{ __html: htmlTitle || title }}
/>
</Title>
);

View File

@ -1,6 +1,7 @@
import Link from "../Link";
import Time from "../Time";
import { styled } from "../../lib/styles/stitches.config";
import type { ReactElement } from "react";
import type { NoteFrontMatter } from "../../types";
const Section = styled("section", {
@ -54,18 +55,18 @@ const PostDate = styled(Time, {
});
export type NotesListProps = {
notesByYear: Record<string, NoteFrontMatter[]>;
notesByYear: { [key: string]: NoteFrontMatter[] };
};
const NotesList = ({ notesByYear }: NotesListProps) => {
const sections = [];
const sections: ReactElement[] = [];
Object.entries(notesByYear).forEach(([year, notes]: [string, NoteFrontMatter[]]) => {
sections.push(
<Section key={year}>
<Year>{year}</Year>
<List>
{notes.map(({ slug, date, htmlTitle }) => (
{notes.map(({ slug, date, title, htmlTitle }) => (
<Post key={slug}>
<PostDate date={date} format="MMM D" />
<span>
@ -74,7 +75,7 @@ const NotesList = ({ notesByYear }: NotesListProps) => {
pathname: "/notes/[slug]/",
query: { slug },
}}
dangerouslySetInnerHTML={{ __html: htmlTitle }}
dangerouslySetInnerHTML={{ __html: htmlTitle || title }}
/>
</span>
</Post>

View File

@ -96,7 +96,7 @@ const RepositoryCard = ({
</MetaItem>
)}
{stars > 0 && (
{stars && stars > 0 && (
<MetaItem>
<MetaLink
href={`${url}/stargazers`}
@ -110,7 +110,7 @@ const RepositoryCard = ({
</MetaItem>
)}
{forks > 0 && (
{forks && forks > 0 && (
<MetaItem>
<MetaLink
href={`${url}/network/members`}

View File

@ -1,5 +1,6 @@
import { useRef, useEffect, useState, memo } from "react";
import { useRouter } from "next/router";
// @ts-ignore
import RFB from "@novnc/novnc/core/rfb.js";
import Terminal from "../Terminal";
import { styled } from "../../lib/styles/stitches.config";
@ -54,7 +55,8 @@ const VNC = ({ server }: VNCProps) => {
const [message, setMessage] = useState({ message: "", anyKey: false });
// the actual connection and virtual screen (injected by noVNC when it's ready)
const rfbRef = useRef(null);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const rfbRef = useRef<any>(null);
const screenRef = useRef<HTMLDivElement>(null);
// ends the session forcefully

View File

@ -8,11 +8,11 @@ export const ThemeContext: Context<{
* If the user's theme preference is unset, this returns whether the system preference resolved to "light" or "dark".
* If the user's theme preference is set, the preference is returned instead, regardless of their system's theme.
*/
activeTheme: "light" | "dark" | undefined;
activeTheme: string;
/** Update the theme manually and save to local storage. */
setTheme: (theme: string) => void;
}> = createContext({
activeTheme: undefined,
activeTheme: "",
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
setTheme: (_) => {},
});
@ -28,7 +28,7 @@ export const ThemeProvider = ({
};
}>) => {
// keep track of if/when the user has set their theme *on this site*
const [preferredTheme, setPreferredTheme] = useLocalStorage(themeStorageKey, null, { raw: true });
const [preferredTheme, setPreferredTheme] = useLocalStorage<string>(themeStorageKey, undefined, { raw: true });
// keep track of changes to the user's OS/browser dark mode setting
const [systemTheme, setSystemTheme] = useState("");
// hook into system `prefers-dark-mode` setting
@ -71,7 +71,7 @@ export const ThemeProvider = ({
useEffect(() => {
// only "light" and "dark" are valid here
// https://web.dev/color-scheme/#the-color-scheme-css-property
const colorScheme = ["light", "dark"].includes(preferredTheme) ? preferredTheme : systemTheme;
const colorScheme = preferredTheme && ["light", "dark"].includes(preferredTheme) ? preferredTheme : systemTheme;
document.documentElement.style?.setProperty("color-scheme", colorScheme);
}, [preferredTheme, systemTheme]);
@ -79,7 +79,7 @@ export const ThemeProvider = ({
return (
<ThemeContext.Provider
value={{
activeTheme: themeNames.includes(preferredTheme) ? preferredTheme : systemTheme,
activeTheme: preferredTheme && themeNames.includes(preferredTheme) ? preferredTheme : systemTheme,
setTheme: useCallback(
(theme: string) => {
// force save to local storage

View File

@ -6,4 +6,4 @@ import path from "path";
export const NOTES_DIR = path.join(process.cwd(), "notes");
// normalize the timestamp saved when building/deploying (see next.config.js) and fall back to right now:
export const RELEASE_DATE = new Date(process.env.NEXT_PUBLIC_RELEASE_DATE ?? Date.now()).toISOString();
export const RELEASE_DATE = new Date(process.env.NEXT_PUBLIC_RELEASE_DATE || Date.now()).toISOString();

View File

@ -134,7 +134,7 @@ export const articleJsonLd: Pick<ArticleJsonLdProps, "authorName" | "publisherNa
};
// Re-export icons to use their static image data elsewhere
export const favicons: Record<string, StaticImageData> = {
export const favicons: { [key: string]: StaticImageData } = {
faviconIco,
faviconPng,
appleTouchIconPng,

View File

@ -16,7 +16,7 @@ export type BuildFeedOptions = {
export const buildFeed = async (
context: GetServerSidePropsContext<ParsedUrlQuery, PreviewData>,
options: BuildFeedOptions
): Promise<{ props: Record<string, unknown> }> => {
): Promise<{ props: { [key: string]: unknown } }> => {
const { res } = context;
// https://github.com/jpmonette/feed#example

View File

@ -12,7 +12,7 @@ const IsomorphicSentry = () => {
return Sentry;
};
export const logServerError = async (error: string | Error) => {
export const logServerError = async (error: unknown) => {
try {
const sentryInstance = IsomorphicSentry();

View File

@ -3,7 +3,7 @@
import type * as Stitches from "@stitches/react";
const normalizeStyles: Record<string, Stitches.CSSProperties> = {
const normalizeStyles: { [key: string]: Stitches.CSSProperties } = {
"*, ::before, ::after": {
boxSizing: "border-box",
},

View File

@ -41,7 +41,7 @@
"formik": "^2.2.9",
"gray-matter": "^4.0.3",
"hex-to-rgba": "^2.0.1",
"marked": "^4.0.16",
"marked": "^4.0.17",
"next": "12.1.7-canary.35",
"next-compose-plugins": "^2.2.1",
"next-mdx-remote": "^4.0.3",
@ -69,7 +69,7 @@
"remark-smartypants": "^2.0.0",
"remark-unwrap-images": "^3.0.1",
"remove-markdown": "^0.5.0",
"simple-icons": "^7.0.0",
"simple-icons": "^7.1.0",
"sitemap": "^7.1.1",
"swr": "^1.3.0"
},
@ -97,7 +97,7 @@
"lint-staged": "^13.0.1",
"prettier": "^2.6.2",
"simple-git-hooks": "^2.8.0",
"typescript": "4.7.2",
"typescript": "^4.7.3",
"uglify-js": "^3.16.0"
},
"engines": {

View File

@ -27,7 +27,7 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
}
const client = new faunadb.Client({
secret: process.env.FAUNADB_SERVER_SECRET,
secret: process.env.FAUNADB_SERVER_SECRET || "",
checkNewVersion: false, // https://github.com/fauna/faunadb-js/pull/504
});
const { slug } = req.query;

View File

@ -17,7 +17,7 @@ const Note = ({ frontMatter, source }: Note) => {
<>
<NextSeo
title={frontMatter.title}
description={frontMatter.description}
description={frontMatter.description || config.longDescription}
canonical={frontMatter.permalink}
openGraph={{
title: frontMatter.title,
@ -29,6 +29,7 @@ const Note = ({ frontMatter, source }: Note) => {
publishedTime: frontMatter.date,
modifiedTime: frontMatter.date,
},
// @ts-ignore
images: frontMatter.image && [
{
url: `${config.baseUrl}${frontMatter.image}`,
@ -43,9 +44,10 @@ const Note = ({ frontMatter, source }: Note) => {
<ArticleJsonLd
url={frontMatter.permalink}
title={frontMatter.title}
description={frontMatter.description}
description={frontMatter.description || config.longDescription}
datePublished={frontMatter.date}
dateModified={frontMatter.date}
// @ts-ignore
images={frontMatter.image && [`${config.baseUrl}${frontMatter.image}`]}
{...articleJsonLd}
/>
@ -74,8 +76,8 @@ const Note = ({ frontMatter, source }: Note) => {
);
};
export const getStaticProps: GetStaticProps = async ({ params }: { params: Pick<NoteFrontMatter, "slug"> }) => {
const { frontMatter, source } = await compileNote(params.slug);
export const getStaticProps: GetStaticProps = async ({ params }) => {
const { frontMatter, source } = await compileNote((params as Pick<NoteFrontMatter, "slug">).slug);
return {
props: {

View File

@ -72,7 +72,8 @@ const Projects = ({ repos }: { repos: Repository[] }) => {
export const getStaticProps: GetStaticProps = async () => {
// https://docs.github.com/en/graphql/reference/objects#repository
const { user } = await graphql(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const response: any = await graphql(
`
query ($username: String!, $sort: RepositoryOrderField!, $limit: Int) {
user(login: $username) {
@ -113,7 +114,10 @@ export const getStaticProps: GetStaticProps = async () => {
}
);
const repos: Repository[] = user.repositories.edges.map(({ node: repo }) => ({
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const results: { node: { [key: string]: any } }[] = response.user.repositories.edges;
const repos = results.map<Repository>(({ node: repo }) => ({
name: repo.name,
url: repo.url,
description: repo.description,

View File

@ -4,7 +4,7 @@
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"incremental": true,
@ -15,6 +15,6 @@
"isolatedModules": true,
"jsx": "preserve"
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "lib/config/index.js"],
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}

101
yarn.lock
View File

@ -18,9 +18,9 @@
"@babel/highlight" "^7.16.7"
"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10":
version "7.17.10"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab"
integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471"
integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==
"@babel/core@7.12.9":
version "7.12.9"
@ -45,9 +45,9 @@
source-map "^0.5.0"
"@babel/core@^7.15.5":
version "7.18.2"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876"
integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000"
integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.16.7"
@ -55,10 +55,10 @@
"@babel/helper-compilation-targets" "^7.18.2"
"@babel/helper-module-transforms" "^7.18.0"
"@babel/helpers" "^7.18.2"
"@babel/parser" "^7.18.0"
"@babel/parser" "^7.18.5"
"@babel/template" "^7.16.7"
"@babel/traverse" "^7.18.2"
"@babel/types" "^7.18.2"
"@babel/traverse" "^7.18.5"
"@babel/types" "^7.18.4"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
@ -285,10 +285,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.12.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0":
version "7.18.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef"
integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==
"@babel/parser@^7.12.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.5":
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c"
integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12":
version "7.17.12"
@ -700,9 +700,9 @@
babel-plugin-dynamic-import-node "^2.3.3"
"@babel/plugin-transform-modules-systemjs@^7.18.0":
version "7.18.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz#3d6fd9868c735cce8f38d6ae3a407fb7e61e6d46"
integrity sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz#87f11c44fbfd3657be000d4897e192d9cb535996"
integrity sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==
dependencies:
"@babel/helper-hoist-variables" "^7.16.7"
"@babel/helper-module-transforms" "^7.18.0"
@ -727,9 +727,9 @@
"@babel/helper-plugin-utils" "^7.17.12"
"@babel/plugin-transform-new-target@^7.17.12":
version "7.17.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz#10842cd605a620944e81ea6060e9e65c265742e3"
integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz#8c228c4a07501dd12c95c5f23d1622131cc23931"
integrity sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==
dependencies:
"@babel/helper-plugin-utils" "^7.17.12"
@ -1007,10 +1007,10 @@
"@babel/parser" "^7.16.7"
"@babel/types" "^7.16.7"
"@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2":
version "7.18.2"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8"
integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==
"@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5":
version "7.18.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd"
integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==
dependencies:
"@babel/code-frame" "^7.16.7"
"@babel/generator" "^7.18.2"
@ -1018,12 +1018,12 @@
"@babel/helper-function-name" "^7.17.9"
"@babel/helper-hoist-variables" "^7.16.7"
"@babel/helper-split-export-declaration" "^7.16.7"
"@babel/parser" "^7.18.0"
"@babel/types" "^7.18.2"
"@babel/parser" "^7.18.5"
"@babel/types" "^7.18.4"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.12.7", "@babel/types@^7.15.6", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.4.4":
"@babel/types@^7.12.7", "@babel/types@^7.15.6", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.4.4":
version "7.18.4"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354"
integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==
@ -1606,11 +1606,6 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
"@types/estree@^0.0.46":
version "0.0.46"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe"
integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==
"@types/hast@^2.0.0":
version "2.3.4"
resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc"
@ -2959,11 +2954,11 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
estree-util-attach-comments@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.0.0.tgz#2c06d484dfcf841b5946bcb84d5412cbcd544e22"
integrity sha512-kT9YVRvlt2ewPp9BazfIIgXMGsXOEpOm57bK8aa4F3eOEndMml2JAETjWaG3SZYHmC6axSNIzHGY718dYwIuVg==
version "2.0.1"
resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.0.1.tgz#57dd0ae170ce2a6d9170ad69e6a45c87bcb52d81"
integrity sha512-1wTBNndwMIsnvnuxjFIaYQz0M7PsCvcgP0YD7/dU8xWh1FuHk+O6pYpT4sLa5THY/CywJvdIdgw4uhozujga/g==
dependencies:
"@types/estree" "^0.0.46"
"@types/estree" "^0.0.51"
estree-util-build-jsx@^2.0.0:
version "2.1.0"
@ -2975,9 +2970,9 @@ estree-util-build-jsx@^2.0.0:
estree-walker "^3.0.0"
estree-util-is-identifier-name@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.0.tgz#e2d3d2ae3032c017b2112832bfc5d8ba938c8010"
integrity sha512-aXXZFVMnBBDRP81vS4YtAYJ0hUkgEsXea7lNKWCOeaAquGb1Jm2rcONPB5fpzwgbNxulTvrWuKnp9UElUGAKeQ==
version "2.0.1"
resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz#cf07867f42705892718d9d89eb2d85eaa8f0fcb5"
integrity sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==
estree-util-visit@^1.0.0:
version "1.1.0"
@ -4010,10 +4005,10 @@ markdown-table@^3.0.0:
resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.2.tgz#9b59eb2c1b22fe71954a65ff512887065a7bb57c"
integrity sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==
marked@^4.0.16:
version "4.0.16"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264"
integrity sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==
marked@^4.0.17:
version "4.0.17"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.17.tgz#1186193d85bb7882159cdcfc57d1dfccaffb3fe9"
integrity sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA==
mdast-util-compact@^2.0.0:
version "2.0.1"
@ -5665,10 +5660,10 @@ simple-git-hooks@^2.8.0:
resolved "https://registry.yarnpkg.com/simple-git-hooks/-/simple-git-hooks-2.8.0.tgz#291558785af6e17ca0c7a4f9d3d91e8635965a64"
integrity sha512-ocmZQORwa6x9mxg+gVIAp5o4wXiWOHGXyrDBA0+UxGKIEKOyFtL4LWNKkP/2ornQPdlnlDGDteVeYP5FjhIoWA==
simple-icons@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/simple-icons/-/simple-icons-7.0.0.tgz#deb87a417387daead745eb084f88face6e47bc15"
integrity sha512-5jwnZ04C2PmdKrLe6HSZLmsmP77WvZtNau0hGgSqEi2pplcP3yiiE4/f0Emgix8tItWKsYkS1TQI75yZhr8Xjw==
simple-icons@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/simple-icons/-/simple-icons-7.1.0.tgz#c74bfbe1428429b4adff6bfc591b993125340641"
integrity sha512-u32skuPxDBFeCGjzFHCnTJHMuHF17H8Im9r6HYFkRXRz228qz4ZnLDS+sj2OrGq95YG0mbeCN2zJVsxb1tq13Q==
sirv@^1.0.7:
version "1.0.19"
@ -6098,10 +6093,10 @@ type-fest@^0.21.3:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
typescript@4.7.2:
version "4.7.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4"
integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==
typescript@^4.7.3:
version "4.7.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d"
integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==
uglify-js@^3.16.0:
version "3.16.0"
@ -6453,7 +6448,7 @@ web-namespaces@^2.0.0:
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
webpack-bundle-analyzer@4.3.0:
version "4.3.0"
@ -6473,7 +6468,7 @@ webpack-bundle-analyzer@4.3.0:
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
@ -6529,7 +6524,7 @@ wrap-ansi@^7.0.0:
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
ws@^7.3.1:
version "7.5.8"