diff --git a/.eslintrc.json b/.eslintrc.json
index 162870ccca1..65e2fac75f7 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,7 +1,15 @@
 {
-  "extends": ["next/core-web-vitals", "prettier"],
-  "plugins": ["prettier"],
+  "extends": [
+    "next/core-web-vitals",
+    "plugin:@typescript-eslint/recommended",
+    "prettier" // prettier should always come last
+  ],
+  "parser": "@typescript-eslint/parser",
+  "plugins": ["@typescript-eslint", "prettier"],
   "rules": {
-    "react-hooks/exhaustive-deps": "error"
+    "react-hooks/exhaustive-deps": "error",
+    "@typescript-eslint/no-explicit-any": "warn",
+    "no-unused-vars": "off",
+    "@typescript-eslint/no-unused-vars": "error"
   }
 }
diff --git a/package.json b/package.json
index dfd046175ce..b91b3f63d6d 100644
--- a/package.json
+++ b/package.json
@@ -39,6 +39,7 @@
     "@types/node": "^12.12.9",
     "@types/react": "^18.0.0",
     "@types/url-parse": "^1.4.3",
+    "@typescript-eslint/eslint-plugin": "^6.13.1",
     "axios": "^1.3.4",
     "classnames": "^2.3.2",
     "cross-env": "^7.0.3",
