From eb334f6357d8796826f0b5ae31c60bcdbe2c5821 Mon Sep 17 00:00:00 2001 From: SrJuggernaut Date: Fri, 15 Sep 2023 12:36:07 -0600 Subject: [PATCH] feat: eslint update --- .eslintrc.json | 57 ++--- bun.lockb | Bin 232372 -> 229770 bytes next-env.d.ts | 1 + package.json | 13 +- src/adapters/.gitkeep | 0 src/app/layout.tsx | 8 + src/assets/.gitkeep | 0 src/assets/logos/EntGamers.tsx | 4 +- src/components/Seo.tsx | 12 +- src/components/layouts/Contained.tsx | 4 +- src/components/layouts/Footer/Footer.tsx | 10 +- src/components/layouts/Header/Header.tsx | 22 +- .../pages/equipo/unirse/PositionJoinTeam.tsx | 8 +- .../pages/equipo/unirse/UnirseForm.tsx | 28 +-- src/components/pages/home/Clanes.tsx | 2 +- src/components/pages/home/Hero.tsx | 16 +- src/components/pages/home/SocialNetworks.tsx | 10 +- src/components/pages/home/Team.tsx | 4 +- src/components/profiles/ProfileCard.tsx | 34 +-- src/interfaces/common.ts | 4 +- src/interfaces/components/index.ts | 2 - src/interfaces/components/layouts/Footer.ts | 2 +- .../components/layouts/contained.ts | 2 +- .../pages/equipo/unirse/positionJoinTeam.ts | 2 +- src/interfaces/components/pages/index.ts | 1 - src/interfaces/index.ts | 5 +- src/interfaces/models/index.ts | 1 + src/interfaces/models/profile.ts | 2 +- src/interfaces/pages/clanes.ts | 2 +- src/interfaces/pages/equipo.ts | 2 +- src/interfaces/pages/equipo/unirse.ts | 2 +- src/interfaces/pages/index.ts | 2 - src/pages/404.tsx | 8 +- src/pages/_app.tsx | 13 +- src/pages/about.tsx | 6 +- src/pages/clanes.tsx | 4 +- src/pages/equipo.tsx | 14 +- src/pages/equipo/unirse.tsx | 10 +- src/pages/index.tsx | 3 +- src/styles/muiTheme.ts | 2 +- tsconfig.json | 8 +- types/mui.d.ts | 2 +- yarn.lock | 221 ++++++++---------- 43 files changed, 269 insertions(+), 284 deletions(-) delete mode 100644 src/adapters/.gitkeep create mode 100644 src/app/layout.tsx delete mode 100644 src/assets/.gitkeep create mode 100644 src/interfaces/models/index.ts diff --git a/.eslintrc.json b/.eslintrc.json index 4b11d9a..fb761d9 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,28 +1,33 @@ { "env": { "browser": true, - "es2021": true + "es2021": true, + "node": true }, "extends": [ - "plugin:react/recommended", - "standard", - "plugin:@next/next/recommended" + "next/core-web-vitals", + "standard-with-typescript", + "plugin:react/recommended" ], - "parser": "@typescript-eslint/parser", "parserOptions": { - "ecmaFeatures": { - "jsx": true - }, "ecmaVersion": "latest", "sourceType": "module" }, "plugins": [ - "react", - "@emotion", - "@typescript-eslint" + "react" ], "rules": { - "indent": [ + "react/react-in-jsx-scope": "off", + "react/jsx-uses-react": "off", + "indent": "off", + "@typescript-eslint/indent": [ + "error", + 2, + { + "SwitchCase": 1 + } + ], + "react/jsx-indent": [ "error", 2 ], @@ -30,23 +35,21 @@ "@typescript-eslint/no-use-before-define": [ "error" ], - "react/react-in-jsx-scope": "off", - "react/jsx-filename-extension": [ - "warn", + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": [ + "error", { - "extensions": [ - ".tsx" - ] + "argsIgnorePattern": "^_" } ], - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": "error", - "@emotion/pkg-renaming": "error", - "react/no-unknown-property": ["error", { "ignore": ["css"] }] - }, - "settings": { - "react": { - "version": "detect" - } + "react-hooks/exhaustive-deps": "off", + "react/no-unknown-property": [ + "error", + { + "ignore": [ + "css" + ] + } + ] } } \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 74b899b1447403ac99ecacf8d8f087b777324ba9..53625d89778869526bcc77b3e49583f485ce1547 100755 GIT binary patch delta 41336 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 L>!XqSpGy5dnuV4l delta 41978 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 diff --git a/next-env.d.ts b/next-env.d.ts index 4f11a03..fd36f94 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +/// // NOTE: This file should not be edited // see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/package.json b/package.json index 9f2f1d8..3416ba9 100644 --- a/package.json +++ b/package.json @@ -36,17 +36,18 @@ "@types/isomorphic-fetch": "^0.0.36", "@types/node": "20.6.0", "@types/react": "18.2.21", - "@typescript-eslint/eslint-plugin": "^5.38.0", + "@typescript-eslint/eslint-plugin": "^6.4.0", "@typescript-eslint/parser": "^5.38.0", - "eslint": "^8.23.1", + "eslint": "^8.0.1", "eslint-config-next": "latest", "eslint-config-standard": "^17.0.0", + "eslint-config-standard-with-typescript": "latest", "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.2.5", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^6.0.1", - "eslint-plugin-react": "^7.31.8", + "eslint-plugin-promise": "^6.0.0", + "eslint-plugin-react": "latest", "husky": "^8.0.3", - "typescript": "5.2.2" + "typescript": "*" } } diff --git a/src/adapters/.gitkeep b/src/adapters/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..d56caf9 --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,8 @@ +import { type FC } from 'react' + +const RootLayout: FC = () => { + return ( +

RootLayout
+ ) +} +export default RootLayout diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/src/assets/logos/EntGamers.tsx b/src/assets/logos/EntGamers.tsx index 340b578..4113dbb 100644 --- a/src/assets/logos/EntGamers.tsx +++ b/src/assets/logos/EntGamers.tsx @@ -1,6 +1,6 @@ -import { FC, SVGProps } from 'react' +import { type FC, type SVGProps } from 'react' -const SvgComponent:FC> = (props) => ( +const SvgComponent: FC> = (props) => ( = ({ title, description, image }) => { return ( - {!!title && ( + {title !== undefined && ( <> {`${title} - ${SITE_NAME}`} )} - {!!description && ( + {description !== undefined && ( <> )} - {!!image && ( + {image !== undefined && ( <> diff --git a/src/components/layouts/Contained.tsx b/src/components/layouts/Contained.tsx index 7a7e69a..e11add7 100644 --- a/src/components/layouts/Contained.tsx +++ b/src/components/layouts/Contained.tsx @@ -1,10 +1,10 @@ import { Container } from '@mui/material' -import { FC } from 'react' +import { type FC } from 'react' import Header from '@components/layouts/Header' import Footer from '@components/layouts/Footer' -import { ContainedProps } from '@interfaces' +import { type ContainedProps } from '@interfaces' const Contained: FC = ({ children }) => { return ( diff --git a/src/components/layouts/Footer/Footer.tsx b/src/components/layouts/Footer/Footer.tsx index 2417417..140bca3 100644 --- a/src/components/layouts/Footer/Footer.tsx +++ b/src/components/layouts/Footer/Footer.tsx @@ -1,12 +1,12 @@ +import { faAngleRight } from '@fortawesome/free-solid-svg-icons' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { type FooterColumn } from '@interfaces' import { Container, Paper, Typography } from '@mui/material' import MuiLink from '@mui/material/Link' import NextLink from 'next/link' +import { type FC } from 'react' -import { faAngleRight } from '@fortawesome/free-solid-svg-icons' -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import { FooterColumn } from '@interfaces' - -const Footer = () => { +const Footer: FC = () => { const columns: FooterColumn[] = [ { title: 'Acerca de', diff --git a/src/components/layouts/Header/Header.tsx b/src/components/layouts/Header/Header.tsx index 019110e..7e77b7b 100644 --- a/src/components/layouts/Header/Header.tsx +++ b/src/components/layouts/Header/Header.tsx @@ -1,31 +1,29 @@ +import EntGamers from '@assets/logos/EntGamers' import { faBars } from '@fortawesome/free-solid-svg-icons' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { type Link } from '@interfaces' import { AppBar, Box, Container, Divider, IconButton, ListItemButton, NoSsr } from '@mui/material' import dynamic from 'next/dynamic' import NextLink from 'next/link' import { useRouter } from 'next/router' -import { useEffect, useState } from 'react' +import { useEffect, useState, type FC } from 'react' -import EntGamers from '@assets/logos/EntGamers' - -import { Link } from '@interfaces' - -const Drawer = dynamic(() => import('@mui/material/Drawer'), { ssr: false }) -const List = dynamic(() => import('@mui/material/List'), { ssr: false }) -const ListItemText = dynamic(() => import('@mui/material/ListItemText'), { ssr: false }) +const Drawer = dynamic(async () => await import('@mui/material/Drawer'), { ssr: false }) +const List = dynamic(async () => await import('@mui/material/List'), { ssr: false }) +const ListItemText = dynamic(async () => await import('@mui/material/ListItemText'), { ssr: false }) const MenuItems: Link[] = [ { label: 'Home', url: '/' }, { label: 'Clanes', url: '/clanes' } ] -const Header = () => { +const Header: FC = () => { const [scrolled, setScrolled] = useState(false) const [openMenu, setOpenMenu] = useState(false) const router = useRouter() - const handleScroll = () => { + const handleScroll = (): void => { if (window.scrollY > 15) { setScrolled(true) } else { @@ -86,7 +84,7 @@ const Header = () => { alignItems: 'center', aspectRatio: '1' }} - onClick={() => setOpenMenu(true)} + onClick={() => { setOpenMenu(true) }} > @@ -96,7 +94,7 @@ const Header = () => { setOpenMenu(false)} + onClose={() => { setOpenMenu(false) }} anchor="right" > import('@components/pages/equipo/unirse/UnirseForm'), { +const UnirseForm = dynamic(async () => await import('@components/pages/equipo/unirse/UnirseForm'), { ssr: false, suspense: false }) -const PositionJoinTeam:FC = ( +const PositionJoinTeam: FC = ( { benefits, description, requirements, title } ) => { return ( diff --git a/src/components/pages/equipo/unirse/UnirseForm.tsx b/src/components/pages/equipo/unirse/UnirseForm.tsx index e0e572c..7bccb0b 100644 --- a/src/components/pages/equipo/unirse/UnirseForm.tsx +++ b/src/components/pages/equipo/unirse/UnirseForm.tsx @@ -1,11 +1,11 @@ -import { useFormik } from 'formik' import { Box, Button, TextField, Typography } from '@mui/material' -import { FC, useState } from 'react' +import { useFormik } from 'formik' +import { useState, type FC } from 'react' import { object, string } from 'yup' -import { UnirseFormData, UnirseFormProps } from '@interfaces' -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faSpinner } from '@fortawesome/free-solid-svg-icons' +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' +import { type UnirseFormData, type UnirseFormProps } from '@interfaces' const unirseFormSchema = object({ name: string().required('El nombre es requerido'), @@ -21,7 +21,7 @@ const UnirseForm: FC = ({ role }) => { initialValues: { name: '', email: '', - role: role || '', + role: role ?? '', discordUserName: '', experience: '' }, @@ -73,8 +73,8 @@ const UnirseForm: FC = ({ role }) => { placeholder="Escribe tu nombre" value={formik.values.name} onChange={formik.handleChange} - error={formik.touched.name && !!formik.errors.name} - helperText={formik.touched.name && formik.errors.name} + error={formik.touched.name !== undefined && formik.errors.name !== undefined } + helperText={formik.touched.name !== undefined && formik.errors.name} fullWidth margin="normal" /> @@ -84,8 +84,8 @@ const UnirseForm: FC = ({ role }) => { placeholder="Usaremos este correo para contactarte" value={formik.values.email} onChange={formik.handleChange} - error={formik.touched.email && !!formik.errors.email} - helperText={formik.touched.email && formik.errors.email} + error={formik.touched.email !== undefined && formik.errors.email !== undefined } + helperText={formik.touched.email !== undefined && formik.errors.email} fullWidth margin="normal" /> @@ -95,8 +95,8 @@ const UnirseForm: FC = ({ role }) => { placeholder="userName#0000" value={formik.values.discordUserName} onChange={formik.handleChange} - error={formik.touched.discordUserName && !!formik.errors.discordUserName} - helperText={formik.touched.discordUserName && formik.errors.discordUserName} + error={formik.touched.discordUserName !== undefined && formik.errors.discordUserName !== undefined } + helperText={formik.touched.discordUserName !== undefined && formik.errors.discordUserName} fullWidth margin="normal" /> @@ -106,8 +106,8 @@ const UnirseForm: FC = ({ role }) => { placeholder="¿Tienes experiencia en el área? ¿Qué conocimientos tienes?" value={formik.values.experience} onChange={formik.handleChange} - error={formik.touched.experience && !!formik.errors.experience} - helperText={formik.touched.experience && formik.errors.experience} + error={formik.touched.experience !== undefined && formik.errors.experience !== undefined } + helperText={formik.touched.experience !== undefined && formik.errors.experience} fullWidth margin="normal" multiline @@ -124,7 +124,7 @@ const UnirseForm: FC = ({ role }) => { type="submit" endIcon={formik.isSubmitting ? : undefined} > - Enviar + Enviar diff --git a/src/components/pages/home/Clanes.tsx b/src/components/pages/home/Clanes.tsx index b566f5b..261b45f 100644 --- a/src/components/pages/home/Clanes.tsx +++ b/src/components/pages/home/Clanes.tsx @@ -1,7 +1,7 @@ import { Box, Button, Container, Paper, Typography } from '@mui/material' import Image from 'next/image' import Link from 'next/link' -import { FC } from 'react' +import { type FC } from 'react' import ClanesImage from '@assets/images/Clanes.png' diff --git a/src/components/pages/home/Hero.tsx b/src/components/pages/home/Hero.tsx index aa66a0c..2d3b6f0 100644 --- a/src/components/pages/home/Hero.tsx +++ b/src/components/pages/home/Hero.tsx @@ -5,7 +5,7 @@ import gsap, { Elastic, Linear } from 'gsap' import ScrollTrigger from 'gsap/dist/ScrollTrigger' import ScrollToPlugin from 'gsap/dist/ScrollToPlugin' import Image from 'next/image' -import { FC, useEffect, useRef } from 'react' +import { type FC, useEffect, useRef } from 'react' import EntGamers from '@assets/images/EntGamers.png' @@ -17,13 +17,13 @@ export interface HeroProps { } const Hero: FC = ({ subtitle, title }) => { - const layer01 = useRef(null) - const layer02 = useRef(null) - const layer03 = useRef(null) - const layer04 = useRef(null) - const layer05 = useRef(null) - const layer06 = useRef(null) - const verMasButton = useRef(null) + const layer01 = useRef(null) + const layer02 = useRef(null) + const layer03 = useRef(null) + const layer04 = useRef(null) + const layer05 = useRef(null) + const layer06 = useRef(null) + const verMasButton = useRef(null) useEffect(() => { const scrollTrigger = { trigger: layer01.current, diff --git a/src/components/pages/home/SocialNetworks.tsx b/src/components/pages/home/SocialNetworks.tsx index 219db8b..65ad624 100644 --- a/src/components/pages/home/SocialNetworks.tsx +++ b/src/components/pages/home/SocialNetworks.tsx @@ -3,15 +3,15 @@ import { Container, Paper } from '@mui/material' import gsap, { Linear } from 'gsap' import ScrollToPlugin from 'gsap/dist/ScrollToPlugin' import ScrollTrigger from 'gsap/dist/ScrollTrigger' -import { FC, useEffect, useRef } from 'react' +import { type FC, useEffect, useRef } from 'react' gsap.registerPlugin(ScrollTrigger, ScrollToPlugin) const SocialNetworks: FC = () => { - const layer01 = useRef(null) - const layer02 = useRef(null) - const layer03 = useRef(null) - const layer04 = useRef(null) + const layer01 = useRef(null) + const layer02 = useRef(null) + const layer03 = useRef(null) + const layer04 = useRef(null) useEffect(() => { const scrollTrigger = { diff --git a/src/components/pages/home/Team.tsx b/src/components/pages/home/Team.tsx index 9c33197..dc8da46 100644 --- a/src/components/pages/home/Team.tsx +++ b/src/components/pages/home/Team.tsx @@ -1,8 +1,8 @@ import { Button, Container, Typography } from '@mui/material' import NextLink from 'next/link' -import { FC } from 'react' +import { type FC } from 'react' -import ProfileCard, { ProfileCardProps } from '@components/profiles/ProfileCard' +import ProfileCard, { type ProfileCardProps } from '@components/profiles/ProfileCard' export interface TeamProps { title: string diff --git a/src/components/profiles/ProfileCard.tsx b/src/components/profiles/ProfileCard.tsx index 9ba8a1e..dc921fb 100644 --- a/src/components/profiles/ProfileCard.tsx +++ b/src/components/profiles/ProfileCard.tsx @@ -2,21 +2,21 @@ import { faFacebook, faInstagram, faTiktok, faTwitch, faTwitter, faYoutube } fro import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { Avatar, Card, CardContent, IconButton, Tooltip, Typography } from '@mui/material' import NextImage from 'next/image' -import { FC } from 'react' +import { type FC } from 'react' import BadgeBook from '@assets/images/gaming/BadgeBook.png' import BadgeShield from '@assets/images/gaming/BadgeShield.png' import BadgeSword from '@assets/images/gaming/BadgeSword.png' import ButtonA from '@assets/images/gaming/ButtonA.png' import { faGlobe } from '@fortawesome/free-solid-svg-icons' -import { SocialLink } from '@interfaces' +import { type SocialLink } from '@interfaces' export interface ProfileCardProps { userName: string biography: string avatar: string socialNetworks: SocialLink[] - role: 'user'| 'moderator'| 'collaborator' | 'admin' + role: 'user' | 'moderator' | 'collaborator' | 'admin' } const ProfileCard: FC = ({ avatar, biography, socialNetworks, userName, role }) => { @@ -136,20 +136,20 @@ const ProfileCard: FC = ({ avatar, biography, socialNetworks, > {((socialNetwork) => { switch (socialNetwork) { - case 'facebook': - return - case 'twitter': - return - case 'instagram': - return - case 'twitch': - return - case 'youtube': - return - case 'tiktok': - return - default: - return + case 'facebook': + return + case 'twitter': + return + case 'instagram': + return + case 'twitch': + return + case 'youtube': + return + case 'tiktok': + return + default: + return } })(socialNetwork)} diff --git a/src/interfaces/common.ts b/src/interfaces/common.ts index d39aecf..732d214 100644 --- a/src/interfaces/common.ts +++ b/src/interfaces/common.ts @@ -1,4 +1,4 @@ -import { ButtonProps } from '@mui/material' +import { type ButtonProps } from '@mui/material' export interface Link { url: string @@ -11,5 +11,5 @@ export interface Button extends Link { } export interface SocialLink extends Link { - socialNetwork: 'facebook' | 'twitter' | 'instagram' | 'twitch'| 'youtube' | 'tiktok'| string + socialNetwork: 'facebook' | 'twitter' | 'instagram' | 'twitch' | 'youtube' | 'tiktok' | string } diff --git a/src/interfaces/components/index.ts b/src/interfaces/components/index.ts index 46c668f..6e667b1 100644 --- a/src/interfaces/components/index.ts +++ b/src/interfaces/components/index.ts @@ -1,5 +1,3 @@ export * from './layouts' -export * from './pages/equipo' -export * from './pages/equipo/unirse' export * from './pages' export * from './seo' diff --git a/src/interfaces/components/layouts/Footer.ts b/src/interfaces/components/layouts/Footer.ts index c447029..56a14ac 100644 --- a/src/interfaces/components/layouts/Footer.ts +++ b/src/interfaces/components/layouts/Footer.ts @@ -1,4 +1,4 @@ -import { Link } from '@interfaces' +import { type Link } from '@interfaces' export interface FooterColumn { title: string diff --git a/src/interfaces/components/layouts/contained.ts b/src/interfaces/components/layouts/contained.ts index 84f3ad5..8418ebb 100644 --- a/src/interfaces/components/layouts/contained.ts +++ b/src/interfaces/components/layouts/contained.ts @@ -1,4 +1,4 @@ -import { ReactNode } from 'react' +import { type ReactNode } from 'react' export interface ContainedProps { children: ReactNode diff --git a/src/interfaces/components/pages/equipo/unirse/positionJoinTeam.ts b/src/interfaces/components/pages/equipo/unirse/positionJoinTeam.ts index be5b143..182e3a7 100644 --- a/src/interfaces/components/pages/equipo/unirse/positionJoinTeam.ts +++ b/src/interfaces/components/pages/equipo/unirse/positionJoinTeam.ts @@ -1,4 +1,4 @@ -import { EquipoUnirsePageProps } from '@interfaces' +import { type EquipoUnirsePageProps } from '@interfaces' export interface PositionJoinTeamProps { title: EquipoUnirsePageProps['teamPositions'][number]['title'] diff --git a/src/interfaces/components/pages/index.ts b/src/interfaces/components/pages/index.ts index 33b709a..c6e6be3 100644 --- a/src/interfaces/components/pages/index.ts +++ b/src/interfaces/components/pages/index.ts @@ -1,2 +1 @@ -export * from './equipo' export * from './equipo/unirse' diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts index d3391b1..0eb2c31 100644 --- a/src/interfaces/index.ts +++ b/src/interfaces/index.ts @@ -1,7 +1,4 @@ export * from './common' export * from './components' -export * from './components/layouts' -export * from './models/profile' +export * from './models' export * from './pages' -export * from './pages/clanes' -export * from './pages/equipo' diff --git a/src/interfaces/models/index.ts b/src/interfaces/models/index.ts new file mode 100644 index 0000000..060535f --- /dev/null +++ b/src/interfaces/models/index.ts @@ -0,0 +1 @@ +export * from './profile' diff --git a/src/interfaces/models/profile.ts b/src/interfaces/models/profile.ts index f1fb171..27a2e15 100644 --- a/src/interfaces/models/profile.ts +++ b/src/interfaces/models/profile.ts @@ -1,4 +1,4 @@ -import { SocialLink } from '@interfaces' +import { type SocialLink } from '@interfaces' export interface Profile { id: string diff --git a/src/interfaces/pages/clanes.ts b/src/interfaces/pages/clanes.ts index 6cc4eb5..99c6f5b 100644 --- a/src/interfaces/pages/clanes.ts +++ b/src/interfaces/pages/clanes.ts @@ -1,4 +1,4 @@ -import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder +import { type SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder export interface ClanesPageProps { seo?: Seo diff --git a/src/interfaces/pages/equipo.ts b/src/interfaces/pages/equipo.ts index cec5aaa..292a2f6 100644 --- a/src/interfaces/pages/equipo.ts +++ b/src/interfaces/pages/equipo.ts @@ -1,4 +1,4 @@ -import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder +import { type SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder export interface EquipoPageProps { seo?: Seo diff --git a/src/interfaces/pages/equipo/unirse.ts b/src/interfaces/pages/equipo/unirse.ts index 25c1e4f..64bde86 100644 --- a/src/interfaces/pages/equipo/unirse.ts +++ b/src/interfaces/pages/equipo/unirse.ts @@ -1,4 +1,4 @@ -import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder +import { type SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder export interface TeamPositionRequirements { title: string diff --git a/src/interfaces/pages/index.ts b/src/interfaces/pages/index.ts index 10638a9..ce6722c 100644 --- a/src/interfaces/pages/index.ts +++ b/src/interfaces/pages/index.ts @@ -1,4 +1,2 @@ export * from './clanes' export * from './equipo' -export * from './equipo/index' -export * from './equipo' diff --git a/src/pages/404.tsx b/src/pages/404.tsx index de5591c..5ec1e87 100644 --- a/src/pages/404.tsx +++ b/src/pages/404.tsx @@ -1,9 +1,9 @@ +import Contained from '@components/layouts/Contained' import { Box, Button, Typography } from '@mui/material' import NextLink from 'next/link' +import { type FC } from 'react' -import Contained from '@components/layouts/Contained' - -const Page404 = () => { +const Page404: FC = () => { return ( { component={NextLink} variant="contained" > - Volver al inicio + Volver al inicio diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 062db8b..2e04e96 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,15 +1,14 @@ -import { config } from '@fortawesome/fontawesome-svg-core' -import { CssBaseline, ThemeProvider } from '@mui/material' -import type { AppProps } from 'next/app' - import Seo from '@components/Seo' -import theme from '@styles/muiTheme' - +import { config } from '@fortawesome/fontawesome-svg-core' import '@fortawesome/fontawesome-svg-core/styles.css' +import { CssBaseline, ThemeProvider } from '@mui/material' +import theme from '@styles/muiTheme' +import type { AppProps } from 'next/app' +import { type FC } from 'react' config.autoAddCss = false -const MyApp = ({ Component, pageProps }: AppProps) => { +const MyApp: FC = ({ Component, pageProps }) => { return ( diff --git a/src/pages/about.tsx b/src/pages/about.tsx index bcf87ae..ae9912f 100644 --- a/src/pages/about.tsx +++ b/src/pages/about.tsx @@ -1,8 +1,8 @@ -import { Typography } from '@mui/material' - import Contained from '@components/layouts/Contained' +import { Typography } from '@mui/material' +import { type FC } from 'react' -const About = () => { +const About: FC = () => { return ( Sobre EntGamers diff --git a/src/pages/clanes.tsx b/src/pages/clanes.tsx index 30972fc..3bc6a9c 100644 --- a/src/pages/clanes.tsx +++ b/src/pages/clanes.tsx @@ -2,10 +2,10 @@ import { faChevronRight } from '@fortawesome/free-solid-svg-icons' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { Box, Typography } from '@mui/material' import type { GetStaticProps, InferGetStaticPropsType } from 'next' -import { FC } from 'react' +import { type FC } from 'react' import Contained from '@components/layouts/Contained' -import { ClanesPageProps } from '@interfaces' +import { type ClanesPageProps } from '@interfaces' import Seo from '@components/Seo' export const getStaticProps: GetStaticProps = async () => { diff --git a/src/pages/equipo.tsx b/src/pages/equipo.tsx index 8cfc9c4..d286310 100644 --- a/src/pages/equipo.tsx +++ b/src/pages/equipo.tsx @@ -1,12 +1,12 @@ import { Box, Button, Typography } from '@mui/material' -import { GetStaticProps, InferGetStaticPropsType } from 'next' +import { type GetStaticProps, type InferGetStaticPropsType } from 'next' import NextLink from 'next/link' -import { FC } from 'react' +import { type FC } from 'react' import Seo from '@components/Seo' import Contained from '@components/layouts/Contained' -import ProfileCard, { ProfileCardProps } from '@components/profiles/ProfileCard' -import { EquipoPageProps } from '@interfaces' +import ProfileCard, { type ProfileCardProps } from '@components/profiles/ProfileCard' +import { type EquipoPageProps } from '@interfaces' export const getStaticProps: GetStaticProps = async () => { return { @@ -109,7 +109,7 @@ const Equipo: FC> = ( color="primary" component={NextLink} > - Quiero ser administrador + Quiero ser administrador @@ -162,7 +162,7 @@ const Equipo: FC> = ( color="primary" component={NextLink} > - Quiero ser moderador + Quiero ser moderador @@ -215,7 +215,7 @@ const Equipo: FC> = ( color="primary" component={NextLink} > - Quiero ser colaborador + Quiero ser colaborador diff --git a/src/pages/equipo/unirse.tsx b/src/pages/equipo/unirse.tsx index de3a9cb..05f8bd3 100644 --- a/src/pages/equipo/unirse.tsx +++ b/src/pages/equipo/unirse.tsx @@ -1,10 +1,10 @@ -import { Paper, Tab, Tabs, Theme, Typography, useMediaQuery } from '@mui/material' -import { GetStaticProps, GetStaticPropsResult, InferGetStaticPropsType } from 'next' -import { FC, useState } from 'react' +import { Paper, Tab, Tabs, type Theme, Typography, useMediaQuery } from '@mui/material' +import { type GetStaticProps, type GetStaticPropsResult, type InferGetStaticPropsType } from 'next' +import { type FC, useState } from 'react' import Contained from '@components/layouts/Contained' import Seo from '@components/Seo' -import { EquipoUnirsePageProps } from '@interfaces' +import { type EquipoUnirsePageProps } from '@interfaces' import 'swiper/css' import 'swiper/css/virtual' @@ -115,7 +115,7 @@ const Unirse: FC> = ({ title, seo > setCurrentTab(value)} + onChange={(_, value) => { setCurrentTab(value) }} variant={isMediumOrBigger ? 'fullWidth' : 'scrollable'} scrollButtons allowScrollButtonsMobile diff --git a/src/pages/index.tsx b/src/pages/index.tsx index d17a69b..31f70ab 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,11 +1,10 @@ -import type { NextPage } from 'next' - import Seo from '@components/Seo' import Footer from '@components/layouts/Footer' import Header from '@components/layouts/Header' import Clanes from '@components/pages/home/Clanes' import Hero from '@components/pages/home/Hero' import Team from '@components/pages/home/Team' +import type { NextPage } from 'next' const Home: NextPage = () => { return ( diff --git a/src/styles/muiTheme.ts b/src/styles/muiTheme.ts index dbe30f9..f8ce1cf 100644 --- a/src/styles/muiTheme.ts +++ b/src/styles/muiTheme.ts @@ -1,4 +1,4 @@ -import { createTheme, Interpolation, Theme } from '@mui/material' +import { createTheme, type Interpolation, type Theme } from '@mui/material' const glassStyle: Interpolation<{ theme: Theme }> = { background: 'rgba( 28, 30, 33, 0.45 )', diff --git a/tsconfig.json b/tsconfig.json index e5b4bda..7ebdf06 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -58,12 +58,18 @@ "typeRoots": [ "node_modules/@types", "./types" + ], + "plugins": [ + { + "name": "next" + } ] }, "include": [ "next-env.d.ts", "**/*.ts", - "**/*.tsx" + "**/*.tsx", + ".next/types/**/*.ts" ], "exclude": [ "node_modules" diff --git a/types/mui.d.ts b/types/mui.d.ts index 1c35ee2..a80fe63 100644 --- a/types/mui.d.ts +++ b/types/mui.d.ts @@ -1,4 +1,4 @@ -import { CSSProperties } from 'react' +import { type CSSProperties } from 'react' declare module '@mui/material/styles' { interface PaperVariants { diff --git a/yarn.lock b/yarn.lock index f8a1787..b293585 100644 --- a/yarn.lock +++ b/yarn.lock @@ -437,7 +437,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -448,7 +448,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.0, @eslint-community/regexpp@npm:^4.6.1": version: 4.8.1 resolution: "@eslint-community/regexpp@npm:4.8.1" checksum: 82d62c845ef42b810f268cfdc84d803a2da01735fb52e902fd34bdc09f92464a094fd8e4802839874b000b2f73f67c972859e813ba705233515d3e954f234bf2 @@ -972,7 +972,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:^7.0.12": version: 7.0.12 resolution: "@types/json-schema@npm:7.0.12" checksum: 00239e97234eeb5ceefb0c1875d98ade6e922bfec39dd365ec6bd360b5c2f825e612ac4f6e5f1d13601b8b30f378f15e6faa805a3a732f4a1bbe61915163d293 @@ -1055,34 +1055,35 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12": +"@types/semver@npm:^7.5.0": version: 7.5.2 resolution: "@types/semver@npm:7.5.2" checksum: 743aa8a2b58e20b329c19bd2459152cb049d12fafab7279b90ac11e0f268c97efbcb606ea0c681cca03f79015381b40d9b1244349b354270bec3f939ed49f6e9 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.38.0": - version: 5.62.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" +"@typescript-eslint/eslint-plugin@npm:^6.4.0": + version: 6.7.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.7.0" dependencies: - "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.62.0 - "@typescript-eslint/type-utils": 5.62.0 - "@typescript-eslint/utils": 5.62.0 + "@eslint-community/regexpp": ^4.5.1 + "@typescript-eslint/scope-manager": 6.7.0 + "@typescript-eslint/type-utils": 6.7.0 + "@typescript-eslint/utils": 6.7.0 + "@typescript-eslint/visitor-keys": 6.7.0 debug: ^4.3.4 graphemer: ^1.4.0 - ignore: ^5.2.0 - natural-compare-lite: ^1.4.0 - semver: ^7.3.7 - tsutils: ^3.21.0 + ignore: ^5.2.4 + natural-compare: ^1.4.0 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: fc104b389c768f9fa7d45a48c86d5c1ad522c1d0512943e782a56b1e3096b2cbcc1eea3fcc590647bf0658eef61aac35120a9c6daf979bf629ad2956deb516a1 + checksum: 48393749c5c1f67acf71795551c6065586198530006189c48636e32caea4d1285624c16c047164f9d29055e26c4f90fca964c5a2b5c0e9b6d9ed87acd74ca0d6 languageName: node linkType: hard @@ -1103,7 +1104,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0": +"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0, @typescript-eslint/parser@npm:^6.4.0": version: 6.7.0 resolution: "@typescript-eslint/parser@npm:6.7.0" dependencies: @@ -1141,20 +1142,20 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/type-utils@npm:5.62.0" +"@typescript-eslint/type-utils@npm:6.7.0": + version: 6.7.0 + resolution: "@typescript-eslint/type-utils@npm:6.7.0" dependencies: - "@typescript-eslint/typescript-estree": 5.62.0 - "@typescript-eslint/utils": 5.62.0 + "@typescript-eslint/typescript-estree": 6.7.0 + "@typescript-eslint/utils": 6.7.0 debug: ^4.3.4 - tsutils: ^3.21.0 + ts-api-utils: ^1.0.1 peerDependencies: - eslint: "*" + eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: fc41eece5f315dfda14320be0da78d3a971d650ea41300be7196934b9715f3fe1120a80207551eb71d39568275dbbcf359bde540d1ca1439d8be15e9885d2739 + checksum: 15ae33a6981721f83b2ac612a7597a4fcb2d9d9bfedce54707e5228bec2774fd99ba54ffce89924ae36b61488c7b6c0c2165a6d361be5cd4cefebefad8b02a01 languageName: node linkType: hard @@ -1208,21 +1209,20 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.0" +"@typescript-eslint/utils@npm:6.7.0": + version: 6.7.0 + resolution: "@typescript-eslint/utils@npm:6.7.0" dependencies: - "@eslint-community/eslint-utils": ^4.2.0 - "@types/json-schema": ^7.0.9 - "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.62.0 - "@typescript-eslint/types": 5.62.0 - "@typescript-eslint/typescript-estree": 5.62.0 - eslint-scope: ^5.1.1 - semver: ^7.3.7 + "@eslint-community/eslint-utils": ^4.4.0 + "@types/json-schema": ^7.0.12 + "@types/semver": ^7.5.0 + "@typescript-eslint/scope-manager": 6.7.0 + "@typescript-eslint/types": 6.7.0 + "@typescript-eslint/typescript-estree": 6.7.0 + semver: ^7.5.4 peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: ee9398c8c5db6d1da09463ca7bf36ed134361e20131ea354b2da16a5fdb6df9ba70c62a388d19f6eebb421af1786dbbd79ba95ddd6ab287324fc171c3e28d931 + eslint: ^7.0.0 || ^8.0.0 + checksum: b2a2857ec856d1752e77c2a274a12513372311c300f9ec57ed7bf7411eb9ea34b85a8e7810a5c48fff0e3966b71d63d77e38c5c7bca1d5c004bede5638619a00 languageName: node linkType: hard @@ -2382,7 +2382,24 @@ __metadata: languageName: node linkType: hard -"eslint-config-standard@npm:^17.0.0": +"eslint-config-standard-with-typescript@npm:latest": + version: 39.0.0 + resolution: "eslint-config-standard-with-typescript@npm:39.0.0" + dependencies: + "@typescript-eslint/parser": ^6.4.0 + eslint-config-standard: 17.1.0 + peerDependencies: + "@typescript-eslint/eslint-plugin": ^6.4.0 + eslint: ^8.0.1 + eslint-plugin-import: ^2.25.2 + eslint-plugin-n: "^15.0.0 || ^16.0.0 " + eslint-plugin-promise: ^6.0.0 + typescript: "*" + checksum: a5d76edd09b62b63b5b0d9faaaf210f1e8338332f094fb26519f50f298e010aca4ac0ebceef28bc5de31995cc7055a8a8bec9e3477d331b29cd28d9744fed0da + languageName: node + linkType: hard + +"eslint-config-standard@npm:17.1.0, eslint-config-standard@npm:^17.0.0": version: 17.1.0 resolution: "eslint-config-standard@npm:17.1.0" peerDependencies: @@ -2435,6 +2452,18 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-es-x@npm:^7.1.0": + version: 7.2.0 + resolution: "eslint-plugin-es-x@npm:7.2.0" + dependencies: + "@eslint-community/eslint-utils": ^4.1.2 + "@eslint-community/regexpp": ^4.6.0 + peerDependencies: + eslint: ">=8" + checksum: eece76ef6bcfce463659338b487e516e962ddf3ae34a8a65240ebd318fc991cabfe3573b1c3af5226474193b9c83f030c7900a8e5ffdbe731a3928ca8f2799c9 + languageName: node + linkType: hard + "eslint-plugin-es@npm:^3.0.0": version: 3.0.1 resolution: "eslint-plugin-es@npm:3.0.1" @@ -2447,18 +2476,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-es@npm:^4.1.0": - version: 4.1.0 - resolution: "eslint-plugin-es@npm:4.1.0" - dependencies: - eslint-utils: ^2.0.0 - regexpp: ^3.0.0 - peerDependencies: - eslint: ">=4.19.1" - checksum: 26b87a216d3625612b1d3ca8653ac8a1d261046d2a973bb0eb2759070267d2bfb0509051facdeb5ae03dc8dfb51a434be23aff7309a752ca901d637da535677f - languageName: node - linkType: hard - "eslint-plugin-import@npm:^2.25.2, eslint-plugin-import@npm:^2.26.0": version: 2.28.1 resolution: "eslint-plugin-import@npm:2.28.1" @@ -2512,21 +2529,22 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-n@npm:^15.2.5": - version: 15.7.0 - resolution: "eslint-plugin-n@npm:15.7.0" +"eslint-plugin-n@npm:^15.0.0 || ^16.0.0 ": + version: 16.1.0 + resolution: "eslint-plugin-n@npm:16.1.0" dependencies: + "@eslint-community/eslint-utils": ^4.4.0 builtins: ^5.0.1 - eslint-plugin-es: ^4.1.0 - eslint-utils: ^3.0.0 - ignore: ^5.1.1 - is-core-module: ^2.11.0 + eslint-plugin-es-x: ^7.1.0 + get-tsconfig: ^4.7.0 + ignore: ^5.2.4 + is-core-module: ^2.12.1 minimatch: ^3.1.2 - resolve: ^1.22.1 - semver: ^7.3.8 + resolve: ^1.22.2 + semver: ^7.5.3 peerDependencies: eslint: ">=7.0.0" - checksum: cfbcc67e62adf27712afdeadf13223cb9717f95d4af8442056d9d4c97a8b88af76b7969f75deaac26fa98481023d6b7c9e43a28909e7f0468f40b3024b7bcfae + checksum: 6b70bf8eec74395a440ca585745eb19aba143ee00513f76893c44944675630bd898227d1b4e0ebef66fd0c84cdcf223d6613b2beee0727b5c572cd705fb50d3a languageName: node linkType: hard @@ -2546,7 +2564,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-promise@npm:^6.0.1": +"eslint-plugin-promise@npm:^6.0.0": version: 6.1.1 resolution: "eslint-plugin-promise@npm:6.1.1" peerDependencies: @@ -2564,7 +2582,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.31.7, eslint-plugin-react@npm:^7.31.8": +"eslint-plugin-react@npm:^7.31.7, eslint-plugin-react@npm:latest": version: 7.33.2 resolution: "eslint-plugin-react@npm:7.33.2" dependencies: @@ -2590,16 +2608,6 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" - dependencies: - esrecurse: ^4.3.0 - estraverse: ^4.1.1 - checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb - languageName: node - linkType: hard - "eslint-scope@npm:^7.2.2": version: 7.2.2 resolution: "eslint-scope@npm:7.2.2" @@ -2619,17 +2627,6 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^3.0.0": - version: 3.0.0 - resolution: "eslint-utils@npm:3.0.0" - dependencies: - eslint-visitor-keys: ^2.0.0 - peerDependencies: - eslint: ">=5" - checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 - languageName: node - linkType: hard - "eslint-visitor-keys@npm:^1.1.0": version: 1.3.0 resolution: "eslint-visitor-keys@npm:1.3.0" @@ -2637,13 +2634,6 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-visitor-keys@npm:2.1.0" - checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d - languageName: node - linkType: hard - "eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" @@ -2651,7 +2641,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.23.1": +"eslint@npm:^8.0.1": version: 8.49.0 resolution: "eslint@npm:8.49.0" dependencies: @@ -2727,13 +2717,6 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 - languageName: node - linkType: hard - "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" @@ -3049,7 +3032,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0": +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.0": version: 4.7.0 resolution: "get-tsconfig@npm:4.7.0" dependencies: @@ -3389,7 +3372,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.2.0": +"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef @@ -3522,7 +3505,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.9.0": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.1, is-core-module@npm:^2.13.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.9.0": version: 2.13.0 resolution: "is-core-module@npm:2.13.0" dependencies: @@ -4339,13 +4322,6 @@ __metadata: languageName: node linkType: hard -"natural-compare-lite@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare-lite@npm:1.4.0" - checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -4387,16 +4363,17 @@ __metadata: "@types/isomorphic-fetch": ^0.0.36 "@types/node": 20.6.0 "@types/react": 18.2.21 - "@typescript-eslint/eslint-plugin": ^5.38.0 + "@typescript-eslint/eslint-plugin": ^6.4.0 "@typescript-eslint/parser": ^5.38.0 - eslint: ^8.23.1 + eslint: ^8.0.1 eslint-config-next: latest eslint-config-standard: ^17.0.0 + eslint-config-standard-with-typescript: latest eslint-plugin-import: ^2.25.2 - eslint-plugin-n: ^15.2.5 + eslint-plugin-n: "^15.0.0 || ^16.0.0 " eslint-plugin-node: ^11.1.0 - eslint-plugin-promise: ^6.0.1 - eslint-plugin-react: ^7.31.8 + eslint-plugin-promise: ^6.0.0 + eslint-plugin-react: latest formik: ^2.4.4 gsap: ^3.12.2 husky: ^8.0.3 @@ -4407,7 +4384,7 @@ __metadata: react-dom: 18.2.0 sharp: ^0.32.5 swiper: ^10.2.0 - typescript: 5.2.2 + typescript: "*" yup: ^1.2.0 languageName: unknown linkType: soft @@ -5140,7 +5117,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.19.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4": +"resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.19.0, resolve@npm:^1.22.2, resolve@npm:^1.22.4": version: 1.22.5 resolution: "resolve@npm:1.22.5" dependencies: @@ -5166,7 +5143,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.4#~builtin": +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.22.2#~builtin, resolve@patch:resolve@^1.22.4#~builtin": version: 1.22.5 resolution: "resolve@patch:resolve@npm%3A1.22.5#~builtin::version=1.22.5&hash=c3c19d" dependencies: @@ -5281,7 +5258,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.5.4, semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.4": +"semver@npm:7.5.4, semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -6046,7 +6023,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.2.2, typescript@npm:^4.6.4 || ^5.0.0": +"typescript@npm:*, typescript@npm:^4.6.4 || ^5.0.0": version: 5.2.2 resolution: "typescript@npm:5.2.2" bin: @@ -6056,7 +6033,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@5.2.2#~builtin, typescript@patch:typescript@^4.6.4 || ^5.0.0#~builtin": +"typescript@patch:typescript@*#~builtin, typescript@patch:typescript@^4.6.4 || ^5.0.0#~builtin": version: 5.2.2 resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=f3b441" bin: