From 6729980289f84c9c87ee38c033639680e949db2a Mon Sep 17 00:00:00 2001 From: Thomas Hammon <105238309+Motter360@users.noreply.github.com> Date: Fri, 24 Apr 2026 21:42:58 -0500 Subject: [PATCH 1/2] feat: update sponsors (#149) * added docs to the nav bar, fixed alignment on about us * added sponsor, changed intro on home page * fixed image sizes --- .../sponsors/eFactory-sponsor-edit-3.png | Bin 0 -> 16330 bytes public/images/sponsors/efactory-color.png | Bin 7428 -> 0 bytes public/images/sponsors/efactory.png | Bin 21766 -> 0 bytes public/images/sponsors/logic-forte-edit-2.png | Bin 0 -> 24928 bytes .../Blocks/Sponsors/Sponsors.module.scss | 6 +++--- src/components/Blocks/Sponsors/Sponsors.tsx | 15 ++++++++++++--- src/pages/about.tsx | 15 ++++++++++----- src/pages/index.tsx | 15 +++++++++++---- src/pages/volunteer.tsx | 17 +++++++++++------ styles/pages/About.module.scss | 2 +- styles/pages/Home.module.scss | 4 ++++ 11 files changed, 52 insertions(+), 22 deletions(-) create mode 100644 public/images/sponsors/eFactory-sponsor-edit-3.png delete mode 100644 public/images/sponsors/efactory-color.png delete mode 100644 public/images/sponsors/efactory.png create mode 100644 public/images/sponsors/logic-forte-edit-2.png diff --git a/public/images/sponsors/eFactory-sponsor-edit-3.png b/public/images/sponsors/eFactory-sponsor-edit-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6a28ad7f5c39e78b3683e39e17cb6ba6c1d4df GIT binary patch literal 16330 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 literal 0 HcmV?d00001 diff --git a/public/images/sponsors/efactory-color.png b/public/images/sponsors/efactory-color.png deleted file mode 100644 index 1236664efec39fca2e606dd9c45372c0c4170d9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7428 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 z z`Ryt!jJ^|1Nwa!QZehR5O!E9I4Ei+zhQSp#h9pg5C;b4FW<|XYe6w&KtEGwnvcGBX z_ShHfV$k2XJQ^%S>O?^p#`R1_EY>)DbVg#3-`DPSMP!g;xWRPJrrntAYt;?F;o&(% zj}}(%kxKBPLfT0NmQzO@;q&2%U~w999ZKwIMTz$uJ+H=Oy6G)nx!=`?zHS59i66Iq z%cdRYW8W>&Oxg9)u~Zi88SF_e3jHJ*2W4Gq#34Oc| z()%jiH`TrHv9BJ9b2_zz5v0bBez7{d{|ruD`8|1g6*-f%$T^H?5mr{+*%o&=KlaEs z+?CTfUb$h(!ZxQyq>nobQ1Gc3s~W9y)$0A%OY*)0&yls*E$-Fe7Od(U_oejyDdaE-dQp61l17* zcD=7y!F}K>$2vRtoP~a9GuyCOoVk~bK%8{u=i6Hdow=TG6Z_cdy@)q|;3vXSc$auK zoXV=dp%cWQ|M|GOq~`}GKXoSfv=8 z(Eh||45j4MH})3@reu?!1^UvzEl%-#|1Z$Sevw||e#In3u;YYDv)~?$m@+~Z2u)bg z@Yuyyp$^5Q-Zt}7XqtXz#`kxVsfT~ZveEsz(B6;YuT%M5@RqTPvgGD1yrxo@F57pc zIT6%-hDTvIDor3HAO3oBM!3z0uIL`<7-TsRO1KM^I^eYVEYU06%_49O-;5ug^;gL= z`GTz2cK&{!%9~KK++;;fQoo(2OQomC$rV%T(xm-Zir-( z?9rNYagaV%t`V3c^f31mj;D4sPnrwLEGP{e#q=cse`r(J4fI-c<*aWq8_O zz%8`M$(T!u)`d+MyPsYe5u(#;g-=MN-pl!t_a~YPoqNcXac;JD@8TR0eVAUn9CC1GFK-Sf7pG2C{uf2pMQ4I5q zk>v&>C;u`cMyROky*boDc;-!tAG4yz1yDHsO>=@fnOIn6v`(zTh0LPFX*SXw?y06N zH6Kw@j2(FaA~3YKvgXCex@Fb?p3TUb}lQMu$mUx z?Zms{pz=mUy056RJwvL>EsW5m77l)rivyDf#jM7B@u)3P7^<=k86k{E9bW50H;#Na zZ6I0P(Sd|Z_9{Jn&iCYd#1Vc+6V9e$CTY4j_1mGyasJCSve>bI;anrD ze>o4fQO6r>Hsdvp0Ytld4eq^V(nVTj=UGB}U`|^`oP10~#p*MN$EI$pT=q3}MWTc5 zS2Aw&^AEl!aYAOdReQCEm;t8#C$gHP3_`bC^IcU0(fN{2twb!)C*}}^idkhnN7#c* zWX^-X!%{gemjaOpgt)Dm&i2;H8PZG3Snuu%Zbn3wyQFaq>)HXEAm*8sJ;Mf{)(zOPMDS{7+(2G&z6e)vfJij^lCjsY|1^ z8Nk1SNQ7+;8T3mWE9i?_;gpo2B{INw%HCvGx)<}H86)_WiyIl)pI_xjTB@2}b&u~A zArA!TJ6BM85wnfIM~x>vHEMt3xszJ!^U6-e;`VTpZcEtjr&i=cdtPcg`v&##K&{k2 zc61Nr1y6N51)TEsGd!vNxgX#)Kkpm?7ltL zcu%B{>Woj=e4t�jYAh)ZclxG?1(>g;0 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 Sq;XUL0000

Our Sponsors

- {sponsors.map(({ src, alt, text }, index) => ( + {sponsors.map(({ src, alt, width, height, text }, index) => (
- {alt} + {alt}

{text}

))} diff --git a/src/pages/about.tsx b/src/pages/about.tsx index c38cc54..610a272 100644 --- a/src/pages/about.tsx +++ b/src/pages/about.tsx @@ -44,11 +44,16 @@ export default function About(): JSX.Element {

About Us

- Open SGF, a volunteer group of designers and developers, provides a forum for local designers; mobile, - web, and application developers to tackle technical problems for our community. Many organizations lack - the necessary funding to produce quality technical solutions for their problems. This group aims to - close that gap by bringing people together to work on these projects weekly. We welcome all skill - levels, and no coding experience is necessary. + We are a volunteer group of designers and developers + out of Springfield, Missouri. We provide a forum for + mobile, web, and application designers and developers + to tackle technical problems for our community. +

+

+ Many organizations lack the necessary funding to + produce quality technical solutions for their problems. + This group aims to close that gap by bringing people + together to work on these projects weekly

diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 8b67f2d..c4d2174 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -16,10 +16,17 @@ export default function Home(): JSX.Element { const heroText = (

Open SGF

-

- We are a volunteer group of designers and developers out of Springfield, Missouri. We provide a forum - for local designers, and developers to tackle technical problems for our community. We meet weekly and - welcome all skill levels. No coding experience is necessary. +

+ We are a volunteer group of designers and developers + out of Springfield, Missouri. We provide a forum for + mobile, web, and application designers and developers + to tackle technical problems for our community. +

+

+ Many organizations lack the necessary funding to + produce quality technical solutions for their problems. + This group aims to close that gap by bringing people + together to work on these projects weekly

); diff --git a/src/pages/volunteer.tsx b/src/pages/volunteer.tsx index 6ec564b..3ed3eaa 100644 --- a/src/pages/volunteer.tsx +++ b/src/pages/volunteer.tsx @@ -23,12 +23,17 @@ export default function volunteer({ events }: { events: MeetupEvent[] }): JSX.El const heroText: JSX.Element = (

Volunteer With Us

-

- Open SGF, a volunteer group of designers and developers, provides a forum for local designers; mobile, - web, and application developers to tackle technical problems for our community. Many organizations lack - the necessary funding to produce quality technical solutions for their problems. This group aims to - close that gap by bringing people together to work on these projects weekly. We welcome all skill - levels, and no coding experience is necessary. +

+ We are a volunteer group of designers and developers + out of Springfield, Missouri. We provide a forum for + mobile, web, and application designers and developers + to tackle technical problems for our community. +

+

+ Many organizations lack the necessary funding to + produce quality technical solutions for their problems. + This group aims to close that gap by bringing people + together to work on these projects weekly

Where We Could Use Help

    diff --git a/styles/pages/About.module.scss b/styles/pages/About.module.scss index 984056b..4c54720 100644 --- a/styles/pages/About.module.scss +++ b/styles/pages/About.module.scss @@ -35,7 +35,7 @@ } .groupDescription { - margin: 44px 0; + margin: 0px 44px 22px 44px; } &>* { diff --git a/styles/pages/Home.module.scss b/styles/pages/Home.module.scss index 6aefe88..98d26c5 100644 --- a/styles/pages/Home.module.scss +++ b/styles/pages/Home.module.scss @@ -44,6 +44,10 @@ )); margin: 0 0 32px 0; } + + p { + margin-bottom: 22px; + } } .projectTeaserText { From a37e3e84ff4aa3bd3495035c4264b07afbcc12a0 Mon Sep 17 00:00:00 2001 From: Levi Zitting Date: Fri, 24 Apr 2026 21:45:37 -0500 Subject: [PATCH 2/2] chore: migrate to next 16 and upgrade all deps (#167) * chore: upgrade all dependencies to latest versions * fix: migrate ESLint to flat config format for v9 compatibility * chore: remove legacy ESLint config file * fix: update tsconfig for TypeScript 6.0 and Next.js 16 compatibility * fix: update next-plausible for v4 API changes * chore: update GitHub Actions checkout action to v4 * chore: add global JSX type declaration for React 19 compatibility * fix: resolve all lint errors from dependency upgrades * chore: refactor to app router and fix sass warnings * fix: css issues and key warnings * fix: lint issues with automatic fixes * fix: lint errors * fix: generated type * fix: plausible script url --- .eslintrc.json | 50 - .github/workflows/action.yaml | 2 +- .gitignore | 1 + .nvmrc | 2 +- src/pages/about.tsx => app/about/page.tsx | 24 +- .../code-of-conduct/page.tsx | 20 +- app/donate/page.tsx | 13 + app/layout.tsx | 36 + src/pages/404.tsx => app/not-found.tsx | 12 +- src/pages/index.tsx => app/page.tsx | 66 +- src/pages/partner.tsx => app/partner/page.tsx | 8 +- .../projects/[index]/page.tsx | 68 +- .../index.tsx => app/projects/page.tsx | 7 +- .../volunteer.tsx => app/volunteer/page.tsx | 47 +- eslint.config.js | 54 + next-env.d.ts | 5 - next.config.js | 8 +- package-lock.json | 6328 +++++++++++------ package.json | 37 +- .../Accordion/Accordion.module.scss | 2 +- src/components/Accordion/Accordion.tsx | 8 +- .../Blocks/CardSet/CardSet.module.scss | 2 +- .../CardSet/components/Card/Card.module.scss | 2 +- .../ChatBubbles/ChatBubbles.module.scss | 2 +- .../Blocks/ChatBubbles/ChatBubbles.tsx | 8 +- .../ContactForm/ContactForm.module.scss | 2 +- .../Blocks/ContactForm/ContactForm.tsx | 4 +- .../Blocks/Gallery/Gallery.module.scss | 2 +- src/components/Blocks/Gallery/Gallery.tsx | 9 +- src/components/Blocks/IconSet/IconSet.tsx | 6 +- .../Blocks/IconSet/components/Icon.tsx | 20 +- .../Blocks/ImageText/ImageText.module.scss | 2 +- src/components/Blocks/ImageText/ImageText.tsx | 20 +- .../ImageTextLink/ImageTextLink.module.scss | 2 +- .../Blocks/ImageTextLink/ImageTextLink.tsx | 6 +- .../ProjectDetails/ProjectDetails.module.scss | 2 +- .../Blocks/ProjectDetails/ProjectDetails.tsx | 2 +- .../Blocks/ProjectGallery/ProjectGallery.tsx | 2 +- .../ProjectGallery/components/Card/Card.tsx | 2 +- .../IconCallout/IconCallout.module.scss | 2 +- .../components/IconCallout/IconCallout.tsx | 2 +- .../Blocks/ProjectNav/ProjectNav.module.scss | 2 +- .../Blocks/ProjectNav/ProjectNav.tsx | 2 +- .../Blocks/Sponsors/Sponsors.module.scss | 2 +- src/components/Blocks/Sponsors/Sponsors.tsx | 2 +- src/components/Blocks/Stats/Stats.module.scss | 2 +- src/components/Blocks/Stats/Stats.tsx | 2 +- .../Blocks/UpcomingEvents/UpcomingEvents.tsx | 2 +- .../EventCard/EventCard.module.scss | 2 +- .../components/EventCard/EventCard.tsx | 4 +- src/components/Dropdown/Dropdown.module.scss | 2 +- src/components/Dropdown/Dropdown.tsx | 6 +- src/components/Footer/Footer.module.scss | 11 +- src/components/Footer/Footer.tsx | 6 +- src/components/Icons/ArrowDown/ArrowDown.tsx | 2 +- .../Icons/ChatBubble/ChatBubble.tsx | 2 +- src/components/Icons/Hamburger/Hamburger.tsx | 2 +- src/components/Icons/Logo/Logo.tsx | 2 +- src/components/Layout.tsx | 2 +- src/components/Navbar/Navbar.module.scss | 4 +- src/components/Navbar/Navbar.tsx | 30 +- src/components/SmartLink/SmartLink.tsx | 12 +- .../atoms/Button/Button.module.scss | 2 +- src/components/atoms/Button/Button.tsx | 2 +- src/components/layout.module.scss | 3 +- src/lib/variables.ts | 3 + src/pages/.eslintrc.json | 7 - src/pages/_app.tsx | 25 - src/pages/api/github.ts | 7 - src/pages/api/meetup.ts | 52 - src/pages/donate.tsx | 9 - src/server.ts | 83 + src/utils/api.ts | 39 - styles/base/_all.scss | 4 +- styles/base/reset.scss | 5 +- styles/base/typography.scss | 2 +- styles/globals.scss | 30 +- styles/pages/About.module.scss | 2 +- styles/pages/CodeOfConduct.module.scss | 2 +- styles/pages/Home.module.scss | 2 +- styles/pages/Partner.module.scss | 2 +- styles/pages/Project.module.scss | 2 +- styles/pages/Projects.module.scss | 2 +- styles/pages/Volunteer.module.scss | 2 +- styles/utils/_all.scss | 6 +- styles/utils/_variables.scss | 30 + styles/utils/functions.scss | 10 +- styles/utils/mixins.scss | 14 +- styles/utils/variables.module.scss | 41 +- tsconfig.json | 85 +- 90 files changed, 4646 insertions(+), 2825 deletions(-) delete mode 100644 .eslintrc.json rename src/pages/about.tsx => app/about/page.tsx (78%) rename src/pages/code-of-conduct.tsx => app/code-of-conduct/page.tsx (85%) create mode 100644 app/donate/page.tsx create mode 100644 app/layout.tsx rename src/pages/404.tsx => app/not-found.tsx (51%) rename src/pages/index.tsx => app/page.tsx (63%) rename src/pages/partner.tsx => app/partner/page.tsx (71%) rename src/pages/projects/[index].tsx => app/projects/[index]/page.tsx (63%) rename src/pages/projects/index.tsx => app/projects/page.tsx (67%) rename src/pages/volunteer.tsx => app/volunteer/page.tsx (62%) create mode 100644 eslint.config.js delete mode 100644 next-env.d.ts create mode 100644 src/lib/variables.ts delete mode 100644 src/pages/.eslintrc.json delete mode 100644 src/pages/_app.tsx delete mode 100644 src/pages/api/github.ts delete mode 100644 src/pages/api/meetup.ts delete mode 100644 src/pages/donate.tsx create mode 100644 src/server.ts create mode 100644 styles/utils/_variables.scss diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 6a0eb08..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "root": true, - "env": { - "node": true, - "browser": true, - "jest": true - }, - "parser": "@typescript-eslint/parser", - "plugins": [ - "import", - "@typescript-eslint", - "react-hooks", - "prettier" - ], - "extends": [ - "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings", - "plugin:import/typescript", - "next/core-web-vitals", - "next/typescript", - "plugin:prettier/recommended" - ], - "rules": { - "@typescript-eslint/no-unused-vars": "error", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/consistent-type-imports": "error", - "import/no-anonymous-default-export": [ - "error", - { - "allowArray": false, - "allowArrowFunction": false, - "allowAnonymousClass": false, - "allowAnonymousFunction": false, - "allowCallExpression": true, - "allowLiteral": false, - "allowObject": false - } - ], - "import/no-named-as-default": "off", - "import/no-default-export": "error", - "import/prefer-default-export": "off", - "react/hook-use-state": "error", - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn", - "prettier/prettier": "warn", - "sort-imports": "error" - } -} diff --git a/.github/workflows/action.yaml b/.github/workflows/action.yaml index 8e2f979..daa32d1 100644 --- a/.github/workflows/action.yaml +++ b/.github/workflows/action.yaml @@ -19,7 +19,7 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 diff --git a/.gitignore b/.gitignore index 269ad31..c5e0106 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ yarn-error.log* # typescript *.tsbuildinfo +next-env.d.ts diff --git a/.nvmrc b/.nvmrc index 016e34b..54c6511 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20.17.0 +v24 diff --git a/src/pages/about.tsx b/app/about/page.tsx similarity index 78% rename from src/pages/about.tsx rename to app/about/page.tsx index 610a272..f21a818 100644 --- a/src/pages/about.tsx +++ b/app/about/page.tsx @@ -1,11 +1,16 @@ import { Gallery } from '@/components/Blocks/Gallery/Gallery'; -import type { Icon } from '@/components/Blocks/IconSet/components/Icon'; +import type { IconData } from '@/components/Blocks/IconSet/components/Icon'; import { IconSet } from '@/components/Blocks/IconSet/IconSet'; +import type { Metadata } from 'next'; import { projects } from '@/utils/projectData'; import styles from '@/styles/pages/About.module.scss'; -export default function About(): JSX.Element { - const teamIcons: Icon[] = [ +export const metadata: Metadata = { + title: 'About Us | Open SGF', +}; + +export default function About() { + const teamIcons: IconData[] = [ { image: { src: '/images/people/levi-zitting-headshot.jpg', @@ -44,16 +49,13 @@ export default function About(): JSX.Element {

    About Us

    - We are a volunteer group of designers and developers - out of Springfield, Missouri. We provide a forum for - mobile, web, and application designers and developers - to tackle technical problems for our community. + We are a volunteer group of designers and developers out of Springfield, Missouri. We provide a forum + for mobile, web, and application designers and developers to tackle technical problems for our + community.

    - Many organizations lack the necessary funding to - produce quality technical solutions for their problems. - This group aims to close that gap by bringing people - together to work on these projects weekly + Many organizations lack the necessary funding to produce quality technical solutions for their problems. + This group aims to close that gap by bringing people together to work on these projects weekly

diff --git a/src/pages/code-of-conduct.tsx b/app/code-of-conduct/page.tsx similarity index 85% rename from src/pages/code-of-conduct.tsx rename to app/code-of-conduct/page.tsx index 8bcb750..f5d9e5e 100644 --- a/src/pages/code-of-conduct.tsx +++ b/app/code-of-conduct/page.tsx @@ -1,6 +1,10 @@ -import React from 'react'; +import type { Metadata } from 'next'; import styles from '@/styles/pages/CodeOfConduct.module.scss'; +export const metadata: Metadata = { + title: 'Code of Conduct | Open SGF', +}; + export default function CodeOfConduct() { return (
@@ -47,20 +51,24 @@ export default function CodeOfConduct() {

- Reporting Behaviors Inconsistent With Code of Conduct. Open SGF is a “see-something, - say-something” community. If you witness or are subject to any behaviors listed above or those that - appear inconsistent with our stated values, you can make a report in one of the following ways: + Reporting Behaviors Inconsistent With Code of Conduct. Open SGF is a + “see-something, say-something” community. If you witness or are subject to any behaviors + listed above or those that appear inconsistent with our stated values, you can make a report in one of + the following ways:

  • Submit an anonymous report through our - “Report an Issue” + “Report an Issue” form
  • -
  • Reach out to an organizer. Organizers are recognizable via the “organizers” role in Discord
  • +
  • + Reach out to an organizer. Organizers are recognizable via the “organizers” role in + Discord +

diff --git a/app/donate/page.tsx b/app/donate/page.tsx new file mode 100644 index 0000000..2b605cd --- /dev/null +++ b/app/donate/page.tsx @@ -0,0 +1,13 @@ +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Donate | Open SGF', +}; + +export default function Donate() { + return ( +

+

Donate

+
+ ); +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..c6d360d --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,36 @@ +import '@/styles/globals.scss'; +import { Layout } from '@/components/Layout'; +import type { Metadata } from 'next'; +import PlausibleProvider from 'next-plausible'; + +export const metadata: Metadata = { + title: { + default: 'Open SGF', + template: '%s | Open SGF', + }, + icons: { + apple: [{ sizes: '180x180', url: '/images/favicons/apple-touch-icon.png' }], + icon: [ + { sizes: '32x32', url: '/images/favicons/favicon-32x32.png' }, + { sizes: '16x16', url: '/images/favicons/favicon-16x16.png' }, + ], + shortcut: [ + { sizes: '196x196', url: '/images/favicons/android-chrome-192x192.png' }, + { sizes: '512x512', url: '/images/favicons/android-chrome-512x512.png' }, + ], + }, +}; + +export default function RootLayout({ children }: { children: React.ReactNode }) { + return ( + + + + + {children} + + + + + ); +} diff --git a/src/pages/404.tsx b/app/not-found.tsx similarity index 51% rename from src/pages/404.tsx rename to app/not-found.tsx index 8d9705d..6b477ed 100644 --- a/src/pages/404.tsx +++ b/app/not-found.tsx @@ -1,16 +1,6 @@ import Link from 'next/link'; -import { useEffect } from 'react'; -import { useRouter } from 'next/router'; - -export default function NotFound(): JSX.Element { - const router = useRouter(); - - useEffect(() => { - setTimeout(() => { - router.push('/'); - }, 3000); - }); +export default function NotFound() { return (

Ooops...

diff --git a/src/pages/index.tsx b/app/page.tsx similarity index 63% rename from src/pages/index.tsx rename to app/page.tsx index c4d2174..050a21e 100644 --- a/src/pages/index.tsx +++ b/app/page.tsx @@ -1,32 +1,34 @@ import { Button } from '@/components/atoms/Button/Button'; import { Card } from '@/components/Blocks/CardSet/components/Card/Card'; import { CardSet } from '@/components/Blocks/CardSet/CardSet'; -import Head from 'next/head'; import Image from 'next/image'; import { ImageText } from '@/components/Blocks/ImageText/ImageText'; import { ImageTextLink } from '@/components/Blocks/ImageTextLink/ImageTextLink'; +import type { Metadata } from 'next'; +import { projects } from '@/utils/projectData'; import { Sponsors } from '@/components/Blocks/Sponsors/Sponsors'; import { Stats } from '@/components/Blocks/Stats/Stats'; -import { projects } from '@/utils/projectData'; import styles from '@/styles/pages/Home.module.scss'; -export default function Home(): JSX.Element { - const heroImage = group working ; +export const metadata: Metadata = { + title: 'Open SGF | Home', + keywords: 'Open SGF', +}; + +export default function Home() { + const heroImage = group working; const heroText = (

Open SGF

- We are a volunteer group of designers and developers - out of Springfield, Missouri. We provide a forum for - mobile, web, and application designers and developers - to tackle technical problems for our community. + We are a volunteer group of designers and developers out of Springfield, Missouri. We provide a forum + for mobile, web, and application designers and developers to tackle technical problems for our + community.

- Many organizations lack the necessary funding to - produce quality technical solutions for their problems. - This group aims to close that gap by bringing people - together to work on these projects weekly + Many organizations lack the necessary funding to produce quality technical solutions for their problems. + This group aims to close that gap by bringing people together to work on these projects weekly

); @@ -65,28 +67,22 @@ export default function Home(): JSX.Element { ); return ( - <> - - Open SGF | Home - - -
- - - - - -
- +
+ + + + + +
); } diff --git a/src/pages/partner.tsx b/app/partner/page.tsx similarity index 71% rename from src/pages/partner.tsx rename to app/partner/page.tsx index dc04b84..e80764c 100644 --- a/src/pages/partner.tsx +++ b/app/partner/page.tsx @@ -1,9 +1,13 @@ import { ContactForm } from '@/components/Blocks/ContactForm/ContactForm'; -import React from 'react'; +import type { Metadata } from 'next'; import { Sponsors } from '@/components/Blocks/Sponsors/Sponsors'; import styles from '@/styles/pages/Partner.module.scss'; -export default function partner(): JSX.Element { +export const metadata: Metadata = { + title: 'Partner | Open SGF', +}; + +export default function Partner() { return (
diff --git a/src/pages/projects/[index].tsx b/app/projects/[index]/page.tsx similarity index 63% rename from src/pages/projects/[index].tsx rename to app/projects/[index]/page.tsx index 1cae03f..ab0041f 100644 --- a/src/pages/projects/[index].tsx +++ b/app/projects/[index]/page.tsx @@ -1,33 +1,41 @@ import { ChatBubbles } from '@/components/Blocks/ChatBubbles/ChatBubbles'; -import type { Contributor } from '@/utils/api'; import { Gallery } from '@/components/Blocks/Gallery/Gallery'; -import type { GetServerSideProps } from 'next'; +import { getProjectContributors } from '@/server'; import Image from 'next/image'; import { ImageText } from '@/components/Blocks/ImageText/ImageText'; +import type { Metadata } from 'next'; +import { notFound } from 'next/navigation'; import { ProjectDetails } from '@/components/Blocks/ProjectDetails/ProjectDetails'; -import React from 'react'; -import { getProjectContributors } from '@/utils/api'; import { projects } from '@/utils/projectData'; import styles from '@/styles/pages/Project.module.scss'; -export const getServerSideProps: GetServerSideProps = async ({ query: { index: url } }) => { - const projectData = projects.find(({ slug }: { slug: string }) => slug === url); +interface Props { + params: Promise<{ index: string }>; +} - if (!projectData) { - return { - notFound: true, - }; - } +export async function generateStaticParams() { + return projects.map((project) => ({ index: project.slug })); +} - const contributors = await getContributors(projectData); +export const dynamic = 'force-dynamic'; + +async function getPageMetadata({ index }: { index: string }) { + const projectData = projects.find((p) => p.slug === index); + if (!projectData) return null; + return { title: `${projectData.name} | Open SGF` }; +} - return { props: { contributors, projectData } }; -}; +export async function generateMetadata({ params }: Props): Promise { + const { index } = await params; + const meta = await getPageMetadata({ index }); + if (!meta) return { title: 'Not Found | Open SGF' }; + return meta; +} async function getContributors(projectData: any) { - const repoNames = projectData.repos.map(({ name }: { name: any }) => name); + const repoNames = projectData.repos.map(({ name }: { name: string }) => name); - const contributorPromises = repoNames.map((name: any) => getProjectContributors(name)); + const contributorPromises = repoNames.map((name: string) => getProjectContributors(name)); const allContributors = await Promise.all(contributorPromises); @@ -38,7 +46,9 @@ async function getContributors(projectData: any) { return uniqueContributors; } -function mergeDuplicateContributors(contributors: Contributor[]): Contributor[] { +function mergeDuplicateContributors( + contributors: { total: number; id: string; login: string; avatar_url: string; html_url: string }[], +) { const contributorMap = new Map(); for (const contributor of contributors) { @@ -57,20 +67,24 @@ function mergeDuplicateContributors(contributors: Contributor[]): Contributor[] return Array.from(contributorMap.values()); } -interface IProject { - contributors: Contributor[]; - projectData: any; -} +export default async function Project({ params }: Props) { + const { index } = await params; + const projectData = projects.find((p) => p.slug === index); + + if (!projectData) { + notFound(); + } + + const contributors = await getContributors(projectData); -export default function Project({ contributors, projectData }: IProject): JSX.Element { - const projectDetailsImage: JSX.Element = ( + const projectDetailsImage = ( {projectData.showCaseImage.alt} ); - const projectDetailsText: JSX.Element = ( + const projectDetailsText = (

{projectData.name}

-

{projectData.description}

+

{projectData.description}

{projectData.skillsNeeded.length ? ( <>

Skills/Help Needed

@@ -80,9 +94,7 @@ export default function Project({ contributors, projectData }: IProject): JSX.El ))} - ) : ( - '' - )} + ) : null}
); diff --git a/src/pages/projects/index.tsx b/app/projects/page.tsx similarity index 67% rename from src/pages/projects/index.tsx rename to app/projects/page.tsx index 2872571..77f35e4 100644 --- a/src/pages/projects/index.tsx +++ b/app/projects/page.tsx @@ -1,7 +1,12 @@ +import type { Metadata } from 'next'; import { ProjectGallery } from '@/components/Blocks/ProjectGallery/ProjectGallery'; import styles from '@/styles/pages/Projects.module.scss'; -export default function Projects(): JSX.Element { +export const metadata: Metadata = { + title: 'Projects | Open SGF', +}; + +export default function Projects() { return (

Projects

diff --git a/src/pages/volunteer.tsx b/app/volunteer/page.tsx similarity index 62% rename from src/pages/volunteer.tsx rename to app/volunteer/page.tsx index 3ed3eaa..6229f83 100644 --- a/src/pages/volunteer.tsx +++ b/app/volunteer/page.tsx @@ -1,39 +1,40 @@ -import type { GetServerSideProps } from 'next'; -import type { Icon } from '@/components/Blocks/IconSet/components/Icon'; +import { getMeetupEvents } from '@/server'; +import type { IconData } from '@/components/Blocks/IconSet/components/Icon'; import { IconSet } from '@/components/Blocks/IconSet/IconSet'; import Image from 'next/image'; import { ImageText } from '@/components/Blocks/ImageText/ImageText'; -import type { MeetupEvent } from '@/components/Blocks/UpcomingEvents/components/EventCard/EventCard'; -import React from 'react'; -import { UpcomingEvents } from '@/components/Blocks/UpcomingEvents/UpcomingEvents'; -import { getMeetupEvents } from '@/utils/api'; +import type { Metadata } from 'next'; import styles from '@/styles/pages/Volunteer.module.scss'; +import { UpcomingEvents } from '@/components/Blocks/UpcomingEvents/UpcomingEvents'; -export const getServerSideProps: GetServerSideProps = async () => { - const events = await getMeetupEvents(); - - return { props: { events } }; +export const metadata: Metadata = { + title: 'Volunteer | Open SGF', }; -export default function volunteer({ events }: { events: MeetupEvent[] }): JSX.Element { - const heroImage: JSX.Element = ( - volunteers-working +async function getEvents() { + return await getMeetupEvents(); +} + +export const dynamic = 'force-dynamic'; + +export default async function Volunteer() { + const events = await getEvents(); + + const heroImage = ( + volunteers-working ); - const heroText: JSX.Element = ( + const heroText = (

Volunteer With Us

- We are a volunteer group of designers and developers - out of Springfield, Missouri. We provide a forum for - mobile, web, and application designers and developers - to tackle technical problems for our community. + We are a volunteer group of designers and developers out of Springfield, Missouri. We provide a forum + for mobile, web, and application designers and developers to tackle technical problems for our + community.

- Many organizations lack the necessary funding to - produce quality technical solutions for their problems. - This group aims to close that gap by bringing people - together to work on these projects weekly + Many organizations lack the necessary funding to produce quality technical solutions for their problems. + This group aims to close that gap by bringing people together to work on these projects weekly

Where We Could Use Help

    @@ -44,7 +45,7 @@ export default function volunteer({ events }: { events: MeetupEvent[] }): JSX.El
); - const socialIcons: Icon[] = [ + const socialIcons: IconData[] = [ { image: { url: 'https://www.meetup.com/open-sgf/', diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..86555ea --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,54 @@ +import eslint from '@eslint/js'; +import nextConfig from 'eslint-config-next'; +import prettierPlugin from 'eslint-plugin-prettier/recommended'; +import tsPlugin from '@typescript-eslint/eslint-plugin'; +import tsParser from '@typescript-eslint/parser'; + +const config = [ + eslint.configs.recommended, + ...nextConfig, + prettierPlugin, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parser: tsParser, + globals: { + React: 'readonly', + JSX: 'readonly', + }, + }, + plugins: { + '@typescript-eslint': tsPlugin, + }, + rules: { + '@typescript-eslint/no-unused-vars': 'error', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/consistent-type-imports': 'error', + 'import/no-anonymous-default-export': [ + 'error', + { + allowArray: false, + allowArrowFunction: false, + allowAnonymousClass: false, + allowAnonymousFunction: false, + allowCallExpression: true, + allowLiteral: false, + allowObject: false, + }, + ], + 'import/no-named-as-default': 'off', + 'import/no-default-export': 'off', + 'import/prefer-default-export': 'off', + 'react/hook-use-state': 'error', + 'react-hooks/rules-of-hooks': 'error', + 'react-hooks/exhaustive-deps': 'warn', + 'sort-imports': ['error', { ignoreCase: true }], + }, + }, + { + ignores: ['node_modules/', '.next/', 'dist/', 'build/'], + }, +]; + +export default config; diff --git a/next-env.d.ts b/next-env.d.ts deleted file mode 100644 index a4a7b3f..0000000 --- a/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. diff --git a/next.config.js b/next.config.js index aff8c9f..92ad7c8 100644 --- a/next.config.js +++ b/next.config.js @@ -2,8 +2,12 @@ const nextConfig = { reactStrictMode: true, images: { - domains: ['via.placeholder.com', 'secure-content.meetupstatic.com', 'avatars.githubusercontent.com'], + remotePatterns: [ + { protocol: 'https', hostname: 'via.placeholder.com' }, + { protocol: 'https', hostname: 'secure-content.meetupstatic.com' }, + { protocol: 'https', hostname: 'avatars.githubusercontent.com' }, + ], }, }; -module.exports = nextConfig; +export default nextConfig; diff --git a/package-lock.json b/package-lock.json index 882e848..86cb50d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,1063 +9,2695 @@ "version": "0.1.0", "license": "ISC", "dependencies": { - "dayjs": "^1.11.13", - "next": "^14.2.13", - "next-plausible": "^3.12.2", - "octokit": "^4.0.2", - "react": "^18.3.1", - "react-dom": "^18.3.1" + "dayjs": "^1.11.20", + "next": "^16.2.4", + "next-plausible": "^4.0.0", + "octokit": "^5.0.5", + "react": "^19.2.5", + "react-dom": "^19.2.5" }, "devDependencies": { - "@types/node": "22.5.5", - "@types/react": "18.3.8", - "@types/react-dom": "18.3.0", - "eslint": "^8", - "eslint-config-next": "14.2.13", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "prettier": "^3.3.3", - "sass": "^1.79.2", - "typescript": "5.6.2" + "@eslint/js": "^9.39.4", + "@types/node": "^24.0.0", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "eslint": "^9.25.0", + "eslint-config-next": "^16.2.4", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.5", + "prettier": "^3.8.3", + "sass": "^1.99.0", + "typescript": "^6.0.3", + "typescript-eslint": "^8.59.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=6.9.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", - "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=6.9.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=6.9.0" } }, - "node_modules/@next/env": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.13.tgz", - "integrity": "sha512-s3lh6K8cbW1h5Nga7NNeXrbe0+2jIIYK9YaA9T7IufDWnZpozdFUp6Hf0d5rNWUKu4fEuSX2rCKlGjCrtylfDw==", - "license": "MIT" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.13.tgz", - "integrity": "sha512-z8Mk0VljxhIzsSiZUSdt3wp+t2lKd+jk5a9Jsvh3zDGkItgDMfjv/ZbET6HsxEl/fSihVoHGsXV6VLyDH0lfTQ==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "dependencies": { - "glob": "10.3.10" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@next/eslint-plugin-next/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@next/eslint-plugin-next/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=6.9.0" } }, - "node_modules/@next/eslint-plugin-next/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.13.tgz", - "integrity": "sha512-IkAmQEa2Htq+wHACBxOsslt+jMoV3msvxCn0WFSfJSkv/scy+i/EukBKNad36grRxywaXUYJc9mxEGkeIs8Bzg==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 10" + "node": ">=6.9.0" } }, - "node_modules/@next/swc-darwin-x64": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.13.tgz", - "integrity": "sha512-Dv1RBGs2TTjkwEnFMVL5XIfJEavnLqqwYSD6LXgTPdEy/u6FlSrLBSSfe1pcfqhFEXRAgVL3Wpjibe5wXJzWog==", - "cpu": [ - "x64" - ], + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 10" + "node": ">=6.9.0" } }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.13.tgz", - "integrity": "sha512-yB1tYEFFqo4ZNWkwrJultbsw7NPAAxlPXURXioRl9SdW6aIefOLS+0TEsKrWBtbJ9moTDgU3HRILL6QBQnMevg==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 10" + "node": ">=6.9.0" } }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.13.tgz", - "integrity": "sha512-v5jZ/FV/eHGoWhMKYrsAweQ7CWb8xsWGM/8m1mwwZQ/sutJjoFaXchwK4pX8NqwImILEvQmZWyb8pPTcP7htWg==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, "engines": { - "node": ">= 10" + "node": ">=6.9.0" } }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.13.tgz", - "integrity": "sha512-aVc7m4YL7ViiRv7SOXK3RplXzOEe/qQzRA5R2vpXboHABs3w8vtFslGTz+5tKiQzWUmTmBNVW0UQdhkKRORmGA==", - "cpu": [ - "x64" - ], + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, "engines": { - "node": ">= 10" + "node": ">=6.0.0" } }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.13.tgz", - "integrity": "sha512-4wWY7/OsSaJOOKvMsu1Teylku7vKyTuocvDLTZQq0TYv9OjiYYWt63PiE1nTuZnqQ4RPvME7Xai+9enoiN0Wrg==", - "cpu": [ - "x64" - ], + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, "engines": { - "node": ">= 10" + "node": ">=6.9.0" } }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.13.tgz", - "integrity": "sha512-uP1XkqCqV2NVH9+g2sC7qIw+w2tRbcMiXFEbMihkQ8B1+V6m28sshBwAB0SDmOe0u44ne1vFU66+gx/28RsBVQ==", - "cpu": [ - "arm64" - ], + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, "engines": { - "node": ">= 10" + "node": ">=6.9.0" } }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.13.tgz", - "integrity": "sha512-V26ezyjPqQpDBV4lcWIh8B/QICQ4v+M5Bo9ykLN+sqeKKBxJVDpEc6biDVyluTXTC40f5IqCU0ttth7Es2ZuMw==", - "cpu": [ - "ia32" - ], + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, "engines": { - "node": ">= 10" + "node": ">=6.9.0" } }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.13.tgz", - "integrity": "sha512-WwzOEAFBGhlDHE5Z73mNU8CO8mqMNLqaG+AO9ETmzdCQlJhVtWZnOl2+rqgVQS+YHunjOWptdFmNfbpwcUuEsw==", - "cpu": [ - "x64" - ], + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "license": "MIT", + "optional": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" + "tslib": "^2.4.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 8" + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">= 8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", "engines": { - "node": ">=12.4.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@octokit/app": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.0.tgz", - "integrity": "sha512-TkBr7QgOmE6ORxvIAhDbZsqPkF7RSqTY4pLTtUQCvr6dTXqvi2fFo46q3h1lxlk/sGMQjqyZ0kEahkD/NyzOHg==", - "license": "MIT", + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/auth-unauthenticated": "^6.0.0", - "@octokit/core": "^6.1.2", - "@octokit/oauth-app": "^7.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/types": "^13.0.0", - "@octokit/webhooks": "^13.0.0" + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@octokit/auth-app": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-7.1.1.tgz", - "integrity": "sha512-kRAd6yelV9OgvlEJE88H0VLlQdZcag9UlLr7dV0YYP37X8PPDvhgiTy66QVhDXdyoT0AleFN2w/qXkPdrSzINg==", + "node_modules/@eslint/config-array/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/auth-oauth-app": "^8.1.0", - "@octokit/auth-oauth-user": "^5.1.0", - "@octokit/request": "^9.1.1", - "@octokit/request-error": "^6.1.1", - "@octokit/types": "^13.4.1", - "lru-cache": "^10.0.0", - "universal-github-app-jwt": "^2.2.0", - "universal-user-agent": "^7.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 18" + "node": "*" } }, - "node_modules/@octokit/auth-oauth-app": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-8.1.1.tgz", - "integrity": "sha512-5UtmxXAvU2wfcHIPPDWzVSAWXVJzG3NWsxb7zCFplCWEmMCArSZV0UQu5jw5goLQXbFyOr5onzEH37UJB3zQQg==", - "license": "MIT", + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@octokit/auth-oauth-device": "^7.0.0", - "@octokit/auth-oauth-user": "^5.0.1", - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^7.0.0" + "@eslint/core": "^0.17.0" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@octokit/auth-oauth-device": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-7.1.1.tgz", - "integrity": "sha512-HWl8lYueHonuyjrKKIup/1tiy0xcmQCdq5ikvMO1YwkNNkxb6DXfrPjrMYItNLyCP/o2H87WuijuE+SlBTT8eg==", - "license": "MIT", + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@octokit/oauth-methods": "^5.0.0", - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^7.0.0" + "@types/json-schema": "^7.0.15" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@octokit/auth-oauth-user": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-5.1.1.tgz", - "integrity": "sha512-rRkMz0ErOppdvEfnemHJXgZ9vTPhBuC6yASeFaB7I2yLMd7QpjfrL1mnvRPlyKo+M6eeLxrKanXJ9Qte29SRsw==", + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.4.tgz", + "integrity": "sha512-dKkkOzOSwFYe5RX6y26fZgkSpVAlIOJKQHIiydQcrWH6y/97+RceSOAdjZ14Qa3zLduVUy0TXcn+EiM6t4rPgw==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.4.tgz", + "integrity": "sha512-tOX826JJ96gYK/go18sPUgMq9FK1tqxBFfUCEufJb5XIkWFFmpgU7mahJANKGkHs7F41ir3tReJ3Lv5La0RvhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.4.tgz", + "integrity": "sha512-OXTFFox5EKN1Ym08vfrz+OXxmCcEjT4SFMbNRsWZE99dMqt2Kcusl5MqPXcW232RYkMLQTy0hqgAMEsfEd/l2A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.4.tgz", + "integrity": "sha512-XhpVnUfmYWvD3YrXu55XdcAkQtOnvaI6wtQa8fuF5fGoKoxIUZ0kWPtcOfqJEWngFF/lOS9l3+O9CcownhiQxQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.4.tgz", + "integrity": "sha512-Mx/tjlNA3G8kg14QvuGAJ4xBwPk1tUHq56JxZ8CXnZwz1Etz714soCEzGQQzVMz4bEnGPowzkV6Xrp6wAkEWOQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.4.tgz", + "integrity": "sha512-iVMMp14514u7Nup2umQS03nT/bN9HurK8ufylC3FZNykrwjtx7V1A7+4kvhbDSCeonTVqV3Txnv0Lu+m2oDXNg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.4.tgz", + "integrity": "sha512-EZOvm1aQWgnI/N/xcWOlnS3RQBk0VtVav5Zo7n4p0A7UKyTDx047k8opDbXgBpHl4CulRqRfbw3QrX2w5UOXMQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.4.tgz", + "integrity": "sha512-h9FxsngCm9cTBf71AR4fGznDEDx1hS7+kSEiIRjq5kO1oXWm07DxVGZjCvk0SGx7TSjlUqhI8oOyz7NfwAdPoA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.4.tgz", + "integrity": "sha512-3NdJV5OXMSOeJYijX+bjaLge3mJBlh4ybydbT4GFoB/2hAojWHtMhl3CYlYoMrjPuodp0nzFVi4Tj2+WaMg+Ow==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.4.tgz", + "integrity": "sha512-kMVGgsqhO5YTYODD9IPGGhA6iprWidQckK3LmPeW08PIFENRmgfb4MjXHO+p//d+ts2rpjvK5gXWzXSMrPl9cw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@octokit/app": { + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/@octokit/app/-/app-16.1.2.tgz", + "integrity": "sha512-8j7sEpUYVj18dxvh0KWj6W/l6uAiVRBl1JBDVRqH1VHKAO/G5eRVl4yEoYACjakWers1DjUkcCHyJNQK47JqyQ==", + "license": "MIT", + "dependencies": { + "@octokit/auth-app": "^8.1.2", + "@octokit/auth-unauthenticated": "^7.0.3", + "@octokit/core": "^7.0.6", + "@octokit/oauth-app": "^8.0.3", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/types": "^16.0.0", + "@octokit/webhooks": "^14.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/auth-app": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-8.2.0.tgz", + "integrity": "sha512-vVjdtQQwomrZ4V46B9LaCsxsySxGoHsyw6IYBov/TqJVROrlYdyNgw5q6tQbB7KZt53v1l1W53RiqTvpzL907g==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-app": "^9.0.3", + "@octokit/auth-oauth-user": "^6.0.2", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "toad-cache": "^3.7.0", + "universal-github-app-jwt": "^2.2.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/auth-oauth-app": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-9.0.3.tgz", + "integrity": "sha512-+yoFQquaF8OxJSxTb7rnytBIC2ZLbLqA/yb71I4ZXT9+Slw4TziV9j/kyGhUFRRTF2+7WlnIWsePZCWHs+OGjg==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-device": "^8.0.3", + "@octokit/auth-oauth-user": "^6.0.2", + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/auth-oauth-device": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-8.0.3.tgz", + "integrity": "sha512-zh2W0mKKMh/VWZhSqlaCzY7qFyrgd9oTWmTmHaXnHNeQRCZr/CXy2jCgHo4e4dJVTiuxP5dLa0YM5p5QVhJHbw==", + "license": "MIT", + "dependencies": { + "@octokit/oauth-methods": "^6.0.2", + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/auth-oauth-user": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-6.0.2.tgz", + "integrity": "sha512-qLoPPc6E6GJoz3XeDG/pnDhJpTkODTGG4kY0/Py154i/I003O9NazkrwJwRuzgCalhzyIeWQ+6MDvkUmKXjg/A==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-device": "^8.0.3", + "@octokit/oauth-methods": "^6.0.2", + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/auth-token": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/auth-unauthenticated": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-7.0.3.tgz", + "integrity": "sha512-8Jb1mtUdmBHL7lGmop9mU9ArMRUTRhg8vp0T1VtZ4yd9vEm3zcLwmjQkhNEduKawOOORie61xhtYIhTDN+ZQ3g==", + "license": "MIT", + "dependencies": { + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/core": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", + "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/endpoint": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz", + "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/graphql": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz", + "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==", + "license": "MIT", + "dependencies": { + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/oauth-app": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-8.0.3.tgz", + "integrity": "sha512-jnAjvTsPepyUaMu9e69hYBuozEPgYqP4Z3UnpmvoIzHDpf8EXDGvTY1l1jK0RsZ194oRd+k6Hm13oRU8EoDFwg==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-app": "^9.0.2", + "@octokit/auth-oauth-user": "^6.0.1", + "@octokit/auth-unauthenticated": "^7.0.2", + "@octokit/core": "^7.0.5", + "@octokit/oauth-authorization-url": "^8.0.0", + "@octokit/oauth-methods": "^6.0.1", + "@types/aws-lambda": "^8.10.83", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/oauth-authorization-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-8.0.0.tgz", + "integrity": "sha512-7QoLPRh/ssEA/HuHBHdVdSgF8xNLz/Bc5m9fZkArJE5bb6NmVkDm3anKxXPmN1zh6b5WKZPRr3697xKT/yM3qQ==", + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/oauth-methods": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-6.0.2.tgz", + "integrity": "sha512-HiNOO3MqLxlt5Da5bZbLV8Zarnphi4y9XehrbaFMkcoJ+FL7sMxH/UlUsCVxpddVu4qvNDrBdaTVE2o4ITK8ng==", + "license": "MIT", + "dependencies": { + "@octokit/oauth-authorization-url": "^8.0.0", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", + "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", + "license": "MIT" + }, + "node_modules/@octokit/openapi-webhooks-types": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-12.1.0.tgz", + "integrity": "sha512-WiuzhOsiOvb7W3Pvmhf8d2C6qaLHXrWiLBP4nJ/4kydu+wpagV5Fkz9RfQwV2afYzv3PB+3xYgp4mAdNGjDprA==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-graphql": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-6.0.0.tgz", + "integrity": "sha512-crfpnIoFiBtRkvPqOyLOsw12XsveYuY2ieP6uYDosoUegBJpSVxGwut9sxUgFFcll3VTOTqpUf8yGd8x1OmAkQ==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz", + "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz", + "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-retry": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.1.0.tgz", + "integrity": "sha512-O1FZgXeiGb2sowEr/hYTr6YunGdSAFWnr2fyW39Ah85H8O33ELASQxcvOFF5LE6Tjekcyu2ms4qAzJVhSaJxTw==", + "license": "MIT", + "dependencies": { + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=7" + } + }, + "node_modules/@octokit/plugin-throttling": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.3.tgz", + "integrity": "sha512-34eE0RkFCKycLl2D2kq7W+LovheM/ex3AwZCYN8udpi6bxsyjZidb2McXs69hZhLmJlDqTSP8cH+jSRpiaijBg==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": "^7.0.0" + } + }, + "node_modules/@octokit/request": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz", + "integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "fast-content-type-parse": "^3.0.0", + "json-with-bigint": "^3.5.3", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/request-error": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz", + "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/types": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", + "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^27.0.0" + } + }, + "node_modules/@octokit/webhooks": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-14.2.0.tgz", + "integrity": "sha512-da6KbdNCV5sr1/txD896V+6W0iamFWrvVl8cHkBSPT+YlvmT3DwXa4jxZnQc+gnuTEqSWbBeoSZYTayXH9wXcw==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-webhooks-types": "12.1.0", + "@octokit/request-error": "^7.0.0", + "@octokit/webhooks-methods": "^6.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@octokit/webhooks-methods": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-6.0.0.tgz", + "integrity": "sha512-MFlzzoDJVw/GcbfzVC1RLR36QqkTLUf79vLVO3D+xn7r0QgxnFoLZgtrzxiQErAjFUOdH6fas2KeQJ1yr/qaXQ==", + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@octokit/auth-oauth-device": "^7.0.1", - "@octokit/oauth-methods": "^5.0.0", - "@octokit/request": "^9.0.1", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^7.0.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 18" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@octokit/auth-token": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", - "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 18" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@octokit/auth-unauthenticated": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-6.1.0.tgz", - "integrity": "sha512-zPSmfrUAcspZH/lOFQnVnvjQZsIvmfApQH6GzJrkIunDooU1Su2qt2FfMTSVPRp7WLTQyC20Kd55lF+mIYaohQ==", + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 18" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@octokit/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0", - "before-after-hook": "^3.0.2", - "universal-user-agent": "^7.0.0" + "tslib": "^2.4.0" + } + }, + "node_modules/@types/aws-lambda": { + "version": "8.10.161", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.161.tgz", + "integrity": "sha512-rUYdp+MQwSFocxIOcSsYSF3YYYC/uUpMbCY/mbO21vGqfrEYvNSoPyKYDj6RhXXpPfS0KstW9RwG3qXh9sL7FQ==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", + "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz", + "integrity": "sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/type-utils": "8.59.0", + "@typescript-eslint/utils": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.59.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@octokit/endpoint": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", - "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.0.tgz", + "integrity": "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", - "universal-user-agent": "^7.0.2" + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "debug": "^4.4.3" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@octokit/graphql": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^7.0.0" + "ms": "^2.1.3" }, "engines": { - "node": ">= 18" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@octokit/oauth-app": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-7.1.3.tgz", - "integrity": "sha512-EHXbOpBkSGVVGF1W+NLMmsnSsJRkcrnVmDKt0TQYRBb6xWfWzoi9sBD4DIqZ8jGhOWO/V8t4fqFyJ4vDQDn9bg==", + "node_modules/@typescript-eslint/project-service": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.0.tgz", + "integrity": "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/auth-oauth-app": "^8.0.0", - "@octokit/auth-oauth-user": "^5.0.1", - "@octokit/auth-unauthenticated": "^6.0.0-beta.1", - "@octokit/core": "^6.0.0", - "@octokit/oauth-authorization-url": "^7.0.0", - "@octokit/oauth-methods": "^5.0.0", - "@types/aws-lambda": "^8.10.83", - "universal-user-agent": "^7.0.0" + "@typescript-eslint/tsconfig-utils": "^8.59.0", + "@typescript-eslint/types": "^8.59.0", + "debug": "^4.4.3" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@octokit/oauth-authorization-url": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-7.1.1.tgz", - "integrity": "sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==", + "node_modules/@typescript-eslint/project-service/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, "engines": { - "node": ">= 18" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@octokit/oauth-methods": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.2.tgz", - "integrity": "sha512-C5lglRD+sBlbrhCUTxgJAFjWgJlmTx5bQ7Ch0+2uqRjYv7Cfb5xpX4WuSC9UgQna3sqRGBL9EImX9PvTpMaQ7g==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz", + "integrity": "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/oauth-authorization-url": "^7.0.0", - "@octokit/request": "^9.1.0", - "@octokit/request-error": "^6.1.0", - "@octokit/types": "^13.0.0" + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "license": "MIT" - }, - "node_modules/@octokit/openapi-webhooks-types": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-8.3.0.tgz", - "integrity": "sha512-vKLsoR4xQxg4Z+6rU/F65ItTUz/EXbD+j/d4mlq2GW8TsA4Tc8Kdma2JTAAJ5hrKWUQzkR/Esn2fjsqiVRYaQg==", - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-graphql": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-5.2.2.tgz", - "integrity": "sha512-7znSVvlNAOJisCqAnjN1FtEziweOHSjPGAuc5W58NeGNAr/ZB57yCsjQbXDlWsVryA7hHQaEQPcBbJYFawlkyg==", + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz", + "integrity": "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==", + "dev": true, "license": "MIT", "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@octokit/core": ">=6" + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.3.tgz", - "integrity": "sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz", + "integrity": "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.5.0" + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/utils": "8.59.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@octokit/core": ">=6" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.4.tgz", - "integrity": "sha512-gusyAVgTrPiuXOdfqOySMDztQHv6928PQ3E4dqVGEtOvRXAKRbJR4b1zQyniIT9waqaWk/UDaoJ2dyPr7Bk7Iw==", + "node_modules/@typescript-eslint/type-utils/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.5.0" + "ms": "^2.1.3" }, "engines": { - "node": ">= 18" + "node": ">=6.0" }, - "peerDependencies": { - "@octokit/core": ">=6" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@octokit/plugin-retry": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", - "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", + "node_modules/@typescript-eslint/types": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.0.tgz", + "integrity": "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==", + "dev": true, "license": "MIT", - "dependencies": { - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0", - "bottleneck": "^2.15.3" - }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependencies": { - "@octokit/core": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@octokit/plugin-throttling": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.1.tgz", - "integrity": "sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz", + "integrity": "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", - "bottleneck": "^2.15.3" + "@typescript-eslint/project-service": "8.59.0", + "@typescript-eslint/tsconfig-utils": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@octokit/core": "^6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@octokit/request": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", - "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/endpoint": "^10.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.1.0", - "universal-user-agent": "^7.0.2" + "ms": "^2.1.3" }, "engines": { - "node": ">= 18" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@octokit/request-error": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", - "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", + "node_modules/@typescript-eslint/utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.0.tgz", + "integrity": "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0" }, "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^22.2.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@octokit/webhooks": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-13.3.0.tgz", - "integrity": "sha512-TUkJLtI163Bz5+JK0O+zDkQpn4gKwN+BovclUvCj6pI/6RXrFqQvUMRS2M+Rt8Rv0qR3wjoMoOPmpJKeOh0nBg==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz", + "integrity": "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==", + "dev": true, "license": "MIT", "dependencies": { - "@octokit/openapi-webhooks-types": "8.3.0", - "@octokit/request-error": "^6.0.1", - "@octokit/webhooks-methods": "^5.0.0" + "@typescript-eslint/types": "8.59.0", + "eslint-visitor-keys": "^5.0.0" }, "engines": { - "node": ">= 18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@octokit/webhooks-methods": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-5.1.0.tgz", - "integrity": "sha512-yFZa3UH11VIxYnnoOYCVoJ3q4ChuSOk2IVBBQ0O3xtKX4x9bmKb/1t+Mxixv2iUhzMdOl1qeWJqEhouXXzB3rQ==", - "license": "MIT", + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">= 18" + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", "optional": true, - "engines": { - "node": ">=14" - } + "os": [ + "android" + ] }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", - "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "license": "Apache-2.0" - }, - "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@types/aws-lambda": { - "version": "8.10.145", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.145.tgz", - "integrity": "sha512-dtByW6WiFk5W5Jfgz1VM+YPA21xMXTuSFoLYIDY0L44jDLLflVPtZkYuu3/YxpGcvjzKFBZLU+GyKjR0HOYtyw==", - "license": "MIT" + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/node": { - "version": "22.5.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", - "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "undici-types": "~6.19.2" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/prop-types": { - "version": "15.7.13", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", - "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/react": { - "version": "18.3.8", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.8.tgz", - "integrity": "sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==", + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/react": "*" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "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", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "@napi-rs/wasm-runtime": "^0.2.11" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=14.0.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } + "optional": true, + "os": [ + "win32" + ] }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", "bin": { @@ -1086,9 +2718,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -1102,16 +2734,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1136,24 +2758,24 @@ "license": "Python-2.0" }, "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "deep-equal": "^2.0.5" + "engines": { + "node": ">= 0.4" } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -1163,18 +2785,20 @@ } }, "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -1183,16 +2807,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/array.prototype.findlast": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", @@ -1215,18 +2829,19 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -1236,16 +2851,16 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -1255,16 +2870,16 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -1291,20 +2906,19 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -1320,6 +2934,16 @@ "dev": true, "license": "MIT" }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1337,9 +2961,9 @@ } }, "node_modules/axe-core": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", - "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.3.tgz", + "integrity": "sha512-zBQouZixDTbo3jMGqHKyePxYxr1e5W8UdTmBQ7sNtaA9M2bE32daxxPLS/jojhKOHxQ7LWwPjfiwf/fhaJWzlg==", "dev": true, "license": "MPL-2.0", "engines": { @@ -1357,16 +2981,31 @@ } }, "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.21", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.21.tgz", + "integrity": "sha512-Q+rUQ7Uz8AHM7DEaNdwvfFCTq7a43lNTzuS94eiWqwyxfV/wJv+oUivef51T91mmRY4d4A1u9rcSvkeufCVXlA==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } }, "node_modules/before-after-hook": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", "license": "Apache-2.0" }, "node_modules/bottleneck": { @@ -1376,14 +3015,16 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/braces": { @@ -1399,29 +3040,82 @@ "node": ">=8" } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", "dependencies": { - "streamsearch": "^1.1.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, "engines": { - "node": ">=10.16.0" + "node": ">= 0.4" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -1441,9 +3135,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001662", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001662.tgz", - "integrity": "sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==", + "version": "1.0.30001790", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001790.tgz", + "integrity": "sha512-bOoxfJPyYo+ds6W0YfptaCWbFnJYjh2Y1Eow5lRv+vI2u8ganPZqNm1JwNh0t2ELQCqIWg4B3dWEusgAmsoyOw==", "funding": [ { "type": "opencollective", @@ -1526,10 +3220,17 @@ "dev": true, "license": "MIT" }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -1542,9 +3243,9 @@ } }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "dev": true, "license": "MIT" }, @@ -1556,15 +3257,15 @@ "license": "BSD-2-Clause" }, "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -1574,31 +3275,31 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/inspect-js" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -1610,9 +3311,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", "license": "MIT" }, "node_modules/debug": { @@ -1633,39 +3334,6 @@ } } }, - "node_modules/deep-equal": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.5", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.2", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1709,38 +3377,50 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, "engines": { "node": ">=8" } }, "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.344", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", + "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -1749,73 +3429,67 @@ "dev": true, "license": "MIT" }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", "dev": true, "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", + "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -1825,14 +3499,11 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -1847,57 +3518,38 @@ "node": ">= 0.4" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-iterator-helpers": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", - "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", + "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", + "es-abstract": "^1.24.2", "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", + "es-set-tostringtag": "^2.1.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.2" + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "license": "MIT", "dependencies": { @@ -1908,40 +3560,44 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -1950,6 +3606,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -1964,78 +3630,84 @@ } }, "node_modules/eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", - "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^3.1.5", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-config-next": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.13.tgz", - "integrity": "sha512-aro1EKAoyYchnO/3Tlo91hnNBO7QO7qnv/79MAFC+4Jq8TdUVKQlht5d2F+YjrePjdpOvfL+mV9JPfyYNwkk1g==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.2.4.tgz", + "integrity": "sha512-A6ekXYFj/YQxBPMl45g3e+U8zJo+X2+ZQwcz34pPKjpc/3S4roBA2Rd9xWB4FKuSxhofo1/95WjzmUY+wHrOhg==", "dev": true, "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "14.2.13", - "@rushstack/eslint-patch": "^1.3.3", - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@next/eslint-plugin-next": "16.2.4", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" }, "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", + "eslint": ">=9.0.0", "typescript": ">=3.3.1" }, "peerDependenciesMeta": { @@ -2044,27 +3716,62 @@ } } }, + "node_modules/eslint-config-next/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-config-next/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-config-next/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/eslint-config-next/node_modules/eslint-import-resolver-typescript": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz", - "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", "dev": true, "license": "ISC", "dependencies": { "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.3.5", - "enhanced-resolve": "^5.15.0", - "eslint-module-utils": "^2.8.1", - "fast-glob": "^3.3.2", - "get-tsconfig": "^4.7.5", - "is-bun-module": "^1.0.2", - "is-glob": "^4.0.3" + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + "url": "https://opencollective.com/eslint-import-resolver-typescript" }, "peerDependencies": { "eslint": "*", @@ -2080,143 +3787,58 @@ } } }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz", - "integrity": "sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz", - "integrity": "sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==", + "node_modules/eslint-config-next/node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.9.0", + "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { + "node_modules/eslint-config-next/node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", - "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", + "node_modules/eslint-config-next/node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", "dev": true, "license": "MIT", "dependencies": { - "aria-query": "~5.1.3", + "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", @@ -2224,14 +3846,13 @@ "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.19", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.0" + "string.prototype.includes": "^2.0.1" }, "engines": { "node": ">=4.0" @@ -2240,61 +3861,30 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, - "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.36.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz", - "integrity": "sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA==", + "node_modules/eslint-config-next/node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", "dev": true, "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.2", + "array.prototype.flatmap": "^1.3.3", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.19", + "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.8", + "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11", + "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "engines": { @@ -2304,51 +3894,44 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/eslint-config-next/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "esutils": "^2.0.2" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "node_modules/eslint-config-next/node_modules/resolve": { + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { + "node_modules/eslint-config-next/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", @@ -2358,57 +3941,138 @@ "semver": "bin/semver.js" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" }, "engines": { - "node": ">=8.0.0" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "node_modules/eslint-plugin-prettier": { + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", + "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^2.0.0" + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.12" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" }, "peerDependencies": { - "eslint": ">=5" + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { @@ -2424,45 +4088,85 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/eslint/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT" + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -2505,6 +4209,22 @@ "node": ">=0.10.0" } }, + "node_modules/fast-content-type-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2519,36 +4239,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -2574,16 +4264,16 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -2599,61 +4289,59 @@ "node": ">=8" } }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "is-callable": "^1.2.7" }, "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function-bind": { "version": "1.1.2", @@ -2666,16 +4354,18 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -2684,13 +4374,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true, - "license": "MIT" - }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -2701,18 +4384,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -2721,16 +4429,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -2740,9 +4462,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", - "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", "dev": true, "license": "MIT", "dependencies": { @@ -2752,28 +4474,6 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2788,16 +4488,13 @@ } }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", "dev": true, "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2820,53 +4517,19 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -2901,11 +4564,14 @@ } }, "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -2914,9 +4580,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "engines": { @@ -2955,6 +4621,23 @@ "node": ">= 0.4" } }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", @@ -2966,16 +4649,16 @@ } }, "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", "devOptional": true, "license": "MIT" }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2999,66 +4682,31 @@ "node": ">=0.8.19" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -3068,13 +4716,17 @@ } }, "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3084,27 +4736,30 @@ } }, "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3114,13 +4769,13 @@ } }, "node_modules/is-bun-module": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.2.1.tgz", - "integrity": "sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.6.3" + "semver": "^7.7.1" } }, "node_modules/is-callable": { @@ -3137,9 +4792,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "license": "MIT", "dependencies": { @@ -3153,12 +4808,14 @@ } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -3169,13 +4826,14 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3195,36 +4853,33 @@ } }, "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3283,13 +4938,14 @@ } }, "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3299,14 +4955,16 @@ } }, "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -3329,13 +4987,13 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -3345,13 +5003,14 @@ } }, "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3361,13 +5020,15 @@ } }, "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3377,13 +5038,13 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -3406,27 +5067,30 @@ } }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -3450,48 +5114,34 @@ "license": "ISC" }, "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "node": ">= 0.4" } }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -3501,6 +5151,19 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -3522,17 +5185,23 @@ "dev": true, "license": "MIT" }, + "node_modules/json-with-bigint": { + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz", + "integrity": "sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==", + "license": "MIT" + }, "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, "bin": { "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, "node_modules/jsx-ast-utils": { @@ -3595,6 +5264,22 @@ "node": ">= 0.8.0" } }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -3606,6 +5291,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -3615,10 +5301,24 @@ } }, "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, "node_modules/merge2": { "version": "1.4.1", @@ -3645,16 +5345,19 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^5.0.5" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -3667,16 +5370,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -3696,10 +5389,26 @@ ], "license": "MIT", "bin": { - "nanoid": "bin/nanoid.cjs" + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" } }, "node_modules/natural-compare": { @@ -3709,49 +5418,42 @@ "dev": true, "license": "MIT" }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true, - "license": "MIT" - }, "node_modules/next": { - "version": "14.2.13", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.13.tgz", - "integrity": "sha512-BseY9YNw8QJSwLYD7hlZzl6QVDoSFHL/URN5K64kVEVpCsSOWeyjbIGK+dZUaRViHTaMQX8aqmnn0PHBbGZezg==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.4.tgz", + "integrity": "sha512-kPvz56wF5frc+FxlHI5qnklCzbq53HTwORaWBGdT0vNoKh1Aya9XC8aPauH4NJxqtzbWsS5mAbctm4cr+EkQ2Q==", "license": "MIT", "dependencies": { - "@next/env": "14.2.13", - "@swc/helpers": "0.5.5", - "busboy": "1.6.0", + "@next/env": "16.2.4", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", - "graceful-fs": "^4.2.11", "postcss": "8.4.31", - "styled-jsx": "5.1.1" + "styled-jsx": "5.1.6" }, "bin": { "next": "dist/bin/next" }, "engines": { - "node": ">=18.17.0" + "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.13", - "@next/swc-darwin-x64": "14.2.13", - "@next/swc-linux-arm64-gnu": "14.2.13", - "@next/swc-linux-arm64-musl": "14.2.13", - "@next/swc-linux-x64-gnu": "14.2.13", - "@next/swc-linux-x64-musl": "14.2.13", - "@next/swc-win32-arm64-msvc": "14.2.13", - "@next/swc-win32-ia32-msvc": "14.2.13", - "@next/swc-win32-x64-msvc": "14.2.13" + "@next/swc-darwin-arm64": "16.2.4", + "@next/swc-darwin-x64": "16.2.4", + "@next/swc-linux-arm64-gnu": "16.2.4", + "@next/swc-linux-arm64-musl": "16.2.4", + "@next/swc-linux-x64-gnu": "16.2.4", + "@next/swc-linux-x64-musl": "16.2.4", + "@next/swc-win32-arm64-msvc": "16.2.4", + "@next/swc-win32-x64-msvc": "16.2.4", + "sharp": "^0.34.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "peerDependenciesMeta": { @@ -3761,40 +5463,48 @@ "@playwright/test": { "optional": true }, + "babel-plugin-react-compiler": { + "optional": true + }, "sass": { "optional": true } } }, "node_modules/next-plausible": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/next-plausible/-/next-plausible-3.12.2.tgz", - "integrity": "sha512-jyOYLAdwaZZR6nrzFhN9xfVjzYOG6mIQ/LLDCfdAS99ELy759cKfNxluGo+pI2Xh9cYxTFYYZGlnkyR3IPy4yg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/next-plausible/-/next-plausible-4.0.0.tgz", + "integrity": "sha512-tC48VscREZ4fEvas9T4oj5qJwnpPlms0Wih1Unbgi/ozG08yN1w0IAPGp+/cHB8n6qzEAL5J0MlAS0FOr132jA==", + "license": "MIT", "funding": { "url": "https://github.com/4lejandrito/next-plausible?sponsor=1" }, "peerDependencies": { - "next": "^11.1.0 || ^12.0.0 || ^13.0.0 || ^14.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "next": "^11.1.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 ", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", "dev": true, "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, "engines": { "node": ">= 0.4" }, @@ -3802,16 +5512,39 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "node_modules/node-exports-info/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, "engines": { "node": ">= 0.4" }, @@ -3830,15 +5563,17 @@ } }, "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -3849,15 +5584,16 @@ } }, "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -3898,13 +5634,14 @@ } }, "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, @@ -3916,34 +5653,25 @@ } }, "node_modules/octokit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/octokit/-/octokit-4.0.2.tgz", - "integrity": "sha512-wbqF4uc1YbcldtiBFfkSnquHtECEIpYD78YUXI6ri1Im5OO2NLo6ZVpRdbJpdnpZ05zMrVPssNiEo6JQtea+Qg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/octokit/-/octokit-5.0.5.tgz", + "integrity": "sha512-4+/OFSqOjoyULo7eN7EA97DE0Xydj/PW5aIckxqQIoFjFwqXKuFCvXUJObyJfBF9Khu4RL/jlDRI9FPaMGfPnw==", "license": "MIT", "dependencies": { - "@octokit/app": "^15.0.0", - "@octokit/core": "^6.0.0", - "@octokit/oauth-app": "^7.0.0", - "@octokit/plugin-paginate-graphql": "^5.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-rest-endpoint-methods": "^13.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0" + "@octokit/app": "^16.1.2", + "@octokit/core": "^7.0.6", + "@octokit/oauth-app": "^8.0.3", + "@octokit/plugin-paginate-graphql": "^6.0.0", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/plugin-rest-endpoint-methods": "^17.0.0", + "@octokit/plugin-retry": "^8.0.3", + "@octokit/plugin-throttling": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "@octokit/webhooks": "^14.0.0" }, "engines": { - "node": ">= 18" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" + "node": ">= 20" } }, "node_modules/optionator": { @@ -3964,6 +5692,56 @@ "node": ">= 0.8.0" } }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -3977,14 +5755,14 @@ "node": ">=6" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/path-key": { @@ -4004,37 +5782,10 @@ "dev": true, "license": "MIT" }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC" }, "node_modules/picomatch": { @@ -4099,9 +5850,9 @@ } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", "dev": true, "license": "MIT", "bin": { @@ -4115,9 +5866,9 @@ } }, "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", "dev": true, "license": "MIT", "dependencies": { @@ -4171,28 +5922,24 @@ "license": "MIT" }, "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^18.3.1" + "react": "^19.2.5" } }, "node_modules/react-is": { @@ -4217,19 +5964,20 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -4239,16 +5987,18 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -4257,19 +6007,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -4319,23 +6056,6 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4361,15 +6081,16 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -4379,16 +6100,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -4398,14 +6136,14 @@ } }, "node_modules/sass": { - "version": "1.79.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.2.tgz", - "integrity": "sha512-YmT1aoF1MwHsZEu/eXhbAJNsPGAhNP4UixW9ckEwWCvPcVdVF0/C104OGDVEqtoctKq0N+wM20O/rj+sSPsWeg==", + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz", + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", "devOptional": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", - "immutable": "^4.0.0", + "immutable": "^5.1.5", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { @@ -4413,22 +6151,22 @@ }, "engines": { "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "devOptional": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -4471,6 +6209,66 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4495,16 +6293,17 @@ } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4513,159 +6312,127 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, "license": "MIT", "dependencies": { - "internal-slot": "^1.0.4" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", "dev": true, "license": "MIT" }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">= 0.4" } }, "node_modules/string.prototype.includes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", - "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -4686,16 +6453,19 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4705,16 +6475,20 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4737,33 +6511,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -4788,9 +6535,9 @@ } }, "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", "license": "MIT", "dependencies": { "client-only": "0.0.1" @@ -4799,7 +6546,7 @@ "node": ">= 12.0.0" }, "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" }, "peerDependenciesMeta": { "@babel/core": { @@ -4837,38 +6584,68 @@ } }, "node_modules/synckit": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", - "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" + "@pkgr/core": "^0.2.9" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/synckit" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", "dev": true, "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, "engines": { - "node": ">=6" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/to-regex-range": { "version": "5.0.1", @@ -4883,6 +6660,28 @@ "node": ">=8.0" } }, + "node_modules/toad-cache": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -4896,33 +6695,23 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" + "minimist": "^1.2.0" }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/type-check": { @@ -4938,46 +6727,33 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -4987,18 +6763,19 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -5008,18 +6785,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -5029,9 +6806,9 @@ } }, "node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -5042,41 +6819,134 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.0.tgz", + "integrity": "sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.59.0", + "@typescript-eslint/parser": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/utils": "8.59.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, "node_modules/universal-github-app-jwt": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-2.2.0.tgz", - "integrity": "sha512-G5o6f95b5BggDGuUfKDApKaCgNYy2x7OdHY0zSMF081O0EJobw+1130VONhrA7ezGSV2FNOGyM+KQpQZAr9bIQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-2.2.2.tgz", + "integrity": "sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==", "license": "MIT" }, "node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", "license": "ISC" }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -5087,13 +6957,6 @@ "punycode": "^2.1.0" } }, - "node_modules/v8-compile-cache": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", - "dev": true, - "license": "MIT" - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5111,41 +6974,45 @@ } }, "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, "license": "MIT", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-builtin-type": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", - "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", + "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", + "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -5174,16 +7041,18 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, "engines": { @@ -5203,113 +7072,48 @@ "node": ">=0.10.0" } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } + "license": "ISC" }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/colinhacks" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, "engines": { - "node": ">=12" + "node": ">=18.0.0" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" } } } diff --git a/package.json b/package.json index 5e27c05..c162398 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "opensgf.org", "version": "0.1.0", "private": true, + "type": "module", "description": "- [Figma](https://www.figma.com/file/Dz0zK03VUz06YvQ0NNbzFI/Open-SGF-Wireframes?node-id=0%3A1)", "main": "next.config.js", "author": "", @@ -11,28 +12,30 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "eslint . --ext .js,.ts,.jsx,.tsx", + "lint": "eslint .", "lint:fix": "npm run lint -- --fix" }, "dependencies": { - "dayjs": "^1.11.13", - "next": "^14.2.13", - "next-plausible": "^3.12.2", - "octokit": "^4.0.2", - "react": "^18.3.1", - "react-dom": "^18.3.1" + "dayjs": "^1.11.20", + "next": "^16.2.4", + "next-plausible": "^4.0.0", + "octokit": "^5.0.5", + "react": "^19.2.5", + "react-dom": "^19.2.5" }, "devDependencies": { - "@types/node": "22.5.5", - "@types/react": "18.3.8", - "@types/react-dom": "18.3.0", - "eslint": "^8", - "eslint-config-next": "14.2.13", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "prettier": "^3.3.3", - "sass": "^1.79.2", - "typescript": "5.6.2" + "@eslint/js": "^9.39.4", + "@types/node": "^24.0.0", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "eslint": "^9.25.0", + "eslint-config-next": "^16.2.4", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.5", + "prettier": "^3.8.3", + "sass": "^1.99.0", + "typescript": "^6.0.3", + "typescript-eslint": "^8.59.0" }, "repository": { "type": "git", diff --git a/src/components/Accordion/Accordion.module.scss b/src/components/Accordion/Accordion.module.scss index d4420fc..6655633 100644 --- a/src/components/Accordion/Accordion.module.scss +++ b/src/components/Accordion/Accordion.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .accordion { .trigger { diff --git a/src/components/Accordion/Accordion.tsx b/src/components/Accordion/Accordion.tsx index 7eaceae..162ac65 100644 --- a/src/components/Accordion/Accordion.tsx +++ b/src/components/Accordion/Accordion.tsx @@ -1,14 +1,16 @@ +'use client'; + import React, { useEffect, useState } from 'react'; import { ArrowDown } from '@/components/Icons/ArrowDown/ArrowDown'; import styles from './Accordion.module.scss'; interface IAccordion { - children: JSX.Element; - heading: JSX.Element; + children: React.ReactNode; + heading: React.ReactNode; forceClosed?: boolean; } -export function Accordion({ children, heading, forceClosed = false }: IAccordion): JSX.Element { +export function Accordion({ children, heading, forceClosed = false }: IAccordion): React.ReactNode { const [show, setShow] = useState(false); useEffect(() => { diff --git a/src/components/Blocks/CardSet/CardSet.module.scss b/src/components/Blocks/CardSet/CardSet.module.scss index 5c541e3..28516e9 100644 --- a/src/components/Blocks/CardSet/CardSet.module.scss +++ b/src/components/Blocks/CardSet/CardSet.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .cardSetContainer { position: relative; diff --git a/src/components/Blocks/CardSet/components/Card/Card.module.scss b/src/components/Blocks/CardSet/components/Card/Card.module.scss index 82f8980..cb2d1e3 100644 --- a/src/components/Blocks/CardSet/components/Card/Card.module.scss +++ b/src/components/Blocks/CardSet/components/Card/Card.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .cardContainer { width: 476px; diff --git a/src/components/Blocks/ChatBubbles/ChatBubbles.module.scss b/src/components/Blocks/ChatBubbles/ChatBubbles.module.scss index d5d6c3b..d9e1604 100644 --- a/src/components/Blocks/ChatBubbles/ChatBubbles.module.scss +++ b/src/components/Blocks/ChatBubbles/ChatBubbles.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .container { display: flex; diff --git a/src/components/Blocks/ChatBubbles/ChatBubbles.tsx b/src/components/Blocks/ChatBubbles/ChatBubbles.tsx index 9aece0e..ba55192 100644 --- a/src/components/Blocks/ChatBubbles/ChatBubbles.tsx +++ b/src/components/Blocks/ChatBubbles/ChatBubbles.tsx @@ -1,18 +1,18 @@ +import { darkBlue, lightBlue } from '@/lib/variables'; import { ChatBubble } from '@/components/Icons/ChatBubble/ChatBubble'; import styles from './ChatBubbles.module.scss'; -import variables from '@/styles/utils/variables.module.scss'; interface IChatBubbles { leftText: string; rightText: string; } -export function ChatBubbles({ leftText, rightText }: IChatBubbles): JSX.Element { +export function ChatBubbles({ leftText, rightText }: IChatBubbles): React.ReactNode { return (
- +
Client Issue
@@ -21,7 +21,7 @@ export function ChatBubbles({ leftText, rightText }: IChatBubbles): JSX.Element
- +
Our Solution
diff --git a/src/components/Blocks/ContactForm/ContactForm.module.scss b/src/components/Blocks/ContactForm/ContactForm.module.scss index 3c7f510..f8ac973 100644 --- a/src/components/Blocks/ContactForm/ContactForm.module.scss +++ b/src/components/Blocks/ContactForm/ContactForm.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .container { width: 100%; diff --git a/src/components/Blocks/ContactForm/ContactForm.tsx b/src/components/Blocks/ContactForm/ContactForm.tsx index 3cdc2bb..f5f5a24 100644 --- a/src/components/Blocks/ContactForm/ContactForm.tsx +++ b/src/components/Blocks/ContactForm/ContactForm.tsx @@ -1,8 +1,10 @@ +'use client'; + import { Button } from '@/components/atoms/Button/Button'; import styles from './ContactForm.module.scss'; import { useState } from 'react'; -export function ContactForm(): JSX.Element { +export function ContactForm(): React.ReactNode { const [formField, setFormField] = useState({ name: '', email: '', diff --git a/src/components/Blocks/Gallery/Gallery.module.scss b/src/components/Blocks/Gallery/Gallery.module.scss index d40777a..9705890 100644 --- a/src/components/Blocks/Gallery/Gallery.module.scss +++ b/src/components/Blocks/Gallery/Gallery.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .container { display: grid; diff --git a/src/components/Blocks/Gallery/Gallery.tsx b/src/components/Blocks/Gallery/Gallery.tsx index 3c38fde..083188d 100644 --- a/src/components/Blocks/Gallery/Gallery.tsx +++ b/src/components/Blocks/Gallery/Gallery.tsx @@ -5,13 +5,12 @@ interface IGallery { images: any[]; } -export function Gallery({ images }: IGallery): JSX.Element { +export function Gallery({ images }: IGallery): React.ReactNode { return (
- {images[0].alt} - {images[1].alt} - {images[2].alt} - {images[3].alt} + {images.map((image, index) => ( + {image.alt} + ))}
); } diff --git a/src/components/Blocks/IconSet/IconSet.tsx b/src/components/Blocks/IconSet/IconSet.tsx index 581f013..d7f5aa7 100644 --- a/src/components/Blocks/IconSet/IconSet.tsx +++ b/src/components/Blocks/IconSet/IconSet.tsx @@ -1,11 +1,11 @@ -import { Icon } from '@/components/Blocks/IconSet/components/Icon'; +import { Icon, type IconData } from '@/components/Blocks/IconSet/components/Icon'; import styles from './IconSet.module.scss'; type IIconSet = { - icons: Icon[]; + icons: IconData[]; }; -export function IconSet({ icons }: IIconSet): JSX.Element { +export function IconSet({ icons }: IIconSet): React.ReactNode { return (
diff --git a/src/components/Blocks/IconSet/components/Icon.tsx b/src/components/Blocks/IconSet/components/Icon.tsx index bb87d54..f3b7cc4 100644 --- a/src/components/Blocks/IconSet/components/Icon.tsx +++ b/src/components/Blocks/IconSet/components/Icon.tsx @@ -2,28 +2,26 @@ import Image from 'next/image'; import { SmartLink } from '@/components/SmartLink/SmartLink'; import styles from './Icon.module.scss'; -export type Icon = { +export type IconData = { image: { url?: string; src: string; alt: string; }; - title?: JSX.Element | boolean; - subtitle?: JSX.Element | boolean; + title?: React.ReactNode | boolean; + subtitle?: React.ReactNode | boolean; }; type IIcon = { - icon: Icon; + icon: IconData; }; -export function Icon({ icon: { image, title = <>, subtitle = false } }: IIcon): JSX.Element { - const imageElement: JSX.Element = {image.alt}; - const titleElement: JSX.Element =
{title}
; - const subtitleElement: JSX.Element =
{subtitle}
; +export function Icon({ icon: { image, title = <>, subtitle = false } }: IIcon): React.ReactNode { + const imageElement: React.ReactNode = {image.alt}; + const titleElement: React.ReactNode =
{title}
; + const subtitleElement: React.ReactNode =
{subtitle}
; - type WrapElementInLink = (element: JSX.Element, url: string) => JSX.Element; - - const wrapInLink: WrapElementInLink = (element, url) => { + const wrapInLink = (element: React.ReactNode, url: string): React.ReactNode => { return {element}; }; diff --git a/src/components/Blocks/ImageText/ImageText.module.scss b/src/components/Blocks/ImageText/ImageText.module.scss index 5c14846..7c7f02c 100644 --- a/src/components/Blocks/ImageText/ImageText.module.scss +++ b/src/components/Blocks/ImageText/ImageText.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .container { display: flex; diff --git a/src/components/Blocks/ImageText/ImageText.tsx b/src/components/Blocks/ImageText/ImageText.tsx index b976afc..e40e0a9 100644 --- a/src/components/Blocks/ImageText/ImageText.tsx +++ b/src/components/Blocks/ImageText/ImageText.tsx @@ -1,17 +1,24 @@ +'use client'; + import React, { useCallback, useEffect, useState } from 'react'; import Image from 'next/image'; import styles from './ImageText.module.scss'; interface IImageText { - image: JSX.Element; - text: JSX.Element; + image: React.ReactNode; + text: React.ReactNode; dotsUrl?: string; textRight?: boolean; imageTextSizeRatio?: number; } const useMediaQuery = (width: number) => { - const [targetReached, setTargetReached] = useState(false); + const [targetReached, setTargetReached] = useState(() => { + if (typeof window === 'undefined') { + return false; + } + return window.matchMedia(`(max-width: ${width}px)`).matches; + }); const updateTarget = useCallback((e: any) => { if (e.matches) { @@ -24,11 +31,6 @@ const useMediaQuery = (width: number) => { useEffect(() => { const media = window.matchMedia(`(max-width: ${width}px)`); media.addEventListener('change', updateTarget); - - if (media.matches) { - setTargetReached(true); - } - return () => media.removeEventListener('change', updateTarget); }, [updateTarget, width]); @@ -41,7 +43,7 @@ export function ImageText({ imageTextSizeRatio = 0.5, dotsUrl = '', textRight = false, -}: IImageText): JSX.Element { +}: IImageText): React.ReactNode { const isBreakpoint = useMediaQuery(600); const textWrapperWidth = isBreakpoint ? '100%' : imageTextSizeRatio * 100 + '%'; diff --git a/src/components/Blocks/ImageTextLink/ImageTextLink.module.scss b/src/components/Blocks/ImageTextLink/ImageTextLink.module.scss index 6a3cf8c..9061abd 100644 --- a/src/components/Blocks/ImageTextLink/ImageTextLink.module.scss +++ b/src/components/Blocks/ImageTextLink/ImageTextLink.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .link { font-family: $secondary-font; diff --git a/src/components/Blocks/ImageTextLink/ImageTextLink.tsx b/src/components/Blocks/ImageTextLink/ImageTextLink.tsx index 084e796..62a6347 100644 --- a/src/components/Blocks/ImageTextLink/ImageTextLink.tsx +++ b/src/components/Blocks/ImageTextLink/ImageTextLink.tsx @@ -4,8 +4,8 @@ import { SmartLink } from '@/components/SmartLink/SmartLink'; import styles from './ImageTextLink.module.scss'; interface IImageTextLink { - image: JSX.Element; - text: JSX.Element; + image: React.ReactNode; + text: React.ReactNode; dotsUrl?: string; textRight?: boolean; imageTextSizeRatio?: number; @@ -22,7 +22,7 @@ export function ImageTextLink({ imageTextSizeRatio = 0.5, dotsUrl = '', textRight = false, -}: IImageTextLink): JSX.Element { +}: IImageTextLink): React.ReactNode { return (
{ return tools.find(({ name }) => name === tool); }); diff --git a/src/components/Blocks/ProjectGallery/ProjectGallery.tsx b/src/components/Blocks/ProjectGallery/ProjectGallery.tsx index 7d3b54b..a1ba0ee 100644 --- a/src/components/Blocks/ProjectGallery/ProjectGallery.tsx +++ b/src/components/Blocks/ProjectGallery/ProjectGallery.tsx @@ -2,7 +2,7 @@ import { projects } from '@/utils/projectData'; import styles from './ProjectGallery.module.scss'; -export function ProjectGallery(): JSX.Element { +export function ProjectGallery(): React.ReactNode { return (
{projects.map((project) => ( diff --git a/src/components/Blocks/ProjectGallery/components/Card/Card.tsx b/src/components/Blocks/ProjectGallery/components/Card/Card.tsx index 77278d3..9676051 100644 --- a/src/components/Blocks/ProjectGallery/components/Card/Card.tsx +++ b/src/components/Blocks/ProjectGallery/components/Card/Card.tsx @@ -7,7 +7,7 @@ interface ICard { project: any; } -export function Card({ project, project: { landingImage } }: ICard): JSX.Element { +export function Card({ project, project: { landingImage } }: ICard): React.ReactNode { return (
{project.helpWanted && ( diff --git a/src/components/Blocks/ProjectGallery/components/IconCallout/IconCallout.module.scss b/src/components/Blocks/ProjectGallery/components/IconCallout/IconCallout.module.scss index 8619c97..090699f 100644 --- a/src/components/Blocks/ProjectGallery/components/IconCallout/IconCallout.module.scss +++ b/src/components/Blocks/ProjectGallery/components/IconCallout/IconCallout.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .container { position: relative; diff --git a/src/components/Blocks/ProjectGallery/components/IconCallout/IconCallout.tsx b/src/components/Blocks/ProjectGallery/components/IconCallout/IconCallout.tsx index b4724ed..96385c4 100644 --- a/src/components/Blocks/ProjectGallery/components/IconCallout/IconCallout.tsx +++ b/src/components/Blocks/ProjectGallery/components/IconCallout/IconCallout.tsx @@ -6,7 +6,7 @@ interface IIconCallout { text: string; } -export function IconCallout({ link, text }: IIconCallout): JSX.Element { +export function IconCallout({ link, text }: IIconCallout): React.ReactNode { return (
diff --git a/src/components/Blocks/ProjectNav/ProjectNav.module.scss b/src/components/Blocks/ProjectNav/ProjectNav.module.scss index 6d6aeaf..dd42434 100644 --- a/src/components/Blocks/ProjectNav/ProjectNav.module.scss +++ b/src/components/Blocks/ProjectNav/ProjectNav.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .container{ display: flex; diff --git a/src/components/Blocks/ProjectNav/ProjectNav.tsx b/src/components/Blocks/ProjectNav/ProjectNav.tsx index f0b7726..e0510b4 100644 --- a/src/components/Blocks/ProjectNav/ProjectNav.tsx +++ b/src/components/Blocks/ProjectNav/ProjectNav.tsx @@ -5,7 +5,7 @@ interface IProjectNav { buttonText: string; } -export function ProjectNav({ buttonText }: IProjectNav): JSX.Element { +export function ProjectNav({ buttonText }: IProjectNav): React.ReactNode { return (
; } diff --git a/src/components/Blocks/UpcomingEvents/components/EventCard/EventCard.module.scss b/src/components/Blocks/UpcomingEvents/components/EventCard/EventCard.module.scss index db2f303..3a5688e 100644 --- a/src/components/Blocks/UpcomingEvents/components/EventCard/EventCard.module.scss +++ b/src/components/Blocks/UpcomingEvents/components/EventCard/EventCard.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .container { width: 100%; diff --git a/src/components/Blocks/UpcomingEvents/components/EventCard/EventCard.tsx b/src/components/Blocks/UpcomingEvents/components/EventCard/EventCard.tsx index a637403..ef778a4 100644 --- a/src/components/Blocks/UpcomingEvents/components/EventCard/EventCard.tsx +++ b/src/components/Blocks/UpcomingEvents/components/EventCard/EventCard.tsx @@ -1,8 +1,8 @@ import dayjs, { extend } from 'dayjs'; +import advancedFormat from 'dayjs/plugin/advancedFormat'; import Image from 'next/image'; import React from 'react'; import { SmartLink } from '@/components/SmartLink/SmartLink'; -import advancedFormat from 'dayjs/plugin/advancedFormat'; import styles from './EventCard.module.scss'; export type MeetupEvent = { @@ -20,7 +20,7 @@ interface IEventCard { export function EventCard({ event: { imageUrl, imageAlt, title, dateTime, description, eventUrl }, -}: IEventCard): JSX.Element { +}: IEventCard): React.ReactNode { extend(advancedFormat); const timeReadable = dayjs(dateTime).format('dddd, MMMM Do [at] h:mm a'); diff --git a/src/components/Dropdown/Dropdown.module.scss b/src/components/Dropdown/Dropdown.module.scss index 3338b46..d55bf96 100644 --- a/src/components/Dropdown/Dropdown.module.scss +++ b/src/components/Dropdown/Dropdown.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .dropdown { .trigger { diff --git a/src/components/Dropdown/Dropdown.tsx b/src/components/Dropdown/Dropdown.tsx index 42ece1b..a3a45af 100644 --- a/src/components/Dropdown/Dropdown.tsx +++ b/src/components/Dropdown/Dropdown.tsx @@ -1,14 +1,16 @@ +'use client'; + import React, { useEffect, useState } from 'react'; import { ArrowDown } from '@/components/Icons/ArrowDown/ArrowDown'; import styles from './Dropdown.module.scss'; type IDropdown = { children: any; - heading: JSX.Element; + heading: React.ReactNode; forceClosed?: boolean; }; -export function Dropdown({ children, heading, forceClosed = false }: IDropdown): JSX.Element { +export function Dropdown({ children, heading, forceClosed = false }: IDropdown): React.ReactNode { const [show, setShow] = useState(false); useEffect(() => { diff --git a/src/components/Footer/Footer.module.scss b/src/components/Footer/Footer.module.scss index a8cef72..5994bb0 100644 --- a/src/components/Footer/Footer.module.scss +++ b/src/components/Footer/Footer.module.scss @@ -1,20 +1,13 @@ - @import '@/styles/utils/all'; - -.pageContainer { - margin-top: auto; -} + @use '@/styles/utils/all' as *; .footer { - flex: 1; display: flex; gap: 20px; border-top: 1px solid #eaeaea; justify-content: space-between; align-items: center; - height: 216px; - max-height: 30vh; - width: 100vw; + width: 100%; padding: 5.2%; background-color: $dark-blue; diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx index 62f1ab1..4a02a05 100644 --- a/src/components/Footer/Footer.tsx +++ b/src/components/Footer/Footer.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { SmartLink } from '@/components/SmartLink/SmartLink'; import styles from './Footer.module.scss'; -export function Footer(): JSX.Element { +export function Footer(): React.ReactNode { type IconData = { url: string; src: string; @@ -23,9 +23,7 @@ export function Footer(): JSX.Element { }, ]; - type IconElementGenerator = (iconDataArray: IconData[]) => JSX.Element[]; - - const socialIconElementGenerator: IconElementGenerator = (iconDataArray) => { + const socialIconElementGenerator = (iconDataArray: IconData[]): React.ReactNode[] => { return iconDataArray.map(({ url, src, alt }) => { return (
diff --git a/src/components/Icons/ArrowDown/ArrowDown.tsx b/src/components/Icons/ArrowDown/ArrowDown.tsx index 8ae905e..8c13c36 100644 --- a/src/components/Icons/ArrowDown/ArrowDown.tsx +++ b/src/components/Icons/ArrowDown/ArrowDown.tsx @@ -2,6 +2,6 @@ import Image from 'next/image'; import React from 'react'; import styles from './ArrowDown.module.scss'; -export function ArrowDown(): JSX.Element { +export function ArrowDown(): React.ReactNode { return arrow icon; } diff --git a/src/components/Icons/ChatBubble/ChatBubble.tsx b/src/components/Icons/ChatBubble/ChatBubble.tsx index e3b15ee..f08f566 100644 --- a/src/components/Icons/ChatBubble/ChatBubble.tsx +++ b/src/components/Icons/ChatBubble/ChatBubble.tsx @@ -5,7 +5,7 @@ type IChatBubble = { mirror?: boolean; }; -export function ChatBubble({ color, mirror = false }: IChatBubble): JSX.Element { +export function ChatBubble({ color, mirror = false }: IChatBubble): React.ReactNode { return (
diff --git a/src/components/Icons/Hamburger/Hamburger.tsx b/src/components/Icons/Hamburger/Hamburger.tsx index 348cc07..862f220 100644 --- a/src/components/Icons/Hamburger/Hamburger.tsx +++ b/src/components/Icons/Hamburger/Hamburger.tsx @@ -4,7 +4,7 @@ interface IHamburger { active: boolean; } -export function Hamburger({ active }: IHamburger): JSX.Element { +export function Hamburger({ active }: IHamburger): React.ReactNode { return (
diff --git a/src/components/Icons/Logo/Logo.tsx b/src/components/Icons/Logo/Logo.tsx index bf46418..aca7bc1 100644 --- a/src/components/Icons/Logo/Logo.tsx +++ b/src/components/Icons/Logo/Logo.tsx @@ -8,7 +8,7 @@ interface ILogo { width?: number; } -export function Logo({ url = false, width = 133, height = 61 }: ILogo): JSX.Element { +export function Logo({ url = false, width = 133, height = 61 }: ILogo): React.ReactNode { if (typeof url === 'string') { return ( diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index ea533ff..a1570b1 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -6,7 +6,7 @@ interface ILayout { children: any; } -export function Layout({ children }: ILayout): JSX.Element { +export function Layout({ children }: ILayout): React.ReactNode { return (
diff --git a/src/components/Navbar/Navbar.module.scss b/src/components/Navbar/Navbar.module.scss index 2c2d4e1..b43eb12 100644 --- a/src/components/Navbar/Navbar.module.scss +++ b/src/components/Navbar/Navbar.module.scss @@ -1,8 +1,8 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .navbar { position: relative; - width: 100vw; + width: 100%; z-index: 16; display: flex; align-items: center; diff --git a/src/components/Navbar/Navbar.tsx b/src/components/Navbar/Navbar.tsx index d2c1ac2..37ab7b0 100644 --- a/src/components/Navbar/Navbar.tsx +++ b/src/components/Navbar/Navbar.tsx @@ -1,16 +1,22 @@ +'use client'; + import React, { useCallback, useEffect, useState } from 'react'; import { Accordion } from '@/components/Accordion/Accordion'; +import { breakpointSmall } from '@/lib/variables'; import { Button } from '@/components/atoms/Button/Button'; import { Dropdown } from '@/components/Dropdown/Dropdown'; import { Hamburger } from '@/components/Icons/Hamburger/Hamburger'; -import Link from 'next/link'; import { Logo } from '@/components/Icons/Logo/Logo'; import { SmartLink } from '@/components/SmartLink/SmartLink'; import styles from './Navbar.module.scss'; -import variables from '@/styles/utils/variables.module.scss'; const useMediaQuery = (width: string) => { - const [targetReached, setTargetReached] = useState(false); + const [targetReached, setTargetReached] = useState(() => { + if (typeof window === 'undefined') { + return false; + } + return window.matchMedia(`(max-width: ${width}px)`).matches; + }); const updateTarget = useCallback((e: any) => { if (e.matches) { @@ -23,20 +29,14 @@ const useMediaQuery = (width: string) => { useEffect(() => { const media = window.matchMedia(`(max-width: ${width}px)`); media.addListener(updateTarget); - - // Check on mount (callback is not called until a change occurs) - if (media.matches) { - setTargetReached(true); - } - return () => media.removeListener(updateTarget); }, [updateTarget, width]); return targetReached; }; -export function Navbar(): JSX.Element { - const isBreakpoint = useMediaQuery(variables.breakpointSmall); +export function Navbar(): React.ReactNode { + const isBreakpoint = useMediaQuery(String(breakpointSmall)); const [open, setOpen] = useState(false); const contactLinks = ( @@ -46,11 +46,9 @@ export function Navbar(): JSX.Element {

See what we can help you with

Fill out the form and get involved

diff --git a/src/components/SmartLink/SmartLink.tsx b/src/components/SmartLink/SmartLink.tsx index 362f63e..6c13fa4 100644 --- a/src/components/SmartLink/SmartLink.tsx +++ b/src/components/SmartLink/SmartLink.tsx @@ -3,17 +3,15 @@ import React from 'react'; interface ISmartLink { to: string; - children: JSX.Element[] | JSX.Element | string; + children: React.ReactNode[] | React.ReactNode | string; } -export function SmartLink({ to, children }: ISmartLink): JSX.Element { +export function SmartLink({ to, children }: ISmartLink): React.ReactNode { if (to.includes('https://') || to.includes('http://') || to.includes('.')) { return ( - - - {children} - - + + {children} + ); } return {children}; diff --git a/src/components/atoms/Button/Button.module.scss b/src/components/atoms/Button/Button.module.scss index a4541ba..9fa6ce5 100644 --- a/src/components/atoms/Button/Button.module.scss +++ b/src/components/atoms/Button/Button.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .button { background-color: $base-blue; diff --git a/src/components/atoms/Button/Button.tsx b/src/components/atoms/Button/Button.tsx index 69927b8..6a62a99 100644 --- a/src/components/atoms/Button/Button.tsx +++ b/src/components/atoms/Button/Button.tsx @@ -6,6 +6,6 @@ interface IButton { href?: string; } -export const Button = ({ text, href = '' }: IButton): JSX.Element => { +export const Button = ({ text, href = '' }: IButton): React.ReactNode => { return ; }; diff --git a/src/components/layout.module.scss b/src/components/layout.module.scss index e332b81..3f5b4c4 100644 --- a/src/components/layout.module.scss +++ b/src/components/layout.module.scss @@ -1,11 +1,12 @@ .pageContainer { display: flex; flex-direction: column; - width: 100vw; + width: 100%; overflow-x: hidden; min-height: 100vh; } .contentWrapper { width: 100%; + flex: 1; } diff --git a/src/lib/variables.ts b/src/lib/variables.ts new file mode 100644 index 0000000..5548066 --- /dev/null +++ b/src/lib/variables.ts @@ -0,0 +1,3 @@ +export const breakpointSmall = 768; +export const lightBlue = '#E9F5FF'; +export const darkBlue = '#005898'; diff --git a/src/pages/.eslintrc.json b/src/pages/.eslintrc.json deleted file mode 100644 index 0b17e34..0000000 --- a/src/pages/.eslintrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "rules": { - "import/no-named-as-default": "error", - "import/prefer-default-export": "error", - "import/no-default-export": "off" - } -} diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx deleted file mode 100644 index 401c574..0000000 --- a/src/pages/_app.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import '@/styles/globals.scss'; -import type { AppProps } from 'next/app'; -import Head from 'next/head'; -import { Layout } from '@/components/Layout'; -import PlausibleProvider from 'next-plausible'; - -export default function MyApp({ Component, pageProps }: AppProps) { - return ( - - - - - - - - - - Open SGF - - - - - - ); -} diff --git a/src/pages/api/github.ts b/src/pages/api/github.ts deleted file mode 100644 index d0e14a3..0000000 --- a/src/pages/api/github.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Octokit } from 'octokit'; - -export default async function handler(req: any, res: any) { - const octokit = new Octokit(); - const response = await octokit.request('GET ' + req.query.apiUrl); - res.status(200).json(response.data); -} diff --git a/src/pages/api/meetup.ts b/src/pages/api/meetup.ts deleted file mode 100644 index 06b60d6..0000000 --- a/src/pages/api/meetup.ts +++ /dev/null @@ -1,52 +0,0 @@ -import type { MeetupEvent } from '@/components/Blocks/UpcomingEvents/components/EventCard/EventCard'; - -export default async function handler(req: any, res: any) { - const variables = { groupId: 34547654 }; - - const query = `query GetUpcomingEventsForGroup ($groupId: ID) { - group(id: $groupId) { - id, - name, - upcomingEvents (input: {first: 3}) { - edges { - node { - title, - eventUrl, - description, - imageUrl, - dateTime, - } - } - } - } - } - `; - - try { - const response = await fetch('https://api.meetup.com/gql', { - method: 'post', - body: JSON.stringify({ query, variables }), - headers: { 'Content-Type': 'application/json' }, - }); - - const { data } = await response.json(); - - const events = data.group.upcomingEvents.edges.map(({ node }: { node: any }): MeetupEvent => { - const { title, eventUrl, description, imageUrl, dateTime } = node; - - return { - title, - eventUrl, - description, - imageUrl, - imageAlt: 'Main image for event: ' + title, - dateTime, - }; - }); - - res.status(200).json(events); - } catch (e) { - console.error(e); - return []; - } -} diff --git a/src/pages/donate.tsx b/src/pages/donate.tsx deleted file mode 100644 index 88e9d84..0000000 --- a/src/pages/donate.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react'; - -export default function donate(): JSX.Element { - return ( -
-

Donate

-
- ); -} diff --git a/src/server.ts b/src/server.ts new file mode 100644 index 0000000..1d20e58 --- /dev/null +++ b/src/server.ts @@ -0,0 +1,83 @@ +import type { Contributor } from '@/utils/api'; +import type { MeetupEvent } from '@/components/Blocks/UpcomingEvents/components/EventCard/EventCard'; +import { Octokit } from 'octokit'; + +export async function getMeetupEvents(): Promise { + const variables = { groupId: 34547654 }; + + const query = `query GetUpcomingEventsForGroup ($groupId: ID) { + group(id: $groupId) { + id, + name, + upcomingEvents (input: {first: 3}) { + edges { + node { + title, + eventUrl, + description, + imageUrl, + dateTime, + } + } + } + } + } + `; + + try { + const response = await fetch('https://api.meetup.com/gql', { + method: 'post', + body: JSON.stringify({ query, variables }), + headers: { 'Content-Type': 'application/json' }, + }); + + const { data } = await response.json(); + + const events: MeetupEvent[] = data.group.upcomingEvents.edges.map(({ node }: { node: any }): MeetupEvent => { + const { title, eventUrl, description, imageUrl, dateTime } = node; + + return { + title, + eventUrl, + description, + imageUrl, + imageAlt: 'Main image for event: ' + title, + dateTime, + }; + }); + + return events; + } catch (e) { + console.error(e); + return []; + } +} + +export async function getProjectContributors(projectRepoName: string): Promise { + const octokit = new Octokit(); + + try { + const response = await octokit.request('GET /repos/Open-SGF/{repo}/stats/contributors', { + repo: projectRepoName, + }); + + const contributors = response.data; + + if (!Array.isArray(contributors) || contributors.length === 0) { + return []; + } + + return contributors.map(({ total, author }: { total: unknown; author: any }): Contributor => { + return { + total: typeof total === 'number' ? total : Number(total) || 0, + id: author?.id != null ? String(author.id) : String(author?.id) || '', + login: author?.login != null ? String(author.login) : String(author?.login) || '', + avatar_url: author?.avatar_url != null ? String(author.avatar_url) : String(author?.avatar_url) || '', + html_url: author?.html_url != null ? String(author.html_url) : String(author?.html_url) || '', + }; + }); + } catch (e) { + console.error(e); + return []; + } +} diff --git a/src/utils/api.ts b/src/utils/api.ts index ca89370..d537e09 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -1,5 +1,3 @@ -import type { MeetupEvent } from '@/components/Blocks/UpcomingEvents/components/EventCard/EventCard'; - export type Contributor = { total: number; id: string; @@ -7,40 +5,3 @@ export type Contributor = { avatar_url: string; html_url: string; }; - -export async function getMeetupEvents(): Promise { - try { - const response: Response = await fetch(`${process.env.SITE_URL}/api/meetup`); - return await response.json(); - } catch (e) { - console.log(e); - return []; - } -} - -export async function getProjectContributors(projectRepoName: string): Promise { - try { - const response: Response = await fetch( - `${process.env.SITE_URL}/api/github?apiUrl=/repos/Open-SGF/${projectRepoName}/stats/contributors`, - ); - - const contributors = await response.json(); - - if (!Array.isArray(contributors) || contributors.length === 0) { - return []; - } - - return contributors.map(({ total, author }: { total: unknown; author: any }): Contributor => { - return { - total: Number(total) ?? 0, - id: String(author.id) ?? '', - login: String(author.login) ?? '', - avatar_url: String(author.avatar_url) ?? '', - html_url: String(author.html_url) ?? '', - }; - }); - } catch (e) { - console.log(e); - return []; - } -} diff --git a/styles/base/_all.scss b/styles/base/_all.scss index de2327b..205087b 100644 --- a/styles/base/_all.scss +++ b/styles/base/_all.scss @@ -1,2 +1,2 @@ -@import 'reset'; -@import 'typography'; +@use 'reset'; +@use 'typography'; diff --git a/styles/base/reset.scss b/styles/base/reset.scss index a6ed2c8..44abcff 100644 --- a/styles/base/reset.scss +++ b/styles/base/reset.scss @@ -23,7 +23,7 @@ time, mark, audio, video { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; text-size-adjust: none; - + box-sizing: border-box; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, @@ -31,7 +31,8 @@ footer, header, hgroup, menu, nav, section { display: block; } body { - width: 100vw; + width: 100%; + overflow-x: hidden; } ol, ul { list-style: none; diff --git a/styles/base/typography.scss b/styles/base/typography.scss index fb6a8a7..0a8aa47 100644 --- a/styles/base/typography.scss +++ b/styles/base/typography.scss @@ -1,6 +1,6 @@ +@use '@/styles/utils/all' as *; @import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Roboto+Slab&display=swap'); -@import '@/styles/utils/all'; html { font-size: 62.5%; // 1rem = 10px diff --git a/styles/globals.scss b/styles/globals.scss index 3a2024f..c0c2acf 100644 --- a/styles/globals.scss +++ b/styles/globals.scss @@ -1,28 +1,2 @@ -@import 'base/all'; -@import 'utils/all'; - -html, -body { - width: 100vw; -} - -a { - color: inherit; - text-decoration: underline; -} - -*, *:before, *:after { - box-sizing: border-box; -} - -body { - position: unset; - margin: 0; - padding: 0; - width: 100vw; -} - -input { - -webkit-appearance: none; - border-radius: 0; -} +@use '@/styles/base/all' as *; +@use '@/styles/utils/all' as *; diff --git a/styles/pages/About.module.scss b/styles/pages/About.module.scss index 4c54720..3612bba 100644 --- a/styles/pages/About.module.scss +++ b/styles/pages/About.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .pageWrapper { display: flex; diff --git a/styles/pages/CodeOfConduct.module.scss b/styles/pages/CodeOfConduct.module.scss index 3faac57..8cfa352 100644 --- a/styles/pages/CodeOfConduct.module.scss +++ b/styles/pages/CodeOfConduct.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .codeOfConduct{ padding: 3rem; diff --git a/styles/pages/Home.module.scss b/styles/pages/Home.module.scss index 98d26c5..f0923b9 100644 --- a/styles/pages/Home.module.scss +++ b/styles/pages/Home.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .pageWrapper { margin: 0 15vw 0 15vw; diff --git a/styles/pages/Partner.module.scss b/styles/pages/Partner.module.scss index 33fbea7..d7ebeca 100644 --- a/styles/pages/Partner.module.scss +++ b/styles/pages/Partner.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .pageWrapper { margin: 86px calc(50% - 592px) 110px calc(50% - 592px); diff --git a/styles/pages/Project.module.scss b/styles/pages/Project.module.scss index 3f678aa..4f913fc 100644 --- a/styles/pages/Project.module.scss +++ b/styles/pages/Project.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .pageWrapper { margin: 0 calc(50vw - 558px) 0 calc(50vw - 558px); diff --git a/styles/pages/Projects.module.scss b/styles/pages/Projects.module.scss index 251e3df..9c65ade 100644 --- a/styles/pages/Projects.module.scss +++ b/styles/pages/Projects.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .pageWrapper { padding: 20px 15vw 5vh 15vw; diff --git a/styles/pages/Volunteer.module.scss b/styles/pages/Volunteer.module.scss index e7ed380..2436935 100644 --- a/styles/pages/Volunteer.module.scss +++ b/styles/pages/Volunteer.module.scss @@ -1,4 +1,4 @@ -@import '@/styles/utils/all'; +@use '@/styles/utils/all' as *; .pageWrapper { margin: 0 15vw 0 15vw; diff --git a/styles/utils/_all.scss b/styles/utils/_all.scss index 234c08b..9a84f23 100644 --- a/styles/utils/_all.scss +++ b/styles/utils/_all.scss @@ -1,3 +1,3 @@ -@import 'mixins'; -@import 'variables.module'; -@import 'functions'; +@forward 'variables'; +@forward 'mixins'; +@forward 'functions'; diff --git a/styles/utils/_variables.scss b/styles/utils/_variables.scss new file mode 100644 index 0000000..adb4434 --- /dev/null +++ b/styles/utils/_variables.scss @@ -0,0 +1,30 @@ +$base-black: #133654; +$base-blue: #0094FF; +$dark-blue: #005898; +$light-blue: #E9F5FF; +$base-red: #FF6A6B; +$light-red: #FF6061; + +$primary-font: 'Roboto', sans-serif; +$secondary-font: 'Roboto Slab', serif; + +$navigation-desktop-height: 104px; + +$z-index: ( + skip-nav: 20, + navigation: 10, + default: 0, +); + +$breakpoints: ( + x-tiny: 350, + tiny: 400, + x-small: 480, + mid-small: 600, + small: 768, + medium: 960, + mid-large: 1050, + large: 1224, + x-large: 1440, + xx-large: 1525 +); diff --git a/styles/utils/functions.scss b/styles/utils/functions.scss index 72438f7..d5c6ec4 100644 --- a/styles/utils/functions.scss +++ b/styles/utils/functions.scss @@ -1,8 +1,10 @@ @use "sass:math"; -@use 'variables.module'; +@use "sass:map"; +@use "sass:meta"; +@use 'variables' as vars; @function strip-unit($number) { - @if type-of($number) == 'number' and not unitless($number) { + @if meta.type-of($number) == 'number' and not math.is-unitless($number) { @return math.div($number, ($number * 0 + 1)); } @@ -10,8 +12,8 @@ } @function breakpoint($bp) { - @if map-has_key($breakpoints, $bp) == true { - @return map-get($breakpoints, $bp) + 0px; + @if map.has-key(vars.$breakpoints, $bp) == true { + @return map.get(vars.$breakpoints, $bp) + 0px; } @else { @return null; } diff --git a/styles/utils/mixins.scss b/styles/utils/mixins.scss index a1ebff9..b39844a 100644 --- a/styles/utils/mixins.scss +++ b/styles/utils/mixins.scss @@ -1,4 +1,8 @@ @use "sass:math"; +@use "sass:map"; +@use "sass:list"; +@use 'variables' as vars; +@use 'functions' as *; @mixin mq-below($breakpoint) { $value: breakpoint($breakpoint); @@ -22,14 +26,14 @@ } @mixin responsive-font($options) { - $min-size: map-get($options, min-size); - $max-size: map-get($options, max-size); - $lower-bound: map-get($options, lower-bound); - $upper-bound: map-get($options, upper-bound); + $min-size: map.get($options, min-size); + $max-size: map.get($options, max-size); + $lower-bound: map.get($options, lower-bound); + $upper-bound: map.get($options, upper-bound); $max-minus-min: strip-unit($max-size) - strip-unit($min-size); - @if(index("rem", unit($min-size)) != null and index("rem", unit($max-size)) != null) { + @if(list.index("rem", math.unit($min-size)) != null and list.index("rem", math.unit($max-size)) != null) { $base-rem: 10; $upper-minus-lower: strip-unit(math.div($upper-bound, $base-rem)) - strip-unit(math.div($lower-bound, $base-rem)); $lower-bound-rems: #{strip-unit(math.div($lower-bound, $base-rem))}rem; diff --git a/styles/utils/variables.module.scss b/styles/utils/variables.module.scss index 72644c1..ca861d3 100644 --- a/styles/utils/variables.module.scss +++ b/styles/utils/variables.module.scss @@ -1,38 +1,9 @@ -@use 'sass:math'; - -$base-black: #133654; -$base-blue: #0094FF; -$dark-blue: #005898; -$light-blue: #E9F5FF; -$base-red: #FF6A6B; -$light-red: #FF6061; - -$primary-font: 'Roboto', sans-serif; -$secondary-font: 'Roboto Slab', serif; - -$navigation-desktop-height: 104px; - -$z-index: ( - skip-nav: 20, - navigation: 10, - default: 0, -); - -$breakpoints: ( - x-tiny: 350, - tiny: 400, - x-small: 480, - mid-small: 600, - small: 768, - medium: 960, - mid-large: 1050, - large: 1224, - x-large: 1440, - xx-large: 1525 -); +@use "sass:map"; +@use "sass:math"; +@use 'variables' as vars; :export { - breakpointSmall: map-get($breakpoints, 'small'); - lightBlue: $light-blue; - darkBlue: $dark-blue; + breakpointSmall: math.floor(map.get(vars.$breakpoints, 'small')); + lightBlue: vars.$light-blue; + darkBlue: vars.$dark-blue; } diff --git a/tsconfig.json b/tsconfig.json index f61d21a..413d6f2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,36 +1,57 @@ { - "compilerOptions": { - "target": "es6", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "baseUrl": ".", - "paths": { - "@/components/*": ["src/components/*"], - "@/styles/*": ["styles/*"], - "@/utils/*": ["src/utils/*"] - } - }, - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx" + "compilerOptions": { + "target": "es6", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "types": [ + "node", + "next" ], - "exclude": [ - "node_modules" + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ], + "@/components/*": [ + "src/components/*" + ], + "@/styles/*": [ + "styles/*" + ], + "@/utils/*": [ + "src/utils/*" + ] + }, + "plugins": [ + { + "name": "next" + } ] + }, + "include": [ + "next-env.d.ts", + "next.config.js", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] }