diff --git a/.eslintIgnore b/.eslintIgnore new file mode 100644 index 0000000..97d1c81 --- /dev/null +++ b/.eslintIgnore @@ -0,0 +1,2 @@ +next.config.mjs +tailwind.config.js \ No newline at end of file diff --git a/.gitignore b/.gitignore index 83d760e..99bee62 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ node_modules *.contentlayer +*.velite *.git *.next *.webpack @@ -18,3 +19,4 @@ next-env.d.ts !.yarn/releases !.yarn/sdks !.yarn/versions +node_modules diff --git a/.prettierrc.json b/.prettierrc.json index 791c465..d873823 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,5 +1,12 @@ { - "plugins": ["prettier-plugin-tailwindcss"], + "plugins": [ + "prettier-plugin-tailwindcss", + "@trivago/prettier-plugin-sort-imports" + ], + "importOrder": ["^#styles(.*)$", "", "^#(.*)$", "^[./]"], + "importOrderSeparation": true, + "importOrderSortSpecifiers": true, + "importOrderGroupNamespaceSpecifiers": true, "trailingComma": "es5", "tabWidth": 2, "semi": false, diff --git a/public/blog/2023/2023_10/2023_10_08.mdx b/content/posts/2023/2023_10/2023_10_08.mdx similarity index 91% rename from public/blog/2023/2023_10/2023_10_08.mdx rename to content/posts/2023/2023_10/2023_10_08.mdx index d61fb1e..63da6f0 100644 --- a/public/blog/2023/2023_10/2023_10_08.mdx +++ b/content/posts/2023/2023_10/2023_10_08.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (1) description: 블로그 제작 도구 선정 date: 2023-10-08 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -31,13 +31,13 @@ series: 블로그 제작기 ### Gatsby -![GatsbyThumbnail]() +![GatsbyThumbnail]() 첫 번째로는 **Gatsby**가 있습니다. react 기반의 정적 사이트 생성 프레임워크 입니다. **Gatsby**는 서버 없이 오로지 정적 사이트를 생성하기 위해 사용합니다. ### Next.js -![NextJsThumbnail]() +![NextJsThumbnail]() 두 번째로는 **Next.js**가 있습니다. react 기반 풀스택 프레임워크이고, 기본적으로 SSR을 지원하지만, 사용자의 선택하에 CSR 또한 가능합니다. @@ -47,7 +47,7 @@ series: 블로그 제작기 이번 블로그 생성의 목적은 물론 제가 사용하기 위한 블로그를 만들자는 이유도 있었지만, 필드에서 사용하는 실전적인 도구를 사용해보고자 하는 목적도 있었기 때문이었습니다. -![GatsbyVersusNextJs]() +![GatsbyVersusNextJs]() npm trends를 통해 보아도, gatsby보다 next의 사용량이 월등히 많기도 합니다. diff --git a/public/blog/2023/2023_10/2023_10_09.mdx b/content/posts/2023/2023_10/2023_10_09.mdx similarity index 96% rename from public/blog/2023/2023_10/2023_10_09.mdx rename to content/posts/2023/2023_10/2023_10_09.mdx index bd6728f..4973210 100644 --- a/public/blog/2023/2023_10/2023_10_09.mdx +++ b/content/posts/2023/2023_10/2023_10_09.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (2) description: MD 파일 파싱하여 렌더링하기 date: 2023-10-09 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -18,12 +18,12 @@ series: 블로그 제작기 ### Markdown(.md) -![MarkdownThumbnail]() +![MarkdownThumbnail]() 기존에 알고있던 마크다운입니다. 텍스트 기반의 마크업 언어입니다. ### Markdown + JSX(.mdx) -![MdxThumbnail]() +![MdxThumbnail]() 기존에 존재하던 마크다운에 + JSX 컴포넌트를 사용할 수 있게 만든 마크업 언어입니다. React / Next를 공부하고 있는 저로써는 JSX를 마다할 필요가 없었습니다.. 만 diff --git a/public/blog/2023/2023_10/2023_10_21.mdx b/content/posts/2023/2023_10/2023_10_21.mdx similarity index 98% rename from public/blog/2023/2023_10/2023_10_21.mdx rename to content/posts/2023/2023_10/2023_10_21.mdx index 6dea385..bef5d24 100644 --- a/public/blog/2023/2023_10/2023_10_21.mdx +++ b/content/posts/2023/2023_10/2023_10_21.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (3) description: MDX 파일 파싱하여 렌더링하기 date: 2023-10-21 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -21,7 +21,7 @@ series: 블로그 제작기 ### STEP 1. Contentlayer 소개 -![Contentlayer]() +![Contentlayer]() 저는 **Contentlayer**라는 도구를 사용하여 mdx 파일을 파싱 할 겁니다. **Contentlayer**는 정적 콘텐츠 관리 도구 인데요, 현재까지는 **Next.js**에서만 사용합니다. (**Remix**나 **SvelteKit**은 지원 고려중이라고 합니다.) @@ -124,7 +124,7 @@ export const Post = defineDocumentType(() => ({ title: Next.js 블로그 제작기 (3) description: Next.js로 나만의 블로그를.. date: 2023-10-21 -thumbnail: /blogImages/image02.jpg +thumbnail: /images/image02.jpg category: - TypeScript - Next.js diff --git a/public/blog/2023/2023_10/2023_10_27.mdx b/content/posts/2023/2023_10/2023_10_27.mdx similarity index 98% rename from public/blog/2023/2023_10/2023_10_27.mdx rename to content/posts/2023/2023_10/2023_10_27.mdx index 367322d..7068f99 100644 --- a/public/blog/2023/2023_10/2023_10_27.mdx +++ b/content/posts/2023/2023_10/2023_10_27.mdx @@ -2,7 +2,7 @@ title: 우테코 프리코스 6기 1주차 회고 description: 우테코 프리코스 6기 1주차 date: 2023-10-27 -thumbnail: /blogImages/2023/2023_10/2023_10_27/2023_10_27_(1).webp +thumbnail: /images/2023/2023_10/2023_10_27/2023_10_27_(1).webp category: - Chat series: 우테코 프리코스 6기 diff --git a/public/blog/2023/2023_11/2023_11_02.mdx b/content/posts/2023/2023_11/2023_11_02.mdx similarity index 99% rename from public/blog/2023/2023_11/2023_11_02.mdx rename to content/posts/2023/2023_11/2023_11_02.mdx index b03a536..fd03eb3 100644 --- a/public/blog/2023/2023_11/2023_11_02.mdx +++ b/content/posts/2023/2023_11/2023_11_02.mdx @@ -2,7 +2,7 @@ title: 우테코 프리코스 6기 2주차 회고 description: 우테코 프리코스 6기 2주차 date: 2023-11-02 -thumbnail: /blogImages/2023/2023_10/2023_10_27/2023_10_27_(1).webp +thumbnail: /images/2023/2023_10/2023_10_27/2023_10_27_(1).webp category: - Chat series: 우테코 프리코스 6기 diff --git a/public/blog/2023/2023_11/2023_11_12.mdx b/content/posts/2023/2023_11/2023_11_12.mdx similarity index 90% rename from public/blog/2023/2023_11/2023_11_12.mdx rename to content/posts/2023/2023_11/2023_11_12.mdx index 2bbf7d0..576e65e 100644 --- a/public/blog/2023/2023_11/2023_11_12.mdx +++ b/content/posts/2023/2023_11/2023_11_12.mdx @@ -2,7 +2,7 @@ title: JSDocs로 TS처럼 JS 사용해보기 description: JSDocs로 사용자에게 정보 제공하기 date: 2023-11-12 -thumbnail: /blogImages/2023/2023_11/2023_11_12/2023_11_12_(1).webp +thumbnail: /images/2023/2023_11/2023_11_12/2023_11_12_(1).webp category: - JavaScript --- @@ -16,7 +16,7 @@ category: ## JSDocs가 뭔데? -![jsdocs]() +![jsdocs]() **JSDocs**는 JS 소스코드 파일에 주석을 달기 위해서 사용되는 마크업 언어입니다! 해당 요소에 대해서 간략하게 설명을 해준다는 것이 일반 주석과도 다를 것이 없어보이나, **JSDocs**는 일반 주석과는 다르게 추가적인 기능을 가지고있습니다. @@ -49,11 +49,11 @@ function something(parameter) { JSDocs를 사용하면 다음과 같은 장점을 얻을 수 있습니다. -![jsdocs1]() +![jsdocs1]() - 자바스크립트의 불확실한 타입에 대한 힌트 제공 (디버깅의 난이도 하락) -![jsdocs2]() +![jsdocs2]() - 인텔리센스 활용 가능 diff --git a/public/blog/2023/2023_11/2023_11_18.mdx b/content/posts/2023/2023_11/2023_11_18.mdx similarity index 96% rename from public/blog/2023/2023_11/2023_11_18.mdx rename to content/posts/2023/2023_11/2023_11_18.mdx index 0ca5549..d7a90c6 100644 --- a/public/blog/2023/2023_11/2023_11_18.mdx +++ b/content/posts/2023/2023_11/2023_11_18.mdx @@ -2,7 +2,7 @@ title: 우테코 프리코스 6기 3주차 회고 description: 우테코 프리코스 6기 3주차 date: 2023-11-18 -thumbnail: /blogImages/2023/2023_10/2023_10_27/2023_10_27_(1).webp +thumbnail: /images/2023/2023_10/2023_10_27/2023_10_27_(1).webp category: - Chat series: 우테코 프리코스 6기 @@ -25,7 +25,7 @@ series: 우테코 프리코스 6기 ### 유효성 검증은 도메인의 몫이다 -![validation]() +![validation]() 이전에도 작성했던 내용이었던 것 같은데요, 저는 view단에서 유효성 검증을 하고 controller에 넘기는 방식으로 로직을 작성했었습니다. 하지만 이번에는 앞서 말했듯이 도메인에서 유효성 검사를 진행해야합니다. (테스트 코드를 분석해보면 디테일하게 접근할 수 있습니다.) diff --git a/public/blog/2023/2023_11/2023_11_19.mdx b/content/posts/2023/2023_11/2023_11_19.mdx similarity index 99% rename from public/blog/2023/2023_11/2023_11_19.mdx rename to content/posts/2023/2023_11/2023_11_19.mdx index 36690d7..0d578d8 100644 --- a/public/blog/2023/2023_11/2023_11_19.mdx +++ b/content/posts/2023/2023_11/2023_11_19.mdx @@ -2,7 +2,7 @@ title: 우테코 프리코스 6기 4주차 회고 description: 우테코 프리코스 6기 4주차 date: 2023-11-19 -thumbnail: /blogImages/2023/2023_10/2023_10_27/2023_10_27_(1).webp +thumbnail: /images/2023/2023_10/2023_10_27/2023_10_27_(1).webp category: - Chat series: 우테코 프리코스 6기 diff --git a/public/blog/2023/2023_11/2023_11_21.mdx b/content/posts/2023/2023_11/2023_11_21.mdx similarity index 95% rename from public/blog/2023/2023_11/2023_11_21.mdx rename to content/posts/2023/2023_11/2023_11_21.mdx index e9018d4..aaff464 100644 --- a/public/blog/2023/2023_11/2023_11_21.mdx +++ b/content/posts/2023/2023_11/2023_11_21.mdx @@ -2,7 +2,7 @@ title: 우테코 프리코스 6기 결산 description: 우테코 프리코스 6기 총 결산 date: 2023-11-21 -thumbnail: /blogImages/2023/2023_10/2023_10_27/2023_10_27_(1).webp +thumbnail: /images/2023/2023_10/2023_10_27/2023_10_27_(1).webp category: - Chat series: 우테코 프리코스 6기 @@ -16,7 +16,7 @@ series: 우테코 프리코스 6기 저는 이번이 2번째 프리코스입니다. 작년에 군대를 갓 제대해서 5기 프리코스를 했었는데 그 때 생각이 새록새록 납니다, 그 땐 진짜 아무것도 몰랐거든요 운 좋게도 들어갔던 피어리뷰 스터디에서 스터디원분들의 리뷰를 한가득 받아가며 모르는걸 허겁지겁 주워담기 바빴던 기억이 나네요 -![허겁지겁]() +![허겁지겁]() (그때 피드백 받은거 찾아보려고했는데 잘 안찾아지네요) @@ -27,7 +27,7 @@ series: 우테코 프리코스 6기 ### 전반적인 자바스크립트 개념에 대한 학습 -![기본이 중요하다]() +![기본이 중요하다]() 저는 자바스크립트를 야매로 배웠다고 할 수 있습니다. 저는 스스로 기본기라는게 별로 존재하지 않는 사람이라고 생각해요. 자바스크립트 자체의 공부는 사실상 얼마 하지 않았습니다. 제 기본기는 모던 자바스크립트 딥다이브 1회독 수준의 기본기입니다 (군대에서 읽었습니다) @@ -50,7 +50,7 @@ series: 우테코 프리코스 6기 ### 디자인 패턴에 대한 학습 -![젠장]() +![젠장]() 저는 싱글톤, MVC.. 저는 전부 프리코스에서 처음 써봤습니다. 디자인 패턴이라 뭔가 어려워 보이잖아요? 자바스크립트에서 MVC 디자인패턴을 곧이 곧대로 적용하기에는 일정부분 안맞는 부분도 분명 있다고 생각합니다만.. 뭐 이건 중요하지 않죠! @@ -69,7 +69,7 @@ series: 우테코 프리코스 6기 ### 다양한 시각에서의 코드 접근 -![뭔소리지]() +![뭔소리지]() 혼자서 공부를 하다보면 무한의 깊이에 빠진 DFS마냥 더이상 빠져나올 수 없을 때가 있습니다. 네비게이션이 있다면 좋겠지만, 이 코딩바닥에서 모든 길을 안내받을 수는 없는 법입니다. 그럴때는 주위를 둘러보면 되구요 diff --git a/public/blog/2023/2023_12/2023_12_03.mdx b/content/posts/2023/2023_12/2023_12_03.mdx similarity index 95% rename from public/blog/2023/2023_12/2023_12_03.mdx rename to content/posts/2023/2023_12/2023_12_03.mdx index 018e529..83977a0 100644 --- a/public/blog/2023/2023_12/2023_12_03.mdx +++ b/content/posts/2023/2023_12/2023_12_03.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (4) description: 서치콘솔 등록하기 date: 2023-12-03 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -26,7 +26,7 @@ series: 블로그 제작기 각각의 플랫폼에서는 이렇게 서치 콘솔을 제공하고 있습니다! 그럼 어떻게 등록하냐구요? -![naver_search_advisor]() +![naver_search_advisor]() 이런식으로 등록하고 싶은 URL을 넣어 줍니다! 넣고 다음 과정으로 가면 **HTML 태그**를 하나 줍니다. 이 태그를 복사해서 Nextjs 13 app router 기준으로 **layout.tsx** 에 head 태그를 하나 만들어 그 사이에 넣어주면 됩니다! @@ -65,7 +65,7 @@ Allow:/ 사이트맵은 웹 사이트 내에 모든 페이지 목록을 나열한 페이지입니다. 당장 제 블로그에도 경로 뒤에 **.sitemap.xml** 을 입력하신다면 블로그의 사이트맵을 확인할 수 있습니다. 사이트맵을 서치 콘솔에 제출하면, 크롤링 과정에서 쉽게 나타나지 않는 페이지도 색인 할 수 있도록 도와줍니다. -![sitemap]() +![sitemap]() 사이트맵은 위와 같이 구성되어있습니다. 그럼 이제 어떻게 만들 수 있을까요? diff --git a/public/blog/2023/2023_12/2023_12_10.mdx b/content/posts/2023/2023_12/2023_12_10.mdx similarity index 98% rename from public/blog/2023/2023_12/2023_12_10.mdx rename to content/posts/2023/2023_12/2023_12_10.mdx index 602eae6..d31923a 100644 --- a/public/blog/2023/2023_12/2023_12_10.mdx +++ b/content/posts/2023/2023_12/2023_12_10.mdx @@ -2,7 +2,7 @@ title: 자바스크립트와 This 바인딩 description: 자바스크립트의 this에 대해서 알아봐요 date: 2023-12-10 -thumbnail: /blogImages/2023/2023_12/2023_12_10/2023_12_10_(1).webp +thumbnail: /images/2023/2023_12/2023_12_10/2023_12_10_(1).webp category: - JavaScript --- diff --git a/public/blog/2023/2023_12/2023_12_16.mdx b/content/posts/2023/2023_12/2023_12_16.mdx similarity index 99% rename from public/blog/2023/2023_12/2023_12_16.mdx rename to content/posts/2023/2023_12/2023_12_16.mdx index 663d45d..a477ba7 100644 --- a/public/blog/2023/2023_12/2023_12_16.mdx +++ b/content/posts/2023/2023_12/2023_12_16.mdx @@ -2,7 +2,7 @@ title: 2023년을 마무리하며 (1) description: 한것들, 그리고 하고싶은 것들 date: 2023-12-16 -thumbnail: /blogImages/2023/2023_12/2023_12_16/2023_12_16_(1).webp +thumbnail: /images/2023/2023_12/2023_12_16/2023_12_16_(1).webp category: - Chat --- diff --git a/public/blog/2023/2023_12/2023_12_20.mdx b/content/posts/2023/2023_12/2023_12_20.mdx similarity index 98% rename from public/blog/2023/2023_12/2023_12_20.mdx rename to content/posts/2023/2023_12/2023_12_20.mdx index 504ff7f..942fb18 100644 --- a/public/blog/2023/2023_12/2023_12_20.mdx +++ b/content/posts/2023/2023_12/2023_12_20.mdx @@ -2,7 +2,7 @@ title: 2023년을 마무리하며 (2) description: 한것들, 그리고 하고싶은 것들 date: 2023-12-20 -thumbnail: /blogImages/2023/2023_12/2023_12_16/2023_12_16_(1).webp +thumbnail: /images/2023/2023_12/2023_12_16/2023_12_16_(1).webp category: - Chat --- diff --git a/public/blog/2023/2023_12/2023_12_31.mdx b/content/posts/2023/2023_12/2023_12_31.mdx similarity index 91% rename from public/blog/2023/2023_12/2023_12_31.mdx rename to content/posts/2023/2023_12/2023_12_31.mdx index 13ee4de..0641e82 100644 --- a/public/blog/2023/2023_12/2023_12_31.mdx +++ b/content/posts/2023/2023_12/2023_12_31.mdx @@ -2,7 +2,7 @@ title: v0으로 빠르게 웹 디자인 만들어보기 description: Vercel v0을 사용하여 웹 디자인을 만들어봐요 date: 2023-12-31 -thumbnail: /blogImages/2023/2023_12/2023_12_31/2023_12_31_(2).webp +thumbnail: /images/2023/2023_12/2023_12_31/2023_12_31_(2).webp category: - React - Next.js @@ -18,7 +18,7 @@ category: ## v0 -![v0]() +![v0]() - [v0.dev](https://v0.dev/) @@ -29,7 +29,7 @@ category: ### 사용해보기 -![design]() +![design]() 저는 테스트용 주제로 **Personal Tech blog** 라는 키워드를 넣었습니다! @@ -38,7 +38,7 @@ category: ### 빠르고 간단한 적용 -![design code]() +![design code]() 가장 큰 장점이라고 생각하는 부분입니다. 빠르고 간단하게 해당 디자인 코드를 복사 / 설치할 수 있습니다. 명령어를 통해 프로젝트에 적용할 수 있는 부분은 사용자의 편의성까지 고려해준 부분이라 매우 좋네요! diff --git a/public/blog/2024/2024_01/2024_01_07.mdx b/content/posts/2024/2024_01/2024_01_07.mdx similarity index 94% rename from public/blog/2024/2024_01/2024_01_07.mdx rename to content/posts/2024/2024_01/2024_01_07.mdx index 1cd6621..7e03db2 100644 --- a/public/blog/2024/2024_01/2024_01_07.mdx +++ b/content/posts/2024/2024_01/2024_01_07.mdx @@ -2,7 +2,7 @@ title: 브라우저의 렌더링 과정 description: html의 렌더링은 어떤식으로 일어날까요 date: 2024-01-07 -thumbnail: /blogImages/2023/2023_12/2023_12_10/2023_12_10_(1).webp +thumbnail: /images/2023/2023_12/2023_12_10/2023_12_10_(1).webp category: - Web --- @@ -32,7 +32,7 @@ IP 주소를 알고난 이후에 브라우저는 서버와 **TCP Handshake** 를 ### DOM 트리 -![DomTree]() +![DomTree]() 해당 DOM 트리를 만들기 위해서 4가지의 과정이 필요합니다. @@ -45,17 +45,17 @@ IP 주소를 알고난 이후에 브라우저는 서버와 **TCP Handshake** 를 ### CSSOM 트리 -![CSSOMTree]() +![CSSOMTree]() DOM과 동일한 과정으로 트리를 생성합니다. HTML과 마찬가지로 CSS도 브라우저가 이해하고 처리할 수 있는 형식으로 변환해야 합니다. -![CSSOMTree]() +![CSSOMTree]() 해당 과정을 거치면 CSSOM 트리 구조가 생성됩니다. ### 렌더링 트리 -![RenderingTree]() +![RenderingTree]() DOM 트리와 CSSOM 트리를 결합한 트리를 렌더링 트리라고 합니다. 이 렌더링 트리에는 페이지 렌더링을 위해 필요한 노드만 포함됩니다. diff --git a/public/blog/2024/2024_01/2024_01_13.mdx b/content/posts/2024/2024_01/2024_01_13.mdx similarity index 94% rename from public/blog/2024/2024_01/2024_01_13.mdx rename to content/posts/2024/2024_01/2024_01_13.mdx index 064efac..b8d9fcf 100644 --- a/public/blog/2024/2024_01/2024_01_13.mdx +++ b/content/posts/2024/2024_01/2024_01_13.mdx @@ -2,7 +2,7 @@ title: 자바스크립트의 런타임 description: JS의 런타임에 대해서 알아봐요 date: 2024-01-13 -thumbnail: /blogImages/2023/2023_12/2023_12_10/2023_12_10_(1).webp +thumbnail: /images/2023/2023_12/2023_12_10/2023_12_10_(1).webp category: - Web - JavaScript @@ -50,7 +50,7 @@ category: ## 자바스크립트 런타임의 구성 -![JavascriptRuntime]() +![JavascriptRuntime]() 그림을 통해 자바스크립트 런타임이 어떻게 구성되었는지 확인할 수 있습니다. 사진을 통해 알 수 있는점을 간략하게 적어보면, @@ -72,7 +72,7 @@ Event Loop는 콜 스택과 콜백 큐를 관찰하여 콜 스택이 비어있 ### Task Queue -![Task Queue]() +![Task Queue]() Task Queue는 Web API의 결과를 담아두는 큐 입니다. Callback Queue라고도 합니다. Event Loop는 반드시 하나 이상의 Task Queue(Callback Queue)를 갖습니다. Task Queue는 Task의 Set입니다. 위의 그림을 보시면 Task의 Set으로 이루어져있다는 것을 쉽게 이해할 수 있습니다! @@ -81,7 +81,7 @@ Event Loop는 Task Queue에 있는 첫 번째 Task를 가져오는 것이 아닌 ### 동작 -![JavaScript Event Loop]() +![JavaScript Event Loop]() ## 참고 diff --git a/public/blog/2024/2024_01/2024_01_21.mdx b/content/posts/2024/2024_01/2024_01_21.mdx similarity index 99% rename from public/blog/2024/2024_01/2024_01_21.mdx rename to content/posts/2024/2024_01/2024_01_21.mdx index bea4993..95a3866 100644 --- a/public/blog/2024/2024_01/2024_01_21.mdx +++ b/content/posts/2024/2024_01/2024_01_21.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (5) description: 버그 픽스 및 유지보수 date: 2024-01-21 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js diff --git a/public/blog/2024/2024_01/2024_01_28.mdx b/content/posts/2024/2024_01/2024_01_28.mdx similarity index 94% rename from public/blog/2024/2024_01/2024_01_28.mdx rename to content/posts/2024/2024_01/2024_01_28.mdx index c3f7a02..f0d1ef3 100644 --- a/public/blog/2024/2024_01/2024_01_28.mdx +++ b/content/posts/2024/2024_01/2024_01_28.mdx @@ -2,7 +2,7 @@ title: 매크로태스크 큐와 마이크로태스크 큐 description: 매크로태스크 큐와 마이크로태스크 큐를 알아봐요 date: 2024-01-28 -thumbnail: /blogImages/2023/2023_12/2023_12_10/2023_12_10_(1).webp +thumbnail: /images/2023/2023_12/2023_12_10/2023_12_10_(1).webp category: - Web - JavaScript @@ -10,7 +10,7 @@ category: ## 서론 -![JavaScript Event Loop]() +![JavaScript Event Loop]() - [자바스크립트의 런타임](https://caffhheiene.vercel.app/posts/detail/16) @@ -25,7 +25,7 @@ category: 매크로 태스크 큐는 말 그대로 매크로 태스크들로 이루어진 큐 이고, 마이크로 태스크 큐 또한 동일합니다. -![Macrotask Queue & Microtask Queue]() +![Macrotask Queue & Microtask Queue]() 위의 그림을 보시면 매크로 태스크 큐와 마이크로 태스크 큐의 차이를 알 수 있습니다. diff --git a/public/blog/2024/2024_02/2024_02_01.mdx b/content/posts/2024/2024_02/2024_02_01.mdx similarity index 98% rename from public/blog/2024/2024_02/2024_02_01.mdx rename to content/posts/2024/2024_02/2024_02_01.mdx index bbd76d3..ca14da2 100644 --- a/public/blog/2024/2024_02/2024_02_01.mdx +++ b/content/posts/2024/2024_02/2024_02_01.mdx @@ -2,7 +2,7 @@ title: 블로그는 더이상 유의미한 포트폴리오가 아니다 description: 제로초님 영상을 보고서 든 생각 date: 2024-02-01 -thumbnail: /blogImages/2024/2024_02/2024_02_01/2024_02_01_(1).webp +thumbnail: /images/2024/2024_02/2024_02_01/2024_02_01_(1).webp category: - Chat --- diff --git a/public/blog/2024/2024_02/2024_02_02.mdx b/content/posts/2024/2024_02/2024_02_02.mdx similarity index 99% rename from public/blog/2024/2024_02/2024_02_02.mdx rename to content/posts/2024/2024_02/2024_02_02.mdx index 6a64e74..471640a 100644 --- a/public/blog/2024/2024_02/2024_02_02.mdx +++ b/content/posts/2024/2024_02/2024_02_02.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (6) description: TOC 구현 및 유지보수 date: 2024-02-02 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js diff --git a/public/blog/2024/2024_02/2024_02_07.mdx b/content/posts/2024/2024_02/2024_02_07.mdx similarity index 99% rename from public/blog/2024/2024_02/2024_02_07.mdx rename to content/posts/2024/2024_02/2024_02_07.mdx index 61c5901..871b109 100644 --- a/public/blog/2024/2024_02/2024_02_07.mdx +++ b/content/posts/2024/2024_02/2024_02_07.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (7) description: 디자인 뜯어고치기 date: 2024-02-07 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js diff --git a/public/blog/2024/2024_02/2024_02_13.mdx b/content/posts/2024/2024_02/2024_02_13.mdx similarity index 95% rename from public/blog/2024/2024_02/2024_02_13.mdx rename to content/posts/2024/2024_02/2024_02_13.mdx index 8832243..75c46d8 100644 --- a/public/blog/2024/2024_02/2024_02_13.mdx +++ b/content/posts/2024/2024_02/2024_02_13.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 1주차 회고 description: 구름톤 트레이닝 (1) date: 2024-02-13 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 @@ -24,7 +24,7 @@ series: 구름톤 트레이닝 근데 마침 구름톤 트레이닝에서 제게 필요했던 자바스크립트 기초와 같은 영상들을 제공한다고 해서 헐래벌떡 듣게되었습니다. -![Lecture]() +![Lecture]() **존안**님의 **따라하며 배우는 자바스크립트 A-Z**는 웹 기본과 자바스크립트 기본을 다루는 강의였습니다! 물론 자바스크립트 딥 다이브를 읽으면서 익혔던 부분들도 다수 존재했지만, 강의를 들음으로써 다시금 기초를 다지는게 도움이 많이 되고있음을 느낍니다. 또한, 제가 이전에 따로 공부해서 정리하던 웹 기본에 대해서도 설명을 같이 해주셔서 매우 만족스러웠네요!! @@ -33,7 +33,7 @@ series: 구름톤 트레이닝 ### 현직자와의 전화데이트 -![Idontknoweverything]() +![Idontknoweverything]() 최근까지도 어떤식으로 공부를 더 해 나가야 할지들에 대해서 고민을 많이 했었는데 구름톤 트레이닝에서 현직자 코치분과 질의응답시간을 가질 수 있었습니다! 또, 마침 코치님이 구름에서 제공하는 인프런 강의의 강사님이신 **존안**님이셔서 겸사겸사 강의에 대한 내용도 물어볼 수 있겠다는 생각이 들었습니다!! diff --git a/public/blog/2024/2024_02/2024_02_15.mdx b/content/posts/2024/2024_02/2024_02_15.mdx similarity index 98% rename from public/blog/2024/2024_02/2024_02_15.mdx rename to content/posts/2024/2024_02/2024_02_15.mdx index 498427c..bc14905 100644 --- a/public/blog/2024/2024_02/2024_02_15.mdx +++ b/content/posts/2024/2024_02/2024_02_15.mdx @@ -2,7 +2,7 @@ title: 전역변수로 DOM을 참조하기 description: 전역변수로 DOM을 참조할수있다..? date: 2024-02-15 -thumbnail: /blogImages/2023/2023_12/2023_12_10/2023_12_10_(1).webp +thumbnail: /images/2023/2023_12/2023_12_10/2023_12_10_(1).webp category: - Web - JavaScript diff --git a/public/blog/2024/2024_02/2024_02_19.mdx b/content/posts/2024/2024_02/2024_02_19.mdx similarity index 98% rename from public/blog/2024/2024_02/2024_02_19.mdx rename to content/posts/2024/2024_02/2024_02_19.mdx index a8ede5c..abc2d24 100644 --- a/public/blog/2024/2024_02/2024_02_19.mdx +++ b/content/posts/2024/2024_02/2024_02_19.mdx @@ -2,7 +2,7 @@ title: TypeScript try-catch 에서의 Error 처리하기 description: unknown인 Error을 핸들링해봐요 date: 2024-02-19 -thumbnail: /blogImages/2024/2024_02/2024_02_19/2024_02_19_(1).webp +thumbnail: /images/2024/2024_02/2024_02_19/2024_02_19_(1).webp category: - TypeScript --- diff --git a/public/blog/2024/2024_02/2024_02_20.mdx b/content/posts/2024/2024_02/2024_02_20.mdx similarity index 92% rename from public/blog/2024/2024_02/2024_02_20.mdx rename to content/posts/2024/2024_02/2024_02_20.mdx index 1a40921..cc9ad93 100644 --- a/public/blog/2024/2024_02/2024_02_20.mdx +++ b/content/posts/2024/2024_02/2024_02_20.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 2주차 회고 description: 구름톤 트레이닝 (2) date: 2024-02-20 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 @@ -17,7 +17,7 @@ series: 구름톤 트레이닝 ### 코테는 꾸준히 -![streak]() +![streak]() 그래도 나름 꾸준히 풀려고 노력한 코테입니다. 현재 구름톤 트레이닝 내부에서 진행중인 스터디때문에라도 꾸준히 하게되는 것 같아요! 물론 3주차 시작하면서 기록이 끊겼지만 ^^ 개인적인 약속 이슈가 있었기때문에 이건 어쩔수 없음을 알려드리며.. @@ -28,7 +28,7 @@ series: 구름톤 트레이닝 ### Redux는 오랜만에 봐도 귀찮다 -![아오하기싫어]() +![아오하기싫어]() 사실 Redux를 처음 하는건 아니어서 별 생각은 없었는데, 오랜만에 TS로 다시 잡아보니까 생각보다 만들것도 많고.. **Recoil**이 너무 그리웠습니다. 물론 제가 Redux를 모두 아는것도 아니고, Recoil도 그렇게 잘하는건 아니라지만! 그렇다구요.. 그렇다고 공부하고있는 Redux를 버린다는 헛소리는 하지 않을겁니다 @@ -38,7 +38,7 @@ series: 구름톤 트레이닝 ### 그래도 블로그 포스팅은 잘 써지더라 -![씨익]() +![씨익]() - [구름톤 트레이닝 1주차 회고](https://caffhheiene.vercel.app/posts/detail/22) - [전역변수로 DOM을 참조하기](https://caffhheiene.vercel.app/posts/detail/23) diff --git a/public/blog/2024/2024_02/2024_02_23.mdx b/content/posts/2024/2024_02/2024_02_23.mdx similarity index 96% rename from public/blog/2024/2024_02/2024_02_23.mdx rename to content/posts/2024/2024_02/2024_02_23.mdx index 4f4e9f8..deccfaf 100644 --- a/public/blog/2024/2024_02/2024_02_23.mdx +++ b/content/posts/2024/2024_02/2024_02_23.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (8) description: meta태그 사용하기 date: 2024-02-23 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -13,11 +13,11 @@ series: 블로그 제작기 오늘도 블로그 글이 잘 올라갔나 구글 서치콘솔과 네이버 서치 어드바이저를 열심히 돌아다녔는데, 이상한 걸 봐버렸습니다 -![report]() +![report]() **meta** 태그가 이상하다고..? 나 이거 설정 안했었나? 하고 바로 색인된 내용을 찾아보러 네이버로 허둥지둥 달려갔는데.. -![박살난 메타태그]() +![박살난 메타태그]() 그렇습니다.. 저는 이 블로그 운영한지 좀 됐는데 **meta**태그하고 **OpenGraph** 세팅을 아직 하지 않았던 것 입니다.. 지금은 잘 적용되어있고, 오늘은 이 업데이트 사항에 대해서 적어보도록 하겠습니다. @@ -108,7 +108,7 @@ export const getSelectedPostDetail = (id: number) => { 하여 이런식으로 **title**, **description**, **thumbnail**의 정보를 가져왔습니다. (thumbnail은 이후 OpenGraph에서 사용합니다) -![적용]() +![적용]() 완성! 정상 적용된 모습입니다 😆 @@ -118,7 +118,7 @@ export const getSelectedPostDetail = (id: number) => { 이번에는 **OpenGraph**입니다. OpenGraph를 간단하게 설명해보자면 -![적용]() +![적용]() 링크를 올리니 아래 미리보기에 사진과 제목, 그리고 설명까지 표시되었죠? 이게 **OpenGraph**입니다. diff --git a/public/blog/2024/2024_02/2024_02_26.mdx b/content/posts/2024/2024_02/2024_02_26.mdx similarity index 90% rename from public/blog/2024/2024_02/2024_02_26.mdx rename to content/posts/2024/2024_02/2024_02_26.mdx index edf2675..6177ade 100644 --- a/public/blog/2024/2024_02/2024_02_26.mdx +++ b/content/posts/2024/2024_02/2024_02_26.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 3주차 회고 description: 구름톤 트레이닝 (3) date: 2024-02-26 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 @@ -17,7 +17,7 @@ series: 구름톤 트레이닝 ### 공부는 장비빨이다 -![장비빨]() +![장비빨]() 누가 한말은 아니고 3주차를 하면서 든 생각이었습니다. 구름에서 대여한 M2 맥북 프로를 만지작거리면서 가지고 놀다보니까 그냥 공부를 하고싶더라구요 맥북 처음쓰는거 아니냐구요? 그건 아니고.. 원래 m2맥북 들고있다가 서피스병이 걸려서 팔아버렸었는데 이번에 맥북 프로 빌려준다길래 얼씨구나 빌려왔습니다. @@ -27,7 +27,7 @@ series: 구름톤 트레이닝 ### 백준 플래를 향한 여정 (1) -![골딱이]() +![골딱이]() 대학교 들어와서부터 백준 티어를 올리겠다고 말만 해놓고 찔끔찔끔 올리다 말다 올리다 말다 해서 티어 상승이 별로 없었는데, 구름톤에서 습관잡고 꾸준히 밀다보니 되긴 되네요 이게 스트릭 쌓다보니까 스트릭 깨지는게 너무 아깝더라구요.. 어제는 몸이 급격하게 안좋아져서 하루종일 쓰러져있었는데도 스트릭은 유지하고싶어서 꾸역꾸역 한문제 풀었습니다. @@ -36,7 +36,7 @@ series: 구름톤 트레이닝 ### 학습만큼 중요한 건강 -![운동을하자]() +![운동을하자]() 최근에 계속 공부한답시고 앉아만 있으니 컨디션이 좋지 않음을 많이 느꼈습니다. 안움직이니 살만 포동포동하게 찌는게 조만간 굴러다닐지도 모르겠어요 토요일 외출하고왔더니 일요일날 아파서 하루죙일 쓰러져있는 저를 보고 체력이 정말 거지구나라는 생각을 했습니다. 앞으로는 공부도 공부인데 운동도 같이 해야겠어요 diff --git a/public/blog/2024/2024_03/2024_03_05.mdx b/content/posts/2024/2024_03/2024_03_05.mdx similarity index 87% rename from public/blog/2024/2024_03/2024_03_05.mdx rename to content/posts/2024/2024_03/2024_03_05.mdx index ab0b49e..bc7a6df 100644 --- a/public/blog/2024/2024_03/2024_03_05.mdx +++ b/content/posts/2024/2024_03/2024_03_05.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 4주차 회고 description: 구름톤 트레이닝 (4) date: 2024-03-05 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 @@ -10,7 +10,7 @@ series: 구름톤 트레이닝 ## 서론 -![개강]() +![개강]() 4주차가 끝났다는건 개강이 왔다는 말이겠지요.. 새내기인 1학년을 제외한 모든 대학생들이 오지 않았으면 했던 달일겁니다 개강의 아쉬움을 뒤로하고 4주차를 회고해보도록 하겠습니다. @@ -19,7 +19,7 @@ series: 구름톤 트레이닝 ### 칼을 뽑았으면 무라도 베어야 -![칼을 뽑았으면]() +![칼을 뽑았으면]() 강의 선택지가 너무 많았던 탓일까요? 4주차에는 완강을 하지 못하고 정처없이 강의를 돌아다니는 사나이가 되었습니다. 그러다 보니 아무래도 집중력도 떨어지고.. 결국에는 강의 시청 대신 다른걸 많이하게 되었습니다. 이번달은 거의 백준만 풀었어요 @@ -32,7 +32,7 @@ series: 구름톤 트레이닝 ### 두번 강조해도 모자르지 않은 건강 -![건강 건강]() +![건강 건강]() 건강을 챙기겠다는 지난주의 말이 무색하게 발목 컨디션에 이슈가 생겨 또 다시 끙끙 앓게 됐네요 운동 비스무리하게 한다고 걸었는데 걸었더니 또 이곳저곳 아파오는게 정말이지 몸 상태가 정상이 아니라는걸 다시금 알게되는 순간이었습니다. diff --git a/public/blog/2024/2024_03/2024_03_08.mdx b/content/posts/2024/2024_03/2024_03_08.mdx similarity index 98% rename from public/blog/2024/2024_03/2024_03_08.mdx rename to content/posts/2024/2024_03/2024_03_08.mdx index 5015309..08ee05d 100644 --- a/public/blog/2024/2024_03/2024_03_08.mdx +++ b/content/posts/2024/2024_03/2024_03_08.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (9) description: 이미지 placeholder 적용하기 date: 2024-03-08 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -156,7 +156,7 @@ tailwindClassNames는 제가 tailwind를 사용해서 그런거고, tailwind 안 적용된 모습은 다음과 같습니다! -![blur]() +![blur]() ## 트러블 슈팅 diff --git a/public/blog/2024/2024_03/2024_03_10.mdx b/content/posts/2024/2024_03/2024_03_10.mdx similarity index 98% rename from public/blog/2024/2024_03/2024_03_10.mdx rename to content/posts/2024/2024_03/2024_03_10.mdx index 6f336e5..1442dff 100644 --- a/public/blog/2024/2024_03/2024_03_10.mdx +++ b/content/posts/2024/2024_03/2024_03_10.mdx @@ -2,7 +2,7 @@ title: Next로 바라보는 CSR, SSR, SSG description: CSR, SSR, SSG에 대해서 알아봐요 date: 2024-03-10 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - Web - Next.js @@ -89,7 +89,7 @@ Next13 버전에 들어오면서부터 서버 컴포넌트 / 클라이언트 컴 Next 공식 문서에 따르면 서버 컴포넌트와 클라이언트 컴포넌트를 어떤 경우에 사용해야하는지 알려주고 있습니다. -![Next component]() +![Next component]() 여기에서 useEffect와 useState와 같은 hook들은 서버 컴포넌트에서는 사용할 수 없습니다. 사용하지 말라는건 그렇다 치고, 왜 사용할 수 없는지에 대해서 궁금하지 않나요? diff --git a/public/blog/2024/2024_03/2024_03_11.mdx b/content/posts/2024/2024_03/2024_03_11.mdx similarity index 93% rename from public/blog/2024/2024_03/2024_03_11.mdx rename to content/posts/2024/2024_03/2024_03_11.mdx index b8dcdbe..0f8cdbd 100644 --- a/public/blog/2024/2024_03/2024_03_11.mdx +++ b/content/posts/2024/2024_03/2024_03_11.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 5주차 회고 description: 구름톤 트레이닝 (5) date: 2024-03-11 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 @@ -18,7 +18,7 @@ series: 구름톤 트레이닝 ### 타입스크립트는 배워도 배워도 끝이 없다 -![강의]() +![강의]() 워낙 타입스크립트를 야매로 공부했을 때에는, 그냥 리액트 props로 오는 애들 타입만 좀 적어주고 필요하면 디테일하게 타입 좀 만들어주고 그러는게 끝이었는데 타입스크립트를 하나하나 기초부터 톺아가다보니 러닝커브가 상당하다는걸 뼈저리게 느끼고 있습니다. @@ -33,7 +33,7 @@ series: 구름톤 트레이닝 ### 천천히 하다보면 못할 것이 없으니.. -![스트릭]() +![스트릭]() 한번 마음을 다잡고 계속해서 풀어나가다보니 이제는 스트릭 유지하면서 문제 풀어나가는게 재미있네요! 벌써 골드 3에 도착했습니다. 5주차에는 바킹독님의 dp 강의를 보면서 dp를 풀어 나갔는데, 학교 알고리즘 수업 때 조금씩 했던게 생각나서 생각보다는? 어렵지 않게 풀 수 있었습니다. @@ -43,7 +43,7 @@ series: 구름톤 트레이닝 ### 블로그 개발도 즐겁다 -![즐겁다]() +![즐겁다]() 블로그를 꾸준히 들어와보신분들이라면 아실.. 수도 있겠지만, 블로그에 이것저것 많이 추가되었습니다. 개발하는게 즐겁기도 하고, 구름톤때문에 컴퓨터 앞에 앉아있는 시간도 많아지다보니 블로그에 기능을 이것저것 추가를 많이 하게 되더라구요 :) diff --git a/public/blog/2024/2024_03/2024_03_15.mdx b/content/posts/2024/2024_03/2024_03_15.mdx similarity index 98% rename from public/blog/2024/2024_03/2024_03_15.mdx rename to content/posts/2024/2024_03/2024_03_15.mdx index 376c512..b377df9 100644 --- a/public/blog/2024/2024_03/2024_03_15.mdx +++ b/content/posts/2024/2024_03/2024_03_15.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (10) description: 시리즈 섹션과 stagger 애니메이션의 추가 date: 2024-03-15 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -78,7 +78,7 @@ series를 별도로 표시해줄 수 있도록 했고 **required**를 **false** title: Next.js 블로그 제작기 (10) description: 잡다구리 기능들 추가 date: 2024-03-15 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -181,7 +181,7 @@ export const getSelectedCategoryPost = (category: string, pageNum: number) => { 해당 카테고리에 속하는 포스트의 데이터만 반환하는 로직입니다. (반복되는 부분은 추후 리팩토링 할 예정입니다 ㅠㅠ) 이 부분에서 문제가 있었는데, 태그의 이름이 한글일 때 정체불명의 문자열이 파라미터에 들어왔습니다. -![파라미터]() +![파라미터]() ```tsx showLineNumbers export default function SeriesItem({ name, amount }: SeriesItemProps) { diff --git a/public/blog/2024/2024_03/2024_03_18.mdx b/content/posts/2024/2024_03/2024_03_18.mdx similarity index 98% rename from public/blog/2024/2024_03/2024_03_18.mdx rename to content/posts/2024/2024_03/2024_03_18.mdx index e167d25..6d324a9 100644 --- a/public/blog/2024/2024_03/2024_03_18.mdx +++ b/content/posts/2024/2024_03/2024_03_18.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 6주차 회고 description: 구름톤 트레이닝 (6) date: 2024-03-18 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 diff --git a/public/blog/2024/2024_03/2024_03_19.mdx b/content/posts/2024/2024_03/2024_03_19.mdx similarity index 97% rename from public/blog/2024/2024_03/2024_03_19.mdx rename to content/posts/2024/2024_03/2024_03_19.mdx index 8444270..b21f124 100644 --- a/public/blog/2024/2024_03/2024_03_19.mdx +++ b/content/posts/2024/2024_03/2024_03_19.mdx @@ -2,7 +2,7 @@ title: Vite / Jest 환경 구성하기 description: Vite와 Jest로 React TDD 환경구성하기 date: 2024-03-19 -thumbnail: /blogImages/2024/2024_03/2024_03_19/2024_03_19_(1).webp +thumbnail: /images/2024/2024_03/2024_03_19/2024_03_19_(1).webp category: - React series: TDD 뽀개기 @@ -42,7 +42,7 @@ Jest는 위에 서술한 Test Runner, Test Matcher, Test Mock을 모두 제공 ## React에서의 테스트 -![RTL]() +![RTL]() React에서 추천되는 테스트 도구는 바로 **React Testing Library** 입니다. React Testing Library(RTL)를 사용하면 쉽게 React의 테스트를 작성할 수 있습니다. @@ -243,7 +243,7 @@ export default App ### 결과 -![TEST]() +![TEST]() ## 끝으로 diff --git a/public/blog/2024/2024_03/2024_03_25.mdx b/content/posts/2024/2024_03/2024_03_25.mdx similarity index 95% rename from public/blog/2024/2024_03/2024_03_25.mdx rename to content/posts/2024/2024_03/2024_03_25.mdx index 5f7a2d1..8e9421a 100644 --- a/public/blog/2024/2024_03/2024_03_25.mdx +++ b/content/posts/2024/2024_03/2024_03_25.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 7주차 회고 description: 구름톤 트레이닝 (7) date: 2024-03-25 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 @@ -17,7 +17,7 @@ series: 구름톤 트레이닝 ### 아는 만큼 보였다 (팀 네이버 코딩테스트) -![팀 네이버]() +![팀 네이버]() 사실 넣어놓고 큰 기대는 하지 않았는데 네이버님께서 제게 코테 입장권을 하사하셨습니다. 처음에 저는 그냥 다 코테는 보게 해주는 줄 알았는데, 주위 사람들 말을 들어보니까 자소서로 한번 거른 것 같더라구요. @@ -46,7 +46,7 @@ CRA 더 지원 안한다는 소식을 들어보기도 했고 + vite의 빌드 ### 새로운 스터디, 새로운 사람들 -![베스트코칭상]() +![베스트코칭상]() 아쉽게도 우수팀에는 속하지 못해서 치킨은 못받았지만 베스트 코칭상으로 커피는 받았네요! 나름 열심히 한다고 했는데 뒤돌아보면 많이 부족도 했던 것 같고 한데, 팀원분들이 좋게 봐주셨다니 정말 다행이었습니다. 그래도 12개의 팀중에서 5등이면 나름 선방했다고 생각하고 좋은 인연도 많이 만들어가고, 스스로 알고리즘문제를 지속적으로 풀어가게 한 계기가 되었던만큼 제게 너무 값진 시간들이었습니다. diff --git a/public/blog/2024/2024_03/2024_03_26.mdx b/content/posts/2024/2024_03/2024_03_26.mdx similarity index 98% rename from public/blog/2024/2024_03/2024_03_26.mdx rename to content/posts/2024/2024_03/2024_03_26.mdx index e19466d..ce62279 100644 --- a/public/blog/2024/2024_03/2024_03_26.mdx +++ b/content/posts/2024/2024_03/2024_03_26.mdx @@ -2,7 +2,7 @@ title: Learn React 0장 / 빠른 시작 description: React Docs (1) date: 2024-03-26 -thumbnail: /blogImages/2024/2024_03/2024_03_26/2024_03_26_(1).webp +thumbnail: /images/2024/2024_03/2024_03_26/2024_03_26_(1).webp category: - React series: React Docs @@ -274,13 +274,13 @@ React에서 **use**로 시작하는 함수를 **훅(Hook)** 이라고 합니다. 이전 예제에서는 각각의 **MyButton**에 독립적인 **count**가 있었고, 각 버튼을 클릭하면 클릭한 버튼의 **count**만 변경되었습니다. -![component data share 1]() +![component data share 1]() 하지만 **데이터를 공유하고 항상 함께 업데이트**하기 위한 컴포넌트가 필요한 경우가 많습니다. 두 컴포넌트 모두 동일한 **count**를 표시하고 함께 업데이트하려면 개별 버튼에서 모든 버튼이 포함된 가장 가까운 컴포넌트로 state를 **위쪽**으로 이동해야 합니다. -![component data share 2]() +![component data share 2]() 이제 두 버튼 중 하나를 클릭하면 두 버튼 모두 변경됩니다. 이를 코드로 표현하는 방법은 다음과 같습니다. diff --git a/public/blog/2024/2024_03/2024_03_27.mdx b/content/posts/2024/2024_03/2024_03_27.mdx similarity index 98% rename from public/blog/2024/2024_03/2024_03_27.mdx rename to content/posts/2024/2024_03/2024_03_27.mdx index 36c757f..7b5a1ba 100644 --- a/public/blog/2024/2024_03/2024_03_27.mdx +++ b/content/posts/2024/2024_03/2024_03_27.mdx @@ -2,7 +2,7 @@ title: Learn React 1장 / UI 구성하기 description: React Docs (2) date: 2024-03-27 -thumbnail: /blogImages/2024/2024_03/2024_03_26/2024_03_26_(1).webp +thumbnail: /images/2024/2024_03/2024_03_26/2024_03_26_(1).webp category: - React series: React Docs @@ -603,7 +603,7 @@ return 만약 항목 배열을 필터링 하고싶다면 이 또한 간단합니다. JS의 배열 함수인 **Array.filter()** 를 사용하여 위의 과정을 수행하면 됩니다. -![react key error]() +![react key error]() 매핑된 항목들에 **key**가 존재하지 않을 때 해당 오류가 발생합니다. 이 오류에 주목해봅시다. React에서 각 배열 항목에는 해당 배열의 항목들 사이에서 고유하게 식별할 수 있는 문자열 또는 숫자인 **key**를 부여해야합니다. @@ -733,14 +733,14 @@ React에서 사이드 이펙트는 보통 이벤트 핸들러에 속합니다. 트리는 아이템 간의 관계 모델이며 UI는 트리 구조를 사용하여 표현되는 경우가 많습니다. 예를 들어 브라우저는 트리 구조를 통해 HTML(DOM) 및 CSS(CSSOM)를 모델링합니다. 모바일 플랫폼 또한 트리를 사용하여 뷰 계층 구조를 나타냅니다. -![browser render tree]() +![browser render tree]() React역시 마찬가지입니다. - React는 모듈과 컴포넌트 사이의 관계를 트리 형태로 구성합니다. - React의 렌더 트리는 컴포넌트간의 부모와 자식관계를 나타낼 수 있습니다. -![react render tree]() +![react render tree]() 렌더 트리는 렌더 패스마다 다를 수 있지만 일반적으로 이러한 트리는 React 앱의 최상위 컴포넌트와 리프 컴포넌트가 무엇인지 식별하는데 도움이 됩니다. **최상위 컴포넌트**의 경우 그 아래에 있는 모든 컴포넌트의 렌더링 성능에 영향을 미치며 종종 가장 복잡한 컴포넌트를 포함합니다. @@ -751,7 +751,7 @@ React역시 마찬가지입니다. - 모듈 종속성 트리의 각 노드는 모듈이고 각 분기는 해당 모듈의 import 문을 나타냅니다. - 이전 Inspirations 앱을 사용하면 모듈 종속성 트리, 줄여서 종속성 트리를 구축할 수 있습니다. -![react module dependency tree]() +![react module dependency tree]() 트리의 루트 노드는 entrypoint 파일이라고도 알려진 루트 모듈입니다. 루트 컴포넌트를 포함하는 모듈인 경우가 많습니다. diff --git a/public/blog/2024/2024_03/2024_03_31.mdx b/content/posts/2024/2024_03/2024_03_31.mdx similarity index 98% rename from public/blog/2024/2024_03/2024_03_31.mdx rename to content/posts/2024/2024_03/2024_03_31.mdx index 68b3c9b..314fe80 100644 --- a/public/blog/2024/2024_03/2024_03_31.mdx +++ b/content/posts/2024/2024_03/2024_03_31.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 8주차 회고 description: 구름톤 트레이닝 (8) date: 2024-03-31 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 diff --git a/public/blog/2024/2024_04/2024_04_04.mdx b/content/posts/2024/2024_04/2024_04_04.mdx similarity index 99% rename from public/blog/2024/2024_04/2024_04_04.mdx rename to content/posts/2024/2024_04/2024_04_04.mdx index 52a13fc..2d3ee4e 100644 --- a/public/blog/2024/2024_04/2024_04_04.mdx +++ b/content/posts/2024/2024_04/2024_04_04.mdx @@ -2,7 +2,7 @@ title: Learn React 2장 / 상호작용 추가하기 description: React Docs (3) date: 2024-04-04 -thumbnail: /blogImages/2024/2024_03/2024_03_26/2024_03_26_(1).webp +thumbnail: /images/2024/2024_03/2024_03_26/2024_03_26_(1).webp category: - React series: React Docs @@ -460,7 +460,7 @@ props와 달리 **state는 이를 선언하는 컴포넌트 외에는 완전히 2. 컴포넌트 **렌더링** (주방에서 주문 받기) 3. DOM에 **커밋** (테이블에 주문한 요리 내놓기) -![request]() +![request]() > #### 컴포넌트 렌더링이 일어나는 두 가지 이유 > @@ -484,7 +484,7 @@ props와 달리 **state는 이를 선언하는 컴포넌트 외에는 완전히 컴포넌트가 처음 렌더링되면 `set` 함수로 state를 업데이트하여 추가 렌더링을 촉발시킬 수 있습니다. 컴포넌트의 state를 업데이트하면 자동으로 렌더링이 대기열에 추가됩니다. -![rendering]() +![rendering]() 렌더링을 촉발시키면, React는 컴포넌트를 호출하여 화면에 표시할 내용을 파악합니다. **"렌더링"은 React에서 컴포넌트를 호출하는 것입니다.** @@ -574,7 +574,7 @@ React에서는 이 멘탈 모델과는 조금 다르게 작동합니다. 이전 2. `setIsSent(true)`가 `isSent`를 `true`로 설정하고 새 렌더링을 큐에 대기시킵니다. 3. React는 새로운 `isSent` 값에 따라 컴포넌트를 다시 렌더링합니다. -![rerendering]() +![rerendering]() state와 렌더링의 관계를 자세히 살펴보겠습니다. @@ -593,7 +593,7 @@ React가 컴포넌트를 다시 렌더링할 때 다음과 같은 과정이 발 컴포넌트의 메모리로서 state는 함수가 반환된 후 사라지는 일반 변수와 다릅니다. state는 실제로 함수 외부에 마치 선반에 잇는 것처럼 React 자체에 "존재" 합니다. React가 컴포넌트를 호출하면 특정 렌더링에 대한 state의 스냅샷을 제공합니다. 컴포넌트는 **해당 렌더링의 state 값을 사용해** 계산된 새로운 props 세트와 이벤트 핸들러가 포함된 UI의 스냅샷을 JSX에 반환합니다! -![snapshot]() +![snapshot]() 다음은 이것이 어떻게 작동하는지 보여주는 간단한 실험입니다. 이 예제에서는 '+3' 버튼을 클릭하면 `setNumber(number + 1)`를 세 번 호출하므로 카운터가 세 번 증가할 것으로 예상할 수 있습니다. @@ -753,7 +753,7 @@ state 변수를 들어가면 다음 렌더링이 큐에 들어갑니다. 그러 이는 음식점에서 주문을 받는 웨이터를 생각해 볼 수 있습니다. 웨이터는 첫번째 요리를 말하자마자 주방으로 달려가지 않습니다! 대신 주문이 끝날 떄까지 기다렸다가 주문을 변경하고, 심지어 테이블에 있는 다른 사람의 주문도 받습니다. -![setState]() +![setState]() 이렇게 하면 너무 많은 리렌더링을 촉발하지 않고도 여러 컴포넌트에서 나온 다수의 state 변수를 업데이트할 수 있습니다. 하지만 이는 이벤트 핸들러와 그 안에 있는 코드가 완료될 때까지 UI가 업데이트되지 않는다는 의미이기도 합니다. diff --git a/public/blog/2024/2024_04/2024_04_07.mdx b/content/posts/2024/2024_04/2024_04_07.mdx similarity index 95% rename from public/blog/2024/2024_04/2024_04_07.mdx rename to content/posts/2024/2024_04/2024_04_07.mdx index b224541..f746989 100644 --- a/public/blog/2024/2024_04/2024_04_07.mdx +++ b/content/posts/2024/2024_04/2024_04_07.mdx @@ -2,7 +2,7 @@ title: Next.js 블로그 제작기 (11) description: pnpm 마이그레이션 date: 2024-04-07 -thumbnail: /blogImages/image00.webp +thumbnail: /images/image00.webp category: - TypeScript - Next.js @@ -23,12 +23,12 @@ series: 블로그 제작기 ### 패키지 매니저를 pnpm으로 교체 -![pnpm]() +![pnpm]() 우선 간단하게 `pnpm`에 대해서 소개를 해보도록 하겠습니다. `pnpm`은 빠르고 효율적인 JS 패키지 매니저입니다. 왜 빠르고 효율적인가에 대해서 이유를 적어보자면, 우선 기존 `yarn classic`과 `npm`에서의 문제점을 알아야 합니다. -![library dependency]() +![library dependency]() 패키지들은 각각의 의존성을 가지고 이러한 정보들은 **yarn.lock**이나 **package_lock.json**을 보면 확인할 수 있습니다. @@ -103,13 +103,13 @@ pnpm install ### 모바일 뷰 시인성 수정 -![before mobile view]() +![before mobile view]() 원래는 모바일 뷰로 보면 이런식으로 제목이 `truncate`되었습니다. 물론 사이즈 줄어들면 보여줄 수 있는 제목이 줄어드는 건 어쩔 수 없긴한데, 그렇게 해서 보여줘야 하는 항목이 업로드 일자라면 그냥 제목을 다 보여줘야 하는게 아닌가 싶었습니다. 또, 시리즈의 경우 제가 사용하는 폰인 아이폰 15에서는 저런식으로 한줄 배치가 되었는데, 이런식으로 한줄 배치를 하니 사이즈도 어정쩡한 부분도 별로 맘에 안들었고, 무엇보다도 글 목록 페이지에 왔는데 포스팅 목록이 보이기보단 시리즈가 페이지를 가득 채워 시인성이 떨어졌습니다. -![after mobile view]() +![after mobile view]() 그렇기에 디자인을 변경하여 사이즈를 줄였을 때도 최대한 포스팅의 제목이 보이도록 수정했습니다. 또 시리즈의 경우에는 모바일에서 기본적으로 접기 처리를 해놓아서 포스팅 목록 페이지 최초 접근 시 포스팅 목록을 바로 볼 수 있도록 했습니다. 겸사겸사 아이콘도 바꿨는데 괜찮지 않나요? 원래는 `heroicon`을 사용했었는데, 이번 팀 프젝중에 `lucide` 라는 아이콘 라이브러리들이 상당히 괜찮아서 사용해봤습니다. diff --git a/public/blog/2024/2024_04/2024_04_08.mdx b/content/posts/2024/2024_04/2024_04_08.mdx similarity index 98% rename from public/blog/2024/2024_04/2024_04_08.mdx rename to content/posts/2024/2024_04/2024_04_08.mdx index 9fed928..2160e5e 100644 --- a/public/blog/2024/2024_04/2024_04_08.mdx +++ b/content/posts/2024/2024_04/2024_04_08.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 9주차 회고 description: 구름톤 트레이닝 (9) date: 2024-04-08 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 diff --git a/public/blog/2024/2024_04/2024_04_17.mdx b/content/posts/2024/2024_04/2024_04_17.mdx similarity index 94% rename from public/blog/2024/2024_04/2024_04_17.mdx rename to content/posts/2024/2024_04/2024_04_17.mdx index 211fdd9..e6f0bd3 100644 --- a/public/blog/2024/2024_04/2024_04_17.mdx +++ b/content/posts/2024/2024_04/2024_04_17.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 10주차 회고 description: 구름톤 트레이닝 (10) date: 2024-04-17 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 @@ -22,7 +22,7 @@ series: 구름톤 트레이닝 ### 나와 타협하지 않기 -![도망친 곳에 낙원은 없다]() +![도망친 곳에 낙원은 없다]() 알고리즘을 풀면서 조금 막히거나, 어려워서 다른 문제를 택하는 경우가 지금까지는 왕왕 있었습니다. 하지만 네이버 코테 이후 이러한 행동이 아무런 의미가 없음을 알게되었습니다. diff --git a/public/blog/2024/2024_04/2024_04_18.mdx b/content/posts/2024/2024_04/2024_04_18.mdx similarity index 99% rename from public/blog/2024/2024_04/2024_04_18.mdx rename to content/posts/2024/2024_04/2024_04_18.mdx index bb1200c..4a1329c 100644 --- a/public/blog/2024/2024_04/2024_04_18.mdx +++ b/content/posts/2024/2024_04/2024_04_18.mdx @@ -2,7 +2,7 @@ title: Learn React / Hooks description: React Docs (3) date: 2024-04-18 -thumbnail: /blogImages/2024/2024_03/2024_03_26/2024_03_26_(1).webp +thumbnail: /images/2024/2024_03/2024_03_26/2024_03_26_(1).webp category: - React series: React Docs @@ -224,7 +224,7 @@ useDebugValue(value, format) `useDebugValue`는 아무것도 반환하지 않으며, 설정시 React DevTools에서 다음과 같이 표시됩니다. -![useDebugValue]() +![useDebugValue]() `useDebugValue`는 내부 구조가 복잡하여 검사하기 어려운 커스텀 Hook에 유용합니다. diff --git a/public/blog/2024/2024_04/2024_04_19.mdx b/content/posts/2024/2024_04/2024_04_19.mdx similarity index 98% rename from public/blog/2024/2024_04/2024_04_19.mdx rename to content/posts/2024/2024_04/2024_04_19.mdx index ae47e72..a0645d7 100644 --- a/public/blog/2024/2024_04/2024_04_19.mdx +++ b/content/posts/2024/2024_04/2024_04_19.mdx @@ -2,7 +2,7 @@ title: Learn React / Components description: React Docs (4) date: 2024-04-19 -thumbnail: /blogImages/2024/2024_03/2024_03_26/2024_03_26_(1).webp +thumbnail: /images/2024/2024_03/2024_03_26/2024_03_26_(1).webp category: - React series: React Docs @@ -68,7 +68,7 @@ function Blog() { 이런식으로 컴포넌트 트리를 Profiler로 감싸주게 되면 렌더링 성능을 측정할 수 있습니다. -![react profiler]() +![react profiler]() 여러 개를 사용하여 애플리케이션을 부분별로 측정할 수 있습니다. diff --git a/public/blog/2024/2024_04/2024_04_22.mdx b/content/posts/2024/2024_04/2024_04_22.mdx similarity index 93% rename from public/blog/2024/2024_04/2024_04_22.mdx rename to content/posts/2024/2024_04/2024_04_22.mdx index a030714..675ab0a 100644 --- a/public/blog/2024/2024_04/2024_04_22.mdx +++ b/content/posts/2024/2024_04/2024_04_22.mdx @@ -2,7 +2,7 @@ title: 구름톤 트레이닝 11주차 회고 description: 구름톤 트레이닝 (11) date: 2024-04-22 -thumbnail: /blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp +thumbnail: /images/2024/2024_02/2024_02_13/2024_02_13_(1).webp category: - Chat series: 구름톤 트레이닝 @@ -19,7 +19,7 @@ series: 구름톤 트레이닝 ### 기어 업 -![하면 된다]() +![하면 된다]() 지난 주 프로젝트 회의 때 저 혼자서 자료 조사가 미흡하여 프로젝트 분위기가 좋지 않았습니다. 최근에 자소서니 뭐니 준비하면서 시간을 많이 들이지 못한 제 불찰이었습니다. @@ -37,7 +37,7 @@ series: 구름톤 트레이닝 ### 하면 된다 -![하면 된다]() +![하면 된다]() 문제가 어렵더라도 포기하지 않고 계속 풀겠다는 마인드로 코테를 접근했고, 실제로 난이도 높은 문제들을 이번주에 풀 수 있었습니다! @@ -51,4 +51,3 @@ series: 구름톤 트레이닝 근데 시간이 많이 드는거 감안하고서도 정말 도움 없이 풀고싶었습니다. 중간부터는 코드도 엎고 다시 짜보기도 하고.. 하다보니 제가 고려하지 못하는 요소들이 많다는 것도 알게되었습니다. 맞추고나서는 정말 짜릿했습니다. 이 맛에 알고리즘을 푸는거다 싶더라구요. 골드 1 문제도 플었으니 이제 빌드업을 철저히 해서 플래티넘 문제도 풀어보려고 합니다 :) - diff --git a/public/blog/2024/2024_05/2024_05_26.mdx b/content/posts/2024/2024_05/2024_05_26.mdx similarity index 98% rename from public/blog/2024/2024_05/2024_05_26.mdx rename to content/posts/2024/2024_05/2024_05_26.mdx index 7238dc3..a57f353 100644 --- a/public/blog/2024/2024_05/2024_05_26.mdx +++ b/content/posts/2024/2024_05/2024_05_26.mdx @@ -2,7 +2,7 @@ title: Next, MSW 그리고 ESlint description: 사이드 프로젝트 개발중 학습한 내용 (1) date: 2024-05-26 -thumbnail: /blogImages/2024/2024_05/2024_05_26/2024_05_26_(1).webp +thumbnail: /images/2024/2024_05/2024_05_26/2024_05_26_(1).webp category: - Next.js series: 사이드 프로젝트 @@ -93,7 +93,7 @@ reWrite를 통해 실행시켰을 때 정상적으로 동작하는가 싶었더 위의 lint 문제와 연계되는 사항이었는데, next lint를 찍었는데 문제가 발생하지 않는걸 확인했음에도 불구하고 eslint 커맨드를 사용하면 린트 에러가 발견되었습니다. 분명 확인했는데? 라고 생각하고 해당 내용을 찾아봤는데.. -![next lint]() +![next lint]() 아뿔ㅅ ㅏ... next lint의 경우에는 기본적으로 `pages/`, `app/`, `components/`, `lib/`, `src/` 만을 검사한다는 것 이었습니다. 현재 폴더구조를 **FSD** 아키텍쳐를 적용중이고, src 디렉토리도 사용하지 않는 저희들에겐 아무것도 해당하지 않았던 것입니다.. diff --git a/public/blog/2024/2024_10/2024_10_23.mdx b/content/posts/2024/2024_10/2024_10_23.mdx similarity index 98% rename from public/blog/2024/2024_10/2024_10_23.mdx rename to content/posts/2024/2024_10/2024_10_23.mdx index ddef3e5..1589012 100644 --- a/public/blog/2024/2024_10/2024_10_23.mdx +++ b/content/posts/2024/2024_10/2024_10_23.mdx @@ -2,7 +2,7 @@ title: 우테코 프리코스 7기 1주차 회고 description: 우테코 프리코스 7기 1주차 date: 2024-10-23 -thumbnail: /blogImages/2023/2023_10/2023_10_27/2023_10_27_(1).webp +thumbnail: /images/2023/2023_10/2023_10_27/2023_10_27_(1).webp category: - Chat series: 우테코 프리코스 7기 diff --git a/contentlayer.config.ts b/contentlayer.config.ts deleted file mode 100644 index a99077a..0000000 --- a/contentlayer.config.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { defineDocumentType, makeSource } from 'contentlayer/source-files' -import rehypeAutolinkHeadings from 'rehype-autolink-headings' -import rehypeCodeTitles from 'rehype-code-titles' -import rehypeExternalLinks from 'rehype-external-links' -import rehypePrism from 'rehype-prism-plus' -import rehypeSlug from 'rehype-slug' -import remarkBreaks from 'remark-breaks' -import remarkGfm from 'remark-gfm' - -export const Post = defineDocumentType(() => ({ - name: 'Post', - filePathPattern: `**/*.mdx`, - contentType: 'mdx', - fields: { - title: { - type: 'string', - required: true, - }, - description: { - type: 'string', - required: true, - }, - date: { - type: 'string', - required: true, - }, - thumbnail: { - type: 'string', - required: true, - }, - category: { - type: 'list', - of: { - type: 'string', - }, - required: true, - }, - series: { - type: 'string', - required: false, - }, - }, - computedFields: { - url: { - type: 'string', - // eslint-disable-next-line no-underscore-dangle - resolve: (post) => `/posts/${post._raw.flattenedPath}`, - }, - }, -})) - -export default makeSource({ - contentDirPath: 'public/blog', - documentTypes: [Post], - mdx: { - remarkPlugins: [remarkGfm, remarkBreaks], - rehypePlugins: [ - rehypeSlug, - rehypeCodeTitles, - [rehypePrism as any, { ignoreMissing: true }], - [ - rehypeAutolinkHeadings, - { - properties: { - className: ['anchor'], - ariaLabel: 'anchor', - }, - }, - ], - [rehypeExternalLinks, { target: '_blank', rel: ['noopener noreffer'] }], - ], - }, -}) diff --git a/next.config.mjs b/next.config.mjs index e2e0852..a99c1fb 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,7 +1,15 @@ /** @type {import('next').NextConfig} **/ -import { withContentlayer } from 'next-contentlayer' import withPlaiceholder from '@plaiceholder/next' +const isDev = process.argv.indexOf('dev') !== -1 +const isBuild = process.argv.indexOf('build') !== -1 + +if (!process.env.VELITE_STARTED && (isDev || isBuild)) { + process.env.VELITE_STARTED = '1' + const { build } = await import('velite') + await build({ watch: isDev, clean: !isDev }) +} + const nextConfig = { webpack(config) { config.module.rules.push({ @@ -21,4 +29,4 @@ const nextConfig = { }, } -export default withPlaiceholder(withContentlayer(nextConfig)) +export default withPlaiceholder(nextConfig) diff --git a/package.json b/package.json index 9bb68a4..6f73b29 100644 --- a/package.json +++ b/package.json @@ -16,35 +16,36 @@ "@vercel/analytics": "^1.1.2", "@vercel/speed-insights": "^1.0.10", "clsx": "^2.1.1", - "contentlayer": "^0.3.4", "date-fns": "^2.30.0", - "framer-motion": "^10.18.0", + "framer-motion": "^11.11.10", "lucide-react": "^0.364.0", - "next": "^14.0.4", - "next-contentlayer": "^0.3.4", + "next": "15.0.1", "next-themes": "^0.3.0", "plaiceholder": "^3.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "react": "19.0.0-rc-69d4b800-20241021", + "react-dom": "19.0.0-rc-69d4b800-20241021", "rehype-autolink-headings": "^7.1.0", "rehype-code-titles": "^1.2.0", "rehype-external-links": "^3.0.0", + "rehype-highlight": "^7.0.1", "rehype-prism-plus": "^2.0.0", "rehype-slug": "^6.0.0", "remark-breaks": "^4.0.0", "remark-gfm": "3.0.1", "sharp": "0.32.6", "slick-carousel": "^1.8.1", - "tailwind-merge": "^2.5.4" + "tailwind-merge": "^2.5.4", + "velite": "^0.2.0" }, "devDependencies": { "@svgr/webpack": "^8.1.0", "@tailwindcss/typography": "^0.5.10", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/lodash": "^4.14.202", "@types/mdx": "^2.0.12", "@types/node": "^20.11.5", - "@types/react": "^18.2.48", - "@types/react-dom": "^18.2.18", + "@types/react": "npm:types-react@19.0.0-rc.1", + "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1", "@types/react-syntax-highlighter": "^15.5.11", "@types/webpack-env": "^1.18.4", "@typescript-eslint/eslint-plugin": "^6.19.0", @@ -53,7 +54,7 @@ "eslint": "^8.56.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-next": "^14.0.4", + "eslint-config-next": "15.0.1", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-react": "^7.33.2", @@ -62,8 +63,13 @@ "prettier": "^3.2.4", "prettier-eslint": "^15.0.1", "prettier-plugin-tailwindcss": "^0.5.11", - "tailwind-highlightjs": "^2.0.1", "tailwindcss": "^3.4.14", "typescript": "5.3.3" + }, + "pnpm": { + "overrides": { + "@types/react": "npm:types-react@19.0.0-rc.1", + "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1" + } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b23a5b4..7ef46f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,58 +4,56 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + '@types/react': npm:types-react@19.0.0-rc.1 + '@types/react-dom': npm:types-react-dom@19.0.0-rc.1 + importers: .: dependencies: '@giscus/react': specifier: ^2.4.0 - version: 2.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.4.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) '@heroicons/react': specifier: ^2.1.1 - version: 2.1.1(react@18.2.0) + version: 2.1.1(react@19.0.0-rc-69d4b800-20241021) '@plaiceholder/next': specifier: ^3.0.0 - version: 3.0.0(next@14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(plaiceholder@3.0.0(sharp@0.32.6))(sharp@0.32.6) + version: 3.0.0(next@15.0.1(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(plaiceholder@3.0.0(sharp@0.32.6))(sharp@0.32.6) '@vercel/analytics': specifier: ^1.1.2 version: 1.1.2 '@vercel/speed-insights': specifier: ^1.0.10 - version: 1.0.10(next@14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) + version: 1.0.10(next@15.0.1(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) clsx: specifier: ^2.1.1 version: 2.1.1 - contentlayer: - specifier: ^0.3.4 - version: 0.3.4(esbuild@0.18.20) date-fns: specifier: ^2.30.0 version: 2.30.0 framer-motion: - specifier: ^10.18.0 - version: 10.18.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: ^11.11.10 + version: 11.11.10(@emotion/is-prop-valid@0.8.8)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) lucide-react: specifier: ^0.364.0 - version: 0.364.0(react@18.2.0) + version: 0.364.0(react@19.0.0-rc-69d4b800-20241021) next: - specifier: ^14.0.4 - version: 14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - next-contentlayer: - specifier: ^0.3.4 - version: 0.3.4(contentlayer@0.3.4(esbuild@0.18.20))(esbuild@0.18.20)(next@14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 15.0.1 + version: 15.0.1(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) next-themes: specifier: ^0.3.0 - version: 0.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 0.3.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) plaiceholder: specifier: ^3.0.0 version: 3.0.0(sharp@0.32.6) react: - specifier: ^18.2.0 - version: 18.2.0 + specifier: 19.0.0-rc-69d4b800-20241021 + version: 19.0.0-rc-69d4b800-20241021 react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + specifier: 19.0.0-rc-69d4b800-20241021 + version: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021) rehype-autolink-headings: specifier: ^7.1.0 version: 7.1.0 @@ -65,6 +63,9 @@ importers: rehype-external-links: specifier: ^3.0.0 version: 3.0.0 + rehype-highlight: + specifier: ^7.0.1 + version: 7.0.1 rehype-prism-plus: specifier: ^2.0.0 version: 2.0.0 @@ -86,6 +87,9 @@ importers: tailwind-merge: specifier: ^2.5.4 version: 2.5.4 + velite: + specifier: ^0.2.0 + version: 0.2.0(acorn@8.11.3) devDependencies: '@svgr/webpack': specifier: ^8.1.0 @@ -93,6 +97,9 @@ importers: '@tailwindcss/typography': specifier: ^0.5.10 version: 0.5.10(tailwindcss@3.4.14) + '@trivago/prettier-plugin-sort-imports': + specifier: ^4.3.0 + version: 4.3.0(prettier@3.2.4) '@types/lodash': specifier: ^4.14.202 version: 4.14.202 @@ -103,11 +110,11 @@ importers: specifier: ^20.11.5 version: 20.11.5 '@types/react': - specifier: ^18.2.48 - version: 18.2.48 + specifier: npm:types-react@19.0.0-rc.1 + version: types-react@19.0.0-rc.1 '@types/react-dom': - specifier: ^18.2.18 - version: 18.2.18 + specifier: npm:types-react-dom@19.0.0-rc.1 + version: types-react-dom@19.0.0-rc.1 '@types/react-syntax-highlighter': specifier: ^15.5.11 version: 15.5.11 @@ -128,13 +135,13 @@ importers: version: 8.56.0 eslint-config-airbnb: specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0))(eslint-plugin-react-hooks@4.6.0(eslint@8.56.0))(eslint-plugin-react@7.33.2(eslint@8.56.0))(eslint@8.56.0) + version: 19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint-plugin-jsx-a11y@6.10.2(eslint@8.56.0))(eslint-plugin-react-hooks@5.0.0(eslint@8.56.0))(eslint-plugin-react@7.33.2(eslint@8.56.0))(eslint@8.56.0) eslint-config-airbnb-typescript: specifier: ^17.1.0 - version: 17.1.0(@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0)(typescript@5.3.3))(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0) + version: 17.1.0(@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0)(typescript@5.3.3))(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0) eslint-config-next: - specifier: ^14.0.4 - version: 14.0.4(eslint@8.56.0)(typescript@5.3.3) + specifier: 15.0.1 + version: 15.0.1(eslint@8.56.0)(typescript@5.3.3) eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.56.0) @@ -158,10 +165,7 @@ importers: version: 15.0.1 prettier-plugin-tailwindcss: specifier: ^0.5.11 - version: 0.5.11(prettier@3.2.4) - tailwind-highlightjs: - specifier: ^2.0.1 - version: 2.0.1(highlight.js@10.7.3)(tailwindcss@3.4.14) + version: 0.5.11(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.2.4))(prettier@3.2.4) tailwindcss: specifier: ^3.4.14 version: 3.4.14 @@ -195,6 +199,10 @@ packages: resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.17.7': + resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.23.6': resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} @@ -810,76 +818,24 @@ packages: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.23.2': + resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.23.7': resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} engines: {node: '>=6.9.0'} + '@babel/types@7.17.0': + resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} + engines: {node: '>=6.9.0'} + '@babel/types@7.23.6': resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} engines: {node: '>=6.9.0'} - '@contentlayer/cli@0.3.4': - resolution: {integrity: sha512-vNDwgLuhYNu+m70NZ3XK9kexKNguuxPXg7Yvzj3B34cEilQjjzSrcTY/i+AIQm9V7uT5GGshx9ukzPf+SmoszQ==} - - '@contentlayer/client@0.3.4': - resolution: {integrity: sha512-QSlLyc3y4PtdC5lFw0L4wTZUH8BQnv2nk37hNCsPAqGf+dRO7TLAzdc+2/mVIRgK+vSH+pSOzjLsQpFxxXRTZA==} - - '@contentlayer/core@0.3.4': - resolution: {integrity: sha512-o68oBLwfYZ+2vtgfk1lgHxOl3LoxvRNiUfeQ8IWFWy/L4wnIkKIqLZX01zlRE5IzYM+ZMMN5V0cKQlO7DsyR9g==} - peerDependencies: - esbuild: 0.17.x || 0.18.x - markdown-wasm: 1.x - peerDependenciesMeta: - esbuild: - optional: true - markdown-wasm: - optional: true - - '@contentlayer/source-files@0.3.4': - resolution: {integrity: sha512-4njyn0OFPu7WY4tAjMxiJgWOKeiHuBOGdQ36EYE03iij/pPPRbiWbL+cmLccYXUFEW58mDwpqROZZm6pnxjRDQ==} - - '@contentlayer/source-remote-files@0.3.4': - resolution: {integrity: sha512-cyiv4sNUySZvR0uAKlM+kSAELzNd2h2QT1R2e41dRKbwOUVxeLfmGiLugr0aVac6Q3xYcD99dbHyR1xWPV+w9w==} - - '@contentlayer/utils@0.3.4': - resolution: {integrity: sha512-ZWWOhbUWYQ2QHoLIlcUnEo7X4ZbwcyFPuzVQWWMkK43BxCveyQtZwBIzfyx54sqVzi0GUmKP8bHzsLQT0QxaLQ==} - peerDependencies: - '@effect-ts/otel-node': '*' - peerDependenciesMeta: - '@effect-ts/otel-node': - optional: true - - '@effect-ts/core@0.60.5': - resolution: {integrity: sha512-qi1WrtJA90XLMnj2hnUszW9Sx4dXP03ZJtCc5DiUBIOhF4Vw7plfb65/bdBySPoC9s7zy995TdUX1XBSxUkl5w==} - - '@effect-ts/otel-exporter-trace-otlp-grpc@0.15.1': - resolution: {integrity: sha512-47gAg0O2pW5Jlo86jfzjdkwL5a7Bzb+Kj5WTmdu4CxYRfWn9ytKjuuYIfsNDW8neuhdKzn+P5wCddgEh0glYyQ==} - peerDependencies: - '@effect-ts/core': ^0.60.2 - '@opentelemetry/api': ^1.4.0 - '@opentelemetry/core': ^1.13.0 - '@opentelemetry/exporter-trace-otlp-grpc': ^0.39.0 - '@opentelemetry/sdk-trace-base': ^1.13.0 - - '@effect-ts/otel-sdk-trace-node@0.15.1': - resolution: {integrity: sha512-a2sF0ylmn8xOJs8fNeT/spJ1gUcsksAJCALxo9WOfuTCMtTwMVtVhCKEPEeQoL7wFqU+JgPkVdP91+FJ/Rkeow==} - peerDependencies: - '@effect-ts/core': ^0.60.2 - '@opentelemetry/api': ^1.4.0 - '@opentelemetry/core': ^1.13.0 - '@opentelemetry/sdk-trace-base': ^1.13.0 - '@opentelemetry/sdk-trace-node': ^1.13.0 - - '@effect-ts/otel@0.15.1': - resolution: {integrity: sha512-AmZJHl7t0+Peh7Yb2+hqn6r9+rd9/UfeA4AMV9h0YGTdOyouyFfD3wzWlxnAUzAQ4Lrod4kC7Noruret4EpqpA==} - peerDependencies: - '@effect-ts/core': ^0.60.2 - '@opentelemetry/api': ^1.4.0 - '@opentelemetry/core': ^1.13.0 - '@opentelemetry/sdk-trace-base': ^1.13.0 - - '@effect-ts/system@0.57.5': - resolution: {integrity: sha512-/crHGujo0xnuHIYNc1VgP0HGJGFSoSqq88JFXe6FmFyXPpWt8Xu39LyLg7rchsxfXFeEdA9CrIZvLV5eswXV5g==} + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} '@emotion/is-prop-valid@0.8.8': resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} @@ -887,140 +843,147 @@ packages: '@emotion/memoize@0.7.4': resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} - '@esbuild-plugins/node-resolve@0.1.4': - resolution: {integrity: sha512-haFQ0qhxEpqtWWY0kx1Y5oE3sMyO1PcoSiWEPrAw6tm/ZOOLXjSs6Q+v1v9eyuVF0nNt50YEvrcrvENmyoMv5g==} - peerDependencies: - esbuild: '*' + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -1042,24 +1005,12 @@ packages: resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@fal-works/esbuild-plugin-global-externals@2.1.2': - resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} - '@giscus/react@2.4.0': resolution: {integrity: sha512-y8d8qiZ2sBuaXRcgn/ZWfMlRs9bx26p62BU/HEKQQ+IfHo3B/kglgPjX/IqudwlX+DOlHUl1NvtFo9C8Eqo0eQ==} peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 - '@grpc/grpc-js@1.9.14': - resolution: {integrity: sha512-nOpuzZ2G3IuMFN+UPPpKrC6NsLmWsTqSsm66IRfnBt1D4pwTqE27lmbpcPM+l2Ua4gE7PfjRHI6uedAy7hoXUw==} - engines: {node: ^8.13.0 || >=10.10.0} - - '@grpc/proto-loader@0.7.10': - resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} - engines: {node: '>=6'} - hasBin: true - '@heroicons/react@2.1.1': resolution: {integrity: sha512-JyyN9Lo66kirbCMuMMRPtJxtKJoIsXKS569ebHGGRKbl8s4CtUfLnyKJxteA+vIKySocO4s1SkTkGS4xtG/yEA==} peerDependencies: @@ -1076,6 +1027,111 @@ packages: '@humanwhocodes/object-schema@2.0.2': resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1084,6 +1140,10 @@ packages: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.1': resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} @@ -1092,15 +1152,21 @@ packages: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} '@jridgewell/trace-mapping@0.3.21': resolution: {integrity: sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==} - '@js-temporal/polyfill@0.4.4': - resolution: {integrity: sha512-2X6bvghJ/JAoZO52lbgyAPFj8uCflhTo2g7nkFzEQdXd/D8rEeD4HtmTEpmtGCva260fcd66YNXBOYdnmHqSOg==} - engines: {node: '>=12'} + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} '@lit-labs/ssr-dom-shim@1.1.2': resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} @@ -1108,70 +1174,59 @@ packages: '@lit/reactive-element@2.0.3': resolution: {integrity: sha512-e067EuTNNgOHm1tZcc0Ia7TCzD/9ZpoPegHKgesrGK6pSDRGkGDAQbYuQclqLPIoJ9eC8Kb9mYtGryWcM5AywA==} - '@mdx-js/esbuild@2.3.0': - resolution: {integrity: sha512-r/vsqsM0E+U4Wr0DK+0EfmABE/eg+8ITW4DjvYdh3ve/tK2safaqHArNnaqbOk1DjYGrhxtoXoGaM3BY8fGBTA==} - peerDependencies: - esbuild: '>=0.11.0' - - '@mdx-js/mdx@2.3.0': - resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} + '@mdx-js/mdx@3.1.0': + resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} - '@next/env@14.0.4': - resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==} + '@next/env@15.0.1': + resolution: {integrity: sha512-lc4HeDUKO9gxxlM5G2knTRifqhsY6yYpwuHspBZdboZe0Gp+rZHBNNSIjmQKDJIdRXiXGyVnSD6gafrbQPvILQ==} - '@next/eslint-plugin-next@14.0.4': - resolution: {integrity: sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==} + '@next/eslint-plugin-next@15.0.1': + resolution: {integrity: sha512-bKWsMaGPbiFAaGqrDJvbE8b4Z0uKicGVcgOI77YM2ui3UfjHMr4emFPrZTLeZVchi7fT1mooG2LxREfUUClIKw==} - '@next/swc-darwin-arm64@14.0.4': - resolution: {integrity: sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg==} + '@next/swc-darwin-arm64@15.0.1': + resolution: {integrity: sha512-C9k/Xv4sxkQRTA37Z6MzNq3Yb1BJMmSqjmwowoWEpbXTkAdfOwnoKOpAb71ItSzoA26yUTIo6ZhN8rKGu4ExQw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.0.4': - resolution: {integrity: sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw==} + '@next/swc-darwin-x64@15.0.1': + resolution: {integrity: sha512-uHl13HXOuq1G7ovWFxCACDJHTSDVbn/sbLv8V1p+7KIvTrYQ5HNoSmKBdYeEKRRCbEmd+OohOgg9YOp8Ux3MBg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@14.0.4': - resolution: {integrity: sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w==} + '@next/swc-linux-arm64-gnu@15.0.1': + resolution: {integrity: sha512-LvyhvxHOihFTEIbb35KxOc3q8w8G4xAAAH/AQnsYDEnOvwawjL2eawsB59AX02ki6LJdgDaHoTEnC54Gw+82xw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.0.4': - resolution: {integrity: sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ==} + '@next/swc-linux-arm64-musl@15.0.1': + resolution: {integrity: sha512-vFmCGUFNyk/A5/BYcQNhAQqPIw01RJaK6dRO+ZEhz0DncoW+hJW1kZ8aH2UvTX27zPq3m85zN5waMSbZEmANcQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@14.0.4': - resolution: {integrity: sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A==} + '@next/swc-linux-x64-gnu@15.0.1': + resolution: {integrity: sha512-5by7IYq0NCF8rouz6Qg9T97jYU68kaClHPfGpQG2lCZpSYHtSPQF1kjnqBTd34RIqPKMbCa4DqCufirgr8HM5w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.0.4': - resolution: {integrity: sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw==} + '@next/swc-linux-x64-musl@15.0.1': + resolution: {integrity: sha512-lmYr6H3JyDNBJLzklGXLfbehU3ay78a+b6UmBGlHls4xhDXBNZfgb0aI67sflrX+cGBnv1LgmWzFlYrAYxS1Qw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@14.0.4': - resolution: {integrity: sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w==} + '@next/swc-win32-arm64-msvc@15.0.1': + resolution: {integrity: sha512-DS8wQtl6diAj0eZTdH0sefykm4iXMbHT4MOvLwqZiIkeezKpkgPFcEdFlz3vKvXa2R/2UEgMh48z1nEpNhjeOQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.0.4': - resolution: {integrity: sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@next/swc-win32-x64-msvc@14.0.4': - resolution: {integrity: sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A==} + '@next/swc-win32-x64-msvc@15.0.1': + resolution: {integrity: sha512-4Ho2ggvDdMKlZ/0e9HNdZ9ngeaBwtc+2VS5oCeqrbXqOgutX6I4U2X/42VBw0o+M5evn4/7v3zKgGHo+9v/VjA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1188,119 +1243,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@opentelemetry/api-logs@0.39.1': - resolution: {integrity: sha512-9BJ8lMcOzEN0lu+Qji801y707oFO4xT3db6cosPvl+k7ItUHKN5ofWqtSbM9gbt1H4JJ/4/2TVrqI9Rq7hNv6Q==} - engines: {node: '>=14'} - '@opentelemetry/api@1.4.1': resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} engines: {node: '>=8.0.0'} - '@opentelemetry/context-async-hooks@1.20.0': - resolution: {integrity: sha512-PNecg4zvRF5y5h3luK/hzUEmgZtZ8hbX19TMALj3SVShYS2MrDZG6uT27uLkAwACMfK9BP7/UyXXjND5lkaC2w==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - - '@opentelemetry/core@1.13.0': - resolution: {integrity: sha512-2dBX3Sj99H96uwJKvc2w9NOiNgbvAO6mOFJFramNkKfS9O4Um+VWgpnlAazoYjT6kUJ1MP70KQ5ngD4ed+4NUw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - - '@opentelemetry/core@1.20.0': - resolution: {integrity: sha512-lSRvk5AIdD6CtgYJcJXh0wGibQ3S/8bC2qbqKs9wK8e0K1tsWV6YkGFOqVc+jIRlCbZoIBeZzDe5UI+vb94uvg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - - '@opentelemetry/exporter-trace-otlp-grpc@0.39.1': - resolution: {integrity: sha512-l5RhLKx6U+yuLhMrtgavTDthX50E1mZM3/SSySC7OPZiArFHV/b/9x9jxAzrOgIQUDxyj4N0V9aLKSA2t7Qzxg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - - '@opentelemetry/otlp-exporter-base@0.39.1': - resolution: {integrity: sha512-Pv5X8fbi6jD/RJBePyn7MnCSuE6MbPB6dl+7YYBWJ5RcMGYMwvLXjd4h2jWsPV2TSUg38H/RoSP0aXvQ06Y7iw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - - '@opentelemetry/otlp-grpc-exporter-base@0.39.1': - resolution: {integrity: sha512-u3ErFRQqQFKjjIMuwLWxz/tLPYInfmiAmSy//fGSCzCh2ZdJgqQjMOAxBgqFtCF2xFL+OmMhyuC2ThMzceGRWA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': ^1.0.0 - - '@opentelemetry/otlp-transformer@0.39.1': - resolution: {integrity: sha512-0hgVnXXz5efI382B/24NxD4b6Zxlh7nxCdJkxkdmQMbn0yRiwoq/ZT+QG8eUL6JNzsBAV1WJlF5aJNsL8skHvw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.5.0' - - '@opentelemetry/propagator-b3@1.20.0': - resolution: {integrity: sha512-rDLcZGhhe+VoKKY77U5o5IW5D+OMoXg44GYmCn68Jx3O5TBGMJ2oZBcCxLgHlAA/ZdqkdRgQD0E40s8bXq41JA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - - '@opentelemetry/propagator-jaeger@1.20.0': - resolution: {integrity: sha512-JqdKlyyrgIinR8ZhMoJrL54AAHMDEACLLXYLnabzFTHeoBEsC36ZoO98hVucrpUvkDCJMvdVHH/4cvvj+boUzg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - - '@opentelemetry/resources@1.13.0': - resolution: {integrity: sha512-euqjOkiN6xhjE//0vQYGvbStxoD/WWQRhDiO0OTLlnLBO9Yw2Gd/VoSx2H+svsebjzYk5OxLuREBmcdw6rbUNg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - - '@opentelemetry/resources@1.20.0': - resolution: {integrity: sha512-nOpV0vGegSq+9ze2cEDvO3BMA5pGBhmhKZiAlj+xQZjiEjPmJtdHIuBLRvptu2ahcbFJw85gIB9BYHZOvZK1JQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - - '@opentelemetry/sdk-logs@0.39.1': - resolution: {integrity: sha512-/gmgKfZ1ZVFporKuwsewqIyvaUIGpv76JZ7lBpHQQPb37IMpaXO6pdqFI4ebHAWfNIm3akMyhmdtzivcgF3lgw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.4.0 <1.5.0' - '@opentelemetry/api-logs': '>=0.38.0' - - '@opentelemetry/sdk-metrics@1.13.0': - resolution: {integrity: sha512-MOjZX6AnSOqLliCcZUrb+DQKjAWXBiGeICGbHAGe5w0BB18PJIeIo995lO5JSaFfHpmUMgJButTPfJJD27W3Vg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.5.0' - - '@opentelemetry/sdk-trace-base@1.13.0': - resolution: {integrity: sha512-moTiQtc0uPR1hQLt6gLDJH9IIkeBhgRb71OKjNHZPE1VF45fHtD6nBDi5J/DkTHTwYP5X3kBJLa3xN7ub6J4eg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.5.0' - - '@opentelemetry/sdk-trace-base@1.20.0': - resolution: {integrity: sha512-BAIZ0hUgnhdb3OBQjn1FKGz/Iwie4l+uOMKklP7FGh7PTqEAbbzDNMJKaZQh6KepF7Fq+CZDRKslD3yrYy2Tzw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - - '@opentelemetry/sdk-trace-node@1.20.0': - resolution: {integrity: sha512-3RRl4O63Wr/QyWhjreB7xilFhj3cQHWuMqESPwWHb7eJogNmjj1JQsRda/i8xj1Td4Bk+2ojC7aA8mwbKbEfPQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - - '@opentelemetry/semantic-conventions@1.13.0': - resolution: {integrity: sha512-LMGqfSZkaMQXqewO0o1wvWr/2fQdCh4a3Sqlxka/UsJCe0cfLulh6x2aqnKLnsrSGiCq5rSCwvINd152i0nCqw==} - engines: {node: '>=14'} - - '@opentelemetry/semantic-conventions@1.20.0': - resolution: {integrity: sha512-3zLJJCgTKYpbqFX8drl8hOCHtdchELC+kGqlVcV4mHW1DiElTtv1Nt9EKBptTd1IfL56QkuYnWJ3DeHd2Gtu/A==} - engines: {node: '>=14'} - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1316,38 +1262,11 @@ packages: plaiceholder: '>=3.0.0' sharp: '>= 0.30.6' - '@protobufjs/aspromise@1.1.2': - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} - - '@protobufjs/base64@1.1.2': - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - - '@protobufjs/codegen@2.0.4': - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - - '@protobufjs/eventemitter@1.1.0': - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@protobufjs/fetch@1.1.0': - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} - - '@protobufjs/float@1.0.2': - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - - '@protobufjs/inquire@1.1.0': - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - - '@protobufjs/path@1.1.2': - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} - - '@protobufjs/pool@1.1.0': - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - - '@protobufjs/utf8@1.1.0': - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - - '@rushstack/eslint-patch@1.7.0': - resolution: {integrity: sha512-Jh4t/593gxs0lJZ/z3NnasKlplXT2f+4y/LZYuaKZW5KAaiVFL/fThhs+17EbUd53jUVJ0QudYCBGbN/psvaqg==} + '@rushstack/eslint-patch@1.10.4': + resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} @@ -1427,14 +1346,26 @@ packages: resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} engines: {node: '>=14'} - '@swc/helpers@0.5.2': - resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.13': + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} '@tailwindcss/typography@0.5.10': resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' + '@trivago/prettier-plugin-sort-imports@4.3.0': + resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==} + peerDependencies: + '@vue/compiler-sfc': 3.x + prettier: 2.x - 3.x + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -1460,6 +1391,9 @@ packages: '@types/hast@3.0.3': resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1484,33 +1418,15 @@ packages: '@types/node@20.11.5': resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} - '@types/parse5@6.0.3': - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} '@types/prismjs@1.26.3': resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==} - '@types/prop-types@15.7.11': - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - - '@types/react-dom@18.2.18': - resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} - '@types/react-syntax-highlighter@15.5.11': resolution: {integrity: sha512-ZqIJl+Pg8kD+47kxUjvrlElrraSUrYa4h0dauY/U/FTUuprSCqvUj+9PNQNQzVc6AJgIWUUxn87/gqsMHNbRjw==} - '@types/react@18.2.48': - resolution: {integrity: sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==} - - '@types/resolve@1.20.6': - resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} - - '@types/scheduler@0.16.8': - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - '@types/semver@7.5.6': resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} @@ -1696,38 +1612,41 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - app-root-path@3.1.0: - resolution: {integrity: sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==} - engines: {node: '>= 6.0.0'} - arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + array-includes@3.1.7: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} - array-timsort@1.0.3: - resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} array.prototype.flat@1.3.2: @@ -1741,10 +1660,18 @@ packages: array.prototype.tosorted@1.1.2: resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.2: resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} @@ -1755,11 +1682,6 @@ packages: asynciterator.prototype@1.0.0: resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - autoprefixer@10.4.17: resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} engines: {node: ^10 || ^12 || >=14} @@ -1771,12 +1693,17 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axe-core@4.10.2: + resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} engines: {node: '>=4'} - axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} b4a@1.6.6: resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} @@ -1855,13 +1782,14 @@ packages: call-bind@1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} @@ -1910,19 +1838,13 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - clipanion@3.2.1: - resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} - peerDependencies: - typanion: '*' - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1946,6 +1868,9 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -1954,10 +1879,6 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - comment-json@4.2.3: - resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} - engines: {node: '>= 6'} - common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} @@ -1968,20 +1889,12 @@ packages: confusing-browser-globals@1.0.11: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} - contentlayer@0.3.4: - resolution: {integrity: sha512-FYDdTUFaN4yqep0waswrhcXjmMJnPD5iXDTtxcUCGdklfuIrXM2xLx51xl748cHmGA6IsC+27YZFxU6Ym13QIA==} - engines: {node: '>=14.18'} - hasBin: true - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} core-js-compat@3.35.0: resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cosmiconfig@8.3.6: resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} @@ -2010,9 +1923,6 @@ packages: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} - css@3.0.0: - resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} - cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -2028,9 +1938,17 @@ packages: damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} date-fns@2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} @@ -2056,10 +1974,6 @@ packages: decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -2079,6 +1993,10 @@ packages: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} @@ -2091,6 +2009,10 @@ packages: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -2162,23 +2084,53 @@ packages: resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + es-iterator-helpers@1.0.15: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + es-iterator-helpers@1.1.0: + resolution: {integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.2: resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} - es-shim-unscopables@1.0.2: + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} hasBin: true escalade@3.1.1: @@ -2222,10 +2174,10 @@ packages: eslint-plugin-react: ^7.28.0 eslint-plugin-react-hooks: ^4.3.0 - eslint-config-next@14.0.4: - resolution: {integrity: sha512-9/xbOHEQOmQtqvQ1UsTQZpnA7SlDMBtuKJ//S4JnoyK3oGLhILKXdBgu/UO7lQo/2xOykQULS1qQ6p2+EpHgAQ==} + eslint-config-next@15.0.1: + resolution: {integrity: sha512-3cYCrgbH6GS/ufApza7XCKz92vtq4dAdYhx++rMFNlH2cAV+/GsAKkrr4+bohYOACmzG2nAOR+uWprKC1Uld6A==} peerDependencies: - eslint: ^7.23.0 || ^8.0.0 + eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 typescript: '>=3.3.1' peerDependenciesMeta: typescript: @@ -2247,6 +2199,27 @@ packages: eslint: '*' eslint-plugin-import: '*' + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + eslint-module-utils@2.8.0: resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} @@ -2268,21 +2241,21 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-plugin-import@2.29.1: - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 peerDependenciesMeta: '@typescript-eslint/parser': optional: true - eslint-plugin-jsx-a11y@6.8.0: - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} engines: {node: '>=4.0'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 eslint-plugin-prettier@5.1.3: resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} @@ -2298,11 +2271,11 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-react-hooks@4.6.0: - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + eslint-plugin-react-hooks@5.0.0: + resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==} engines: {node: '>=10'} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 eslint-plugin-react@7.33.2: resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} @@ -2310,6 +2283,12 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-react@7.37.2: + resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + eslint-plugin-tailwindcss@3.14.0: resolution: {integrity: sha512-SGy4JmZoP5m1bXCbcsPfQg1/axOdriJf9L22HghNMyDTM5mybg2XEkaMwgax4aR13zZJRRB1nWmkuYUn+SV6/Q==} engines: {node: '>=12.13.0'} @@ -2333,11 +2312,6 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} @@ -2350,27 +2324,23 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-util-attach-comments@2.1.1: - resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} - estree-util-build-jsx@2.2.2: - resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} - estree-util-is-identifier-name@1.1.0: - resolution: {integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==} + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} - estree-util-is-identifier-name@2.1.0: - resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} + estree-util-scope@1.0.0: + resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} - estree-util-to-js@1.2.0: - resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==} + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - estree-util-value-to-estree@1.3.0: - resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} - engines: {node: '>=12.0.0'} - - estree-util-visit@1.2.1: - resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -2383,10 +2353,6 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -2399,6 +2365,10 @@ packages: fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -2412,13 +2382,6 @@ packages: fastq@1.16.0: resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2445,23 +2408,18 @@ packages: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@10.18.0: - resolution: {integrity: sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==} + framer-motion@11.11.10: + resolution: {integrity: sha512-061Bt1jL/vIm+diYIiA4dP/Yld7vD47ROextS7ESBW5hr4wQFhxB5D5T5zAc3c/5me3cOa+iO5LqhA38WDln/A==} peerDependencies: + '@emotion/is-prop-valid': '*' react: ^18.0.0 react-dom: ^18.0.0 peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true react: optional: true react-dom: @@ -2470,9 +2428,6 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-monkey@1.0.5: - resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2495,17 +2450,21 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + get-tsconfig@4.7.2: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} @@ -2526,17 +2485,11 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@10.3.10: resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true - glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -2552,6 +2505,10 @@ packages: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -2565,10 +2522,6 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - has-ansi@2.0.0: resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} engines: {node: '>=0.10.0'} @@ -2584,17 +2537,20 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-own-prop@2.0.0: - resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} - engines: {node: '>=8'} - has-property-descriptors@1.0.1: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} @@ -2603,19 +2559,21 @@ packages: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} - hash-wasm@4.11.0: - resolution: {integrity: sha512-HVusNXlVqHe0fzIzdQOGolnFN6mX/fqcrSAOcTBXdvzrXVHwTz11vXeKRmkR5gTuwVpvHZEIyKoePDvuAR+XwQ==} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + hast-util-from-html@2.0.1: resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} - hast-util-from-parse5@7.1.2: - resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} - hast-util-from-parse5@8.0.1: resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} @@ -2631,23 +2589,20 @@ packages: hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - hast-util-raw@7.2.3: - resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} - hast-util-to-estree@2.3.3: - resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} - - hast-util-to-html@8.0.4: - resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} - - hast-util-to-parse5@7.1.0: - resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} + hast-util-to-jsx-runtime@2.3.2: + resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==} hast-util-to-string@3.0.0: resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} - hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} hast@1.0.0: resolution: {integrity: sha512-vFUqlRV5C+xqP76Wwq2SrM0kipnmpxJm7OfvVXpB35Fp+Fn4MV+ozr+JZr5qFvyR1q/U+Foim2x+3P+x9S1PLA==} @@ -2659,11 +2614,9 @@ packages: hastscript@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} - highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - - html-void-elements@2.0.1: - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + highlight.js@11.9.0: + resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} + engines: {node: '>=12.0.0'} ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -2672,10 +2625,6 @@ packages: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} - imagescript@1.2.18: - resolution: {integrity: sha512-8AwTawraXovLo2PgKvFt96SZqJDwl0CnHDyrtoPUQHMmoA7u9M8EnqFZwCofSM+Uo623Z580iKW74bs2fzjoYQ==} - engines: {node: '>=14.0.0'} - import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -2688,10 +2637,6 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - inflection@2.0.1: - resolution: {integrity: sha512-wzkZHqpb4eGrOKBl34xy3umnYHx8Si5R1U4fwmdxLo5gdH6mEK8gclckTj/qWqy4Je0bsDYe/qazZYuO7xe3XQ==} - engines: {node: '>=14.0.0'} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} @@ -2704,10 +2649,17 @@ packages: inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + is-absolute-url@4.0.1: resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2721,6 +2673,10 @@ packages: is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -2753,6 +2709,14 @@ packages: is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -2760,10 +2724,6 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2793,6 +2753,10 @@ packages: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} @@ -2805,17 +2769,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - is-reference@3.0.2: - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -2826,6 +2783,10 @@ packages: is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -2838,6 +2799,10 @@ packages: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} @@ -2856,10 +2821,17 @@ packages: iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + iterator.prototype@1.1.3: + resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==} + engines: {node: '>= 0.4'} + jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} + javascript-natural-sort@0.7.1: + resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true @@ -2870,17 +2842,10 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsbi@4.3.0: - resolution: {integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==} - jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -2918,10 +2883,6 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -2961,9 +2922,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} @@ -2986,9 +2944,6 @@ packages: resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} engines: {node: '>= 0.6.0'} - long@5.2.3: - resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} - longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -2999,6 +2954,9 @@ packages: lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lowlight@3.1.0: + resolution: {integrity: sha512-CEbNVoSikAxwDMDPjXlqlFYiZLkDJHwyGu/MfOsJnF3d7f3tds5J3z8s/l9TMXhzfsJCCJEAsD78842mwmg0PQ==} + lru-cache@10.1.0: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} @@ -3015,16 +2973,13 @@ packages: peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 - markdown-extensions@1.1.1: - resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} - engines: {node: '>=0.10.0'} + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} - mdast-util-find-and-replace@2.2.2: resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} @@ -3034,8 +2989,8 @@ packages: mdast-util-from-markdown@1.3.1: resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} - mdast-util-frontmatter@1.0.1: - resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==} + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} mdast-util-gfm-autolink-literal@1.0.3: resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} @@ -3055,17 +3010,17 @@ packages: mdast-util-gfm@2.0.2: resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} - mdast-util-mdx-expression@1.3.2: - resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - mdast-util-mdx-jsx@2.1.4: - resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==} + mdast-util-mdx-jsx@3.1.3: + resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} - mdast-util-mdx@2.0.1: - resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==} + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} - mdast-util-mdxjs-esm@1.3.1: - resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} mdast-util-newline-to-break@2.0.0: resolution: {integrity: sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog==} @@ -3073,32 +3028,30 @@ packages: mdast-util-phrasing@3.0.1: resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} - mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} mdast-util-to-markdown@1.5.0: resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + mdast-util-to-string@3.2.0: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - mdx-bundler@9.2.1: - resolution: {integrity: sha512-hWEEip1KU9MCNqeH2rqwzAZ1pdqPPbfkx9OTJjADqGPQz4t9BO85fhI7AP9gVYrpmfArf9/xJZUN0yBErg/G/Q==} - engines: {node: '>=14', npm: '>=6'} - peerDependencies: - esbuild: 0.* - - memfs@3.6.0: - resolution: {integrity: sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==} - engines: {node: '>= 4.0.0'} - deprecated: this will be v4 - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -3106,8 +3059,8 @@ packages: micromark-core-commonmark@1.1.0: resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - micromark-extension-frontmatter@1.1.1: - resolution: {integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==} + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} micromark-extension-gfm-autolink-literal@1.0.5: resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} @@ -3130,87 +3083,147 @@ packages: micromark-extension-gfm@2.0.3: resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} - micromark-extension-mdx-expression@1.0.8: - resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==} + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} - micromark-extension-mdx-jsx@1.0.5: - resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} + micromark-extension-mdx-jsx@3.0.1: + resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} - micromark-extension-mdx-md@1.0.1: - resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==} + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} - micromark-extension-mdxjs-esm@1.0.5: - resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} - micromark-extension-mdxjs@1.0.1: - resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} micromark-factory-destination@1.1.0: resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + micromark-factory-label@1.1.0: resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - micromark-factory-mdx-expression@1.0.9: - resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-mdx-expression@2.0.2: + resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} micromark-factory-space@1.1.0: resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + micromark-factory-title@1.1.0: resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + micromark-factory-whitespace@1.1.0: resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + micromark-util-character@1.2.0: resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + micromark-util-chunked@1.1.0: resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + micromark-util-classify-character@1.1.0: resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + micromark-util-combine-extensions@1.1.0: resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + micromark-util-decode-numeric-character-reference@1.1.0: resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + micromark-util-decode-string@1.1.0: resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + micromark-util-encode@1.1.0: resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - micromark-util-events-to-acorn@1.2.3: - resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==} + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} micromark-util-html-tag-name@1.2.0: resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + micromark-util-normalize-identifier@1.1.0: resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + micromark-util-resolve-all@1.1.0: resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + micromark-util-sanitize-uri@1.2.0: resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-subtokenize@1.1.0: resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + micromark-util-symbol@1.1.0: resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + micromark-util-types@1.1.0: resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark@3.2.0: resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -3260,32 +3273,30 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - next-contentlayer@0.3.4: - resolution: {integrity: sha512-UtUCwgAl159KwfhNaOwyiI7Lg6sdioyKMeh+E7jxx0CJ29JuXGxBEYmCI6+72NxFGIFZKx8lvttbbQhbnYWYSw==} - peerDependencies: - contentlayer: 0.3.4 - next: ^12 || ^13 - react: '*' - react-dom: '*' - next-themes@0.3.0: resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} peerDependencies: react: ^16.8 || ^17 || ^18 react-dom: ^16.8 || ^17 || ^18 - next@14.0.4: - resolution: {integrity: sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==} - engines: {node: '>=18.17.0'} + next@15.0.1: + resolution: {integrity: sha512-PSkFkr/w7UnFWm+EP8y/QpHrJXMqpZzAXpergB/EqLPOh4SGPJXv1wj4mslr2hUZBAS9pX7/9YLIdxTv6fwytw==} + engines: {node: '>=18.18.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 + '@playwright/test': ^1.41.2 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 + react-dom: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true sass: optional: true @@ -3299,23 +3310,6 @@ packages: node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} @@ -3353,12 +3347,21 @@ packages: resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} - object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} object.hasown@1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} @@ -3367,13 +3370,13 @@ packages: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - oo-ascii-tree@1.94.0: - resolution: {integrity: sha512-i6UllReifEW2InBJHVFJNxrledRp3yr/yKVbpDmgWTguRe8/7BtBK3njzjvZNcPLEAtiWWxr0o9SpwYjapmTOw==} - engines: {node: '>= 14.17.0'} - optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -3400,15 +3403,9 @@ packages: parse-numeric-range@1.3.0: resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} - pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -3432,9 +3429,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -3455,6 +3449,10 @@ packages: peerDependencies: sharp: '>= 0.30.6' + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -3589,10 +3587,6 @@ packages: property-information@6.4.0: resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} - protobufjs@7.2.6: - resolution: {integrity: sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==} - engines: {node: '>=12.0.0'} - pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} @@ -3610,16 +3604,16 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-dom@18.2.0: - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + react-dom@19.0.0-rc-69d4b800-20241021: + resolution: {integrity: sha512-ZXBsP/kTDLI9QopUaUgYJhmmAhO8aKz7DCv2Ui2rA9boCfJ/dRRh6BlVidsyb2dPzG01rItdRFQqwbP+x9s5Rg==} peerDependencies: - react: ^18.2.0 + react: 19.0.0-rc-69d4b800-20241021 react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + react@19.0.0-rc-69d4b800-20241021: + resolution: {integrity: sha512-dXki4tN+rP+4xhsm65q/QI/19VCZdu5vPcy4h6zaJt20XP8/1r/LCwrLFYuj8hElbNz5AmxW6JtRa7ej0BzZdg==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -3633,6 +3627,18 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.0: + resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==} + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + reflect.getprototypeof@1.0.4: resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} engines: {node: '>= 0.4'} @@ -3657,6 +3663,10 @@ packages: resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} + engines: {node: '>= 0.4'} + regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} @@ -3675,47 +3685,35 @@ packages: rehype-external-links@3.0.0: resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} + rehype-highlight@7.0.1: + resolution: {integrity: sha512-dB/vVGFsbm7xPglqnYbg0ABg6rAuIWKycTvuXaOO27SgLoOFNoTlniTBtAxp3n5ZyMioW1a3KwiNqgjkb6Skjg==} + rehype-parse@9.0.0: resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} rehype-prism-plus@2.0.0: resolution: {integrity: sha512-FeM/9V2N7EvDZVdR2dqhAzlw5YI49m9Tgn7ZrYJeYHIahM6gcXpH0K1y2gNnKanZCydOMluJvX2cB9z3lhY8XQ==} + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + rehype-slug@6.0.0: resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} - rehype-stringify@9.0.4: - resolution: {integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==} - remark-breaks@4.0.0: resolution: {integrity: sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==} - remark-frontmatter@4.0.1: - resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==} - remark-gfm@3.0.1: resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} - remark-mdx-frontmatter@1.1.1: - resolution: {integrity: sha512-7teX9DW4tI2WZkXS4DBxneYSY7NHiXl4AKdWDO9LXVweULlCT8OPWsOjLEnMIXViN1j+QcY8mfbq3k0EK6x3uA==} - engines: {node: '>=12.2.0'} - - remark-mdx@2.3.0: - resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==} - - remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} - - remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + remark-mdx@3.1.0: + resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==} - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + remark-rehype@11.1.1: + resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} require-relative@0.8.7: resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} @@ -3754,6 +3752,10 @@ packages: resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3761,12 +3763,12 @@ packages: resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} engines: {node: '>= 0.4'} - scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} + scheduler@0.25.0-rc-69d4b800-20241021: + resolution: {integrity: sha512-S5AYX/YhMAN6u9AXgKYbZP4U4ZklC6R9Q7HmFSBk7d4DLiHVNxvAvlSvuM4nxFkwOk50MnpfTKQ7UWHXDOc9Eg==} semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -3777,6 +3779,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + server-only@0.0.1: resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} @@ -3784,14 +3791,26 @@ packages: resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} engines: {node: '>= 0.4'} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + sharp@0.32.6: resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} engines: {node: '>=14.15.0'} + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3803,6 +3822,10 @@ packages: side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -3832,13 +3855,13 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - source-map-resolve@0.6.0: - resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -3850,9 +3873,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -3868,19 +3888,41 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string.prototype.includes@2.0.1: + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} + engines: {node: '>= 0.4'} + string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + string.prototype.trim@1.2.8: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -3899,10 +3941,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -3918,13 +3956,16 @@ packages: style-to-object@0.4.4: resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} - styled-jsx@5.1.1: - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + style-to-object@1.0.8: + resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} + + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' babel-plugin-macros: '*' - 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': optional: true @@ -3960,20 +4001,10 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - sync-fetch@0.3.1: - resolution: {integrity: sha512-xj5qiCDap/03kpci5a+qc5wSJjc8ZSixgG2EUmH1B8Ea2sfWclQA7eH40hiHPCtkCn6MCk4Wb+dqcXdCy2PP3g==} - engines: {node: '>=8'} - synckit@0.8.8: resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} engines: {node: ^14.18.0 || >=16.0.0} - tailwind-highlightjs@2.0.1: - resolution: {integrity: sha512-kh9e/WEi9EkP4h9keWlwBAsDeSZ3YGyQJ7XexIw98mVIVUm418OTNPqvYouoTeByPPVvu7TH2sMEFKt1A04VcA==} - peerDependencies: - highlight.js: ^10.7.2 - tailwindcss: '>=3.0.0 || insiders' - tailwind-merge@2.5.4: resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} @@ -3999,6 +4030,11 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + terser@5.36.0: + resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} + engines: {node: '>=10'} + hasBin: true + text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -4017,12 +4053,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toml@3.0.0: - resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -4038,9 +4068,6 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - ts-pattern@4.3.0: - resolution: {integrity: sha512-pefrkcd4lmIVR0LA49Imjf9DYLK8vtWhqBPA3Ya1ir8xCW0O2yjL9dsCVvI7pCodLC5q7smNpEtDR2yVulQxOg==} - tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -4050,6 +4077,9 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.8.0: + resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} + tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -4059,9 +4089,6 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - typanion@3.14.0: - resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -4070,25 +4097,43 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - typed-array-buffer@1.0.0: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} engines: {node: '>= 0.4'} + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.0: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + types-react-dom@19.0.0-rc.1: + resolution: {integrity: sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==} + + types-react@19.0.0-rc.1: + resolution: {integrity: sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==} + typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} @@ -4130,8 +4175,8 @@ packages: unist-util-filter@5.0.1: resolution: {integrity: sha512-pHx7D4Zt6+TsfwylH9+lYhBhzyhEnCXs/lbq/Hstxno5z4gVdyc2WEW0asfjGKPyG4pEKrnBv5hdkO6+aRnQJw==} - unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} @@ -4139,14 +4184,11 @@ packages: unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - unist-util-position-from-estree@1.1.2: - resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} - - unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - unist-util-remove-position@4.0.2: - resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} @@ -4178,17 +4220,15 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - uvu@0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} engines: {node: '>=8'} hasBin: true - vfile-location@4.1.0: - resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + velite@0.2.0: + resolution: {integrity: sha512-j0K66PoG2KrJmRQ+6jNaJYipBVAlJ4LNvaiL7+m2uz4fHhIe09/Rt7DR83XnbUPlvtDH/3+7k6e3/possQEr8A==} + engines: {node: ^18.17.0 || >=20.3.0} + hasBin: true vfile-location@5.0.2: resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} @@ -4211,23 +4251,9 @@ packages: peerDependencies: eslint: '>=6.0.0' - watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - web-streams-polyfill@3.3.2: - resolution: {integrity: sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==} - engines: {node: '>= 8'} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -4242,6 +4268,10 @@ packages: resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} engines: {node: '>= 0.4'} + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -4258,10 +4288,6 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -4272,21 +4298,10 @@ packages: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -4328,6 +4343,12 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/generator@7.17.7': + dependencies: + '@babel/types': 7.23.6 + jsesc: 2.5.2 + source-map: 0.5.7 + '@babel/generator@7.23.6': dependencies: '@babel/types': 7.23.6 @@ -5060,7 +5081,7 @@ snapshots: '@babel/parser': 7.23.6 '@babel/types': 7.23.6 - '@babel/traverse@7.23.7': + '@babel/traverse@7.23.2': dependencies: '@babel/code-frame': 7.23.5 '@babel/generator': 7.23.6 @@ -5075,135 +5096,36 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.23.6': + '@babel/traverse@7.23.7': dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - '@contentlayer/cli@0.3.4(esbuild@0.18.20)': - dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.18.20) - '@contentlayer/utils': 0.3.4 - clipanion: 3.2.1(typanion@3.14.0) - typanion: 3.14.0 - transitivePeerDependencies: - - '@effect-ts/otel-node' - - esbuild - - markdown-wasm - - supports-color - - '@contentlayer/client@0.3.4(esbuild@0.18.20)': - dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.18.20) - transitivePeerDependencies: - - '@effect-ts/otel-node' - - esbuild - - markdown-wasm - - supports-color - - '@contentlayer/core@0.3.4(esbuild@0.18.20)': - dependencies: - '@contentlayer/utils': 0.3.4 - camel-case: 4.1.2 - comment-json: 4.2.3 - gray-matter: 4.0.3 - mdx-bundler: 9.2.1(esbuild@0.18.20) - rehype-stringify: 9.0.4 - remark-frontmatter: 4.0.1 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - source-map-support: 0.5.21 - type-fest: 3.13.1 - unified: 10.1.2 - optionalDependencies: - esbuild: 0.18.20 - transitivePeerDependencies: - - '@effect-ts/otel-node' - - supports-color - - '@contentlayer/source-files@0.3.4(esbuild@0.18.20)': - dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.18.20) - '@contentlayer/utils': 0.3.4 - chokidar: 3.5.3 - fast-glob: 3.3.2 - gray-matter: 4.0.3 - imagescript: 1.2.18 - micromatch: 4.0.5 - ts-pattern: 4.3.0 - unified: 10.1.2 - yaml: 2.3.4 - zod: 3.22.4 - transitivePeerDependencies: - - '@effect-ts/otel-node' - - esbuild - - markdown-wasm - - supports-color - - '@contentlayer/source-remote-files@0.3.4(esbuild@0.18.20)': - dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.18.20) - '@contentlayer/source-files': 0.3.4(esbuild@0.18.20) - '@contentlayer/utils': 0.3.4 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + debug: 4.3.4 + globals: 11.12.0 transitivePeerDependencies: - - '@effect-ts/otel-node' - - esbuild - - markdown-wasm - supports-color - '@contentlayer/utils@0.3.4': - dependencies: - '@effect-ts/core': 0.60.5 - '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1)) - '@effect-ts/otel-exporter-trace-otlp-grpc': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/exporter-trace-otlp-grpc@0.39.1(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1)) - '@effect-ts/otel-sdk-trace-node': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-node@1.20.0(@opentelemetry/api@1.4.1)) - '@js-temporal/polyfill': 0.4.4 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-grpc': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-node': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.20.0 - chokidar: 3.5.3 - hash-wasm: 4.11.0 - inflection: 2.0.1 - memfs: 3.6.0 - oo-ascii-tree: 1.94.0 - ts-pattern: 4.3.0 - type-fest: 3.13.1 - - '@effect-ts/core@0.60.5': + '@babel/types@7.17.0': dependencies: - '@effect-ts/system': 0.57.5 - - '@effect-ts/otel-exporter-trace-otlp-grpc@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/exporter-trace-otlp-grpc@0.39.1(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1))': - dependencies: - '@effect-ts/core': 0.60.5 - '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1)) - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/exporter-trace-otlp-grpc': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.20.0(@opentelemetry/api@1.4.1) + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 - '@effect-ts/otel-sdk-trace-node@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-node@1.20.0(@opentelemetry/api@1.4.1))': + '@babel/types@7.23.6': dependencies: - '@effect-ts/core': 0.60.5 - '@effect-ts/otel': 0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1)) - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-node': 1.20.0(@opentelemetry/api@1.4.1) + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 - '@effect-ts/otel@0.15.1(@effect-ts/core@0.60.5)(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1))(@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1))': + '@emnapi/runtime@1.3.1': dependencies: - '@effect-ts/core': 0.60.5 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.20.0(@opentelemetry/api@1.4.1) - - '@effect-ts/system@0.57.5': {} + tslib: 2.8.0 + optional: true '@emotion/is-prop-valid@0.8.8': dependencies: @@ -5213,80 +5135,76 @@ snapshots: '@emotion/memoize@0.7.4': optional: true - '@esbuild-plugins/node-resolve@0.1.4(esbuild@0.18.20)': - dependencies: - '@types/resolve': 1.20.6 - debug: 4.3.4 - esbuild: 0.18.20 - escape-string-regexp: 4.0.0 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color + '@esbuild/aix-ppc64@0.24.0': + optional: true + + '@esbuild/android-arm64@0.24.0': + optional: true - '@esbuild/android-arm64@0.18.20': + '@esbuild/android-arm@0.24.0': optional: true - '@esbuild/android-arm@0.18.20': + '@esbuild/android-x64@0.24.0': optional: true - '@esbuild/android-x64@0.18.20': + '@esbuild/darwin-arm64@0.24.0': optional: true - '@esbuild/darwin-arm64@0.18.20': + '@esbuild/darwin-x64@0.24.0': optional: true - '@esbuild/darwin-x64@0.18.20': + '@esbuild/freebsd-arm64@0.24.0': optional: true - '@esbuild/freebsd-arm64@0.18.20': + '@esbuild/freebsd-x64@0.24.0': optional: true - '@esbuild/freebsd-x64@0.18.20': + '@esbuild/linux-arm64@0.24.0': optional: true - '@esbuild/linux-arm64@0.18.20': + '@esbuild/linux-arm@0.24.0': optional: true - '@esbuild/linux-arm@0.18.20': + '@esbuild/linux-ia32@0.24.0': optional: true - '@esbuild/linux-ia32@0.18.20': + '@esbuild/linux-loong64@0.24.0': optional: true - '@esbuild/linux-loong64@0.18.20': + '@esbuild/linux-mips64el@0.24.0': optional: true - '@esbuild/linux-mips64el@0.18.20': + '@esbuild/linux-ppc64@0.24.0': optional: true - '@esbuild/linux-ppc64@0.18.20': + '@esbuild/linux-riscv64@0.24.0': optional: true - '@esbuild/linux-riscv64@0.18.20': + '@esbuild/linux-s390x@0.24.0': optional: true - '@esbuild/linux-s390x@0.18.20': + '@esbuild/linux-x64@0.24.0': optional: true - '@esbuild/linux-x64@0.18.20': + '@esbuild/netbsd-x64@0.24.0': optional: true - '@esbuild/netbsd-x64@0.18.20': + '@esbuild/openbsd-arm64@0.24.0': optional: true - '@esbuild/openbsd-x64@0.18.20': + '@esbuild/openbsd-x64@0.24.0': optional: true - '@esbuild/sunos-x64@0.18.20': + '@esbuild/sunos-x64@0.24.0': optional: true - '@esbuild/win32-arm64@0.18.20': + '@esbuild/win32-arm64@0.24.0': optional: true - '@esbuild/win32-ia32@0.18.20': + '@esbuild/win32-ia32@0.24.0': optional: true - '@esbuild/win32-x64@0.18.20': + '@esbuild/win32-x64@0.24.0': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@8.56.0)': @@ -5312,29 +5230,15 @@ snapshots: '@eslint/js@8.56.0': {} - '@fal-works/esbuild-plugin-global-externals@2.1.2': {} - - '@giscus/react@2.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@giscus/react@2.4.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)': dependencies: giscus: 1.4.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@grpc/grpc-js@1.9.14': - dependencies: - '@grpc/proto-loader': 0.7.10 - '@types/node': 20.11.5 - - '@grpc/proto-loader@0.7.10': - dependencies: - lodash.camelcase: 4.3.0 - long: 5.2.3 - protobufjs: 7.2.6 - yargs: 17.7.2 + react: 19.0.0-rc-69d4b800-20241021 + react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021) - '@heroicons/react@2.1.1(react@18.2.0)': + '@heroicons/react@2.1.1(react@19.0.0-rc-69d4b800-20241021)': dependencies: - react: 18.2.0 + react: 19.0.0-rc-69d4b800-20241021 '@humanwhocodes/config-array@0.11.14': dependencies: @@ -5348,6 +5252,81 @@ snapshots: '@humanwhocodes/object-schema@2.0.2': {} + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.3.1 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5363,10 +5342,23 @@ snapshots: '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/resolve-uri@3.1.1': {} '@jridgewell/set-array@1.1.2': {} + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/sourcemap-codec@1.4.15': {} '@jridgewell/trace-mapping@0.3.21': @@ -5374,10 +5366,10 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@js-temporal/polyfill@0.4.4': + '@jridgewell/trace-mapping@0.3.25': dependencies: - jsbi: 4.3.0 - tslib: 2.6.2 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 '@lit-labs/ssr-dom-shim@1.1.2': {} @@ -5385,68 +5377,64 @@ snapshots: dependencies: '@lit-labs/ssr-dom-shim': 1.1.2 - '@mdx-js/esbuild@2.3.0(esbuild@0.18.20)': - dependencies: - '@mdx-js/mdx': 2.3.0 - esbuild: 0.18.20 - node-fetch: 3.3.2 - vfile: 5.3.7 - transitivePeerDependencies: - - supports-color - - '@mdx-js/mdx@2.3.0': + '@mdx-js/mdx@3.1.0(acorn@8.11.3)': dependencies: + '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 '@types/mdx': 2.0.12 - estree-util-build-jsx: 2.2.2 - estree-util-is-identifier-name: 2.1.0 - estree-util-to-js: 1.2.0 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.0 estree-walker: 3.0.3 - hast-util-to-estree: 2.3.3 - markdown-extensions: 1.1.1 - periscopic: 3.1.0 - remark-mdx: 2.3.0 - remark-parse: 10.0.2 - remark-rehype: 10.1.0 - unified: 10.1.2 - unist-util-position-from-estree: 1.1.2 - unist-util-stringify-position: 3.0.3 - unist-util-visit: 4.1.2 - vfile: 5.3.7 + hast-util-to-jsx-runtime: 2.3.2 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.0(acorn@8.11.3) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.1 + source-map: 0.7.4 + unified: 11.0.4 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 transitivePeerDependencies: + - acorn - supports-color - '@next/env@14.0.4': {} + '@next/env@15.0.1': {} - '@next/eslint-plugin-next@14.0.4': + '@next/eslint-plugin-next@15.0.1': dependencies: - glob: 7.1.7 + fast-glob: 3.3.1 - '@next/swc-darwin-arm64@14.0.4': + '@next/swc-darwin-arm64@15.0.1': optional: true - '@next/swc-darwin-x64@14.0.4': + '@next/swc-darwin-x64@15.0.1': optional: true - '@next/swc-linux-arm64-gnu@14.0.4': + '@next/swc-linux-arm64-gnu@15.0.1': optional: true - '@next/swc-linux-arm64-musl@14.0.4': + '@next/swc-linux-arm64-musl@15.0.1': optional: true - '@next/swc-linux-x64-gnu@14.0.4': + '@next/swc-linux-x64-gnu@15.0.1': optional: true - '@next/swc-linux-x64-musl@14.0.4': + '@next/swc-linux-x64-musl@15.0.1': optional: true - '@next/swc-win32-arm64-msvc@14.0.4': + '@next/swc-win32-arm64-msvc@15.0.1': optional: true - '@next/swc-win32-ia32-msvc@14.0.4': - optional: true - - '@next/swc-win32-x64-msvc@14.0.4': + '@next/swc-win32-x64-msvc@15.0.1': optional: true '@nodelib/fs.scandir@2.1.5': @@ -5461,158 +5449,23 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.16.0 - '@opentelemetry/api-logs@0.39.1': - dependencies: - '@opentelemetry/api': 1.4.1 - - '@opentelemetry/api@1.4.1': {} - - '@opentelemetry/context-async-hooks@1.20.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - - '@opentelemetry/core@1.13.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/semantic-conventions': 1.13.0 - - '@opentelemetry/core@1.20.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/semantic-conventions': 1.20.0 - - '@opentelemetry/exporter-trace-otlp-grpc@0.39.1(@opentelemetry/api@1.4.1)': - dependencies: - '@grpc/grpc-js': 1.9.14 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-grpc-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-transformer': 0.39.1(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - - '@opentelemetry/otlp-exporter-base@0.39.1(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - - '@opentelemetry/otlp-grpc-exporter-base@0.39.1(@opentelemetry/api@1.4.1)': - dependencies: - '@grpc/grpc-js': 1.9.14 - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/otlp-exporter-base': 0.39.1(@opentelemetry/api@1.4.1) - protobufjs: 7.2.6 - - '@opentelemetry/otlp-transformer@0.39.1(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.39.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-logs': 0.39.1(@opentelemetry/api-logs@0.39.1)(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-metrics': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.13.0(@opentelemetry/api@1.4.1) - - '@opentelemetry/propagator-b3@1.20.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - - '@opentelemetry/propagator-jaeger@1.20.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - - '@opentelemetry/resources@1.13.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.13.0 - - '@opentelemetry/resources@1.20.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.20.0 - - '@opentelemetry/sdk-logs@0.39.1(@opentelemetry/api-logs@0.39.1)(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/api-logs': 0.39.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - - '@opentelemetry/sdk-metrics@1.13.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - lodash.merge: 4.6.2 - - '@opentelemetry/sdk-trace-base@1.13.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.13.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.13.0 - - '@opentelemetry/sdk-trace-base@1.20.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/resources': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/semantic-conventions': 1.20.0 - - '@opentelemetry/sdk-trace-node@1.20.0(@opentelemetry/api@1.4.1)': - dependencies: - '@opentelemetry/api': 1.4.1 - '@opentelemetry/context-async-hooks': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/core': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/propagator-b3': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/propagator-jaeger': 1.20.0(@opentelemetry/api@1.4.1) - '@opentelemetry/sdk-trace-base': 1.20.0(@opentelemetry/api@1.4.1) - semver: 7.5.4 - - '@opentelemetry/semantic-conventions@1.13.0': {} - - '@opentelemetry/semantic-conventions@1.20.0': {} + '@opentelemetry/api@1.4.1': + optional: true '@pkgjs/parseargs@0.11.0': optional: true '@pkgr/core@0.1.1': {} - '@plaiceholder/next@3.0.0(next@14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(plaiceholder@3.0.0(sharp@0.32.6))(sharp@0.32.6)': + '@plaiceholder/next@3.0.0(next@15.0.1(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(plaiceholder@3.0.0(sharp@0.32.6))(sharp@0.32.6)': dependencies: - next: 14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next: 15.0.1(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) plaiceholder: 3.0.0(sharp@0.32.6) sharp: 0.32.6 - '@protobufjs/aspromise@1.1.2': {} + '@rtsao/scc@1.1.0': {} - '@protobufjs/base64@1.1.2': {} - - '@protobufjs/codegen@2.0.4': {} - - '@protobufjs/eventemitter@1.1.0': {} - - '@protobufjs/fetch@1.1.0': - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 - - '@protobufjs/float@1.0.2': {} - - '@protobufjs/inquire@1.1.0': {} - - '@protobufjs/path@1.1.2': {} - - '@protobufjs/pool@1.1.0': {} - - '@protobufjs/utf8@1.1.0': {} - - '@rushstack/eslint-patch@1.7.0': {} + '@rushstack/eslint-patch@1.10.4': {} '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.23.7)': dependencies: @@ -5707,9 +5560,11 @@ snapshots: - supports-color - typescript - '@swc/helpers@0.5.2': + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.13': dependencies: - tslib: 2.6.2 + tslib: 2.8.0 '@tailwindcss/typography@0.5.10(tailwindcss@3.4.14)': dependencies: @@ -5719,6 +5574,18 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 3.4.14 + '@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.2.4)': + dependencies: + '@babel/generator': 7.17.7 + '@babel/parser': 7.23.6 + '@babel/traverse': 7.23.2 + '@babel/types': 7.17.0 + javascript-natural-sort: 0.7.1 + lodash: 4.17.21 + prettier: 3.2.4 + transitivePeerDependencies: + - supports-color + '@trysound/sax@0.2.0': {} '@types/acorn@4.0.6': @@ -5748,6 +5615,10 @@ snapshots: dependencies: '@types/unist': 3.0.2 + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + '@types/json-schema@7.0.15': {} '@types/json5@0.0.29': {} @@ -5770,31 +5641,13 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/parse5@6.0.3': {} - '@types/prettier@2.7.3': {} '@types/prismjs@1.26.3': {} - '@types/prop-types@15.7.11': {} - - '@types/react-dom@18.2.18': - dependencies: - '@types/react': 18.2.48 - '@types/react-syntax-highlighter@15.5.11': dependencies: - '@types/react': 18.2.48 - - '@types/react@18.2.48': - dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 - csstype: 3.1.3 - - '@types/resolve@1.20.6': {} - - '@types/scheduler@0.16.8': {} + '@types/react': types-react@19.0.0-rc.1 '@types/semver@7.5.6': {} @@ -5936,10 +5789,10 @@ snapshots: dependencies: server-only: 0.0.1 - '@vercel/speed-insights@1.0.10(next@14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': + '@vercel/speed-insights@1.0.10(next@15.0.1(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021)': optionalDependencies: - next: 14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 + next: 15.0.1(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) + react: 19.0.0-rc-69d4b800-20241021 acorn-jsx@5.3.2(acorn@8.11.3): dependencies: @@ -5981,25 +5834,22 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - app-root-path@3.1.0: {} - arg@5.0.2: {} - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - argparse@2.0.1: {} - aria-query@5.3.0: - dependencies: - dequal: 2.0.3 + aria-query@5.3.2: {} array-buffer-byte-length@1.0.0: dependencies: call-bind: 1.0.5 is-array-buffer: 3.0.2 + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + array-includes@3.1.7: dependencies: call-bind: 1.0.5 @@ -6008,17 +5858,34 @@ snapshots: get-intrinsic: 1.2.2 is-string: 1.0.7 - array-timsort@1.0.3: {} + array-includes@3.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 array-union@2.1.0: {} - array.prototype.findlastindex@1.2.3: + array.prototype.findlast@1.2.5: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 array.prototype.flat@1.3.2: dependencies: @@ -6042,6 +5909,14 @@ snapshots: es-shim-unscopables: 1.0.2 get-intrinsic: 1.2.2 + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + arraybuffer.prototype.slice@1.0.2: dependencies: array-buffer-byte-length: 1.0.0 @@ -6052,6 +5927,17 @@ snapshots: is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + ast-types-flow@0.0.8: {} astring@1.8.6: {} @@ -6060,8 +5946,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - atob@2.1.2: {} - autoprefixer@10.4.17(postcss@8.4.33): dependencies: browserslist: 4.22.2 @@ -6074,11 +5958,13 @@ snapshots: available-typed-arrays@1.0.5: {} - axe-core@4.7.0: {} - - axobject-query@3.2.1: + available-typed-arrays@1.0.7: dependencies: - dequal: 2.0.3 + possible-typed-array-names: 1.0.0 + + axe-core@4.10.2: {} + + axobject-query@4.1.0: {} b4a@1.6.6: {} @@ -6178,12 +6064,15 @@ snapshots: get-intrinsic: 1.2.2 set-function-length: 1.2.0 - callsites@3.1.0: {} - - camel-case@4.1.2: + call-bind@1.0.7: dependencies: - pascal-case: 3.1.2 - tslib: 2.6.2 + 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.2 + + callsites@3.1.0: {} camelcase-css@2.0.1: {} @@ -6236,18 +6125,10 @@ snapshots: client-only@0.0.1: {} - clipanion@3.2.1(typanion@3.14.0): - dependencies: - typanion: 3.14.0 - - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - clsx@2.1.1: {} + collapse-white-space@2.1.0: {} + color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -6272,46 +6153,24 @@ snapshots: comma-separated-tokens@2.0.3: {} + commander@2.20.3: {} + commander@4.1.1: {} commander@7.2.0: {} - comment-json@4.2.3: - dependencies: - array-timsort: 1.0.3 - core-util-is: 1.0.3 - esprima: 4.0.1 - has-own-prop: 2.0.0 - repeat-string: 1.6.1 - common-tags@1.8.2: {} concat-map@0.0.1: {} confusing-browser-globals@1.0.11: {} - contentlayer@0.3.4(esbuild@0.18.20): - dependencies: - '@contentlayer/cli': 0.3.4(esbuild@0.18.20) - '@contentlayer/client': 0.3.4(esbuild@0.18.20) - '@contentlayer/core': 0.3.4(esbuild@0.18.20) - '@contentlayer/source-files': 0.3.4(esbuild@0.18.20) - '@contentlayer/source-remote-files': 0.3.4(esbuild@0.18.20) - '@contentlayer/utils': 0.3.4 - transitivePeerDependencies: - - '@effect-ts/otel-node' - - esbuild - - markdown-wasm - - supports-color - convert-source-map@2.0.0: {} core-js-compat@3.35.0: dependencies: browserslist: 4.22.2 - core-util-is@1.0.3: {} - cosmiconfig@8.3.6(typescript@5.3.3): dependencies: import-fresh: 3.3.0 @@ -6347,12 +6206,6 @@ snapshots: css-what@6.1.0: {} - css@3.0.0: - dependencies: - inherits: 2.0.4 - source-map: 0.6.1 - source-map-resolve: 0.6.0 - cssesc@3.0.0: {} csso@5.0.5: @@ -6363,7 +6216,23 @@ snapshots: damerau-levenshtein@1.0.8: {} - data-uri-to-buffer@4.0.1: {} + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 date-fns@2.30.0: dependencies: @@ -6381,8 +6250,6 @@ snapshots: dependencies: character-entities: 2.0.2 - decode-uri-component@0.2.2: {} - decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -6399,6 +6266,12 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.1 + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + define-properties@1.2.1: dependencies: define-data-property: 1.1.1 @@ -6409,6 +6282,8 @@ snapshots: detect-libc@2.0.2: {} + detect-libc@2.0.3: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -6452,7 +6327,7 @@ snapshots: dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.0 eastasianwidth@0.2.0: {} @@ -6519,6 +6394,61 @@ snapshots: unbox-primitive: 1.0.2 which-typed-array: 1.1.13 + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + 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 + 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 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + 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 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.3 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + 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 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + es-iterator-helpers@1.0.15: dependencies: asynciterator.prototype: 1.0.0 @@ -6536,12 +6466,39 @@ snapshots: iterator.prototype: 1.1.2 safe-array-concat: 1.1.0 + es-iterator-helpers@1.1.0: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + 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.3 + safe-array-concat: 1.1.2 + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + es-set-tostringtag@2.0.2: dependencies: get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 hasown: 2.0.0 + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + es-shim-unscopables@1.0.2: dependencies: hasown: 2.0.0 @@ -6552,30 +6509,46 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - esbuild@0.18.20: + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.3 + acorn: 8.11.3 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.2 + + esbuild@0.24.0: optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 escalade@3.1.1: {} @@ -6585,46 +6558,47 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0): + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0): dependencies: confusing-browser-globals: 1.0.11 eslint: 8.56.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) object.assign: 4.1.5 object.entries: 1.1.7 semver: 6.3.1 - eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0)(typescript@5.3.3))(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0): + eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0)(typescript@5.3.3))(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0): dependencies: '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-config-airbnb@19.0.4(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0))(eslint-plugin-react-hooks@4.6.0(eslint@8.56.0))(eslint-plugin-react@7.33.2(eslint@8.56.0))(eslint@8.56.0): + eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint-plugin-jsx-a11y@6.10.2(eslint@8.56.0))(eslint-plugin-react-hooks@5.0.0(eslint@8.56.0))(eslint-plugin-react@7.33.2(eslint@8.56.0))(eslint@8.56.0): dependencies: eslint: 8.56.0 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0))(eslint@8.56.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-jsx-a11y: 6.10.2(eslint@8.56.0) eslint-plugin-react: 7.33.2(eslint@8.56.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) + eslint-plugin-react-hooks: 5.0.0(eslint@8.56.0) object.assign: 4.1.5 object.entries: 1.1.7 - eslint-config-next@14.0.4(eslint@8.56.0)(typescript@5.3.3): + eslint-config-next@15.0.1(eslint@8.56.0)(typescript@5.3.3): dependencies: - '@next/eslint-plugin-next': 14.0.4 - '@rushstack/eslint-patch': 1.7.0 + '@next/eslint-plugin-next': 15.0.1 + '@rushstack/eslint-patch': 1.10.4 + '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) - eslint-plugin-react: 7.33.2(eslint@8.56.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.56.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-jsx-a11y: 6.10.2(eslint@8.56.0) + eslint-plugin-react: 7.37.2(eslint@8.56.0) + eslint-plugin-react-hooks: 5.0.0(eslint@8.56.0) optionalDependencies: typescript: 5.3.3 transitivePeerDependencies: @@ -6643,13 +6617,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.56.0): dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0))(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.56.0))(eslint@8.56.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -6660,36 +6634,49 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0))(eslint@8.56.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.56.0))(eslint@8.56.0): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.56.0) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.56.0))(eslint@8.56.0): dependencies: - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.56.0) + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + 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 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0))(eslint@8.56.0) - hasown: 2.0.0 - is-core-module: 2.13.1 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.56.0))(eslint@8.56.0) + hasown: 2.0.2 + is-core-module: 2.15.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 + string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) @@ -6698,25 +6685,24 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): + eslint-plugin-jsx-a11y@6.10.2(eslint@8.56.0): dependencies: - '@babel/runtime': 7.23.8 - aria-query: 5.3.0 - array-includes: 3.1.7 + aria-query: 5.3.2 + array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 + axe-core: 4.10.2 + axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.15 eslint: 8.56.0 - hasown: 2.0.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 + object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.1 eslint-plugin-prettier@5.1.3(@types/eslint@8.56.2)(eslint-config-prettier@9.1.0(eslint@8.56.0))(eslint@8.56.0)(prettier@3.2.4): dependencies: @@ -6728,7 +6714,7 @@ snapshots: '@types/eslint': 8.56.2 eslint-config-prettier: 9.1.0(eslint@8.56.0) - eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): + eslint-plugin-react-hooks@5.0.0(eslint@8.56.0): dependencies: eslint: 8.56.0 @@ -6752,6 +6738,28 @@ snapshots: semver: 6.3.1 string.prototype.matchall: 4.0.10 + eslint-plugin-react@7.37.2(eslint@8.56.0): + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.1.0 + eslint: 8.56.0 + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 + eslint-plugin-tailwindcss@3.14.0(tailwindcss@3.4.14): dependencies: fast-glob: 3.3.2 @@ -6814,8 +6822,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 - esprima@4.0.1: {} - esquery@1.5.0: dependencies: estraverse: 5.3.0 @@ -6826,34 +6832,34 @@ snapshots: estraverse@5.3.0: {} - estree-util-attach-comments@2.1.1: + estree-util-attach-comments@3.0.0: dependencies: '@types/estree': 1.0.5 - estree-util-build-jsx@2.2.2: + estree-util-build-jsx@3.0.1: dependencies: '@types/estree-jsx': 1.0.3 - estree-util-is-identifier-name: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 estree-walker: 3.0.3 - estree-util-is-identifier-name@1.1.0: {} + estree-util-is-identifier-name@3.0.0: {} - estree-util-is-identifier-name@2.1.0: {} + estree-util-scope@1.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 - estree-util-to-js@1.2.0: + estree-util-to-js@2.0.0: dependencies: '@types/estree-jsx': 1.0.3 astring: 1.8.6 source-map: 0.7.4 - estree-util-value-to-estree@1.3.0: - dependencies: - is-plain-obj: 3.0.0 - - estree-util-visit@1.2.1: + estree-util-visit@2.0.0: dependencies: '@types/estree-jsx': 1.0.3 - '@types/unist': 2.0.10 + '@types/unist': 3.0.2 estree-walker@3.0.3: dependencies: @@ -6863,10 +6869,6 @@ snapshots: expand-template@2.0.3: {} - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - extend@3.0.2: {} fast-deep-equal@3.1.3: {} @@ -6875,6 +6877,14 @@ snapshots: fast-fifo@1.3.2: {} + fast-glob@3.3.1: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6891,15 +6901,6 @@ snapshots: dependencies: reusify: 1.0.4 - fault@2.0.1: - dependencies: - format: 0.2.2 - - fetch-blob@3.2.0: - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.2 - file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -6930,26 +6931,18 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - format@0.2.2: {} - - formdata-polyfill@4.0.10: - dependencies: - fetch-blob: 3.2.0 - fraction.js@4.3.7: {} - framer-motion@10.18.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + framer-motion@11.11.10(@emotion/is-prop-valid@0.8.8)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021): dependencies: - tslib: 2.6.2 + tslib: 2.8.0 optionalDependencies: '@emotion/is-prop-valid': 0.8.8 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.0.0-rc-69d4b800-20241021 + react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021) fs-constants@1.0.0: {} - fs-monkey@1.0.5: {} - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -6968,8 +6961,6 @@ snapshots: gensync@1.0.0-beta.2: {} - get-caller-file@2.0.5: {} - get-intrinsic@1.2.2: dependencies: function-bind: 1.1.2 @@ -6977,11 +6968,25 @@ snapshots: has-symbols: 1.0.3 hasown: 2.0.0 + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.2 + get-symbol-description@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 + get-symbol-description@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + get-tsconfig@4.7.2: dependencies: resolve-pkg-maps: 1.0.0 @@ -7002,8 +7007,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-to-regexp@0.4.1: {} - glob@10.3.10: dependencies: foreground-child: 3.1.1 @@ -7012,15 +7015,6 @@ snapshots: minipass: 7.0.4 path-scurry: 1.10.1 - glob@7.1.7: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -7040,6 +7034,11 @@ snapshots: dependencies: define-properties: 1.2.1 + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -7057,13 +7056,6 @@ snapshots: graphemer@1.4.0: {} - gray-matter@4.0.3: - dependencies: - js-yaml: 3.14.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - has-ansi@2.0.0: dependencies: ansi-regex: 2.1.1 @@ -7074,48 +7066,48 @@ snapshots: has-flag@4.0.0: {} - has-own-prop@2.0.0: {} - has-property-descriptors@1.0.1: dependencies: get-intrinsic: 1.2.2 + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + has-proto@1.0.1: {} + has-proto@1.0.3: {} + has-symbols@1.0.3: {} has-tostringtag@1.0.0: dependencies: has-symbols: 1.0.3 - hash-wasm@4.11.0: {} + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 hasown@2.0.0: dependencies: function-bind: 1.1.2 + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + hast-util-from-html@2.0.1: dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 devlop: 1.1.0 hast-util-from-parse5: 8.0.1 parse5: 7.1.2 vfile: 6.0.1 vfile-message: 4.0.2 - hast-util-from-parse5@7.1.2: - dependencies: - '@types/hast': 2.3.9 - '@types/unist': 2.0.10 - hastscript: 7.2.0 - property-information: 6.4.0 - vfile: 5.3.7 - vfile-location: 4.1.0 - web-namespaces: 2.0.1 - hast-util-from-parse5@8.0.1: dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/unist': 3.0.2 devlop: 1.1.0 hastscript: 8.0.0 @@ -7138,70 +7130,63 @@ snapshots: hast-util-parse-selector@4.0.0: dependencies: - '@types/hast': 3.0.3 - - hast-util-raw@7.2.3: - dependencies: - '@types/hast': 2.3.9 - '@types/parse5': 6.0.3 - hast-util-from-parse5: 7.1.2 - hast-util-to-parse5: 7.1.0 - html-void-elements: 2.0.1 - parse5: 6.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 - vfile: 5.3.7 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + '@types/hast': 3.0.4 - hast-util-to-estree@2.3.3: + hast-util-to-estree@3.1.0: dependencies: '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.9 - '@types/unist': 2.0.10 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 - estree-util-attach-comments: 2.1.1 - estree-util-is-identifier-name: 2.1.0 - hast-util-whitespace: 2.0.1 - mdast-util-mdx-expression: 1.3.2 - mdast-util-mdxjs-esm: 1.3.1 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 property-information: 6.4.0 space-separated-tokens: 2.0.2 style-to-object: 0.4.4 - unist-util-position: 4.0.4 + unist-util-position: 5.0.0 zwitch: 2.0.4 transitivePeerDependencies: - supports-color - hast-util-to-html@8.0.4: - dependencies: - '@types/hast': 2.3.9 - '@types/unist': 2.0.10 - ccount: 2.0.1 - comma-separated-tokens: 2.0.3 - hast-util-raw: 7.2.3 - hast-util-whitespace: 2.0.1 - html-void-elements: 2.0.1 - property-information: 6.4.0 - space-separated-tokens: 2.0.2 - stringify-entities: 4.0.3 - zwitch: 2.0.4 - - hast-util-to-parse5@7.1.0: + hast-util-to-jsx-runtime@2.3.2: dependencies: - '@types/hast': 2.3.9 + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 property-information: 6.4.0 space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 + style-to-object: 1.0.8 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color hast-util-to-string@3.0.0: dependencies: '@types/hast': 3.0.3 - hast-util-whitespace@2.0.1: {} + hast-util-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 hast@1.0.0: {} @@ -7215,22 +7200,18 @@ snapshots: hastscript@8.0.0: dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 property-information: 6.4.0 space-separated-tokens: 2.0.2 - highlight.js@10.7.3: {} - - html-void-elements@2.0.1: {} + highlight.js@11.9.0: {} ieee754@1.2.1: {} ignore@5.3.0: {} - imagescript@1.2.18: {} - import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -7240,8 +7221,6 @@ snapshots: indent-string@4.0.0: {} - inflection@2.0.1: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -7253,12 +7232,20 @@ snapshots: inline-style-parser@0.1.1: {} + inline-style-parser@0.2.4: {} + internal-slot@1.0.6: dependencies: get-intrinsic: 1.2.2 hasown: 2.0.0 side-channel: 1.0.4 + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + is-absolute-url@4.0.1: {} is-alphabetical@2.0.1: {} @@ -7274,6 +7261,11 @@ snapshots: get-intrinsic: 1.2.2 is-typed-array: 1.1.12 + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + is-arrayish@0.2.1: {} is-arrayish@0.3.2: {} @@ -7303,14 +7295,20 @@ snapshots: dependencies: hasown: 2.0.0 + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.0 is-decimal@2.0.1: {} - is-extendable@0.1.1: {} - is-extglob@2.1.1: {} is-finalizationregistry@1.0.2: @@ -7333,6 +7331,8 @@ snapshots: is-negative-zero@2.0.2: {} + is-negative-zero@2.0.3: {} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.0 @@ -7341,14 +7341,8 @@ snapshots: is-path-inside@3.0.3: {} - is-plain-obj@3.0.0: {} - is-plain-obj@4.1.0: {} - is-reference@3.0.2: - dependencies: - '@types/estree': 1.0.5 - is-regex@1.1.4: dependencies: call-bind: 1.0.5 @@ -7360,6 +7354,10 @@ snapshots: dependencies: call-bind: 1.0.5 + is-shared-array-buffer@1.0.3: + dependencies: + call-bind: 1.0.7 + is-string@1.0.7: dependencies: has-tostringtag: 1.0.0 @@ -7372,6 +7370,10 @@ snapshots: dependencies: which-typed-array: 1.1.13 + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + is-weakmap@2.0.1: {} is-weakref@1.0.2: @@ -7395,29 +7397,32 @@ snapshots: reflect.getprototypeof: 1.0.4 set-function-name: 2.0.1 + iterator.prototype@1.1.3: + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.4 + set-function-name: 2.0.1 + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 + javascript-natural-sort@0.7.1: {} + jiti@1.21.0: {} jquery@3.7.1: {} js-tokens@4.0.0: {} - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - js-yaml@4.1.0: dependencies: argparse: 2.0.1 - jsbi@4.3.0: {} - jsesc@0.5.0: {} jsesc@2.5.2: {} @@ -7447,8 +7452,6 @@ snapshots: dependencies: json-buffer: 3.0.1 - kind-of@6.0.3: {} - kleur@4.1.5: {} language-subtag-registry@0.3.22: {} @@ -7488,8 +7491,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.camelcase@4.3.0: {} - lodash.castarray@4.4.0: {} lodash.debounce@4.0.8: {} @@ -7507,8 +7508,6 @@ snapshots: loglevel@1.8.1: {} - long@5.2.3: {} - longest-streak@3.1.0: {} loose-envify@1.4.0: @@ -7517,7 +7516,13 @@ snapshots: lower-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.8.0 + + lowlight@3.1.0: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + highlight.js: 11.9.0 lru-cache@10.1.0: {} @@ -7529,20 +7534,14 @@ snapshots: dependencies: yallist: 4.0.0 - lucide-react@0.364.0(react@18.2.0): + lucide-react@0.364.0(react@19.0.0-rc-69d4b800-20241021): dependencies: - react: 18.2.0 + react: 19.0.0-rc-69d4b800-20241021 - markdown-extensions@1.1.1: {} + markdown-extensions@2.0.0: {} markdown-table@3.0.3: {} - mdast-util-definitions@5.1.2: - dependencies: - '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 - unist-util-visit: 4.1.2 - mdast-util-find-and-replace@2.2.2: dependencies: '@types/mdast': 3.0.15 @@ -7574,11 +7573,22 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-frontmatter@1.0.1: + mdast-util-from-markdown@2.0.2: dependencies: - '@types/mdast': 3.0.15 - mdast-util-to-markdown: 1.5.0 - micromark-extension-frontmatter: 1.1.1 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color mdast-util-gfm-autolink-literal@1.0.3: dependencies: @@ -7624,50 +7634,52 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-mdx-expression@1.3.2: + mdast-util-mdx-expression@2.0.1: dependencies: '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.9 - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - mdast-util-mdx-jsx@2.1.4: + mdast-util-mdx-jsx@3.1.3: dependencies: '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.9 - '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 ccount: 2.0.1 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.0 parse-entities: 4.0.1 stringify-entities: 4.0.3 - unist-util-remove-position: 4.0.2 - unist-util-stringify-position: 3.0.3 - vfile-message: 3.1.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 transitivePeerDependencies: - supports-color - mdast-util-mdx@2.0.1: + mdast-util-mdx@3.0.0: dependencies: - mdast-util-from-markdown: 1.3.1 - mdast-util-mdx-expression: 1.3.2 - mdast-util-mdx-jsx: 2.1.4 - mdast-util-mdxjs-esm: 1.3.1 - mdast-util-to-markdown: 1.5.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color - mdast-util-mdxjs-esm@1.3.1: + mdast-util-mdxjs-esm@2.0.1: dependencies: '@types/estree-jsx': 1.0.3 - '@types/hast': 2.3.9 - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - mdast-util-to-markdown: 1.5.0 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -7681,16 +7693,22 @@ snapshots: '@types/mdast': 3.0.15 unist-util-is: 5.2.1 - mdast-util-to-hast@12.3.0: + mdast-util-phrasing@4.1.0: dependencies: - '@types/hast': 2.3.9 - '@types/mdast': 3.0.15 - mdast-util-definitions: 5.1.2 - micromark-util-sanitize-uri: 1.2.0 + '@types/mdast': 4.0.3 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 trim-lines: 3.0.1 - unist-util-generated: 2.0.1 - unist-util-position: 4.0.4 - unist-util-visit: 4.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 mdast-util-to-markdown@1.5.0: dependencies: @@ -7703,33 +7721,29 @@ snapshots: unist-util-visit: 4.1.2 zwitch: 2.0.4 + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + mdast-util-to-string@3.2.0: dependencies: '@types/mdast': 3.0.15 + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdn-data@2.0.28: {} mdn-data@2.0.30: {} - mdx-bundler@9.2.1(esbuild@0.18.20): - dependencies: - '@babel/runtime': 7.23.8 - '@esbuild-plugins/node-resolve': 0.1.4(esbuild@0.18.20) - '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@mdx-js/esbuild': 2.3.0(esbuild@0.18.20) - esbuild: 0.18.20 - gray-matter: 4.0.3 - remark-frontmatter: 4.0.1 - remark-mdx-frontmatter: 1.1.1 - uuid: 8.3.2 - vfile: 5.3.7 - transitivePeerDependencies: - - supports-color - - memfs@3.6.0: - dependencies: - fs-monkey: 1.0.5 - merge2@1.4.1: {} micromark-core-commonmark@1.1.0: @@ -7751,12 +7765,24 @@ snapshots: micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-extension-frontmatter@1.1.1: + micromark-core-commonmark@2.0.1: dependencies: - fault: 2.0.1 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-gfm-autolink-literal@1.0.5: dependencies: @@ -7816,56 +7842,57 @@ snapshots: micromark-util-combine-extensions: 1.1.0 micromark-util-types: 1.1.0 - micromark-extension-mdx-expression@1.0.8: + micromark-extension-mdx-expression@3.0.0: dependencies: '@types/estree': 1.0.5 - micromark-factory-mdx-expression: 1.0.9 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.2 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-extension-mdx-jsx@1.0.5: + micromark-extension-mdx-jsx@3.0.1: dependencies: '@types/acorn': 4.0.6 '@types/estree': 1.0.5 - estree-util-is-identifier-name: 2.1.0 - micromark-factory-mdx-expression: 1.0.9 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - vfile-message: 3.1.4 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.2 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 - micromark-extension-mdx-md@1.0.1: + micromark-extension-mdx-md@2.0.0: dependencies: - micromark-util-types: 1.1.0 + micromark-util-types: 2.0.0 - micromark-extension-mdxjs-esm@1.0.5: + micromark-extension-mdxjs-esm@3.0.0: dependencies: '@types/estree': 1.0.5 - micromark-core-commonmark: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-position-from-estree: 1.1.2 - uvu: 0.5.6 - vfile-message: 3.1.4 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 - micromark-extension-mdxjs@1.0.1: + micromark-extension-mdxjs@3.0.0: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) - micromark-extension-mdx-expression: 1.0.8 - micromark-extension-mdx-jsx: 1.0.5 - micromark-extension-mdx-md: 1.0.1 - micromark-extension-mdxjs-esm: 1.0.5 - micromark-util-combine-extensions: 1.1.0 - micromark-util-types: 1.1.0 + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.1 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 micromark-factory-destination@1.1.0: dependencies: @@ -7873,6 +7900,12 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + micromark-factory-label@1.1.0: dependencies: micromark-util-character: 1.2.0 @@ -7880,22 +7913,35 @@ snapshots: micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-factory-mdx-expression@1.0.9: + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-mdx-expression@2.0.2: dependencies: '@types/estree': 1.0.5 - micromark-util-character: 1.2.0 - micromark-util-events-to-acorn: 1.2.3 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-position-from-estree: 1.1.2 - uvu: 0.5.6 - vfile-message: 3.1.4 + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 micromark-factory-space@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-types: 1.1.0 + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + micromark-factory-title@1.1.0: dependencies: micromark-factory-space: 1.1.0 @@ -7903,6 +7949,13 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + micromark-factory-whitespace@1.1.0: dependencies: micromark-factory-space: 1.1.0 @@ -7910,14 +7963,30 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + micromark-util-character@1.2.0: dependencies: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + micromark-util-chunked@1.1.0: dependencies: - micromark-util-symbol: 1.1.0 + micromark-util-symbol: 1.1.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 micromark-util-classify-character@1.1.0: dependencies: @@ -7925,15 +7994,30 @@ snapshots: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + micromark-util-combine-extensions@1.1.0: dependencies: micromark-util-chunked: 1.1.0 micromark-util-types: 1.1.0 + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + micromark-util-decode-numeric-character-reference@1.1.0: dependencies: micromark-util-symbol: 1.1.0 + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-decode-string@1.1.0: dependencies: decode-named-character-reference: 1.0.2 @@ -7941,35 +8025,60 @@ snapshots: micromark-util-decode-numeric-character-reference: 1.1.0 micromark-util-symbol: 1.1.0 + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-encode@1.1.0: {} - micromark-util-events-to-acorn@1.2.3: + micromark-util-encode@2.0.0: {} + + micromark-util-events-to-acorn@2.0.2: dependencies: '@types/acorn': 4.0.6 '@types/estree': 1.0.5 - '@types/unist': 2.0.10 - estree-util-visit: 1.2.1 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - vfile-message: 3.1.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 micromark-util-html-tag-name@1.2.0: {} + micromark-util-html-tag-name@2.0.0: {} + micromark-util-normalize-identifier@1.1.0: dependencies: micromark-util-symbol: 1.1.0 + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-resolve-all@1.1.0: dependencies: micromark-util-types: 1.1.0 + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + micromark-util-sanitize-uri@1.2.0: dependencies: micromark-util-character: 1.2.0 micromark-util-encode: 1.1.0 micromark-util-symbol: 1.1.0 + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-subtokenize@1.1.0: dependencies: micromark-util-chunked: 1.1.0 @@ -7977,10 +8086,21 @@ snapshots: micromark-util-types: 1.1.0 uvu: 0.5.6 + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + micromark-util-symbol@1.1.0: {} + micromark-util-symbol@2.0.0: {} + micromark-util-types@1.1.0: {} + micromark-util-types@2.0.0: {} + micromark@3.2.0: dependencies: '@types/debug': 4.1.12 @@ -8003,6 +8123,28 @@ snapshots: transitivePeerDependencies: - supports-color + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + micromatch@4.0.5: dependencies: braces: 3.0.2 @@ -8042,48 +8184,33 @@ snapshots: natural-compare@1.4.0: {} - next-contentlayer@0.3.4(contentlayer@0.3.4(esbuild@0.18.20))(esbuild@0.18.20)(next@14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): - dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.18.20) - '@contentlayer/utils': 0.3.4 - contentlayer: 0.3.4(esbuild@0.18.20) - next: 14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - transitivePeerDependencies: - - '@effect-ts/otel-node' - - esbuild - - markdown-wasm - - supports-color - - next-themes@0.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next-themes@0.3.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021): dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.0.0-rc-69d4b800-20241021 + react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021) - next@14.0.4(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next@15.0.1(@babel/core@7.23.7)(@opentelemetry/api@1.4.1)(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021): dependencies: - '@next/env': 14.0.4 - '@swc/helpers': 0.5.2 + '@next/env': 15.0.1 + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.13 busboy: 1.6.0 caniuse-lite: 1.0.30001579 - graceful-fs: 4.2.11 postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.23.7)(react@18.2.0) - watchpack: 2.4.0 + react: 19.0.0-rc-69d4b800-20241021 + react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021) + styled-jsx: 5.1.6(@babel/core@7.23.7)(react@19.0.0-rc-69d4b800-20241021) optionalDependencies: - '@next/swc-darwin-arm64': 14.0.4 - '@next/swc-darwin-x64': 14.0.4 - '@next/swc-linux-arm64-gnu': 14.0.4 - '@next/swc-linux-arm64-musl': 14.0.4 - '@next/swc-linux-x64-gnu': 14.0.4 - '@next/swc-linux-x64-musl': 14.0.4 - '@next/swc-win32-arm64-msvc': 14.0.4 - '@next/swc-win32-ia32-msvc': 14.0.4 - '@next/swc-win32-x64-msvc': 14.0.4 + '@next/swc-darwin-arm64': 15.0.1 + '@next/swc-darwin-x64': 15.0.1 + '@next/swc-linux-arm64-gnu': 15.0.1 + '@next/swc-linux-arm64-musl': 15.0.1 + '@next/swc-linux-x64-gnu': 15.0.1 + '@next/swc-linux-x64-musl': 15.0.1 + '@next/swc-win32-arm64-msvc': 15.0.1 + '@next/swc-win32-x64-msvc': 15.0.1 '@opentelemetry/api': 1.4.1 + sharp: 0.33.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -8091,7 +8218,7 @@ snapshots: no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.6.2 + tslib: 2.8.0 node-abi@3.56.0: dependencies: @@ -8099,18 +8226,6 @@ snapshots: node-addon-api@6.1.0: {} - node-domexception@1.0.0: {} - - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - - node-fetch@3.3.2: - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - node-releases@2.0.14: {} normalize-path@3.0.0: {} @@ -8142,18 +8257,30 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.22.3 + object.entries@1.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + object.fromentries@2.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - object.groupby@1.0.1: + object.fromentries@2.0.8: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 object.hasown@1.1.3: dependencies: @@ -8166,12 +8293,16 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.22.3 + object.values@1.2.0: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + once@1.4.0: dependencies: wrappy: 1.0.2 - oo-ascii-tree@1.94.0: {} - optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 @@ -8213,17 +8344,10 @@ snapshots: parse-numeric-range@1.3.0: {} - parse5@6.0.1: {} - parse5@7.1.2: dependencies: entities: 4.5.0 - pascal-case@3.1.2: - dependencies: - no-case: 3.0.4 - tslib: 2.6.2 - path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -8239,12 +8363,6 @@ snapshots: path-type@4.0.0: {} - periscopic@3.1.0: - dependencies: - '@types/estree': 1.0.5 - estree-walker: 3.0.3 - is-reference: 3.0.2 - picocolors@1.0.0: {} picomatch@2.3.1: {} @@ -8257,6 +8375,8 @@ snapshots: dependencies: sharp: 0.32.6 + possible-typed-array-names@1.0.0: {} + postcss-import@15.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 @@ -8345,9 +8465,11 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-tailwindcss@0.5.11(prettier@3.2.4): + prettier-plugin-tailwindcss@0.5.11(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.2.4))(prettier@3.2.4): dependencies: prettier: 3.2.4 + optionalDependencies: + '@trivago/prettier-plugin-sort-imports': 4.3.0(prettier@3.2.4) prettier@2.8.8: {} @@ -8366,21 +8488,6 @@ snapshots: property-information@6.4.0: {} - protobufjs@7.2.6: - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/node': 20.11.5 - long: 5.2.3 - pump@3.0.0: dependencies: end-of-stream: 1.4.4 @@ -8399,17 +8506,14 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dom@18.2.0(react@18.2.0): + react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021): dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 19.0.0-rc-69d4b800-20241021 + scheduler: 0.25.0-rc-69d4b800-20241021 react-is@16.13.1: {} - react@18.2.0: - dependencies: - loose-envify: 1.4.0 + react@19.0.0-rc-69d4b800-20241021: {} read-cache@1.0.0: dependencies: @@ -8425,6 +8529,36 @@ snapshots: dependencies: picomatch: 2.3.1 + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.5 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.1 + + recma-jsx@1.0.0(acorn@8.11.3): + dependencies: + acorn-jsx: 5.3.2(acorn@8.11.3) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - acorn + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.5 + esast-util-from-js: 2.0.1 + unified: 11.0.4 + vfile: 6.0.1 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.5 + estree-util-to-js: 2.0.0 + unified: 11.0.4 + vfile: 6.0.1 + reflect.getprototypeof@1.0.4: dependencies: call-bind: 1.0.5 @@ -8459,6 +8593,13 @@ snapshots: define-properties: 1.2.1 set-function-name: 2.0.1 + regexp.prototype.flags@1.5.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + regexpu-core@5.3.2: dependencies: '@babel/regjsgen': 0.8.0 @@ -8495,6 +8636,14 @@ snapshots: space-separated-tokens: 2.0.2 unist-util-visit: 5.0.0 + rehype-highlight@7.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-to-text: 4.0.2 + lowlight: 3.1.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + rehype-parse@9.0.0: dependencies: '@types/hast': 3.0.3 @@ -8510,6 +8659,14 @@ snapshots: unist-util-filter: 5.0.1 unist-util-visit: 5.0.0 + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + hast-util-to-estree: 3.1.0 + transitivePeerDependencies: + - supports-color + rehype-slug@6.0.0: dependencies: '@types/hast': 3.0.3 @@ -8518,25 +8675,12 @@ snapshots: hast-util-to-string: 3.0.0 unist-util-visit: 5.0.0 - rehype-stringify@9.0.4: - dependencies: - '@types/hast': 2.3.9 - hast-util-to-html: 8.0.4 - unified: 10.1.2 - remark-breaks@4.0.0: dependencies: '@types/mdast': 4.0.3 mdast-util-newline-to-break: 2.0.0 unified: 11.0.4 - remark-frontmatter@4.0.1: - dependencies: - '@types/mdast': 3.0.15 - mdast-util-frontmatter: 1.0.1 - micromark-extension-frontmatter: 1.1.1 - unified: 10.1.2 - remark-gfm@3.0.1: dependencies: '@types/mdast': 3.0.15 @@ -8546,38 +8690,29 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mdx-frontmatter@1.1.1: - dependencies: - estree-util-is-identifier-name: 1.1.0 - estree-util-value-to-estree: 1.3.0 - js-yaml: 4.1.0 - toml: 3.0.0 - - remark-mdx@2.3.0: + remark-mdx@3.1.0: dependencies: - mdast-util-mdx: 2.0.1 - micromark-extension-mdxjs: 1.0.1 + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 transitivePeerDependencies: - supports-color - remark-parse@10.0.2: + remark-parse@11.0.0: dependencies: - '@types/mdast': 3.0.15 - mdast-util-from-markdown: 1.3.1 - unified: 10.1.2 + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.0 + unified: 11.0.4 transitivePeerDependencies: - supports-color - remark-rehype@10.1.0: + remark-rehype@11.1.1: dependencies: - '@types/hast': 2.3.9 - '@types/mdast': 3.0.15 - mdast-util-to-hast: 12.3.0 - unified: 10.1.2 - - repeat-string@1.6.1: {} - - require-directory@2.1.1: {} + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + mdast-util-to-hast: 13.2.0 + unified: 11.0.4 + vfile: 6.0.1 require-relative@0.8.7: {} @@ -8618,6 +8753,13 @@ snapshots: has-symbols: 1.0.3 isarray: 2.0.5 + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + safe-buffer@5.2.1: {} safe-regex-test@1.0.2: @@ -8626,14 +8768,13 @@ snapshots: get-intrinsic: 1.2.2 is-regex: 1.1.4 - scheduler@0.23.0: + safe-regex-test@1.0.3: dependencies: - loose-envify: 1.4.0 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 + scheduler@0.25.0-rc-69d4b800-20241021: {} semver@6.3.1: {} @@ -8641,6 +8782,8 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.6.3: {} + server-only@0.0.1: {} set-function-length@1.2.0: @@ -8651,12 +8794,28 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.1 + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + set-function-name@2.0.1: dependencies: define-data-property: 1.1.1 functions-have-names: 1.2.3 has-property-descriptors: 1.0.1 + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + sharp@0.32.6: dependencies: color: 4.2.3 @@ -8668,6 +8827,32 @@ snapshots: tar-fs: 3.0.5 tunnel-agent: 0.6.0 + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -8680,6 +8865,13 @@ snapshots: get-intrinsic: 1.2.2 object-inspect: 1.13.1 + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + signal-exit@4.1.0: {} simple-concat@1.0.1: {} @@ -8703,28 +8895,23 @@ snapshots: snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.0 source-map-js@1.0.2: {} - source-map-resolve@0.6.0: - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + source-map@0.5.7: {} + source-map@0.6.1: {} source-map@0.7.4: {} space-separated-tokens@2.0.2: {} - sprintf-js@1.0.3: {} - streamsearch@1.1.0: {} streamx@2.16.1: @@ -8746,6 +8933,12 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string.prototype.includes@2.0.1: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + string.prototype.matchall@4.0.10: dependencies: call-bind: 1.0.5 @@ -8758,24 +8951,63 @@ snapshots: set-function-name: 2.0.1 side-channel: 1.0.4 + string.prototype.matchall@4.0.11: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + 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.3 + set-function-name: 2.0.2 + side-channel: 1.0.6 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.22.3 + string.prototype.trim@1.2.8: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 + string.prototype.trim@1.2.9: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + string.prototype.trimend@1.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 + string.prototype.trimend@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + string.prototype.trimstart@1.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -8797,8 +9029,6 @@ snapshots: dependencies: ansi-regex: 6.0.1 - strip-bom-string@1.0.0: {} - strip-bom@3.0.0: {} strip-json-comments@2.0.1: {} @@ -8809,10 +9039,14 @@ snapshots: dependencies: inline-style-parser: 0.1.1 - styled-jsx@5.1.1(@babel/core@7.23.7)(react@18.2.0): + style-to-object@1.0.8: + dependencies: + inline-style-parser: 0.2.4 + + styled-jsx@5.1.6(@babel/core@7.23.7)(react@19.0.0-rc-69d4b800-20241021): dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 19.0.0-rc-69d4b800-20241021 optionalDependencies: '@babel/core': 7.23.7 @@ -8850,29 +9084,11 @@ snapshots: csso: 5.0.5 picocolors: 1.0.0 - sync-fetch@0.3.1: - dependencies: - buffer: 5.7.1 - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.2 - tailwind-highlightjs@2.0.1(highlight.js@10.7.3)(tailwindcss@3.4.14): - dependencies: - app-root-path: 3.1.0 - css: 3.0.0 - highlight.js: 10.7.3 - lodash.merge: 4.6.2 - sync-fetch: 0.3.1 - tailwindcss: 3.4.14 - transitivePeerDependencies: - - encoding - tailwind-merge@2.5.4: {} tailwindcss@3.4.14: @@ -8933,6 +9149,13 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.16.1 + terser@5.36.0: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + text-table@0.2.0: {} thenify-all@1.6.0: @@ -8949,10 +9172,6 @@ snapshots: dependencies: is-number: 7.0.0 - toml@3.0.0: {} - - tr46@0.0.3: {} - trim-lines@3.0.1: {} trough@2.1.0: {} @@ -8963,8 +9182,6 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-pattern@4.3.0: {} - tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -8976,6 +9193,8 @@ snapshots: tslib@2.6.2: {} + tslib@2.8.0: {} + tsutils@3.21.0(typescript@4.9.5): dependencies: tslib: 1.14.1 @@ -8985,22 +9204,24 @@ snapshots: dependencies: safe-buffer: 5.2.1 - typanion@3.14.0: {} - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 type-fest@0.20.2: {} - type-fest@3.13.1: {} - typed-array-buffer@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 + typed-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + typed-array-byte-length@1.0.0: dependencies: call-bind: 1.0.5 @@ -9008,6 +9229,14 @@ snapshots: has-proto: 1.0.1 is-typed-array: 1.1.12 + typed-array-byte-length@1.0.1: + 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 + typed-array-byte-offset@1.0.0: dependencies: available-typed-arrays: 1.0.5 @@ -9016,12 +9245,38 @@ snapshots: has-proto: 1.0.1 is-typed-array: 1.1.12 + typed-array-byte-offset@1.0.2: + dependencies: + available-typed-arrays: 1.0.7 + 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 + typed-array-length@1.0.4: dependencies: call-bind: 1.0.5 for-each: 0.3.3 is-typed-array: 1.1.12 + typed-array-length@1.0.6: + 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 + + types-react-dom@19.0.0-rc.1: + dependencies: + '@types/react': types-react@19.0.0-rc.1 + + types-react@19.0.0-rc.1: + dependencies: + csstype: 3.1.3 + typescript@4.9.5: {} typescript@5.3.3: {} @@ -9072,7 +9327,10 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - unist-util-generated@2.0.1: {} + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 unist-util-is@5.2.1: dependencies: @@ -9082,18 +9340,13 @@ snapshots: dependencies: '@types/unist': 3.0.2 - unist-util-position-from-estree@1.1.2: - dependencies: - '@types/unist': 2.0.10 - - unist-util-position@4.0.4: + unist-util-position-from-estree@2.0.0: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 3.0.2 - unist-util-remove-position@4.0.2: + unist-util-position@5.0.0: dependencies: - '@types/unist': 2.0.10 - unist-util-visit: 4.1.2 + '@types/unist': 3.0.2 unist-util-stringify-position@3.0.3: dependencies: @@ -9137,8 +9390,6 @@ snapshots: util-deprecate@1.0.2: {} - uuid@8.3.2: {} - uvu@0.5.6: dependencies: dequal: 2.0.3 @@ -9146,10 +9397,15 @@ snapshots: kleur: 4.1.5 sade: 1.8.1 - vfile-location@4.1.0: + velite@0.2.0(acorn@8.11.3): dependencies: - '@types/unist': 2.0.10 - vfile: 5.3.7 + '@mdx-js/mdx': 3.1.0(acorn@8.11.3) + esbuild: 0.24.0 + sharp: 0.33.5 + terser: 5.36.0 + transitivePeerDependencies: + - acorn + - supports-color vfile-location@5.0.2: dependencies: @@ -9192,22 +9448,8 @@ snapshots: transitivePeerDependencies: - supports-color - watchpack@2.4.0: - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - web-namespaces@2.0.1: {} - web-streams-polyfill@3.3.2: {} - - webidl-conversions@3.0.1: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 @@ -9246,6 +9488,14 @@ snapshots: gopd: 1.0.1 has-tostringtag: 1.0.0 + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 @@ -9264,28 +9514,12 @@ snapshots: wrappy@1.0.2: {} - y18n@5.0.8: {} - yallist@3.1.1: {} yallist@4.0.0: {} yaml@2.3.4: {} - yargs-parser@21.1.1: {} - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - yocto-queue@0.1.0: {} - zod@3.22.4: {} - zwitch@2.0.4: {} diff --git a/public/blogImages/2023/2023_10/2023_10_08/2023_10_08_(1).webp b/public/images/2023/2023_10/2023_10_08/2023_10_08_(1).webp similarity index 100% rename from public/blogImages/2023/2023_10/2023_10_08/2023_10_08_(1).webp rename to public/images/2023/2023_10/2023_10_08/2023_10_08_(1).webp diff --git a/public/blogImages/2023/2023_10/2023_10_08/2023_10_08_(2).webp b/public/images/2023/2023_10/2023_10_08/2023_10_08_(2).webp similarity index 100% rename from public/blogImages/2023/2023_10/2023_10_08/2023_10_08_(2).webp rename to public/images/2023/2023_10/2023_10_08/2023_10_08_(2).webp diff --git a/public/blogImages/2023/2023_10/2023_10_08/2023_10_08_(3).webp b/public/images/2023/2023_10/2023_10_08/2023_10_08_(3).webp similarity index 100% rename from public/blogImages/2023/2023_10/2023_10_08/2023_10_08_(3).webp rename to public/images/2023/2023_10/2023_10_08/2023_10_08_(3).webp diff --git a/public/blogImages/2023/2023_10/2023_10_09/2023_10_09_(1).webp b/public/images/2023/2023_10/2023_10_09/2023_10_09_(1).webp similarity index 100% rename from public/blogImages/2023/2023_10/2023_10_09/2023_10_09_(1).webp rename to public/images/2023/2023_10/2023_10_09/2023_10_09_(1).webp diff --git a/public/blogImages/2023/2023_10/2023_10_09/2023_10_09_(2).webp b/public/images/2023/2023_10/2023_10_09/2023_10_09_(2).webp similarity index 100% rename from public/blogImages/2023/2023_10/2023_10_09/2023_10_09_(2).webp rename to public/images/2023/2023_10/2023_10_09/2023_10_09_(2).webp diff --git a/public/blogImages/2023/2023_10/2023_10_21/2023_10_21_(1).webp b/public/images/2023/2023_10/2023_10_21/2023_10_21_(1).webp similarity index 100% rename from public/blogImages/2023/2023_10/2023_10_21/2023_10_21_(1).webp rename to public/images/2023/2023_10/2023_10_21/2023_10_21_(1).webp diff --git a/public/blogImages/2023/2023_10/2023_10_27/2023_10_27_(1).webp b/public/images/2023/2023_10/2023_10_27/2023_10_27_(1).webp similarity index 100% rename from public/blogImages/2023/2023_10/2023_10_27/2023_10_27_(1).webp rename to public/images/2023/2023_10/2023_10_27/2023_10_27_(1).webp diff --git a/public/blogImages/2023/2023_11/2023_11_12/2023_11_12_(1).webp b/public/images/2023/2023_11/2023_11_12/2023_11_12_(1).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_12/2023_11_12_(1).webp rename to public/images/2023/2023_11/2023_11_12/2023_11_12_(1).webp diff --git a/public/blogImages/2023/2023_11/2023_11_12/2023_11_12_(2).webp b/public/images/2023/2023_11/2023_11_12/2023_11_12_(2).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_12/2023_11_12_(2).webp rename to public/images/2023/2023_11/2023_11_12/2023_11_12_(2).webp diff --git a/public/blogImages/2023/2023_11/2023_11_12/2023_11_12_(3).webp b/public/images/2023/2023_11/2023_11_12/2023_11_12_(3).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_12/2023_11_12_(3).webp rename to public/images/2023/2023_11/2023_11_12/2023_11_12_(3).webp diff --git a/public/blogImages/2023/2023_11/2023_11_12/2023_11_12_(4).webp b/public/images/2023/2023_11/2023_11_12/2023_11_12_(4).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_12/2023_11_12_(4).webp rename to public/images/2023/2023_11/2023_11_12/2023_11_12_(4).webp diff --git a/public/blogImages/2023/2023_11/2023_11_18/2023_11_18_(1).webp b/public/images/2023/2023_11/2023_11_18/2023_11_18_(1).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_18/2023_11_18_(1).webp rename to public/images/2023/2023_11/2023_11_18/2023_11_18_(1).webp diff --git a/public/blogImages/2023/2023_11/2023_11_21/2023_11_21_(1).webp b/public/images/2023/2023_11/2023_11_21/2023_11_21_(1).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_21/2023_11_21_(1).webp rename to public/images/2023/2023_11/2023_11_21/2023_11_21_(1).webp diff --git a/public/blogImages/2023/2023_11/2023_11_21/2023_11_21_(2).webp b/public/images/2023/2023_11/2023_11_21/2023_11_21_(2).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_21/2023_11_21_(2).webp rename to public/images/2023/2023_11/2023_11_21/2023_11_21_(2).webp diff --git a/public/blogImages/2023/2023_11/2023_11_21/2023_11_21_(3).webp b/public/images/2023/2023_11/2023_11_21/2023_11_21_(3).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_21/2023_11_21_(3).webp rename to public/images/2023/2023_11/2023_11_21/2023_11_21_(3).webp diff --git a/public/blogImages/2023/2023_11/2023_11_21/2023_11_21_(4).webp b/public/images/2023/2023_11/2023_11_21/2023_11_21_(4).webp similarity index 100% rename from public/blogImages/2023/2023_11/2023_11_21/2023_11_21_(4).webp rename to public/images/2023/2023_11/2023_11_21/2023_11_21_(4).webp diff --git a/public/blogImages/2023/2023_12/2023_12_03/2023_12_03_(1).webp b/public/images/2023/2023_12/2023_12_03/2023_12_03_(1).webp similarity index 100% rename from public/blogImages/2023/2023_12/2023_12_03/2023_12_03_(1).webp rename to public/images/2023/2023_12/2023_12_03/2023_12_03_(1).webp diff --git a/public/blogImages/2023/2023_12/2023_12_03/2023_12_03_(2).webp b/public/images/2023/2023_12/2023_12_03/2023_12_03_(2).webp similarity index 100% rename from public/blogImages/2023/2023_12/2023_12_03/2023_12_03_(2).webp rename to public/images/2023/2023_12/2023_12_03/2023_12_03_(2).webp diff --git a/public/blogImages/2023/2023_12/2023_12_10/2023_12_10_(1).webp b/public/images/2023/2023_12/2023_12_10/2023_12_10_(1).webp similarity index 100% rename from public/blogImages/2023/2023_12/2023_12_10/2023_12_10_(1).webp rename to public/images/2023/2023_12/2023_12_10/2023_12_10_(1).webp diff --git a/public/blogImages/2023/2023_12/2023_12_16/2023_12_16_(1).webp b/public/images/2023/2023_12/2023_12_16/2023_12_16_(1).webp similarity index 100% rename from public/blogImages/2023/2023_12/2023_12_16/2023_12_16_(1).webp rename to public/images/2023/2023_12/2023_12_16/2023_12_16_(1).webp diff --git a/public/blogImages/2023/2023_12/2023_12_31/2023_12_31_(1).webp b/public/images/2023/2023_12/2023_12_31/2023_12_31_(1).webp similarity index 100% rename from public/blogImages/2023/2023_12/2023_12_31/2023_12_31_(1).webp rename to public/images/2023/2023_12/2023_12_31/2023_12_31_(1).webp diff --git a/public/blogImages/2023/2023_12/2023_12_31/2023_12_31_(2).webp b/public/images/2023/2023_12/2023_12_31/2023_12_31_(2).webp similarity index 100% rename from public/blogImages/2023/2023_12/2023_12_31/2023_12_31_(2).webp rename to public/images/2023/2023_12/2023_12_31/2023_12_31_(2).webp diff --git a/public/blogImages/2023/2023_12/2023_12_31/2023_12_31_(3).webp b/public/images/2023/2023_12/2023_12_31/2023_12_31_(3).webp similarity index 100% rename from public/blogImages/2023/2023_12/2023_12_31/2023_12_31_(3).webp rename to public/images/2023/2023_12/2023_12_31/2023_12_31_(3).webp diff --git a/public/blogImages/2023/2023_12/2023_12_31/2023_12_31_(4).webp b/public/images/2023/2023_12/2023_12_31/2023_12_31_(4).webp similarity index 100% rename from public/blogImages/2023/2023_12/2023_12_31/2023_12_31_(4).webp rename to public/images/2023/2023_12/2023_12_31/2023_12_31_(4).webp diff --git a/public/blogImages/2024/2024_01/2024_01_07/2024_01_07_(1).webp b/public/images/2024/2024_01/2024_01_07/2024_01_07_(1).webp similarity index 100% rename from public/blogImages/2024/2024_01/2024_01_07/2024_01_07_(1).webp rename to public/images/2024/2024_01/2024_01_07/2024_01_07_(1).webp diff --git a/public/blogImages/2024/2024_01/2024_01_07/2024_01_07_(2).webp b/public/images/2024/2024_01/2024_01_07/2024_01_07_(2).webp similarity index 100% rename from public/blogImages/2024/2024_01/2024_01_07/2024_01_07_(2).webp rename to public/images/2024/2024_01/2024_01_07/2024_01_07_(2).webp diff --git a/public/blogImages/2024/2024_01/2024_01_07/2024_01_07_(3).webp b/public/images/2024/2024_01/2024_01_07/2024_01_07_(3).webp similarity index 100% rename from public/blogImages/2024/2024_01/2024_01_07/2024_01_07_(3).webp rename to public/images/2024/2024_01/2024_01_07/2024_01_07_(3).webp diff --git a/public/blogImages/2024/2024_01/2024_01_07/2024_01_07_(4).webp b/public/images/2024/2024_01/2024_01_07/2024_01_07_(4).webp similarity index 100% rename from public/blogImages/2024/2024_01/2024_01_07/2024_01_07_(4).webp rename to public/images/2024/2024_01/2024_01_07/2024_01_07_(4).webp diff --git a/public/blogImages/2024/2024_01/2024_01_13/2024_01_13_(1).webp b/public/images/2024/2024_01/2024_01_13/2024_01_13_(1).webp similarity index 100% rename from public/blogImages/2024/2024_01/2024_01_13/2024_01_13_(1).webp rename to public/images/2024/2024_01/2024_01_13/2024_01_13_(1).webp diff --git a/public/blogImages/2024/2024_01/2024_01_13/2024_01_13_(2).webp b/public/images/2024/2024_01/2024_01_13/2024_01_13_(2).webp similarity index 100% rename from public/blogImages/2024/2024_01/2024_01_13/2024_01_13_(2).webp rename to public/images/2024/2024_01/2024_01_13/2024_01_13_(2).webp diff --git a/public/blogImages/2024/2024_01/2024_01_13/2024_01_13_(3).webp b/public/images/2024/2024_01/2024_01_13/2024_01_13_(3).webp similarity index 100% rename from public/blogImages/2024/2024_01/2024_01_13/2024_01_13_(3).webp rename to public/images/2024/2024_01/2024_01_13/2024_01_13_(3).webp diff --git a/public/blogImages/2024/2024_01/2024_01_28/2024_01_28_(1).webp b/public/images/2024/2024_01/2024_01_28/2024_01_28_(1).webp similarity index 100% rename from public/blogImages/2024/2024_01/2024_01_28/2024_01_28_(1).webp rename to public/images/2024/2024_01/2024_01_28/2024_01_28_(1).webp diff --git a/public/blogImages/2024/2024_02/2024_02_01/2024_02_01_(1).webp b/public/images/2024/2024_02/2024_02_01/2024_02_01_(1).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_01/2024_02_01_(1).webp rename to public/images/2024/2024_02/2024_02_01/2024_02_01_(1).webp diff --git a/public/blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp b/public/images/2024/2024_02/2024_02_13/2024_02_13_(1).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_13/2024_02_13_(1).webp rename to public/images/2024/2024_02/2024_02_13/2024_02_13_(1).webp diff --git a/public/blogImages/2024/2024_02/2024_02_13/2024_02_13_(2).webp b/public/images/2024/2024_02/2024_02_13/2024_02_13_(2).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_13/2024_02_13_(2).webp rename to public/images/2024/2024_02/2024_02_13/2024_02_13_(2).webp diff --git a/public/blogImages/2024/2024_02/2024_02_13/2024_02_13_(3).webp b/public/images/2024/2024_02/2024_02_13/2024_02_13_(3).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_13/2024_02_13_(3).webp rename to public/images/2024/2024_02/2024_02_13/2024_02_13_(3).webp diff --git a/public/blogImages/2024/2024_02/2024_02_13/2024_02_13_(4).webp b/public/images/2024/2024_02/2024_02_13/2024_02_13_(4).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_13/2024_02_13_(4).webp rename to public/images/2024/2024_02/2024_02_13/2024_02_13_(4).webp diff --git a/public/blogImages/2024/2024_02/2024_02_15/2024_02_15_(1).webp b/public/images/2024/2024_02/2024_02_15/2024_02_15_(1).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_15/2024_02_15_(1).webp rename to public/images/2024/2024_02/2024_02_15/2024_02_15_(1).webp diff --git a/public/blogImages/2024/2024_02/2024_02_19/2024_02_19_(1).webp b/public/images/2024/2024_02/2024_02_19/2024_02_19_(1).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_19/2024_02_19_(1).webp rename to public/images/2024/2024_02/2024_02_19/2024_02_19_(1).webp diff --git a/public/blogImages/2024/2024_02/2024_02_20/2024_02_20_(1).webp b/public/images/2024/2024_02/2024_02_20/2024_02_20_(1).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_20/2024_02_20_(1).webp rename to public/images/2024/2024_02/2024_02_20/2024_02_20_(1).webp diff --git a/public/blogImages/2024/2024_02/2024_02_20/2024_02_20_(2).webp b/public/images/2024/2024_02/2024_02_20/2024_02_20_(2).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_20/2024_02_20_(2).webp rename to public/images/2024/2024_02/2024_02_20/2024_02_20_(2).webp diff --git a/public/blogImages/2024/2024_02/2024_02_20/2024_02_20_(3).webp b/public/images/2024/2024_02/2024_02_20/2024_02_20_(3).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_20/2024_02_20_(3).webp rename to public/images/2024/2024_02/2024_02_20/2024_02_20_(3).webp diff --git a/public/blogImages/2024/2024_02/2024_02_23/2024_02_23_(1).webp b/public/images/2024/2024_02/2024_02_23/2024_02_23_(1).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_23/2024_02_23_(1).webp rename to public/images/2024/2024_02/2024_02_23/2024_02_23_(1).webp diff --git a/public/blogImages/2024/2024_02/2024_02_23/2024_02_23_(2).webp b/public/images/2024/2024_02/2024_02_23/2024_02_23_(2).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_23/2024_02_23_(2).webp rename to public/images/2024/2024_02/2024_02_23/2024_02_23_(2).webp diff --git a/public/blogImages/2024/2024_02/2024_02_23/2024_02_23_(3).webp b/public/images/2024/2024_02/2024_02_23/2024_02_23_(3).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_23/2024_02_23_(3).webp rename to public/images/2024/2024_02/2024_02_23/2024_02_23_(3).webp diff --git a/public/blogImages/2024/2024_02/2024_02_23/2024_02_23_(4).webp b/public/images/2024/2024_02/2024_02_23/2024_02_23_(4).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_23/2024_02_23_(4).webp rename to public/images/2024/2024_02/2024_02_23/2024_02_23_(4).webp diff --git a/public/blogImages/2024/2024_02/2024_02_26/2024_02_26_(1).webp b/public/images/2024/2024_02/2024_02_26/2024_02_26_(1).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_26/2024_02_26_(1).webp rename to public/images/2024/2024_02/2024_02_26/2024_02_26_(1).webp diff --git a/public/blogImages/2024/2024_02/2024_02_26/2024_02_26_(2).webp b/public/images/2024/2024_02/2024_02_26/2024_02_26_(2).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_26/2024_02_26_(2).webp rename to public/images/2024/2024_02/2024_02_26/2024_02_26_(2).webp diff --git a/public/blogImages/2024/2024_02/2024_02_26/2024_02_26_(3).webp b/public/images/2024/2024_02/2024_02_26/2024_02_26_(3).webp similarity index 100% rename from public/blogImages/2024/2024_02/2024_02_26/2024_02_26_(3).webp rename to public/images/2024/2024_02/2024_02_26/2024_02_26_(3).webp diff --git a/public/blogImages/2024/2024_03/2024_03_05/2024_03_05_(1).webp b/public/images/2024/2024_03/2024_03_05/2024_03_05_(1).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_05/2024_03_05_(1).webp rename to public/images/2024/2024_03/2024_03_05/2024_03_05_(1).webp diff --git a/public/blogImages/2024/2024_03/2024_03_05/2024_03_05_(2).webp b/public/images/2024/2024_03/2024_03_05/2024_03_05_(2).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_05/2024_03_05_(2).webp rename to public/images/2024/2024_03/2024_03_05/2024_03_05_(2).webp diff --git a/public/blogImages/2024/2024_03/2024_03_05/2024_03_05_(3).webp b/public/images/2024/2024_03/2024_03_05/2024_03_05_(3).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_05/2024_03_05_(3).webp rename to public/images/2024/2024_03/2024_03_05/2024_03_05_(3).webp diff --git a/public/blogImages/2024/2024_03/2024_03_08/2024_03_08_(1).webp b/public/images/2024/2024_03/2024_03_08/2024_03_08_(1).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_08/2024_03_08_(1).webp rename to public/images/2024/2024_03/2024_03_08/2024_03_08_(1).webp diff --git a/public/blogImages/2024/2024_03/2024_03_10/2024_03_10_(1).webp b/public/images/2024/2024_03/2024_03_10/2024_03_10_(1).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_10/2024_03_10_(1).webp rename to public/images/2024/2024_03/2024_03_10/2024_03_10_(1).webp diff --git a/public/blogImages/2024/2024_03/2024_03_11/2024_03_11_(1).webp b/public/images/2024/2024_03/2024_03_11/2024_03_11_(1).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_11/2024_03_11_(1).webp rename to public/images/2024/2024_03/2024_03_11/2024_03_11_(1).webp diff --git a/public/blogImages/2024/2024_03/2024_03_11/2024_03_11_(2).webp b/public/images/2024/2024_03/2024_03_11/2024_03_11_(2).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_11/2024_03_11_(2).webp rename to public/images/2024/2024_03/2024_03_11/2024_03_11_(2).webp diff --git a/public/blogImages/2024/2024_03/2024_03_11/2024_03_11_(3).webp b/public/images/2024/2024_03/2024_03_11/2024_03_11_(3).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_11/2024_03_11_(3).webp rename to public/images/2024/2024_03/2024_03_11/2024_03_11_(3).webp diff --git a/public/blogImages/2024/2024_03/2024_03_15/2024_03_15_(1).webp b/public/images/2024/2024_03/2024_03_15/2024_03_15_(1).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_15/2024_03_15_(1).webp rename to public/images/2024/2024_03/2024_03_15/2024_03_15_(1).webp diff --git a/public/blogImages/2024/2024_03/2024_03_19/2024_03_19_(1).webp b/public/images/2024/2024_03/2024_03_19/2024_03_19_(1).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_19/2024_03_19_(1).webp rename to public/images/2024/2024_03/2024_03_19/2024_03_19_(1).webp diff --git a/public/blogImages/2024/2024_03/2024_03_19/2024_03_19_(2).webp b/public/images/2024/2024_03/2024_03_19/2024_03_19_(2).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_19/2024_03_19_(2).webp rename to public/images/2024/2024_03/2024_03_19/2024_03_19_(2).webp diff --git a/public/blogImages/2024/2024_03/2024_03_19/2024_03_19_(3).webp b/public/images/2024/2024_03/2024_03_19/2024_03_19_(3).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_19/2024_03_19_(3).webp rename to public/images/2024/2024_03/2024_03_19/2024_03_19_(3).webp diff --git a/public/blogImages/2024/2024_03/2024_03_25/2024_03_25_(1).webp b/public/images/2024/2024_03/2024_03_25/2024_03_25_(1).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_25/2024_03_25_(1).webp rename to public/images/2024/2024_03/2024_03_25/2024_03_25_(1).webp diff --git a/public/blogImages/2024/2024_03/2024_03_25/2024_03_25_(2).webp b/public/images/2024/2024_03/2024_03_25/2024_03_25_(2).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_25/2024_03_25_(2).webp rename to public/images/2024/2024_03/2024_03_25/2024_03_25_(2).webp diff --git a/public/blogImages/2024/2024_03/2024_03_26/2024_03_26_(1).webp b/public/images/2024/2024_03/2024_03_26/2024_03_26_(1).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_26/2024_03_26_(1).webp rename to public/images/2024/2024_03/2024_03_26/2024_03_26_(1).webp diff --git a/public/blogImages/2024/2024_03/2024_03_26/2024_03_26_(2).webp b/public/images/2024/2024_03/2024_03_26/2024_03_26_(2).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_26/2024_03_26_(2).webp rename to public/images/2024/2024_03/2024_03_26/2024_03_26_(2).webp diff --git a/public/blogImages/2024/2024_03/2024_03_26/2024_03_26_(3).webp b/public/images/2024/2024_03/2024_03_26/2024_03_26_(3).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_26/2024_03_26_(3).webp rename to public/images/2024/2024_03/2024_03_26/2024_03_26_(3).webp diff --git a/public/blogImages/2024/2024_03/2024_03_27/2024_03_27_(2).webp b/public/images/2024/2024_03/2024_03_27/2024_03_27_(2).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_27/2024_03_27_(2).webp rename to public/images/2024/2024_03/2024_03_27/2024_03_27_(2).webp diff --git a/public/blogImages/2024/2024_03/2024_03_27/2024_03_27_(3).webp b/public/images/2024/2024_03/2024_03_27/2024_03_27_(3).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_27/2024_03_27_(3).webp rename to public/images/2024/2024_03/2024_03_27/2024_03_27_(3).webp diff --git a/public/blogImages/2024/2024_03/2024_03_27/2024_03_27_(4).webp b/public/images/2024/2024_03/2024_03_27/2024_03_27_(4).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_27/2024_03_27_(4).webp rename to public/images/2024/2024_03/2024_03_27/2024_03_27_(4).webp diff --git a/public/blogImages/2024/2024_03/2024_03_27/2024_03_27_(5).webp b/public/images/2024/2024_03/2024_03_27/2024_03_27_(5).webp similarity index 100% rename from public/blogImages/2024/2024_03/2024_03_27/2024_03_27_(5).webp rename to public/images/2024/2024_03/2024_03_27/2024_03_27_(5).webp diff --git a/public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(1).webp b/public/images/2024/2024_04/2024_04_04/2024_04_04_(1).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(1).webp rename to public/images/2024/2024_04/2024_04_04/2024_04_04_(1).webp diff --git a/public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(2).webp b/public/images/2024/2024_04/2024_04_04/2024_04_04_(2).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(2).webp rename to public/images/2024/2024_04/2024_04_04/2024_04_04_(2).webp diff --git a/public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(3).webp b/public/images/2024/2024_04/2024_04_04/2024_04_04_(3).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(3).webp rename to public/images/2024/2024_04/2024_04_04/2024_04_04_(3).webp diff --git a/public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(4).webp b/public/images/2024/2024_04/2024_04_04/2024_04_04_(4).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(4).webp rename to public/images/2024/2024_04/2024_04_04/2024_04_04_(4).webp diff --git a/public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(5).webp b/public/images/2024/2024_04/2024_04_04/2024_04_04_(5).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_04/2024_04_04_(5).webp rename to public/images/2024/2024_04/2024_04_04/2024_04_04_(5).webp diff --git a/public/blogImages/2024/2024_04/2024_04_07/2024_04_07_(1).webp b/public/images/2024/2024_04/2024_04_07/2024_04_07_(1).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_07/2024_04_07_(1).webp rename to public/images/2024/2024_04/2024_04_07/2024_04_07_(1).webp diff --git a/public/blogImages/2024/2024_04/2024_04_07/2024_04_07_(2).webp b/public/images/2024/2024_04/2024_04_07/2024_04_07_(2).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_07/2024_04_07_(2).webp rename to public/images/2024/2024_04/2024_04_07/2024_04_07_(2).webp diff --git a/public/blogImages/2024/2024_04/2024_04_07/2024_04_07_(3).webp b/public/images/2024/2024_04/2024_04_07/2024_04_07_(3).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_07/2024_04_07_(3).webp rename to public/images/2024/2024_04/2024_04_07/2024_04_07_(3).webp diff --git a/public/blogImages/2024/2024_04/2024_04_07/2024_04_07_(4).webp b/public/images/2024/2024_04/2024_04_07/2024_04_07_(4).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_07/2024_04_07_(4).webp rename to public/images/2024/2024_04/2024_04_07/2024_04_07_(4).webp diff --git a/public/blogImages/2024/2024_04/2024_04_17/2024_04_17_(1).webp b/public/images/2024/2024_04/2024_04_17/2024_04_17_(1).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_17/2024_04_17_(1).webp rename to public/images/2024/2024_04/2024_04_17/2024_04_17_(1).webp diff --git a/public/blogImages/2024/2024_04/2024_04_18/2024_04_18_(1).webp b/public/images/2024/2024_04/2024_04_18/2024_04_18_(1).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_18/2024_04_18_(1).webp rename to public/images/2024/2024_04/2024_04_18/2024_04_18_(1).webp diff --git a/public/blogImages/2024/2024_04/2024_04_19/2024_04_19_(1).webp b/public/images/2024/2024_04/2024_04_19/2024_04_19_(1).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_19/2024_04_19_(1).webp rename to public/images/2024/2024_04/2024_04_19/2024_04_19_(1).webp diff --git a/public/blogImages/2024/2024_04/2024_04_22/2024_04_22_(1).webp b/public/images/2024/2024_04/2024_04_22/2024_04_22_(1).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_22/2024_04_22_(1).webp rename to public/images/2024/2024_04/2024_04_22/2024_04_22_(1).webp diff --git a/public/blogImages/2024/2024_04/2024_04_22/2024_04_22_(2).webp b/public/images/2024/2024_04/2024_04_22/2024_04_22_(2).webp similarity index 100% rename from public/blogImages/2024/2024_04/2024_04_22/2024_04_22_(2).webp rename to public/images/2024/2024_04/2024_04_22/2024_04_22_(2).webp diff --git a/public/blogImages/2024/2024_05/2024_05_26/2024_05_26_(1).webp b/public/images/2024/2024_05/2024_05_26/2024_05_26_(1).webp similarity index 100% rename from public/blogImages/2024/2024_05/2024_05_26/2024_05_26_(1).webp rename to public/images/2024/2024_05/2024_05_26/2024_05_26_(1).webp diff --git a/public/blogImages/2024/2024_05/2024_05_26/2024_05_26_(2).webp b/public/images/2024/2024_05/2024_05_26/2024_05_26_(2).webp similarity index 100% rename from public/blogImages/2024/2024_05/2024_05_26/2024_05_26_(2).webp rename to public/images/2024/2024_05/2024_05_26/2024_05_26_(2).webp diff --git a/public/blogImages/image00.webp b/public/images/image00.webp similarity index 100% rename from public/blogImages/image00.webp rename to public/images/image00.webp diff --git a/public/blogImages/image01.webp b/public/images/image01.webp similarity index 100% rename from public/blogImages/image01.webp rename to public/images/image01.webp diff --git a/public/blogImages/image02.webp b/public/images/image02.webp similarity index 100% rename from public/blogImages/image02.webp rename to public/images/image02.webp diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 7774a5b..5fa6a2d 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,14 +1,15 @@ -import './globals.css' -import '../../public/fonts/font.css' -import BottomNavigator from '@/containers/navigator/BottomNavigator' -import { PropsWithChildren } from 'react' -import { Analytics } from '@vercel/analytics/react' -import { Metadata } from 'next' import { USER } from '@/constants/user' -import { SpeedInsights } from '@vercel/speed-insights/next' +import BottomNavigator from '@/containers/navigator/BottomNavigator' import TopNavigator from '@/containers/navigator/TopNavigator' -import NextThemeProvider from '@/utils/NextThemeProvider' import FramerTransitionProvider from '@/utils/FramerTransitionProvider' +import NextThemeProvider from '@/utils/NextThemeProvider' +import { Analytics } from '@vercel/analytics/react' +import { SpeedInsights } from '@vercel/speed-insights/next' +import { Metadata } from 'next' +import { PropsWithChildren } from 'react' + +import '../../public/fonts/font.css' +import './globals.css' export const metadata: Metadata = { title: '신현호의 기술서재', @@ -43,7 +44,7 @@ export default function RootLayout({ children }: PropsWithChildren) { content="47cf760f4112b1ce516d64a87fd5f31bd3f74fc9" /> - + {children} diff --git a/src/app/page.tsx b/src/app/page.tsx index 4b00c34..49af102 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -3,7 +3,7 @@ import RecentlyPost from '@/containers/main/RecentlyPost' export default function Page() { return ( -
+
diff --git a/src/app/posts/[category]/[pageNum]/page.tsx b/src/app/posts/[category]/[pageNum]/page.tsx index 03dcb75..c3cfd16 100644 --- a/src/app/posts/[category]/[pageNum]/page.tsx +++ b/src/app/posts/[category]/[pageNum]/page.tsx @@ -3,11 +3,13 @@ import PostWrapper from '@/containers/posts/list/PostWrapper' import { getSelectedCategoryPost } from '@/utils/getPost' import { Metadata, ResolvingMetadata } from 'next' -interface Props { - params: { - category: string - pageNum: string - } +interface PageParams { + category: string + pageNum: string +} + +interface PageProps { + params: Promise } const parseSeries = (name: string) => { @@ -19,35 +21,43 @@ const parseSeries = (name: string) => { } export const generateMetadata = async ( - props: Props, + props: PageProps, parent: ResolvingMetadata -): Promise => ({ - title: `기록 | ${props.params.pageNum}페이지 [${parseSeries(props.params.category)}]`, - description: `신현호 기술서재 / ${props.params.pageNum}페이지[${props.params.category}]`, - openGraph: { - ...(await parent).openGraph, - title: `기록 | ${props.params.pageNum}페이지 [${props.params.category}]`, - description: `신현호 기술서재 / ${props.params.pageNum}페이지[${props.params.category}]`, - url: `https://caffhheiene.vercel.app/posts/${props.params.category}/${props.params.pageNum}`, - }, -}) +): Promise => { + const { pageNum, category } = await props.params + + return { + title: `기록 | ${pageNum}페이지 [${parseSeries(category)}]`, + description: `신현호 기술서재 / ${pageNum}페이지[${category}]`, + openGraph: { + ...(await parent).openGraph, + title: `기록 | ${pageNum}페이지 [${category}]`, + description: `신현호 기술서재 / ${pageNum}페이지[${category}]`, + url: `https://caffhheiene.vercel.app/posts/${category}/${pageNum}`, + }, + } +} export default async function posts({ params, }: { - params: { category: string; pageNum: string } + params: Promise }) { - const data = getSelectedCategoryPost(params.category, Number(params.pageNum)) + const { category, pageNum } = await params + const { selectedPost, selectedAllPostLen } = getSelectedCategoryPost( + category, + Number(pageNum) + ) return ( -
+
-
+
) } diff --git a/src/app/posts/detail/[id]/page.tsx b/src/app/posts/detail/[id]/page.tsx index 45bfdbd..24f8ea3 100644 --- a/src/app/posts/detail/[id]/page.tsx +++ b/src/app/posts/detail/[id]/page.tsx @@ -4,9 +4,9 @@ import { getSelectedPostDetail } from '@/utils/getPost' import { Metadata, ResolvingMetadata } from 'next' interface Props { - params: { + params: Promise<{ id: string - } + }> } export const generateMetadata = async ( @@ -14,7 +14,7 @@ export const generateMetadata = async ( parent: ResolvingMetadata ): Promise => { const { title, description, thumbnail } = getSelectedPostDetail( - Number(props.params.id) + Number((await props.params).id) ) return { @@ -24,7 +24,7 @@ export const generateMetadata = async ( ...(await parent).openGraph, title, description, - url: `https://caffhheiene.vercel.app/posts/detail/${props.params.id}`, + url: `https://caffhheiene.vercel.app/posts/detail/${(await props.params).id}`, images: [ { url: `https://caffhheiene.vercel.app${thumbnail}`, @@ -37,13 +37,12 @@ export const generateMetadata = async ( } } -export default async function postDetail({ - params, -}: { - params: { id: string } +export default async function postDetail(props: { + params: Promise<{ id: string }> }) { + const params = await props.params return ( -
+
diff --git a/src/components/Card.tsx b/src/components/Card.tsx index 0b13969..ef82a55 100644 --- a/src/components/Card.tsx +++ b/src/components/Card.tsx @@ -1,11 +1,12 @@ -import { type Post } from '@/contentlayer/generated' +import Tag from '@/components/Tag' +import { Post } from '@/velite' import { CalendarIcon, - FolderOpenIcon, FolderIcon, + FolderOpenIcon, } from '@heroicons/react/20/solid' import Link from 'next/link' -import Tag from '@/components/Tag' + import ImgWithPlaceholder from './ImgWithPlaceholder' interface CardComponentProps { @@ -16,19 +17,19 @@ interface CardComponentProps { export default function Card({ id, post }: CardComponentProps) { return ( -
+
-
+
- +

{post.date}

-

{post.title}

-

+

{post.title}

+

{post.description}

diff --git a/src/components/FramerComponents.tsx b/src/components/FramerComponents.tsx new file mode 100644 index 0000000..db9ae4a --- /dev/null +++ b/src/components/FramerComponents.tsx @@ -0,0 +1,15 @@ +import { type MotionProps, motion } from 'framer-motion' + +// Define types for different HTML elements with motion props +type MotionDivProps = MotionProps & React.HTMLAttributes +type MotionSpanProps = MotionProps & React.HTMLAttributes +type MotionH2Props = MotionProps & React.HTMLAttributes +type MotionPProps = MotionProps & React.HTMLAttributes +type MotionAProps = MotionProps & React.AnchorHTMLAttributes + +// Export typed motion components +export const MotionDiv = motion.div as React.FC +export const MotionSpan = motion.span as React.FC +export const MotionH2 = motion.h2 as React.FC +export const MotionP = motion.p as React.FC +export const MotionA = motion.a as React.FC diff --git a/src/components/SubTitle.tsx b/src/components/SubTitle.tsx index 7e8f38c..f481034 100644 --- a/src/components/SubTitle.tsx +++ b/src/components/SubTitle.tsx @@ -4,8 +4,8 @@ interface TitleProps { export default function SubTitle({ title }: TitleProps) { return ( -
-

{title}

+
+

{title}

) } diff --git a/src/constants/badge.tsx b/src/constants/badge.tsx index b6ae2d2..dfaee4e 100644 --- a/src/constants/badge.tsx +++ b/src/constants/badge.tsx @@ -3,8 +3,8 @@ import { CSS3SVG, DiscordSVG, FramerSVG, - GithubSVG, GitSVG, + GithubSVG, Html5SVG, InstagramSVG, JavaScriptSVG, @@ -20,90 +20,90 @@ import { export const BADGES = Object.freeze({ css3: { - svg: , + svg: , color: '#1572B6', name: 'CSS3', }, github: { - svg: , + svg: , color: '#000000', name: 'Github', link: 'https://github.com/SWARVY', }, html5: { - svg: , + svg: , color: '#E34F26', name: 'HTML5', }, instagram: { - svg: , + svg: , color: '#E4405F', name: 'Instagram', link: 'https://www.instagram.com/caffhheine/', }, javascript: { - svg: , + svg: , color: '#F7DF1E', name: 'JavaScript', }, naver: { - svg: , + svg: , color: '#03C75A', name: 'Naver', link: 'mailto:swarvy0826@naver.com', }, nextjs: { - svg: , + svg: , color: '#000000', name: 'Next', }, react: { - svg: , + svg: , color: '#61DAFB', name: 'React', }, reactQuery: { - svg: , + svg: , color: '#FF4154', name: 'ReactQuery', }, recoil: { - svg: , + svg: , color: '#3578E5', name: 'Recoil', }, redux: { - svg: , + svg: , color: '#764ABC', name: 'Redux', }, tailwindcss: { - svg: , + svg: , color: '#06B6D4', name: 'Tailwind', }, typescript: { - svg: , + svg: , color: '#3178C6', name: 'TypeScript', }, framer: { - svg: , + svg: , color: '#0055FF', name: 'Framer', }, git: { - svg: , + svg: , color: '#F05032', name: 'Git', }, axios: { - svg: , + svg: , color: '#5A29E4', name: 'Axios', }, discord: { - svg: , + svg: , color: '#5865F2', name: 'Discord', }, diff --git a/src/containers/main/MainPost.tsx b/src/containers/main/MainPost.tsx index f9117bd..96ac54b 100644 --- a/src/containers/main/MainPost.tsx +++ b/src/containers/main/MainPost.tsx @@ -1,12 +1,12 @@ -import { type Post } from '@/contentlayer/generated' +import Tag from '@/components/Tag' +import { Post } from '@/velite' import { CalendarIcon, - FolderOpenIcon, FolderIcon, + FolderOpenIcon, } from '@heroicons/react/20/solid' +import Image from 'next/image' import Link from 'next/link' -import Tag from '@/components/Tag' -import ImgWithPlaceholder from '@/components/ImgWithPlaceholder' interface MainPostProps { id: number @@ -17,13 +17,16 @@ export default function MainPost({ id, post }: MainPostProps) { return ( - + {post.title}
-
+

{post.date}

@@ -36,7 +39,7 @@ export default function MainPost({ id, post }: MainPostProps) { {post.description}

-
+
    {post.category.map((category) => ( diff --git a/src/containers/main/RecentlyPost.tsx b/src/containers/main/RecentlyPost.tsx index 64c137c..50fa549 100644 --- a/src/containers/main/RecentlyPost.tsx +++ b/src/containers/main/RecentlyPost.tsx @@ -1,15 +1,16 @@ -import { getRecentPost } from '@/utils/getPost' -import React from 'react' import Card from '@/components/Card' import SubTitle from '@/components/SubTitle' +import { getRecentPost } from '@/utils/getPost' +import React from 'react' + import MainPost from './MainPost' export default function RecentlyPost() { const { mainPost, subPosts, postAmount } = getRecentPost() return ( -
    -
    +
    +
    -
    +
    {subPosts.map(([id, post]) => ( diff --git a/src/containers/navigator/BottomNavigator.tsx b/src/containers/navigator/BottomNavigator.tsx index dcbbbea..2bc5b82 100644 --- a/src/containers/navigator/BottomNavigator.tsx +++ b/src/containers/navigator/BottomNavigator.tsx @@ -2,7 +2,7 @@ import { BOTTOM_NAVBAR } from '@/constants/navbar' export default function BottomNavigator() { return ( -