diff --git a/src/components/Breadcrumbs/index.tsx b/src/components/Breadcrumbs/index.tsx
index a2a42bcf976..a87bab2be84 100644
--- a/src/components/Breadcrumbs/index.tsx
+++ b/src/components/Breadcrumbs/index.tsx
@@ -44,14 +44,14 @@ function generateBreadcrumbs(
   const breadcrumbs: BreadcrumbItem[] = [];
 
   const pieces = route.split('/').filter((str) => str);
-  let urls: string[] = [];
+  const urls: string[] = [];
   for (let i = 1; i <= pieces.length; i++) {
     urls.push(`/${pieces.slice(0, i).join('/')}`);
   }
 
   urls.forEach((url) => {
     const directoryEntry = findNode(url);
-    let href = {
+    const href = {
       pathname: url
     };
     if (url.includes('[platform]')) {
@@ -75,8 +75,8 @@ function generateBreadcrumbs(
   return breadcrumbs;
 }
 
-function BreadcrumbsComponent({ route, platform, isGen2 }: Props) {
-  const items = generateBreadcrumbs(route, platform, isGen2);
+function BreadcrumbsComponent({ route, platform }: Props) {
+  const items = generateBreadcrumbs(route, platform);
   return items.length > 1 ? (
     <div className={'breadcrumb__container'}>
       <Breadcrumbs.Container>
diff --git a/src/components/CliCommands/Command.tsx b/src/components/CliCommands/Command.tsx
index bb7b887d8c3..43abc996482 100644
--- a/src/components/CliCommands/Command.tsx
+++ b/src/components/CliCommands/Command.tsx
@@ -1,5 +1,5 @@
 import { CliCommand, CliCommandFlag } from '@/data/cli-commands';
-import { Heading, Text, Flex, View } from '@aws-amplify/ui-react';
+import { Text, Flex } from '@aws-amplify/ui-react';
 import { MDXCode } from '../MDXComponents';
 import { CommandHeading, SubCommandHeading } from './CommandHeading';
 import { Fragment } from 'react';
diff --git a/src/components/ExternalLink/index.tsx b/src/components/ExternalLink/index.tsx
index 833a35a9fb4..54c4970851f 100644
--- a/src/components/ExternalLink/index.tsx
+++ b/src/components/ExternalLink/index.tsx
@@ -21,7 +21,7 @@ const ExternalLink: React.FC<ExternalLinkProps> = ({
       className={className}
       rel="noopener noreferrer"
       target="_blank"
-      onClick={(e) => {
+      onClick={() => {
         trackLink(href);
       }}
     >
diff --git a/src/components/ExternalLinkButton/ExternalLinkButton.tsx b/src/components/ExternalLinkButton/ExternalLinkButton.tsx
index 711d7f66c60..cdfca20c12a 100644
--- a/src/components/ExternalLinkButton/ExternalLinkButton.tsx
+++ b/src/components/ExternalLinkButton/ExternalLinkButton.tsx
@@ -32,7 +32,7 @@ export const ExternalLinkButton = ({
       as="a"
       align-items="center"
       className={className}
-      onClick={(e) => {
+      onClick={() => {
         trackLink(href);
       }}
     >
diff --git a/src/components/FeatureFlags/FeatureFlagValues.tsx b/src/components/FeatureFlags/FeatureFlagValues.tsx
index b180ee7aa26..c7005acc61d 100644
--- a/src/components/FeatureFlags/FeatureFlagValues.tsx
+++ b/src/components/FeatureFlags/FeatureFlagValues.tsx
@@ -1,14 +1,11 @@
 import {
-  Heading,
   Table,
   TableCell,
   TableBody,
   TableHead,
   TableRow,
-  Text,
   View
 } from '@aws-amplify/ui-react';
-import Link from 'next/link';
 
 export type FeatureFlags = Record<string, Section>;
 
diff --git a/src/components/FeatureLists/FeatureLists.tsx b/src/components/FeatureLists/FeatureLists.tsx
index 89e04fd897e..71e5add184a 100644
--- a/src/components/FeatureLists/FeatureLists.tsx
+++ b/src/components/FeatureLists/FeatureLists.tsx
@@ -1,5 +1,5 @@
 import React from 'react';
-import { Grid, Heading } from '@aws-amplify/ui-react';
+import { Heading } from '@aws-amplify/ui-react';
 import { Columns } from '@/components/Columns';
 
 interface FeatureListsProps {
diff --git a/src/components/Feedback/__tests__/index.test.tsx b/src/components/Feedback/__tests__/index.test.tsx
index f13be58b5b3..f93e48ff9f4 100644
--- a/src/components/Feedback/__tests__/index.test.tsx
+++ b/src/components/Feedback/__tests__/index.test.tsx
@@ -1,5 +1,5 @@
 import Feedback from '../index';
-import { fireEvent, render, screen, waitFor } from '@testing-library/react';
+import { render, screen, waitFor } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import * as trackModule from '../../../utils/track';
 
diff --git a/src/components/FilterChildren/__tests__/FilterChildren.test.tsx b/src/components/FilterChildren/__tests__/FilterChildren.test.tsx
index c9a826532bc..419840683c0 100644
--- a/src/components/FilterChildren/__tests__/FilterChildren.test.tsx
+++ b/src/components/FilterChildren/__tests__/FilterChildren.test.tsx
@@ -1,8 +1,8 @@
-import * as React from 'react';
-import { render, screen } from '@testing-library/react';
-import FilterChildren from '../index';
+// import * as React from 'react';
+// import { render, screen } from '@testing-library/react';
+// import FilterChildren from '../index';
 
-let routerMock = {
+const routerMock = {
   __esModule: true
 };
 
diff --git a/src/components/FilterContent/__tests__/FilterContent.test.tsx b/src/components/FilterContent/__tests__/FilterContent.test.tsx
index 1f9a6c6e13d..94c451159c7 100644
--- a/src/components/FilterContent/__tests__/FilterContent.test.tsx
+++ b/src/components/FilterContent/__tests__/FilterContent.test.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
 import { render, screen } from '@testing-library/react';
 import FilterContent from '../index';
 
-let routerMock = {
+const routerMock = {
   __esModule: true
 };
 
diff --git a/src/components/Fragments/__tests__/Fragments.test.tsx b/src/components/Fragments/__tests__/Fragments.test.tsx
index 15e362f7ecd..d0bfc44bc51 100644
--- a/src/components/Fragments/__tests__/Fragments.test.tsx
+++ b/src/components/Fragments/__tests__/Fragments.test.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
 import { render, screen } from '@testing-library/react';
 import Fragments from '../index';
 
-let routerMock = {
+const routerMock = {
   __esModule: true,
   useRouter: () => {
     return {
diff --git a/src/components/Fragments/index.tsx b/src/components/Fragments/index.tsx
index 4cbf0fb14de..9403d5ecb32 100644
--- a/src/components/Fragments/index.tsx
+++ b/src/components/Fragments/index.tsx
@@ -1,10 +1,6 @@
 import { Fragment } from 'react';
 import FilterChildren from '../FilterChildren';
 
-type MdxFrontmatterType = {
-  lastUpdated: string;
-};
-
 export default function Fragments({ fragments }) {
   const children: React.ReactNode[] = [];
 
diff --git a/src/components/GetStartedPopover/GetStartedPopover.tsx b/src/components/GetStartedPopover/GetStartedPopover.tsx
index 270d455b2a2..02c899c10d9 100644
--- a/src/components/GetStartedPopover/GetStartedPopover.tsx
+++ b/src/components/GetStartedPopover/GetStartedPopover.tsx
@@ -1,4 +1,4 @@
-import { useState, useEffect, useRef, useCallback } from 'react';
+import { useState, useEffect, useRef } from 'react';
 import classNames from 'classnames';
 import { Button, Flex, VisuallyHidden, View } from '@aws-amplify/ui-react';
 import Link from 'next/link';
@@ -15,7 +15,6 @@ import {
   IconVue
 } from '@/components/Icons';
 import { useClickOutside } from '@/utils/useClickOutside';
-import { DEFAULT_PLATFORM } from '@/data/platforms';
 import { useTabKeyDetection } from '@/utils/useTabKeyDetection';
 
 const getStartedHref = '/[platform]/start/getting-started/introduction/';
diff --git a/src/components/Icons/IconNext.tsx b/src/components/Icons/IconNext.tsx
index 28c0ce90e11..bc9614aa40c 100644
--- a/src/components/Icons/IconNext.tsx
+++ b/src/components/Icons/IconNext.tsx
@@ -1,4 +1,4 @@
-import { useState, useEffect, useMemo } from 'react';
+import { useState, useEffect } from 'react';
 import { Icon } from '@aws-amplify/ui-react';
 import { v4 as uuidv4 } from 'uuid';
 
diff --git a/src/components/InlineFilter/__tests__/InlineFilter.test.tsx b/src/components/InlineFilter/__tests__/InlineFilter.test.tsx
index afd0ea6c645..f63f66ae69d 100644
--- a/src/components/InlineFilter/__tests__/InlineFilter.test.tsx
+++ b/src/components/InlineFilter/__tests__/InlineFilter.test.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
 import { render, screen } from '@testing-library/react';
 import InlineFilter from '../index';
 
-let routerMock = {
+const routerMock = {
   __esModule: true,
   useRouter: () => {
     return {
diff --git a/src/components/Layout/Layout.tsx b/src/components/Layout/Layout.tsx
index 6cb72ae3801..ed91a7461f5 100644
--- a/src/components/Layout/Layout.tsx
+++ b/src/components/Layout/Layout.tsx
@@ -36,9 +36,7 @@ import { LayoutProvider } from '@/components/Layout';
 import { TableOfContents } from '@/components/TableOfContents';
 import type { HeadingInterface } from '@/components/TableOfContents/TableOfContents';
 import { PlatformNavigator } from '@/components/PlatformNavigator';
-import directory from 'src/directory/directory.json';
 import flatDirectory from 'src/directory/flatDirectory.json';
-import { PageNode } from 'src/directory/directory';
 import { Breadcrumbs } from '@/components/Breadcrumbs';
 import { debounce } from '@/utils/debounce';
 import { DocSearch } from '@docsearch/react';
@@ -65,7 +63,7 @@ export const Layout = ({
   url,
   useCustomTitle = false
 }: {
-  children: any;
+  children: React.ReactNode;
   hasTOC?: boolean;
   pageDescription?: string;
   pageTitle?: string;
diff --git a/src/components/MDXComponents/MDXLink.tsx b/src/components/MDXComponents/MDXLink.tsx
index b3ec0b9cc8c..2de2e26ef2e 100644
--- a/src/components/MDXComponents/MDXLink.tsx
+++ b/src/components/MDXComponents/MDXLink.tsx
@@ -3,8 +3,13 @@ import ExternalLink from '@/components/ExternalLink';
 import { useCurrentPlatform } from '@/utils/useCurrentPlatform';
 import { usePathWithoutHash } from '@/utils/usePathWithoutHash';
 
-export const MDXLink = (props) => {
-  let { href, children, hash } = props;
+export const MDXLink = ({
+  href: hrefFromProps,
+  children,
+  hash: hashFromProps
+}) => {
+  let href = hrefFromProps;
+  let hash = hashFromProps;
   const isInternal = href && (href.startsWith('/') || href.startsWith('#'));
   const baseURI = usePathWithoutHash();
   const platform = useCurrentPlatform();
diff --git a/src/components/Menu/MenuItem.tsx b/src/components/Menu/MenuItem.tsx
index 083596d0d22..c3242b40ed4 100644
--- a/src/components/Menu/MenuItem.tsx
+++ b/src/components/Menu/MenuItem.tsx
@@ -68,7 +68,7 @@ export function MenuItem({
     }
   };
 
-  let pathname = getPathname(pageNode.route, currentPlatform);
+  const pathname = getPathname(pageNode.route, currentPlatform);
 
   const current = asPathWithoutHash === pathname;
 
diff --git a/src/components/MigrationAlert/MigrationAlert.tsx b/src/components/MigrationAlert/MigrationAlert.tsx
index 4b51449871c..58187548cc3 100644
--- a/src/components/MigrationAlert/MigrationAlert.tsx
+++ b/src/components/MigrationAlert/MigrationAlert.tsx
@@ -1,8 +1,6 @@
-import { useState } from 'react';
 import { Callout } from '../Callout';
 import Link from 'next/link';
 import { useCurrentPlatform } from '@/utils/useCurrentPlatform';
-import { Platform } from '@/data/platforms';
 
 type MigrationAlert = {
   isLegacy: boolean;
diff --git a/src/components/NextPrevious/index.tsx b/src/components/NextPrevious/index.tsx
index 49f95da852e..783146d905b 100644
--- a/src/components/NextPrevious/index.tsx
+++ b/src/components/NextPrevious/index.tsx
@@ -24,8 +24,8 @@ export const NextPrevious = () => {
       return { previous, next };
     } else if (children && children.length) {
       for (let i = 0; i < children.length; i++) {
-        let child = children[i];
-        let res = findDirectoryNodes(
+        const child = children[i];
+        const res = findDirectoryNodes(
           route,
           child,
           platform,
diff --git a/src/components/PlatformNavigator/index.tsx b/src/components/PlatformNavigator/index.tsx
index 70a7caf3aba..203adbc225f 100644
--- a/src/components/PlatformNavigator/index.tsx
+++ b/src/components/PlatformNavigator/index.tsx
@@ -1,4 +1,4 @@
-import { useState, useRef, useEffect, useCallback } from 'react';
+import { useState, useRef, useEffect } from 'react';
 import { Button, Flex, Text, View } from '@aws-amplify/ui-react';
 import { IconChevron } from '@/components/Icons';
 import { frameworks } from '@/constants/frameworks';
diff --git a/src/pages/404.tsx b/src/pages/404.tsx
index d6231aa943f..95cef57eda5 100644
--- a/src/pages/404.tsx
+++ b/src/pages/404.tsx
@@ -20,7 +20,7 @@ export function getStaticProps() {
 
 export default function Custom404() {
   const basePath = 'https://docs.amplify.aws';
-  let [href, setHref] = useState(basePath);
+  const [href, setHref] = useState(basePath);
   const path = useRouter().asPath;
   useEffect(() => {
     setHref(basePath + path);
diff --git a/src/pages/[platform]/index.tsx b/src/pages/[platform]/index.tsx
index d65a7da8dd0..36c7436fed7 100644
--- a/src/pages/[platform]/index.tsx
+++ b/src/pages/[platform]/index.tsx
@@ -4,10 +4,9 @@ import { FrameworkGrid } from '@/components/FrameworkGrid';
 import { IconChevron } from '@/components/Icons';
 import { GetStartedPopover } from '@/components/GetStartedPopover';
 import { InternalLinkButton } from '@/components/InternalLinkButton';
-import { Flex, Heading, Button, Text } from '@aws-amplify/ui-react';
+import { Flex, Heading, Text } from '@aws-amplify/ui-react';
 import LinkCards from '@/components/LinkCards';
 import PlatformFeatureList from '@/components/FeatureLists/PlatformFeatureList';
-import Link from 'next/link';
 
 export const meta = {
   title: 'Overview',
diff --git a/src/pages/[platform]/tools/cli/commands.tsx b/src/pages/[platform]/tools/cli/commands.tsx
index b1be221855a..65da86b0ec6 100644
--- a/src/pages/[platform]/tools/cli/commands.tsx
+++ b/src/pages/[platform]/tools/cli/commands.tsx
@@ -1,5 +1,5 @@
 import { getCustomStaticPath } from '@/utils/getCustomStaticPath';
-import { Flex, Heading, View } from '@aws-amplify/ui-react';
+import { Flex } from '@aws-amplify/ui-react';
 import { commands } from '@/data/cli-commands.mjs';
 import { Command } from '@/components/CliCommands';
 
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 79893de34e3..c99ea4b4569 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -1,4 +1,4 @@
-import { Heading, Text, Flex, Button, Grid } from '@aws-amplify/ui-react';
+import { Heading, Text, Flex } from '@aws-amplify/ui-react';
 import { FrameworkGrid } from '@/components/FrameworkGrid';
 import { GetStartedPopover } from '@/components/GetStartedPopover';
 import { IconChevron } from '@/components/Icons';
@@ -28,7 +28,7 @@ export function getStaticProps() {
 
 export default function Page() {
   //Default platform is javascript
-  let defaultPlatform = DEFAULT_PLATFORM;
+  const defaultPlatform = DEFAULT_PLATFORM;
 
   return (
     <Flex className="home-content">
diff --git a/src/utils/findDirectoryNode.ts b/src/utils/findDirectoryNode.ts
index c6d5aa77582..41e47e8e21f 100644
--- a/src/utils/findDirectoryNode.ts
+++ b/src/utils/findDirectoryNode.ts
@@ -1,13 +1,13 @@
 import directory from '../directory/directory.json';
 
 export const findDirectoryNode = (route, dir = directory) => {
-    if(dir.route === route){
-        return dir
-    }else if(dir.children && dir.children.length){
-        for(let i = 0; i < dir.children.length; i++){
-            let child = dir.children[i];
-            let res = findDirectoryNode(route, child);
-            if(res) return res;
-        }
+  if (dir.route === route) {
+    return dir;
+  } else if (dir.children && dir.children.length) {
+    for (let i = 0; i < dir.children.length; i++) {
+      const child = dir.children[i];
+      const res = findDirectoryNode(route, child);
+      if (res) return res;
     }
-}
\ No newline at end of file
+  }
+};
diff --git a/src/utils/parseLocalStorage.ts b/src/utils/parseLocalStorage.ts
index d37c83f047b..162ece6a172 100644
--- a/src/utils/parseLocalStorage.ts
+++ b/src/utils/parseLocalStorage.ts
@@ -1,5 +1,5 @@
 export function parseLocalStorage(key: string, fallback: any): any {
-  if (typeof localStorage === "undefined") return fallback;
+  if (typeof localStorage === 'undefined') return fallback;
 
   const result = localStorage.getItem(key);
   if (!result) {
diff --git a/src/utils/track.ts b/src/utils/track.ts
index 211cd7a6aa5..bbd75f42c79 100644
--- a/src/utils/track.ts
+++ b/src/utils/track.ts
@@ -27,45 +27,6 @@ export enum AnalyticsEventType {
   PAGE_DATA_FETCH_EXCEPTION = 'PAGE_DATA_FETCH_EXCEPTION'
 }
 
-interface AnalyticsEventPageVisit {
-  type: AnalyticsEventType.PAGE_VISIT;
-  attributes: {
-    url: string;
-    previousUrl: string;
-    referrer: string;
-  };
-}
-
-interface AnalyticsEventInternalLinkClick {
-  type: AnalyticsEventType.INTERNAL_LINK_CLICK;
-  attributes: {
-    from: string;
-    to: string;
-  };
-}
-
-interface AnalyticsEventExternalLinkClick {
-  type: AnalyticsEventType.EXTERNAL_LINK_CLICK;
-  attributes: {
-    from: string;
-    to: string;
-  };
-}
-
-interface AnalyticsEventPageDataFetchException {
-  type: AnalyticsEventType.PAGE_DATA_FETCH_EXCEPTION;
-  attributes: {
-    url: string;
-    exception: Error;
-  };
-}
-
-type AnalyticsEvent =
-  | AnalyticsEventPageVisit
-  | AnalyticsEventInternalLinkClick
-  | AnalyticsEventExternalLinkClick
-  | AnalyticsEventPageDataFetchException;
-
 export const trackPageVisit = (): void => {
   if (typeof window !== 'undefined' && typeof s != 'undefined') {
     s.pageName = window.location.href;
@@ -130,13 +91,7 @@ export const setSearchResultCount = (resultCount: number): void => {
   }
 };
 
-export const trackSearchQuery = (
-  _input,
-  _event,
-  suggestion,
-  _datasetNumber,
-  _context
-): void => {
+export const trackSearchQuery = (_input, _event, suggestion): void => {
   if (typeof window !== 'undefined' && typeof s != 'undefined') {
     s.linkTrackVars =
       'prop39,prop41,prop50,prop61,prop62,eVar26,eVar27,eVar39,eVar41,eVar50,eVar61,eVar62,eVar69,events';
diff --git a/yarn.lock b/yarn.lock
index 80b1c59309f..c2d02e6f35f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2774,14 +2774,14 @@
     "@docsearch/css" "3.5.2"
     algoliasearch "^4.19.1"
 
-"@eslint-community/eslint-utils@^4.2.0":
+"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
   version "4.4.0"
   resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
   integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
   dependencies:
     eslint-visitor-keys "^3.3.0"
 
-"@eslint-community/regexpp@^4.6.1":
+"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
   version "4.10.0"
   resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
   integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
@@ -3832,7 +3832,7 @@
     jest-diff "^26.0.0"
     pretty-format "^26.0.0"
 
-"@types/json-schema@^7.0.9":
+"@types/json-schema@^7.0.12", "@types/json-schema@^7.0.9":
   version "7.0.15"
   resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
   integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
@@ -3930,6 +3930,11 @@
   resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.6.tgz#eb26db6780c513de59bee0b869ef289ad3068711"
   integrity sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==
 
+"@types/semver@^7.5.0":
+  version "7.5.6"
+  resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339"
+  integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==
+
 "@types/stack-utils@^2.0.0":
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8"
@@ -3969,6 +3974,23 @@
   dependencies:
     "@types/node" "*"
 
+"@typescript-eslint/eslint-plugin@^6.13.1":
+  version "6.13.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.1.tgz#f98bd887bf95551203c917e734d113bf8d527a0c"
+  integrity sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA==
+  dependencies:
+    "@eslint-community/regexpp" "^4.5.1"
+    "@typescript-eslint/scope-manager" "6.13.1"
+    "@typescript-eslint/type-utils" "6.13.1"
+    "@typescript-eslint/utils" "6.13.1"
+    "@typescript-eslint/visitor-keys" "6.13.1"
+    debug "^4.3.4"
+    graphemer "^1.4.0"
+    ignore "^5.2.4"
+    natural-compare "^1.4.0"
+    semver "^7.5.4"
+    ts-api-utils "^1.0.1"
+
 "@typescript-eslint/parser@^5.4.2 || ^6.0.0":
   version "6.13.1"
   resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.13.1.tgz#29d6d4e5fab4669e58bc15f6904b67da65567487"
@@ -3988,6 +4010,16 @@
     "@typescript-eslint/types" "6.13.1"
     "@typescript-eslint/visitor-keys" "6.13.1"
 
+"@typescript-eslint/type-utils@6.13.1":
+  version "6.13.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.13.1.tgz#e6e5885e387841cae9c38fc0638fd8b7561973d6"
+  integrity sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ==
+  dependencies:
+    "@typescript-eslint/typescript-estree" "6.13.1"
+    "@typescript-eslint/utils" "6.13.1"
+    debug "^4.3.4"
+    ts-api-utils "^1.0.1"
+
 "@typescript-eslint/types@6.13.1":
   version "6.13.1"
   resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.13.1.tgz#b56f26130e7eb8fa1e429c75fb969cae6ad7bb5c"
@@ -4006,6 +4038,19 @@
     semver "^7.5.4"
     ts-api-utils "^1.0.1"
 
+"@typescript-eslint/utils@6.13.1":
+  version "6.13.1"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.13.1.tgz#925b3a2453a71ada914ae329b7bb7e7d96634b2f"
+  integrity sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw==
+  dependencies:
+    "@eslint-community/eslint-utils" "^4.4.0"
+    "@types/json-schema" "^7.0.12"
+    "@types/semver" "^7.5.0"
+    "@typescript-eslint/scope-manager" "6.13.1"
+    "@typescript-eslint/types" "6.13.1"
+    "@typescript-eslint/typescript-estree" "6.13.1"
+    semver "^7.5.4"
+
 "@typescript-eslint/visitor-keys@6.13.1":
   version "6.13.1"
   resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.1.tgz#c4b692dcc23a4fc60685b718f10fde789d65a540"