chore: enable noImplicitAny TypeScript rule (#94)

This commit is contained in:
Laurin Quast 2022-06-27 13:00:41 +02:00 committed by GitHub
parent bffaf4a01d
commit 8a0e0cd300
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 442 additions and 173 deletions

View file

@ -68,7 +68,9 @@ generates:
# App
./packages/web/app/src/graphql/index.ts:
documents: ./packages/web/app/src/graphql/*.graphql
documents:
- ./packages/web/app/src/graphql/*.graphql
- './packages/web/app/src/(components|lib)/**/*.ts(x)?'
config:
dedupeFragments: true
scalars:

View file

@ -39,12 +39,12 @@
"@graphql-codegen/add": "3.1.1",
"@graphql-codegen/cli": "2.6.2",
"@graphql-codegen/gql-tag-operations-preset": "1.4.0",
"@graphql-codegen/graphql-modules-preset": "2.3.11",
"@graphql-codegen/typed-document-node": "2.2.11",
"@graphql-codegen/typescript": "2.4.11",
"@graphql-codegen/typescript-graphql-request": "4.4.8",
"@graphql-codegen/typescript-operations": "2.4.0",
"@graphql-codegen/typescript-resolvers": "2.6.4",
"@graphql-codegen/graphql-modules-preset": "2.3.13",
"@graphql-codegen/typed-document-node": "2.2.13",
"@graphql-codegen/typescript": "2.5.1",
"@graphql-codegen/typescript-graphql-request": "4.4.10",
"@graphql-codegen/typescript-operations": "2.4.2",
"@graphql-codegen/typescript-resolvers": "2.6.6",
"@swc/core": "1.2.185",
"@theguild/prettier-config": "0.0.1",
"@types/jest": "27.5.1",

View file

@ -1 +1,10 @@
/* eslint-disable import/no-unused-modules */
declare module 'node-crisp-api';
declare module 'tailwindcss/colors';
declare module '@n1ru4l/react-time-ago' {
export function TimeAgo(props: {
date: Date;
children: (args: { value: string }) => React.ReactElement;
}): React.ReactElement;
}

View file

@ -39,6 +39,11 @@ const titleMap: Record<CriticalityLevel, string> = {
Dangerous: 'Dangerous Changes',
};
const criticalityLevelMapping = {
[CriticalityLevel.Safe]: 'text-emerald-400',
[CriticalityLevel.Dangerous]: 'text-yellow-400',
} as Record<CriticalityLevel, string | undefined>;
const ChangesBlock = ({
changes,
criticality,
@ -57,15 +62,7 @@ const ChangesBlock = ({
<h2 className="mb-2 text-lg font-medium text-gray-900 dark:text-white">{titleMap[criticality]}</h2>
<ul className="list-inside list-disc pl-3 text-base leading-relaxed">
{filteredChanges.map((change, key) => (
<li
key={key}
className={clsx(
{
[CriticalityLevel.Safe]: 'text-emerald-400',
[CriticalityLevel.Dangerous]: 'text-yellow-400',
}[criticality] || 'text-red-400'
)}
>
<li key={key} className={clsx(criticalityLevelMapping[criticality] ?? 'text-red-400')}>
<span className="text-gray-600 dark:text-white">{labelize(change.message)}</span>
</li>
))}

View file

@ -92,7 +92,7 @@ const SchemaServiceName = ({
},
});
},
[mutate]
[mutate, organization.cleanId, project.cleanId, schema.service, target.cleanId, version]
);
if ((project.type !== ProjectType.Federation && project.type !== ProjectType.Stitching) || !hasAccess) {
@ -199,7 +199,7 @@ const SyncSchemaButton = ({
setStatus('idle');
}, 5000);
});
}, [mutate, setStatus]);
}, [mutate, organization.cleanId, project.cleanId, target.cleanId]);
if (!target.hasSchema) {
return null;
@ -210,16 +210,18 @@ const SyncSchemaButton = ({
<Button variant="primary" size="large" onClick={sync} disabled={status !== 'idle' || mutation.fetching}>
{mutation.fetching
? 'Syncing…'
: {
idle: 'Update CDN',
error: 'Failed to synchronize',
}[status] || 'CDN is up to date'}
: FetchingMessages[status as keyof typeof FetchingMessages] ?? 'CDN is up to date'}
<RefreshIcon className="ml-8 h-4 w-4" />
</Button>
</Tooltip>
);
};
const FetchingMessages = {
idle: 'Update CDN',
error: 'Failed to synchronize',
} as const;
function SchemaView({
organization,
project,

View file

@ -1,4 +1,5 @@
import { ReactElement, useCallback, useEffect, useState } from 'react';
import { IconProps } from '@chakra-ui/react';
import { useMutation, useQuery } from 'urql';
import { useUser } from '@/components/auth/AuthProvider';
@ -18,6 +19,11 @@ import { OrganizationAccessScope, useOrganizationAccess } from '@/lib/access/org
import { useNotifications } from '@/lib/hooks/use-notifications';
import { useRouteSelector } from '@/lib/hooks/use-route-selector';
const authProviderIcons = {
[AuthProvider.Github]: GitHubIcon,
[AuthProvider.Google]: GoogleIcon,
} as Record<AuthProvider, React.FC<IconProps> | undefined>;
const Page = ({ organization }: { organization: OrganizationFieldsFragment }) => {
useOrganizationAccess({
scope: OrganizationAccessScope.Members,
@ -119,11 +125,7 @@ const Page = ({ organization }: { organization: OrganizationFieldsFragment }) =>
</Button>
</div>
{members.map(node => {
const IconToUse =
{
[AuthProvider.Github]: GitHubIcon,
[AuthProvider.Google]: GoogleIcon,
}[node.user.provider] || KeyIcon;
const IconToUse = authProviderIcons[node.user.provider] ?? KeyIcon;
const isOwner = node.id === org.owner.id;
const isMe = node.id === me.id;

View file

@ -32,7 +32,7 @@ if (process.env.NODE_ENV === 'development' && 'window' in globalThis) {
function App({ Component, pageProps }: AppProps): ReactElement {
useEffect(() => {
const handleRouteChange = url => {
const handleRouteChange = (url: string) => {
gtag.pageview(url);
const orgId = Router.query.orgId as string;

View file

@ -1,9 +1,9 @@
import 'regenerator-runtime/runtime';
import Document, { Html, Head, Main, NextScript } from 'next/document';
import Document, { Html, Head, Main, NextScript, DocumentContext } from 'next/document';
import { extractCritical } from '@emotion/server';
export default class MyDocument extends Document {
static async getInitialProps(ctx) {
static async getInitialProps(ctx: DocumentContext) {
const initialProps = await Document.getInitialProps(ctx);
const page = await ctx.renderPage();
const styles = extractCritical(page.html);

View file

@ -3,7 +3,15 @@ import type { NextPageContext } from 'next';
import * as Sentry from '@sentry/nextjs';
const MyError = ({ statusCode, hasGetInitialPropsRun, err }) => {
const MyError = ({
statusCode,
hasGetInitialPropsRun,
err,
}: {
statusCode: number;
hasGetInitialPropsRun: boolean;
err: Error;
}) => {
if (!hasGetInitialPropsRun && err) {
// getInitialProps is not called in case of
// https://github.com/vercel/next.js/issues/8592. As a workaround, we pass

View file

@ -111,7 +111,7 @@ async function graphql(req: NextApiRequest, res: NextApiResponse) {
if (isStream) {
graphqlSpan.setHttpStatus(response.status);
const headers = {};
const headers: Record<string, string> = {};
response.headers.forEach((value, key) => {
headers[key] = value;

View file

@ -40,7 +40,7 @@ export default function Manage() {
<CheckboxGroup
colorScheme="teal"
size="sm"
defaultValue={Object.keys(filters).filter(key => !!filters[key])}
defaultValue={Object.keys(filters).filter((key: keyof typeof filters) => !!filters[key])}
onChange={onFiltersChange}
>
<Checkbox tw="whitespace-nowrap align-middle" value="only-regular">

View file

@ -20,7 +20,7 @@ declare global {
}
function identifyOnCrisp(user: UserProfile): void {
const crisp = globalThis.$crisp;
const crisp = globalThis.window.$crisp;
if (crisp) {
pushIfNotEmpty(crisp, 'user:email', user.email);
pushIfNotEmpty(crisp, 'user:nickname', user.name || user.nickname);

View file

@ -63,7 +63,7 @@ const NavigationContext = React.createContext<{
export const useNavigation = () => React.useContext(NavigationContext);
export const NavigationProvider = ({ children }) => {
export const NavigationProvider = ({ children }: { children: React.ReactNode }) => {
const [state, setState] = React.useState<State>({});
const [visible, setVisible] = React.useState<boolean>(true);
const show = React.useCallback(() => setVisible(true), [setVisible]);

View file

@ -1,4 +1,4 @@
import React from 'react';
import React, { ReactElement } from 'react';
import tw, { styled } from 'twin.macro';
import Link from 'next/link';
import { FiTarget } from 'react-icons/fi';
@ -39,7 +39,7 @@ const MenuLink = styled.a(({ active }: { active?: boolean }) => [
const Menu = {
Root: tw.ul`flex flex-col px-2 py-4`,
Title: ({ children, icon }) => {
Title: ({ children, icon }: { children: string; icon: ReactElement }) => {
return (
<li tw="px-3 pb-2">
<div tw="flex flex-row items-center h-8">

View file

@ -1,6 +1,23 @@
import { OrganizationActivitiesQuery, ProjectActivitiesQuery, TargetActivitiesQuery } from '@/graphql';
import { gql } from 'urql';
export type ActivityNode =
| OrganizationActivitiesQuery['organizationActivities']['nodes'][0]
| ProjectActivitiesQuery['projectActivities']['nodes'][0]
| TargetActivitiesQuery['targetActivities']['nodes'][0];
export const ActivityNode = gql(/* GraphQL */ `
fragment ActivityNode on Activity {
id
type
createdAt
...OrganizationPlanChange
...OrganizationCreated
...OrganizationNameUpdated
...OrganizationIdUpdated
...MemberAdded
...MemberDeleted
...ProjectCreated
...ProjectDeleted
...ProjectNameUpdated
...ProjectIdUpdated
...TargetCreated
...TargetDeleted
...TargetNameUpdated
...TargetIdUpdated
}
`);

View file

@ -42,7 +42,10 @@ export const OrganizationSwitcher: React.FC<{
};
}
const menu = {
const menu: {
personal: Array<{ key: string; label: string }>;
organizations: Array<{ key: string; label: string }>;
} = {
personal: [],
organizations: [],
};

View file

@ -121,6 +121,11 @@ const Plan = (plan: {
);
};
const billingPlanLookUpMap = {
[BillingPlanType.Hobby]: 'Free',
[BillingPlanType.Enterprise]: 'Contact Us',
} as Record<BillingPlanType, string | undefined>;
export const BillingPlanPicker = ({
value,
activePlan,
@ -139,12 +144,7 @@ export const BillingPlanPicker = ({
<Plan
key={plan.id}
name={plan.name}
price={
{
[BillingPlanType.Hobby]: 'Free',
[BillingPlanType.Enterprise]: 'Contact Us',
}[plan.planType] || plan.basePrice
}
price={billingPlanLookUpMap[plan.planType] ?? plan.basePrice}
isActive={activePlan === plan.planType}
features={planCollection[plan.planType].features}
description={planCollection[plan.planType].description}

View file

@ -40,7 +40,7 @@ function fullSeries(
from: string;
to: string;
}
) {
): Array<[string, number]> {
if (!data.length) {
return createEmptySeries({ interval, period });
}
@ -72,7 +72,7 @@ function fullSeries(
}
// Instead of creating a new array, we could move things around but this is easier
const newData = [];
const newData: Array<[string, number]> = [];
for (let i = 0; i < data.length; i++) {
const current = data[i];
@ -100,6 +100,14 @@ function fullSeries(
return newData;
}
function times<T>(amount: number, f: (index: number) => T) {
const items: Array<T> = [];
for (const i = 0; i < amount; amount++) {
items[i] = f(i);
}
return items;
}
function createEmptySeries({
interval,
period,
@ -114,9 +122,7 @@ function createEmptySeries({
const endAt = new Date(period.to).getTime();
const steps = Math.floor((endAt - startAt) / interval);
return Array(steps)
.fill(0)
.map((_, i) => [new Date(startAt + i * interval).toISOString(), 0]);
return times(steps, i => [new Date(startAt + i * interval).toISOString(), 0]);
}
function useChartStyles() {

View file

@ -1,6 +1,6 @@
import { ReactElement } from 'react';
import React, { ReactElement, ReactNode } from 'react';
import NextLink from 'next/link';
import { useQuery } from 'urql';
import { DocumentType, useQuery } from 'urql';
import { ActivityNode } from '@/components/common/activities/common';
import { Heading, Link, Skeleton, TimeAgo } from '@/components/v2';
@ -20,7 +20,7 @@ import { useRouteSelector } from '@/lib/hooks/use-route-selector';
const organizationActivitiesDocument = fixDuplicatedFragments(OrganizationActivitiesDocument);
export const getActivity = (
activity: ActivityNode
activity: DocumentType<typeof ActivityNode>
): {
icon: ReactElement;
content: ReactElement | string;
@ -197,7 +197,7 @@ export const getActivity = (
}
};
export const Activities = (props): ReactElement => {
export const Activities = (props: React.ComponentProps<'div'>): ReactElement => {
const router = useRouteSelector();
const [organizationActivitiesQuery] = useQuery({
query: organizationActivitiesDocument,
@ -216,38 +216,22 @@ export const Activities = (props): ReactElement => {
return (
<div className="w-[450px] shrink-0" {...props}>
<Heading>Recent Activity</Heading>
{(!activities || activities.total !== 0) && (
<ul className="mt-4 w-full break-all rounded-md border border-gray-800 p-5">
{(activities ? activities.nodes : Array.from({ length: 3 }, (_, id) => ({ id }))).map(activity => {
const { content, icon } = getActivity(activity);
<ul className="mt-4 w-full break-all rounded-md border border-gray-800 p-5">
{isLoading || !activities?.nodes
? new Array(3).fill(null).map((_, index) => {
<ActivityContainer key={index}>
<Skeleton circle visible className="h-7 w-7 shrink-0" />
<div className="grow">
<Skeleton visible className="mb-2 h-3 w-2/5" />
<Skeleton visible className="h-3 w-full" />
</div>
</ActivityContainer>;
})
: activities.nodes.map(activity => {
const { content, icon } = getActivity(activity);
return (
<li
key={activity.id}
className="
flex
items-center
gap-2.5
border-b
border-gray-800
py-5
text-xs
text-gray-500
first:pt-0
last:border-b-0
last:pb-0
first-of-type:mt-0
"
>
{isLoading ? (
<>
<Skeleton circle visible className="h-7 w-7 shrink-0" />
<div className="grow">
<Skeleton visible className="mb-2 h-3 w-2/5" />
<Skeleton visible className="h-3 w-full" />
</div>
</>
) : (
return (
<ActivityContainer key={activity.id}>
<>
<div className="self-center p-1">{icon}</div>
<div className="grow">
@ -269,12 +253,31 @@ export const Activities = (props): ReactElement => {
</div>
</div>
</>
)}
</li>
);
})}
</ul>
)}
</ActivityContainer>
);
})}
</ul>
</div>
);
};
const ActivityContainer = (props: { children: ReactNode }) => (
<li
className="
flex
items-center
gap-2.5
border-b
border-gray-800
py-5
text-xs
text-gray-500
first:pt-0
last:border-b-0
last:pb-0
first-of-type:mt-0
"
>
{props.children}
</li>
);

View file

@ -6,6 +6,11 @@ import { Button, CopyValue, Heading, Link, Modal, Tag } from '@/components/v2';
import { CreateCdnTokenDocument, ProjectDocument, ProjectType } from '@/graphql';
import { useRouteSelector } from '@/lib/hooks/use-route-selector';
const taxonomy = {
[ProjectType.Federation]: 'supergraph schema',
[ProjectType.Stitching]: 'services',
} as Record<ProjectType, string | undefined>;
export const ConnectSchemaModal = ({
isOpen,
toggleModalOpen,
@ -56,11 +61,7 @@ export const ConnectSchemaModal = ({
<Heading>Generating access...</Heading>
<p className="text-center">
Hive is now generating an authentication token and an URL you can use to fetch your{' '}
{{
[ProjectType.Federation]: 'supergraph schema',
[ProjectType.Stitching]: 'services',
}[project.type] || 'schema'}
.
{taxonomy[project.type] ?? 'schema'}.
</p>
</div>
)}
@ -69,11 +70,8 @@ export const ConnectSchemaModal = ({
<>
<p className="text-sm text-gray-500">
With high-availability and multi-zone CDN service based on Cloudflare, Hive allows you to access the
{{
[ProjectType.Federation]: 'supergraph',
[ProjectType.Stitching]: 'list of services',
}[project.type] || 'schema'}{' '}
of your API, through a secured external service, that's always up regardless of Hive.
{taxonomy[project.type] ?? 'schema'} of your API, through a secured external service, that's always up
regardless of Hive.
</p>
<span className="text-sm text-gray-500">You can use the following endpoint:</span>
<CopyValue value={mutation.data.createCdnToken.url} />

View file

@ -1,15 +1,15 @@
import { ReactElement } from 'react';
import clsx from 'clsx';
type Column = { key: string; align?: 'right'; width?: 'auto' };
type Column<TKey extends string> = { key: TKey; align?: 'right'; width?: 'auto' };
export const Table = ({
export function Table<TColumns extends string>({
dataSource,
columns,
}: {
dataSource?: { id: string }[];
columns: Column[] | ReadonlyArray<Column>;
}): ReactElement => {
dataSource?: Array<{ id: string } & Record<TColumns, ReactElement | string>>;
columns: Array<Column<TColumns>> | ReadonlyArray<Column<TColumns>>;
}): ReactElement {
return (
<table className="w-full">
<tbody>
@ -32,4 +32,4 @@ export const Table = ({
</tbody>
</table>
);
};
}

View file

@ -1,27 +1,23 @@
import { ReactElement, ReactNode } from 'react';
import clsx from 'clsx';
const colors = {
green: 'bg-green-500/10 text-green-500',
yellow: 'bg-yellow-500/10 text-yellow-500',
gray: 'bg-gray-500/10 text-gray-500',
} as const;
export const Tag = ({
children,
color = 'gray',
className,
}: {
color?: 'red' | 'green' | 'yellow' | 'gray';
color?: 'green' | 'yellow' | 'gray';
className?: string;
children: ReactNode;
}): ReactElement => {
return (
<span
className={clsx(
'inline-flex items-center gap-x-1 rounded-sm p-2',
{
green: 'bg-green-500/10 text-green-500',
yellow: 'bg-yellow-500/10 text-yellow-500',
gray: 'bg-gray-500/10 text-gray-500',
}[color],
className
)}
>
<span className={clsx('inline-flex items-center gap-x-1 rounded-sm p-2', colors[color], className)}>
{children}
</span>
);

View file

@ -4,20 +4,7 @@ query organizationActivities($selector: OrganizationActivitiesSelector!) {
__typename
id
createdAt
...OrganizationPlanChange
...OrganizationCreated
...OrganizationNameUpdated
...OrganizationIdUpdated
...MemberAdded
...MemberDeleted
...ProjectCreated
...ProjectDeleted
...ProjectNameUpdated
...ProjectIdUpdated
...TargetCreated
...TargetDeleted
...TargetNameUpdated
...TargetIdUpdated
...ActivityNode
}
total
}

View file

@ -4,14 +4,7 @@ query projectActivities($selector: ProjectActivitiesSelector!) {
__typename
id
createdAt
...ProjectCreated
...ProjectDeleted
...ProjectNameUpdated
...ProjectIdUpdated
...TargetCreated
...TargetDeleted
...TargetNameUpdated
...TargetIdUpdated
...ActivityNode
}
total
}

View file

@ -4,10 +4,7 @@ query targetActivities($selector: TargetActivitiesSelector!) {
__typename
id
createdAt
...TargetCreated
...TargetDeleted
...TargetNameUpdated
...TargetIdUpdated
...ActivityNode
}
total
}

View file

@ -1,7 +1,7 @@
import type { NextWebVitalsMetric } from 'next/app';
import { GA_TRACKING_ID } from '@/constants';
export const pageview = (url): void => {
export const pageview = (url: string): void => {
if (!GA_TRACKING_ID) {
return;
}
@ -11,7 +11,7 @@ export const pageview = (url): void => {
};
// https://developers.google.com/analytics/devguides/collection/gtagjs/events
export const event = ({ action, category, label, value }): void => {
export const event = ({ action, category, label, value }: any): void => {
if (!GA_TRACKING_ID) {
return;
}

View file

@ -5,7 +5,7 @@ import { captureException } from '@sentry/nextjs';
import { Mutation } from './urql-cache';
import { networkStatusExchange } from './urql-exchanges/state';
const noKey = () => null;
const noKey = (): null => null;
const SERVER_BASE_PATH = '/api/proxy';

View file

@ -11,6 +11,7 @@
"noImplicitThis": true,
"strictBindCallApply": true,
"alwaysStrict": true,
"noImplicitAny": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,

290
yarn.lock
View file

@ -226,6 +226,29 @@
version "0.0.0"
uid ""
"@ardatan/relay-compiler@12.0.0":
version "12.0.0"
resolved "https://registry.yarnpkg.com/@ardatan/relay-compiler/-/relay-compiler-12.0.0.tgz#2e4cca43088e807adc63450e8cab037020e91106"
integrity sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==
dependencies:
"@babel/core" "^7.14.0"
"@babel/generator" "^7.14.0"
"@babel/parser" "^7.14.0"
"@babel/runtime" "^7.0.0"
"@babel/traverse" "^7.14.0"
"@babel/types" "^7.0.0"
babel-preset-fbjs "^3.4.0"
chalk "^4.0.0"
fb-watchman "^2.0.0"
fbjs "^3.0.0"
glob "^7.1.1"
immutable "~3.7.6"
invariant "^2.2.4"
nullthrows "^1.1.1"
relay-runtime "12.0.0"
signedsource "^1.0.0"
yargs "^15.3.1"
"@auth0/nextjs-auth0@1.6.1":
version "1.6.1"
resolved "https://registry.yarnpkg.com/@auth0/nextjs-auth0/-/nextjs-auth0-1.6.1.tgz#9d187e75964c46e1cc9065fd01840de8a9f5a2ef"
@ -276,6 +299,36 @@
json5 "^2.2.1"
semver "^6.3.0"
"@babel/core@^7.14.0":
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"
"@babel/generator" "^7.18.2"
"@babel/helper-compilation-targets" "^7.18.2"
"@babel/helper-module-transforms" "^7.18.0"
"@babel/helpers" "^7.18.2"
"@babel/parser" "^7.18.5"
"@babel/template" "^7.16.7"
"@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"
json5 "^2.2.1"
semver "^6.3.0"
"@babel/generator@^7.14.0", "@babel/generator@^7.18.2":
version "7.18.2"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d"
integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==
dependencies:
"@babel/types" "^7.18.2"
"@jridgewell/gen-mapping" "^0.3.0"
jsesc "^2.5.1"
"@babel/generator@^7.17.10", "@babel/generator@^7.5.0", "@babel/generator@^7.7.2":
version "7.17.10"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189"
@ -302,6 +355,16 @@
browserslist "^4.20.2"
semver "^6.3.0"
"@babel/helper-compilation-targets@^7.18.2":
version "7.18.2"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b"
integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==
dependencies:
"@babel/compat-data" "^7.17.10"
"@babel/helper-validator-option" "^7.16.7"
browserslist "^4.20.2"
semver "^6.3.0"
"@babel/helper-create-class-features-plugin@^7.13.0":
version "7.14.1"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.1.tgz#1fe11b376f3c41650ad9fedc665b0068722ea76c"
@ -321,6 +384,11 @@
dependencies:
"@babel/types" "^7.16.7"
"@babel/helper-environment-visitor@^7.18.2":
version "7.18.2"
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd"
integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==
"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.17.9":
version "7.17.9"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12"
@ -364,6 +432,20 @@
"@babel/traverse" "^7.17.3"
"@babel/types" "^7.17.0"
"@babel/helper-module-transforms@^7.18.0":
version "7.18.0"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd"
integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==
dependencies:
"@babel/helper-environment-visitor" "^7.16.7"
"@babel/helper-module-imports" "^7.16.7"
"@babel/helper-simple-access" "^7.17.7"
"@babel/helper-split-export-declaration" "^7.16.7"
"@babel/helper-validator-identifier" "^7.16.7"
"@babel/template" "^7.16.7"
"@babel/traverse" "^7.18.0"
"@babel/types" "^7.18.0"
"@babel/helper-optimise-call-expression@^7.12.13", "@babel/helper-optimise-call-expression@^7.15.4":
version "7.15.4"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171"
@ -426,6 +508,15 @@
"@babel/traverse" "^7.17.9"
"@babel/types" "^7.17.0"
"@babel/helpers@^7.18.2":
version "7.18.2"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384"
integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==
dependencies:
"@babel/template" "^7.16.7"
"@babel/traverse" "^7.18.2"
"@babel/types" "^7.18.2"
"@babel/highlight@^7.16.7":
version "7.16.10"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
@ -440,6 +531,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78"
integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==
"@babel/parser@^7.14.0", "@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-proposal-class-properties@^7.0.0":
version "7.13.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37"
@ -761,6 +857,22 @@
debug "^4.1.0"
globals "^11.1.0"
"@babel/traverse@^7.14.0", "@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"
"@babel/helper-environment-visitor" "^7.18.2"
"@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.5"
"@babel/types" "^7.18.4"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.13.12", "@babel/types@^7.15.4", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
version "7.17.10"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4"
@ -769,6 +881,14 @@
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
"@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.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==
dependencies:
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@ -1929,14 +2049,14 @@
auto-bind "~4.0.0"
tslib "~2.4.0"
"@graphql-codegen/graphql-modules-preset@2.3.11":
version "2.3.11"
resolved "https://registry.yarnpkg.com/@graphql-codegen/graphql-modules-preset/-/graphql-modules-preset-2.3.11.tgz#ba3c8435badfd6ffea0906a53e3fcb20e00602d9"
integrity sha512-nhh2C7Aq98pbVkD9gwwTIBO8GYbw13ztaaJn11YW4X515OcxYbrDTldqoNerBNlQvghiYYSSW/hUGll9f5sIvg==
"@graphql-codegen/graphql-modules-preset@2.3.13":
version "2.3.13"
resolved "https://registry.yarnpkg.com/@graphql-codegen/graphql-modules-preset/-/graphql-modules-preset-2.3.13.tgz#181ab8acacf376c38d572d6d50aad609aba3cd3d"
integrity sha512-hi/vKUrVa62d5W2euSapUqTNf2ysfq4RjRc0Pcren7zPqMzD3QgbYRLjDtPsXXQntZDmDxoJVd1BEzjpPGD2/g==
dependencies:
"@graphql-codegen/plugin-helpers" "^2.4.0"
"@graphql-codegen/visitor-plugin-common" "2.8.0"
"@graphql-tools/utils" "8.6.9"
"@graphql-codegen/visitor-plugin-common" "2.9.1"
"@graphql-tools/utils" "8.6.13"
change-case-all "1.0.14"
parse-filepath "^1.0.2"
tslib "~2.4.0"
@ -1962,7 +2082,18 @@
"@graphql-tools/utils" "^8.1.1"
tslib "~2.3.0"
"@graphql-codegen/typed-document-node@2.2.11", "@graphql-codegen/typed-document-node@^2.2.9":
"@graphql-codegen/typed-document-node@2.2.13":
version "2.2.13"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typed-document-node/-/typed-document-node-2.2.13.tgz#0e85f2f556a5f5962bb44d1ffbca7d1e1d1d75fd"
integrity sha512-o3q63smj9hmfCF3z/uwekddsHy0xrR5Rso/Yv83sdN54EKQ4QbHRE340kVaSyimiDK9inUdBM2y6WOmXrvioaw==
dependencies:
"@graphql-codegen/plugin-helpers" "^2.4.0"
"@graphql-codegen/visitor-plugin-common" "2.9.1"
auto-bind "~4.0.0"
change-case-all "1.0.14"
tslib "~2.4.0"
"@graphql-codegen/typed-document-node@^2.2.9":
version "2.2.11"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typed-document-node/-/typed-document-node-2.2.11.tgz#07a935faef9f91fb371df60ee2a8ccc2e92554d0"
integrity sha512-AHBfw6gHSs0XOuIWsLZwtSgmk+3XqUCyPfXCeDE3Z9MNx/EYYY6lr8cFcsFnR3ASotcVAsVoLTfB4YS4NqgqdA==
@ -1973,17 +2104,28 @@
change-case-all "1.0.14"
tslib "~2.4.0"
"@graphql-codegen/typescript-graphql-request@4.4.8":
version "4.4.8"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-graphql-request/-/typescript-graphql-request-4.4.8.tgz#d2892834db37f0aaecbbe38a812802b61bf96cba"
integrity sha512-4PuFMJCGhS/sY8n3ePr1JD349NUw5H6zySAJIvchVatPAbanI6swGKvu/YElkBYvx0l+S17TxTylAUui5N0QyA==
"@graphql-codegen/typescript-graphql-request@4.4.10":
version "4.4.10"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-graphql-request/-/typescript-graphql-request-4.4.10.tgz#8ffab15dfdf1143eae01759e4fb99430051821b0"
integrity sha512-kKbVKAANDZjCQdFWQRDV49ItIKBWUQgiBbbgwE3DDwVwacQS40ggTtvh24J2sO/vjJBU+JqzD8IJS67+Euzrmg==
dependencies:
"@graphql-codegen/plugin-helpers" "^2.4.0"
"@graphql-codegen/visitor-plugin-common" "2.8.0"
"@graphql-codegen/visitor-plugin-common" "2.9.1"
auto-bind "~4.0.0"
tslib "~2.4.0"
"@graphql-codegen/typescript-operations@2.4.0", "@graphql-codegen/typescript-operations@^2.3.6":
"@graphql-codegen/typescript-operations@2.4.2":
version "2.4.2"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-2.4.2.tgz#374da9f2ec0b60dee0ebbc22c6b885f0d7f3aacb"
integrity sha512-0/Jk+FxJVOdznSJ+G3KKPbMr2gK67yQetUAUS0FzV9FptVDFkklK/BazKqJJE5dNrj9ubuI2BafXPzSTN4M2Ug==
dependencies:
"@graphql-codegen/plugin-helpers" "^2.4.0"
"@graphql-codegen/typescript" "^2.5.1"
"@graphql-codegen/visitor-plugin-common" "2.9.1"
auto-bind "~4.0.0"
tslib "~2.4.0"
"@graphql-codegen/typescript-operations@^2.3.6":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-2.4.0.tgz#07f371bcda31ecb8edc4c742442014b21c11d53b"
integrity sha512-vJ15FLyWchuO2Xkp6uz7jJOdChiay7P9KJKFDILx/JTwjinU1fFa7iOvyeTvslqiUPxgsXthR5izdY+E5IyLkQ==
@ -1994,19 +2136,30 @@
auto-bind "~4.0.0"
tslib "~2.4.0"
"@graphql-codegen/typescript-resolvers@2.6.4":
version "2.6.4"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-resolvers/-/typescript-resolvers-2.6.4.tgz#857e24279603f4e8f7293385a90a1f2498eb672e"
integrity sha512-BTV5q9d7V+4mVyYRnE8N7HyArmvDbUEY5JwyV94jhlN0AOq2zKQBrs8MRvx8v1VenjTGV+PlnDpF3aEtQu8o+g==
"@graphql-codegen/typescript-resolvers@2.6.6":
version "2.6.6"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-resolvers/-/typescript-resolvers-2.6.6.tgz#c42cabbc05103b44a29df5ac4a015f2a8e8ab4aa"
integrity sha512-6yVU0rojI64qZbAtGy4+5kA1xJbolcWbefd4y/nwLOn2g99QBHt9nQRCVl96rppfBNinLPkiJCtQ0thOHu9glg==
dependencies:
"@graphql-codegen/plugin-helpers" "^2.4.0"
"@graphql-codegen/typescript" "^2.4.11"
"@graphql-codegen/visitor-plugin-common" "2.8.0"
"@graphql-codegen/typescript" "^2.5.1"
"@graphql-codegen/visitor-plugin-common" "2.9.1"
"@graphql-tools/utils" "^8.1.1"
auto-bind "~4.0.0"
tslib "~2.4.0"
"@graphql-codegen/typescript@2.4.11", "@graphql-codegen/typescript@^2.4.11", "@graphql-codegen/typescript@^2.4.9":
"@graphql-codegen/typescript@2.5.1", "@graphql-codegen/typescript@^2.5.1":
version "2.5.1"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-2.5.1.tgz#5131485ff3ac83d5bc0aae11a2af0c9bdc08854c"
integrity sha512-D/9V2VfVIE4Mu5UiMGQtxyFU5xe1ZkAZi8g/IsqymW8rqlhTwsGhtk4JR55qPfOYxR8G94RJSJpzgNakRneytw==
dependencies:
"@graphql-codegen/plugin-helpers" "^2.4.0"
"@graphql-codegen/schema-ast" "^2.4.1"
"@graphql-codegen/visitor-plugin-common" "2.9.1"
auto-bind "~4.0.0"
tslib "~2.4.0"
"@graphql-codegen/typescript@^2.4.11", "@graphql-codegen/typescript@^2.4.9":
version "2.4.11"
resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-2.4.11.tgz#b9d8bddaeb79ff4a85e1d0f9c774afba7423177c"
integrity sha512-K3oDLPJRH9Wgpg9TOvb7L+xrJZ8HxkIzV2umqGn54c+8DQjvnRFBIYRO0THgUBMnEauE2sEy6RZkGHGfgQUruA==
@ -2033,6 +2186,22 @@
parse-filepath "^1.0.2"
tslib "~2.4.0"
"@graphql-codegen/visitor-plugin-common@2.9.1":
version "2.9.1"
resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.9.1.tgz#17dfe33e19e846e7475ab9d4ff43de5130e18397"
integrity sha512-j9eGOSGt+sJcwv0ijhZiQ2cF/0ponscekNVoF+vHdOT4RB0qgOQxykPBk6EbKxIHECnkdV8ARdPVTA21A93/QQ==
dependencies:
"@graphql-codegen/plugin-helpers" "^2.4.0"
"@graphql-tools/optimize" "^1.0.1"
"@graphql-tools/relay-operation-optimizer" "^6.4.14"
"@graphql-tools/utils" "^8.3.0"
auto-bind "~4.0.0"
change-case-all "1.0.14"
dependency-graph "^0.11.0"
graphql-tag "^2.11.0"
parse-filepath "^1.0.2"
tslib "~2.4.0"
"@graphql-inspector/core@3.1.2", "@graphql-inspector/core@~3.1.2":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@graphql-inspector/core/-/core-3.1.2.tgz#9ef2a72601a77cb0dcc09c5fbd870413bc687ad8"
@ -2248,6 +2417,15 @@
relay-compiler "11.0.2"
tslib "~2.3.0"
"@graphql-tools/relay-operation-optimizer@^6.4.14":
version "6.4.15"
resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.15.tgz#08a0be5f9effc8c645c46d3ab60624e639b7101d"
integrity sha512-UVduEV/hjTgE58LLJgbCvYMgohHa3dL2Nu5chuKLPVpgdjpZT3OrSCbGBE0/Rl8TBX59gTdK7IAsQhfsvwn5TQ==
dependencies:
"@ardatan/relay-compiler" "12.0.0"
"@graphql-tools/utils" "8.7.0"
tslib "^2.4.0"
"@graphql-tools/schema@8.2.0":
version "8.2.0"
resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.2.0.tgz#ae75cbb2df6cee9ed6d89fce56be467ab23758dc"
@ -2318,6 +2496,13 @@
dependencies:
tslib "~2.3.0"
"@graphql-tools/utils@8.6.13":
version "8.6.13"
resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.6.13.tgz#2b4fb7f9f8a29b25eecd44551fb95974de32f969"
integrity sha512-FiVqrQzj4cgz0HcZ3CxUs8NtBGPZFpmsVyIgwmL6YCwIhjJQnT72h8G3/vk5zVfjfesht85YGp0inWWuoCKWzg==
dependencies:
tslib "^2.4.0"
"@graphql-tools/utils@8.6.9", "@graphql-tools/utils@^8.0.0", "@graphql-tools/utils@^8.1.1", "@graphql-tools/utils@^8.2.0", "@graphql-tools/utils@^8.2.2", "@graphql-tools/utils@^8.2.3", "@graphql-tools/utils@^8.3.0", "@graphql-tools/utils@^8.5.1", "@graphql-tools/utils@^8.5.2", "@graphql-tools/utils@^8.6.0":
version "8.6.9"
resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.6.9.tgz#fe1b81df29c9418b41b7a1ffe731710b93d3a1fe"
@ -2325,6 +2510,13 @@
dependencies:
tslib "~2.3.0"
"@graphql-tools/utils@8.7.0":
version "8.7.0"
resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.7.0.tgz#b46aa632ea61c1d8a43bf3012d695de73a696b3b"
integrity sha512-71rJZJKJVOMsDlBGFq9gf1PaBbeW0kt8nZWmc50lhxYrCn0rzRY0auGrhhOWhdhZ5WsCWFxpnDurdF5VqB4Iig==
dependencies:
tslib "^2.4.0"
"@graphql-tools/wrap@8.4.16", "@graphql-tools/wrap@^8.1.0", "@graphql-tools/wrap@^8.3.1":
version "8.4.16"
resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-8.4.16.tgz#87dce9ec623a921e5a62f44e75abc9655892724b"
@ -2640,6 +2832,15 @@
"@jridgewell/set-array" "^1.0.0"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/gen-mapping@^0.3.0":
version "0.3.2"
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
dependencies:
"@jridgewell/set-array" "^1.0.1"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
"@jridgewell/resolve-uri@^3.0.3":
version "3.0.7"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe"
@ -2650,6 +2851,11 @@
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
"@jridgewell/set-array@^1.0.1":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.13"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
@ -5922,6 +6128,39 @@ babel-preset-fbjs@^3.3.0:
"@babel/plugin-transform-template-literals" "^7.0.0"
babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0"
babel-preset-fbjs@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c"
integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==
dependencies:
"@babel/plugin-proposal-class-properties" "^7.0.0"
"@babel/plugin-proposal-object-rest-spread" "^7.0.0"
"@babel/plugin-syntax-class-properties" "^7.0.0"
"@babel/plugin-syntax-flow" "^7.0.0"
"@babel/plugin-syntax-jsx" "^7.0.0"
"@babel/plugin-syntax-object-rest-spread" "^7.0.0"
"@babel/plugin-transform-arrow-functions" "^7.0.0"
"@babel/plugin-transform-block-scoped-functions" "^7.0.0"
"@babel/plugin-transform-block-scoping" "^7.0.0"
"@babel/plugin-transform-classes" "^7.0.0"
"@babel/plugin-transform-computed-properties" "^7.0.0"
"@babel/plugin-transform-destructuring" "^7.0.0"
"@babel/plugin-transform-flow-strip-types" "^7.0.0"
"@babel/plugin-transform-for-of" "^7.0.0"
"@babel/plugin-transform-function-name" "^7.0.0"
"@babel/plugin-transform-literals" "^7.0.0"
"@babel/plugin-transform-member-expression-literals" "^7.0.0"
"@babel/plugin-transform-modules-commonjs" "^7.0.0"
"@babel/plugin-transform-object-super" "^7.0.0"
"@babel/plugin-transform-parameters" "^7.0.0"
"@babel/plugin-transform-property-literals" "^7.0.0"
"@babel/plugin-transform-react-display-name" "^7.0.0"
"@babel/plugin-transform-react-jsx" "^7.0.0"
"@babel/plugin-transform-shorthand-properties" "^7.0.0"
"@babel/plugin-transform-spread" "^7.0.0"
"@babel/plugin-transform-template-literals" "^7.0.0"
babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0"
babel-preset-jest@^28.0.2:
version "28.0.2"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.0.2.tgz#d8210fe4e46c1017e9fa13d7794b166e93aa9f89"
@ -15350,6 +15589,15 @@ relay-runtime@11.0.2:
fbjs "^3.0.0"
invariant "^2.2.4"
relay-runtime@12.0.0:
version "12.0.0"
resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-12.0.0.tgz#1e039282bdb5e0c1b9a7dc7f6b9a09d4f4ff8237"
integrity sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==
dependencies:
"@babel/runtime" "^7.0.0"
fbjs "^3.0.0"
invariant "^2.2.4"
remark-gfm@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-1.0.0.tgz#9213643001be3f277da6256464d56fd28c3b3c0d"
@ -17240,7 +17488,7 @@ tslib@2.3.1, tslib@~2.3.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
tslib@2.4.0, tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@~2.4.0:
tslib@2.4.0, tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@~2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==