diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..dcffd6f2 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,59 @@ + +name: docs-deploy + +on: + push: + branches: [develop] + paths: [docs/**] + pull_request: + branches: [develop] + paths: [docs/**] + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: docs-deploy + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + + - name: Configure GitHub Pages + uses: actions/configure-pages@v4 + + - name: Install Docs Dependencies + run: pnpm install --frozen-lockfile + working-directory: docs + + - name: Build Docs + run: pnpm run docs:build + working-directory: docs + + - name: Upload Pages Artifact + uses: actions/upload-pages-artifact@v3 + with: + path: docs/.vitepress/dist + + deploy: + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index bbff0e93..12ee7c50 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,7 @@ dist-ssr .env *storybook.log +# vitepress +docs/.vitepress/cache +docs/.vitepress/dist +docs/.vitepress/tmp \ No newline at end of file diff --git a/biome.json b/biome.json index 6d0641ba..cf52c913 100644 --- a/biome.json +++ b/biome.json @@ -13,7 +13,8 @@ "!**/build/**", "!**/.next/**", "!**/storybook-static/**", - "!**/.direnv/**" + "!**/.direnv/**", + "!**/docs/**" ] }, "formatter": { diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts new file mode 100644 index 00000000..b8a6ee81 --- /dev/null +++ b/docs/.vitepress/config.ts @@ -0,0 +1,19 @@ +import { defineConfig } from 'vitepress'; + +export default defineConfig({ + base: '/MATEBALL-CLIENT/', + title: 'MATEBALL CLIENT DOCS', + description: 'mateball client convention & troubleshootig & docs', + + head: [ + ['link', { rel: 'icon', href: '/MATEBALL-CLIENT/favicon.svg' }], + ], + themeConfig: { + nav: [ + { text: 'Home', link: '/' }, + ], + + + socialLinks: [{ icon: 'github', link: 'https://github.com/MATEBALL/MATEBALL-CLIENT' }], + }, +}); diff --git a/docs/coding.md b/docs/coding.md new file mode 100644 index 00000000..7c2cdfe0 --- /dev/null +++ b/docs/coding.md @@ -0,0 +1,125 @@ +# ๐Ÿงพ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ + +๋ฉ”์ž‡๋ณผ ํด๋ผ์ด์–ธํŠธ ํŒ€์˜ ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ํ˜‘์—… ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์ž…๋‹ˆ๋‹ค. +๋ชจ๋“  ํŒ€์›์ด ์ผ๊ด€๋œ ์Šคํƒ€์ผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์•„๋ž˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•ด์ฃผ์„ธ์š”. + +--- + +## ๐ŸŸก ๋ณ€์ˆ˜ + +- `var` ์‚ฌ์šฉ **๊ธˆ์ง€**, `const` โ†’ `let` ์ˆœ์œผ๋กœ ์„ ์–ธ +- ๋ฌธ์ž์—ด ์กฐํ•ฉ ์‹œ `+` ๋Œ€์‹  **ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด(``` ` ```) ์‚ฌ์šฉ** +- ๋ณ€์ˆ˜๋ช…์€ ์˜๋ฏธ๋ฅผ ๋ช…ํ™•ํžˆ ๋“œ๋Ÿฌ๋‚ด๋„๋ก ์ž‘์„ฑ + - โœ… `users`, `fruits` + - โŒ `Arr`, `tmp`, `data1` +- ์ค„์ž„๋ง ์ง€์–‘: ์˜๋ฏธ๊ฐ€ ๊ธธ๋”๋ผ๋„ ๋ช…ํ™•ํ•œ ์ด๋ฆ„ ์‚ฌ์šฉ + - โœ… `Button` + - โŒ `Btn` +- `map()` ์‚ฌ์šฉ ์‹œ, key๋Š” ๋ฐ˜๋“œ์‹œ ๊ณ ์œ ํ•œ ๊ฐ’ ์‚ฌ์šฉ + - โŒ `key={index}` โ†’ โŒ + - โœ… `key={user.id}` ๋˜๋Š” `uuid` +- **์ „์—ญ ๋ณ€์ˆ˜**๋Š” ์ง€์–‘ (๊ฐ€๋Šฅํ•˜๋ฉด ๋กœ์ปฌ ์Šค์ฝ”ํ”„ ์œ ์ง€) + +--- + +## ๐Ÿ”ต ํ•จ์ˆ˜ + +- **function ํ‚ค์›Œ๋“œ ๊ธˆ์ง€**, **ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋งŒ ์‚ฌ์šฉ** +- ๊ณตํ†ต ํ•จ์ˆ˜๋Š” `utils/` ํด๋”๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์žฌ์‚ฌ์šฉ +- ๋ณ€์ˆ˜/ํ•จ์ˆ˜ ์ด๋ฆ„์€ **20์ž ๋ฏธ๋งŒ** + - ๋„ค์ด๋ฐ์— ์˜๋ฏธ๋ฅผ ๋‹ด๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ฃผ์„์œผ๋กœ ๋ณด์™„ +- **Early Return ํŒจํ„ด ๊ถŒ์žฅ** + +```tsx +// โœ… Early Return +const processUser = (user) => { + if (!user || !user.isActive) return; + // ์ดํ›„ ๋กœ์ง +}; +```` + +--- + +## ๐ŸŸข ์ปดํฌ๋„ŒํŠธ + +* ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ์€ `rafce` ์‚ฌ์šฉ (React Arrow Function Component with Export) +* ๋ถˆํ•„์š”ํ•œ wrapper๋Š” โŒ โ†’ **Fragment (`<>`) ์‚ฌ์šฉ ๊ถŒ์žฅ** + +```tsx +const InfoText = () => { + return ( + <> +

Welcome!

+

This is our new page!

+ + ); +}; +``` + +* children์ด ์—†๋Š” ์ปดํฌ๋„ŒํŠธ๋Š” self-closing (``) +* children ์ ๊ทน ํ™œ์šฉํ•ด UI ์œ ์—ฐํ•˜๊ฒŒ ๊ตฌ์„ฑ + +--- + +## ๐ŸŸ  ํƒ€์ž… (TypeScript) + +* `object` ํƒ€์ž…์€ **interface** ์‚ฌ์šฉ +* ๋‹จ์ผ ๋ณ€์ˆ˜ ํƒ€์ž…์€ **type alias** +* ์ปดํฌ๋„ŒํŠธ Props ํƒ€์ž…์€ **์ปดํฌ๋„ŒํŠธ ์ƒ๋‹จ์— ์ •์˜** +* ๊ทธ ์™ธ ํƒ€์ž…์€ `types/` ํด๋”์— ๋ถ„๋ฆฌ +* API ์‘๋‹ต ํƒ€์ž… ๋„ค์ด๋ฐ: `OOOResponse` ํ˜•ํƒœ + +```ts +interface UserCardProps { + userId: string; + userName: string; +} +``` + +--- + +## ๐Ÿ”ด ๋ฉ”์†Œ๋“œ + +* ๋ฐฐ์—ด ๋ณต์‚ฌ๋Š” **์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž(...)** ์‚ฌ์šฉ + + ```ts + const copy = [...originals]; + ``` + +* `for` ๋ฃจํ”„ ๋Œ€์‹  `map`, `forEach`, `filter` ์‚ฌ์šฉ + +* ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น ์ ๊ทน ์‚ฌ์šฉ + +```ts +const checkUser = ({ userName, userBirth }: UserDataProps) => { + // ... +}; +``` + +* ๋ถˆํ•„์š”ํ•œ ๋ฐ˜๋ณต๋ฌธ ์ง€์–‘ + + * ์กฐ๊ฑด ๊ฒ€์ƒ‰ ์‹œ `Map`, `Object`, ์ธ๋ฑ์Šค ์ ‘๊ทผ ๋ฐฉ์‹ ๊ณ ๋ ค + +--- + +## โš™ ๊ธฐํƒ€ + +* `button` ํƒœ๊ทธ์—๋Š” `type` ๋ช…์‹œ (`type="button"` / `"submit"`) +* ๋น„๊ต ์—ฐ์‚ฐ์€ `===`, `!==`๋งŒ ์‚ฌ์šฉ +* **axios๋Š” async/await ํŒจํ„ด ์‚ฌ์šฉ**, then/catch ๋Œ€์‹ : + +```ts +const fetchData = async () => { + try { + const res = await axios.get('/api/data'); + } catch (err) { + console.error(err); + } +}; +``` + +--- +
+ +> ๐Ÿ“Œ ์ปจ๋ฒค์…˜์ด ์–ด๊ธ‹๋‚œ ๊ฒฝ์šฐ ๋ฆฌ๋ทฐ ์‹œ ์ฝ”๋ฉ˜ํŠธ ๋ถ€ํƒ๋“œ๋ฆฌ๋ฉฐ, **๋ชจ๋‘๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ ์ž‘์„ฑ**์„ ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. + diff --git a/docs/folder.md b/docs/folder.md new file mode 100644 index 00000000..ee9ef011 --- /dev/null +++ b/docs/folder.md @@ -0,0 +1,89 @@ + + +# ๐Ÿ“‚ ํด๋” ๊ตฌ์กฐ ๊ฐ€์ด๋“œ + +๋ฉ”์ž‡๋ณผ ํด๋ผ์ด์–ธํŠธ ํŒ€์—์„œ๋Š” **์ฝ”๋“œ ์‘์ง‘๋„**์™€ **์œ ์ง€๋ณด์ˆ˜ ํŽธ์˜์„ฑ**์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ํด๋” ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. +๋˜ํ•œ, ๋ชจ๋“  ํด๋”์™€ ํŒŒ์ผ๋ช…์€ **์ผ€๋ฐฅ ์ผ€์ด์Šค(kebab-case)**๋ฅผ ์ ์šฉํ•ด ์ผ๊ด€์„ฑ ์žˆ๊ณ  ๊ฐ€๋…์„ฑ์ด ๋›ฐ์–ด๋‚œ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. + +--- + +## ํด๋” ๊ตฌ์กฐ ์˜ˆ์‹œ + +``` + +|-- ๐Ÿ“ .github +|-- ๐Ÿ“ node_modules +|-- ๐Ÿ“ public +|-- ๐Ÿ“ src + |-- ๐Ÿ“ pages + |-- ๐Ÿ“ home + |-- ๐Ÿ“„ex) home.tsx + |-- ๐Ÿ“ components + |-- ๐Ÿ“ styles ๋“ฑ + |-- ๐Ÿ“ shared + |-- ๐Ÿ“ components + |-- ๐Ÿ“„ex) home-header.tsx + |-- ๐Ÿ“ styles + |-- ๐Ÿ“ constants + |-- ๐Ÿ“ types ๋“ฑ +|-- index.html ๋“ฑ ETC + +``` + +--- + +## ๊ฐ ํด๋”๋ณ„ ์—ญํ•  ๋ฐ ๋„ค์ด๋ฐ ์ด์œ  + +### 1๏ธโƒฃ `src/pages` + +- **๋ชฉ์ **: ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ๊ฐœ๋ณ„ ํŽ˜์ด์ง€ ๋‹จ์œ„์˜ ์ปดํฌ๋„ŒํŠธ์™€ ๊ทธ์— ํŠนํ™”๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌ +- **๊ตฌ์„ฑ**: + - ํŽ˜์ด์ง€๋ณ„ ํด๋”(`home`, `profile` ๋“ฑ)๋กœ ๊ตฌ๋ถ„ + - ๊ฐ ํŽ˜์ด์ง€ ํด๋” ์•ˆ์— ๊ทธ ํŽ˜์ด์ง€ ์ „์šฉ `components`์™€ `styles` ํด๋”๋ฅผ ๋ณ„๋„ ๊ด€๋ฆฌ +- **์ด์œ **: + - ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ์ฝ”๋“œ๋ฅผ ์‘์ง‘์‹œ์ผœ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ , ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํŽธ๋ฆฌ + - ๊ฐ ํŽ˜์ด์ง€์— ์ข…์†์ ์ธ ์ฝ”๋“œ๊ฐ€ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌ๋˜์–ด, ๋ณ€๊ฒฝ ์‹œ ์˜ํ–ฅ ๋ฒ”์œ„ ์ตœ์†Œํ™” + +### 2๏ธโƒฃ `src/shared` + +- **๋ชฉ์ **: ํ”„๋กœ์ ํŠธ ์ „์—ญ์—์„œ ์žฌ์‚ฌ์šฉ๋˜๋Š” **๊ณตํ†ต ๋ชจ๋“ˆ ๋ฐ ๋ฆฌ์†Œ์Šค** ์ €์žฅ์†Œ +- **๊ตฌ์„ฑ**: + - `components`: ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” UI ์ปดํฌ๋„ŒํŠธ + - `styles`: ์ „์—ญ ์Šคํƒ€์ผ ๋ฐ ํ…Œ๋งˆ ๋ณ€์ˆ˜ + - `constants`: ์ „์—ญ ์ƒ์ˆ˜ (API URL, ์ƒ‰์ƒ ์ฝ”๋“œ ๋“ฑ) + - `types`: ํƒ€์ž… ์ •์˜ +- **์ด์œ **: + - ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ณ , ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ค„์—ฌ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ ์ ˆ๊ฐ + - ๊ณตํ†ต ๋ฆฌ์†Œ์Šค๋ฅผ ํ•œ ๊ณณ์— ๋ชจ์•„๋‘์–ด ๋ณ€๊ฒฝ ๊ด€๋ฆฌ ๋ฐ ์˜ํ–ฅ๋„ ๋ถ„์„์ด ์šฉ์ด + +### 3๏ธโƒฃ ๊ธฐํƒ€ ์ฃผ์š” ํด๋” + +- `.github`: GitHub ์›Œํฌํ”Œ๋กœ์šฐ, ์ด์Šˆ ๋ฐ PR ํ…œํ”Œ๋ฆฟ +- `node_modules`: ํ”„๋กœ์ ํŠธ ์˜์กด์„ฑ +- `public`: ์ •์  ํŒŒ์ผ (์ด๋ฏธ์ง€, ํฐํŠธ ๋“ฑ) +- ๋ฃจํŠธ์˜ `index.html`: ์•ฑ ์ง„์ž…์  + +--- + +## ์ผ€๋ฐฅ ์ผ€์ด์Šค(kebab-case) ์‚ฌ์šฉ ์ด์œ  + +- **ํด๋”๋ช…๊ณผ ํŒŒ์ผ๋ช… ๋ชจ๋‘ ์ผ€๋ฐฅ ์ผ€์ด์Šค**๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. +- **์žฅ์ **: + - OS ๋ฐ ๊ฐœ๋ฐœ ๋„๊ตฌ ๊ฐ„ **๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ๋ฌธ์ œ ์ตœ์†Œํ™”** + - ํ„ฐ๋ฏธ๋„์—์„œ ์ž…๋ ฅํ•˜๊ธฐ ์‰ฝ๊ณ , ๊ฒฝ๋กœ ๊ฐ€๋…์„ฑ์ด ๋›ฐ์–ด๋‚จ + - URL๊ณผ ์œ ์‚ฌํ•ด ์ง๊ด€์ ์ด๊ณ  ํ˜‘์—… ์‹œ ํ˜ผ๋™ ๊ฐ์†Œ + +--- + +## ์„ค๊ณ„ ์›์น™ + +- **์‘์ง‘๋„**: ๊ด€๋ จ ์ฝ”๋“œ์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•œ๊ณณ์— ๋ชจ์•„ ๊ด€๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ ์ดํ•ด๋„๋ฅผ ๋†’์ž„ +- **๋‹จ์ผ ์ฑ…์ž„ ์›์น™**: ๊ฐ ํด๋”๋Š” ๋ช…ํ™•ํ•œ ์ฑ…์ž„๊ณผ ์—ญํ• ์„ ๊ฐ€์ง +- **ํ™•์žฅ์„ฑ**: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์‹œ ํด๋”๋ฅผ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ด€๋ฆฌ ๊ฐ€๋Šฅ +- **ํ˜‘์—… ํšจ์œจ์„ฑ**: ์ผ๊ด€๋œ ๊ตฌ์กฐ ๋•๋ถ„์— ํŒ€์› ๋ชจ๋‘ ๋น ๋ฅด๊ฒŒ ์ฝ”๋“œ ์œ„์น˜ ํŒŒ์•… ๊ฐ€๋Šฅ + +--- + +> ๋ฉ”์ž‡๋ณผ ํŒ€์€ ์ด ํด๋” ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋น ๋ฅธ ๊ฐœ๋ฐœ๊ณผ ์›ํ™œํ•œ ํ˜‘์—…์„ ์‹คํ˜„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. +> ์ž‘์—… ์ค‘ ํ—ท๊ฐˆ๋ฆด ๋•Œ๋Š” ์ด ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”! + diff --git a/docs/git.md b/docs/git.md new file mode 100644 index 00000000..70c431c6 --- /dev/null +++ b/docs/git.md @@ -0,0 +1,184 @@ +# ๐Ÿงฉ Git ์ „๋žต & ์ปจ๋ฒค์…˜ + + + +๋ฌผ๋ก ! ์•„๋ž˜์ฒ˜๋Ÿผ ์กฐ๊ธˆ ๋” ์ž์„ธํ•˜๊ฒŒ, ์™œ **Squash Merge**๋ฅผ ์“ฐ๋Š”์ง€์™€ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰ํ•˜๋Š”์ง€ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•ด ๋ดค์–ด. + +--- + +## ๐ŸŸ  Squash Merge ์ „๋žต + +๋ฉ”์ž‡๋ณผ ํŒ€์€ **Squash Merge** ๋ฐฉ์‹์„ ์ฑ„ํƒํ•ด ๊น”๋”ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด ์ปค๋ฐ‹ ์ด๋ ฅ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. + +### โœ”๏ธ Squash Merge๋ž€? + +* ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปค๋ฐ‹์„ **ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์œผ๋กœ ํ•ฉ์ณ์„œ ๋ณ‘ํ•ฉ**ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. +* PR ํ•˜๋‚˜๋‹น ์ตœ์ข…์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ปค๋ฐ‹ ๊ธฐ๋ก๋งŒ ๋‚จ๊ฒŒ ๋˜์–ด, ๊น”๋”ํ•œ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. +* ๋ถˆํ•„์š”ํ•œ ์ค‘๊ฐ„ ์ปค๋ฐ‹์ด๋‚˜ ์‹คํ—˜์ ์ธ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๊ฐ€ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์–ด์ง€๋Ÿฝํžˆ์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. + +### โœ”๏ธ Squash Merge๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  + +* **๊ฐ€๋…์„ฑ ํ–ฅ์ƒ** + ๋ณต์žกํ•œ ์ปค๋ฐ‹ ๋กœ๊ทธ ๋Œ€์‹ , ๊ธฐ๋Šฅ ๋‹จ์œ„๋ณ„๋กœ ๋ช…ํ™•ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +* **์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด** + ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ•œ ๋ˆˆ์— ํŒŒ์•…๋˜์–ด ๋ฒ„๊ทธ ์ˆ˜์ •์ด๋‚˜ ๋กค๋ฐฑ ์ž‘์—…์ด ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. +* **PR ๋‹จ์œ„ ๊ด€๋ฆฌ** + ๊ธฐ๋Šฅ๋ณ„ PR์ด ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์œผ๋กœ ์ •๋ฆฌ๋˜๋ฏ€๋กœ, ์–ด๋–ค PR์ด ์–ด๋–ค ๋ณ€๊ฒฝ์„ ํฌํ•จํ•˜๋Š”์ง€ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. + +### โœ”๏ธ Squash Merge ์ง„ํ–‰ ์ ˆ์ฐจ + +1. **feature ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.** + ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปค๋ฐ‹์„ ์ž์œ ๋กญ๊ฒŒ ๋งŒ๋“ค๊ณ  ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค. + +2. **develop ๋ธŒ๋žœ์น˜์™€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋™๊ธฐํ™”(rebase) ํ•ฉ๋‹ˆ๋‹ค.** + + ```bash + git fetch origin + git rebase origin/develop + ``` + + * ์ตœ์‹  `develop` ๋ธŒ๋žœ์น˜ ๊ธฐ์ค€์œผ๋กœ ๋‚ด ์ž‘์—…์„ ๋‹ค์‹œ ์Œ“์•„ ์˜ฌ๋ ค, ์ปค๋ฐ‹ ์ถฉ๋Œ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. + +3. **PR(Pull Request)์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.** + +4. **๋ฆฌ๋ทฐ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด, Squash Merge๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.** + + * ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปค๋ฐ‹์ด ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์ ธ `develop` ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ๋ฉ๋‹ˆ๋‹ค. + * PR ์ œ๋ชฉ์ด ์ตœ์ข… ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ํ•„์š” ์‹œ ์ƒ์„ธ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +--- + +### โœ”๏ธ ์ฐธ๊ณ  + +* Squash Merge ์‹œ, ๊ฐ ์ปค๋ฐ‹์˜ ์ค‘๊ฐ„ ๋ฉ”์‹œ์ง€๋Š” ์ตœ์ข… ํžˆ์Šคํ† ๋ฆฌ์— ๋‚จ์ง€ ์•Š์œผ๋‹ˆ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ํ•ต์‹ฌ ๋‚ด์šฉ์„ ์ž˜ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. +* ํ˜‘์—… ์‹œ **rebase์™€ Squash Merge ๊ทœ์น™์„ ๋ชจ๋‘ ์ง€ํ‚ค๋ฉด**, ๊น”๋”ํ•œ ์ปค๋ฐ‹ ๊ด€๋ฆฌ์™€ ์ถฉ๋Œ ์ตœ์†Œํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. + + + + +### ๐Ÿ” ๋น„๊ต: ์ผ๋ฐ˜ Merge vs Squash Merge + +![์ผ๋ฐ˜ Merge](image.png) + +#### ๋„์ž… ํ›„ + +![๋„์ž… ํ›„](image-1.png) + +___ + +## ๐Ÿ”€ ๋ธŒ๋žœ์น˜ ์ „๋žต + +1. **`main`** : ์˜ค์ง ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋ธŒ๋žœ์น˜ +2. **`develop`** : ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ๋ณ‘ํ•ฉ๋˜๋Š” ๊ณตํ†ต ๋ธŒ๋žœ์น˜ (๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜) +3. **`feature/style ๋“ฑ`** : ์ž‘์—… ๋‹จ์œ„๋ณ„ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ + +--- + +## โ“ ์™œ 3๋ธŒ๋žœ์น˜ ์ „๋žต์ธ๊ฐ€? + + + +--- + +## โ˜๏ธ ๋ฐฐํฌ ํ”Œ๋กœ์šฐ (with Cloudflare) + +* `main ๋ธŒ๋žœ์น˜` โ†’ Cloudflare Pages ์ž๋™ ๋ฐฐํฌ +* GitHub Actions๋กœ ๋ณ€๊ฒฝ ๊ฐ์ง€ ์‹œ, ๊ฐœ์ธ ๋ ˆํฌ๋กœ ์ž๋™ ํ‘ธ์‹œ๋จ + + +--- + +## โœ… Issue ํ…œํ”Œ๋ฆฟ + +* ์ œ๋ชฉ: **`feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„`** + +> ํ…œํ”Œ๋ฆฟ ์ œ๋ชฉ์˜ `[๊ธฐ๋Šฅ]`์€ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ ํ‚ค์›Œ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + +--- + +## โœ… PR ํ…œํ”Œ๋ฆฟ + +* ์ œ๋ชฉ: **`feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„`** + +```md +## #๏ธโƒฃ Related Issue +Closes # + +## โ˜€๏ธ New Insight + + +## ๐Ÿ’Ž PR Point + + +## ๐Ÿ“ธ Screenshot + +``` + +> PR์—๋Š” ๋ฆฌ๋ทฐ์–ด๊ฐ€ ๋งฅ๋ฝ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ตœ๋Œ€ํ•œ ์ž์„ธํžˆ ์ ์Šต๋‹ˆ๋‹ค. +> ํŒ€์›์—๊ฒŒ ๋„์›€์ด ๋œ ๋ฆฌ๋ทฐ์—๋Š” `๊ตฟ ๋ฆฌ๋ทฐ` ๋ผ๋ฒจ์„ ๋‹ฌ์•„์ฃผ์„ธ์š”! ๐Ÿ’ก + +--- + +## ๐Ÿงท ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ + + + +| Type | ์„ค๋ช… | +| ------------------ | --------------------------- | +| `init` | ์ดˆ๊ธฐ ์„ธํŒ… | +| `setting` | ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • (ํŒจํ‚ค์ง€, config ๋“ฑ) | +| `feat` | ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ | +| `fix` | ๋ฒ„๊ทธ ์ˆ˜์ • | +| `style` | ์Šคํƒ€์ผ / CSS ๋ณ€๊ฒฝ | +| `api` | API ํ†ต์‹  ๊ด€๋ จ ์ฝ”๋“œ | +| `refactor` | ๋ฆฌํŒฉํ† ๋ง | +| `chore` | ํŒจํ‚ค์ง€ ์„ค์น˜ / ๋นŒ๋“œ ์„ค์ • (ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ œ์™ธ) | +| `deploy` | ๋ฐฐํฌ ๊ด€๋ จ ์„ค์ • | +| `comment` | ์ฃผ์„ ์ถ”๊ฐ€ ๋˜๋Š” ์ˆ˜์ • | +| `test` | ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ | +| `rename` | ํŒŒ์ผ ๋˜๋Š” ํด๋”๋ช… ๋ณ€๊ฒฝ | +| `remove` | ํŒŒ์ผ ์‚ญ์ œ | +| `docs` | ๋ฌธ์„œ ์ˆ˜์ • | +| `!HOTFIX` | ๊ธด๊ธ‰ ์ˆ˜์ • | +| `!BREAKING CHANGE` | ๋Œ€๊ทœ๋ชจ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์‹œ ์‚ฌ์šฉ | + +--- + +## ๐ŸŒฟ ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ ๊ทœ์น™ + + + +* PR ๋จธ์ง€ ํ›„ ๋ธŒ๋žœ์น˜๋Š” **์‚ญ์ œ** +* ๋จธ์ง€ ๋ฐฉ์‹: **squash merge** + +--- + +> ๐Ÿ™Œ ๋ชจ๋‘๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ณ , ๊น”๋”ํ•œ Git ์ด๋ ฅ์„ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. + diff --git a/docs/image-1.png b/docs/image-1.png new file mode 100644 index 00000000..a9855c9b Binary files /dev/null and b/docs/image-1.png differ diff --git a/docs/image-2.png b/docs/image-2.png new file mode 100644 index 00000000..d72a826a Binary files /dev/null and b/docs/image-2.png differ diff --git a/docs/image-3.png b/docs/image-3.png new file mode 100644 index 00000000..2f5a5194 Binary files /dev/null and b/docs/image-3.png differ diff --git a/docs/image-4.png b/docs/image-4.png new file mode 100644 index 00000000..d0bc9a41 Binary files /dev/null and b/docs/image-4.png differ diff --git a/docs/image-5.png b/docs/image-5.png new file mode 100644 index 00000000..f3a2cffb Binary files /dev/null and b/docs/image-5.png differ diff --git a/docs/image-6.png b/docs/image-6.png new file mode 100644 index 00000000..5497d05e Binary files /dev/null and b/docs/image-6.png differ diff --git a/docs/image.png b/docs/image.png new file mode 100644 index 00000000..cb58756c Binary files /dev/null and b/docs/image.png differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..9c553bc4 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,47 @@ +--- +layout: home + +hero: + name: "โšพ MATEBALL CLIENT " + tagline: ๋ฉ”์ž‡๋ณผ ํด๋ผ์ด์–ธํŠธ ํŒ€์˜ ์ปจ๋ฒค์…˜, ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋“ฑ ๊ฐ์ข… ๊ฐœ๋ฐœ ๋ฌธ์„œ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค + actions: + - theme: brand + text: ๐Ÿ› ๏ธ ๊ธฐ์ˆ ์Šคํƒ ์„ ์ •์ด์œ  + link: /stack + - theme: brand + text: ๐Ÿ“œ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… + link: /trouble + - theme: brand + text: ๐Ÿ—‚๏ธ ํ”„๋กœ์ ํŠธ ํด๋”๊ตฌ์กฐ + link: /folder + - theme: brand + text: ๐Ÿ’ซ Git ์ „๋žต + link: /git + - theme: brand + text: ๐Ÿ’ซ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ + link: /coding + - theme: brand + text: ๐Ÿ’ซ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ + link: /naming + +features: + - title: ๐Ÿ’ซ ์ผ๊ด€๋œ ์ฝ”๋“œ, ์•ˆ์ •๋œ ์„œ๋น„์Šค + details: ๊ธฐ์ˆ  ์Šคํƒ ์„ ์ •๋ถ€ํ„ฐ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜๊นŒ์ง€, ํŒ€์› ๋ˆ„๊ตฌ๋‚˜ ๋น ๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€์„ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค. + + - title: ๐Ÿ’ซ ์‹ค์ „์—์„œ ๋‚˜์˜จ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… + details: ๋‹จ์ˆœํ•œ ์ด๋ก ์ด ์•„๋‹Œ, ์‹ค์ œ ๊ฐœ๋ฐœ ์ค‘ ๋งˆ์ฃผ์นœ ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๊ณผ์ •์„ ๊ธฐ๋กํ•ด ์œ ์‚ฌ ์ƒํ™ฉ์—์„œ ๋น ๋ฅด๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + - title: ๐Ÿ’ซ ๊ทผ๊ฑฐ์žˆ๋Š” ์„ ํƒ + details: ํด๋” ๊ตฌ์กฐ, Git ์ „๋žต, ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ ๋“ฑ ์˜จ๋ณด๋”ฉ์— ํ•„์š”ํ•œ ์ •๋ณด๊ฐ€ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. + + - title: ๐Ÿ’ซ ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •์˜ ํ”์  + details: ์™œ ์ด ๊ธฐ์ˆ ์„ ์„ ํƒํ–ˆ๋Š”์ง€, ์–ด๋–ค ๋Œ€์•ˆ์„ ๊ณ ๋ คํ–ˆ๋Š”์ง€ ๋“ฑ ์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ •์ด ๋‹ด๊ฒจ ์žˆ์–ด ํŒ€์˜ ๋ฐฉํ–ฅ์„ฑ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + - title: ๐Ÿ’ซ ๋‹จ๋‹จํ•œ ์ปจ๋ฒค์…˜ + details: ์ฝ”๋”ฉ ์Šคํƒ€์ผ, ์ปดํฌ๋„ŒํŠธ ๋„ค์ด๋ฐ ๋“ฑ ์‹ค์ œ ์ ์šฉ ์ค‘์ธ ์„ธ์„ธํ•œ ๊ทœ์น™๊นŒ์ง€ ํฌํ•จํ•ด ํŒ€ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค. + - title: ๐Ÿ’ซ ํŒ€์˜ ํ๋ฆ„์„ ๊ธฐ์–ตํ•˜๋Š” ๊ธฐ๋ก + details: ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์†์—์„œ๋„, ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ๊ณ ๋ฏผ์„ ํ–ˆ๊ณ  ์–ด๋–ป๊ฒŒ ํ•ฉ์˜ํ–ˆ๋Š”์ง€๋ฅผ ๋ช…ํ™•ํžˆ ๋‚จ๊ฒจ ๋‹ค์Œ ์„ ํƒ์˜ ๊ธฐ์ค€์ด ๋ฉ๋‹ˆ๋‹ค. + + +--- + diff --git a/docs/naming.md b/docs/naming.md new file mode 100644 index 00000000..31fd0c97 --- /dev/null +++ b/docs/naming.md @@ -0,0 +1,64 @@ + +# ๐Ÿท๏ธ ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜ + +๋ฉ”์ž‡๋ณผ ํŒ€์—์„œ๋Š” **๊ฐ€๋…์„ฑ**๊ณผ **์œ ์ง€๋ณด์ˆ˜ ํšจ์œจ์„ฑ**์„ ์ตœ์šฐ์„ ์œผ๋กœ ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ ๋„ค์ด๋ฐ ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. + +--- + +## 1๏ธโƒฃ ์ปดํฌ๋„ŒํŠธ ๋ช…๋ช…๋ฒ• + +* **PascalCase ์‚ฌ์šฉ** (์˜ˆ: `UserProfile`, `MatchCard`) +* ์ด์œ : + React, Vue ๋“ฑ ์ฃผ์š” ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์‰ฝ๊ณ , JSX/TSX์—์„œ HTML ํƒœ๊ทธ์™€ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„๋˜์–ด ๊ฐ€๋…์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค. + +--- + +## 2๏ธโƒฃ ํด๋”๋ช… + +* **์ผ€๋ฐฅ ์ผ€์ด์Šค(kebab-case)** ์‚ฌ์šฉ (์˜ˆ: `user-profile`, `match-card`) +* ์ด์œ : + OS ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ URL ๊ฒฝ๋กœ ๋ชจ๋‘์—์„œ ํ‘œ์ค€์ ์œผ๋กœ ๋„๋ฆฌ ์“ฐ์ด๋ฉฐ, ๊ณต๋ฐฑ ๋Œ€์‹  ํ•˜์ดํ”ˆ์„ ์“ฐ๋Š” ์ผ€๋ฐฅ ์ผ€์ด์Šค๋Š” ์ง๊ด€์ ์ด๊ณ  ์ฝ๊ธฐ ํŽธํ•ฉ๋‹ˆ๋‹ค. + ๋˜ํ•œ, ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์— ๋”ฐ๋ฅธ ํ˜ผ๋ž€๋„ ์ค„์—ฌ์ฃผ๊ณ , ํ„ฐ๋ฏธ๋„์ด๋‚˜ ๋ช…๋ น์–ด ์ž…๋ ฅ ์‹œ ์˜คํƒ€ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค. + +--- + +## 3๏ธโƒฃ ํŒŒ์ผ๋ช… *(์ปดํฌ๋„ŒํŠธ ์ œ์™ธ)* + +* **์ผ€๋ฐฅ ์ผ€์ด์Šค(kebab-case)** ์‚ฌ์šฉ (์˜ˆ: `api-client.ts`, `user-service.ts`) +* ์ด์œ : + ํด๋”๋ช…๊ณผ ๋™์ผํ•œ ์ด์œ ๋กœ, ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์—์„œ ์ผ๊ด€๋œ ํ‘œ๊ธฐ์™€ ํŽธํ•œ ์ธ์‹์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํŠนํžˆ ์œˆ๋„์šฐ, ๋งฅ, ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ ๋ชจ๋‘์—์„œ ํ˜ธํ™˜์ด ์ข‹์Šต๋‹ˆ๋‹ค. + +--- + +## 4๏ธโƒฃ ๋ณ€์ˆ˜, ํ•จ์ˆ˜๋ช… + +* **camelCase ์‚ฌ์šฉ** (์˜ˆ: `getUserData`, `totalCount`) +* ์ด์œ : + JavaScript์™€ TypeScript์˜ ํ‘œ์ค€ ์Šคํƒ€์ผ์ด๋ฉฐ, ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•จ์œผ๋กœ์จ ๊ฐ€๋…์„ฑ์ด ๋†’๊ณ  ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค. + +--- + +## 5๏ธโƒฃ ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ช… + +* **camelCase ์‚ฌ์šฉ** +* ์ด์œ : + ๋ณ€์ˆ˜๋ช…๊ณผ ๋™์ผํ•œ ๊ทœ์น™์„ ์ ์šฉํ•ด ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ , ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ์˜ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. + +--- + +## 6๏ธโƒฃ ์ƒ์ˆ˜๋ช… + +* **BIG\_SNAKE\_CASE ์‚ฌ์šฉ** (์˜ˆ: `MAX_USER_COUNT`, `API_BASE_URL`) +* ์ด์œ : + ์ƒ์ˆ˜์ž„์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•ด์ฃผ์–ด ์ˆ˜์ •ํ•˜๋ฉด ์•ˆ ๋˜๋Š” ๊ฐ’์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ , ๋‹ค๋ฅธ ๋ณ€์ˆ˜์™€ ์‰ฝ๊ฒŒ ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. + +--- + +## โœจ ์ถ”๊ฐ€ ์„ค๋ช… ๋ฐ ํšจ๊ณผ + +* **์ผ€๋ฐฅ ์ผ€์ด์Šค**๋ฅผ ํด๋” ๋ฐ ์ผ๋ฐ˜ ํŒŒ์ผ๋ช…์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ **๊ฒฝ๋กœ ํ˜ผ๋™, ์˜คํƒ€, ๋Œ€์†Œ๋ฌธ์ž ๋ฌธ์ œ**๋ฅผ ํฌ๊ฒŒ ์ค„์—ฌ์ฃผ๋ฉฐ, +* ํŠนํžˆ ํ˜‘์—… ๊ณผ์ •์—์„œ **๋ˆ„๊ตฌ๋‚˜ ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ํŒŒ์ผ์„ ์ฐพ๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.** +* ์ปดํฌ๋„ŒํŠธ๋Š” UI ๋‹จ์œ„๋กœ ์ค‘์š”๋„๊ฐ€ ๋†’์•„ ๊ฐ€๋…์„ฑ๊ณผ ํ”„๋ ˆ์ž„์›Œํฌ ํ‘œ์ค€์— ๋งž์ถ˜ **PascalCase**๋ฅผ ์‚ฌ์šฉํ•ด ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. +* ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” JavaScript ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ‘œ์ค€์ธ **camelCase**๋กœ, ์ž์—ฐ์Šค๋Ÿฌ์šด ์ฝ”๋“œ ํ๋ฆ„์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. +* ์ƒ์ˆ˜๋Š” ๋Œ€๋ฌธ์ž ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค๋กœ ํ‘œ์‹œํ•˜์—ฌ **๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ๊ฐ’์ž„์„ ์ง๊ด€์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€**ํ•ฉ๋‹ˆ๋‹ค. + diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..c0dded2e --- /dev/null +++ b/docs/package.json @@ -0,0 +1,11 @@ +{ + "name": "mateball-docs", + "version": "0.1.0", + "private": true, + "type": "module", + "scripts": { + "docs:build": "vitepress build", + "docs:dev": "vitepress dev", + "docs:preview": "vitepress preview" + } +} \ No newline at end of file diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 00000000..ea3b1982 --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,1550 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + vitepress: + specifier: ^1.6.3 + version: 1.6.3(@algolia/client-search@5.33.0)(postcss@8.5.6)(search-insights@2.17.3) + +packages: + + '@algolia/autocomplete-core@1.17.7': + resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} + + '@algolia/autocomplete-plugin-algolia-insights@1.17.7': + resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.17.7': + resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.17.7': + resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.33.0': + resolution: {integrity: sha512-Pyv+iHkkq7BJWFKzdrXm/JSbcTGvrGqJnIMwHYYlKDjuEBWhYt/z4WDLP9MbFZ9cTKb4qe8OvzEmS/0ERW3ibg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.33.0': + resolution: {integrity: sha512-qkRc7ovjWQQJng6U1yM5esLPNDB0leGCaOh3FEfeWRyLB0xnjLsBEUkKanYq9GrewPvi17l78nDhkqB2SYzTCw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.33.0': + resolution: {integrity: sha512-Gq8Z4Fv0DkqDkf/bZl7ZwIF7PSCnRFwpyQoNDnUg+s4SwerXx6VwZJlIx/t5b9+l7vwWsjnKVivCfM4Ab5gw+g==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.33.0': + resolution: {integrity: sha512-/tp1oWD3lpSXhAC4n8j0GMDbmN6pd+pATeO1GeURAFP5TVF+2Jz+NbQ1et0uCTzdazOfjEjSIv0fQSLo7bqSgA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.33.0': + resolution: {integrity: sha512-hZNSqe2BXkrBQ04t5NSlqsNl4u0QrFfhXHbjO5iZ14TWt5jyOdtFMBxF3Qc0o0sqTVYnFIp0xtUbEi+/HkGeyQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.33.0': + resolution: {integrity: sha512-kpu2hCIR+848T0lcf3W1GCMe+HQp/LcHceIglA6Dyw6i+y9wH3w8kmXqIV2Svv6JQ9ojEqIL8Knk7NEvD3xIBg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.33.0': + resolution: {integrity: sha512-Z5SAqPLxF8KyE9YPO4tAdHrXyb87DUJ0lXhFrcrG+dl/AQT9nqycQhtqDqdcQnfZrj02PImSWZQpxQj34nGZKw==} + engines: {node: '>= 14.0.0'} + + '@algolia/ingestion@1.33.0': + resolution: {integrity: sha512-KNJI60N+twnDLiIY+oGO2Q+syS+yBNOmNdhsB5vCzzrhi3CYs+bufnJ67/BUUfnt+T5+3VlnkvUgDkGBmmZXmA==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.33.0': + resolution: {integrity: sha512-47R0kMDTSj8Q7rCUgIRv5Xc518tCBBS0KIZ5oRKg+hspQaJmEO+fxwGLrIIwp5JiaK6y+5sbS7bhtaajelJhpg==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.33.0': + resolution: {integrity: sha512-HpeLoVQuv5kW9xL0RSq1exa8ueNwyx+9B02dzFonlQzKTaSedM0jiWo6m3nWpi1hChAKqjzkL40FkxrgyrWTSg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.33.0': + resolution: {integrity: sha512-uOqDkvY7s9c9rkaZ4+n69LkTmZ5ax3el+8u6ipvODfj1P3HzrGvMUVFy/nGSXxw+XITKcIRphPQcyqn15b02dA==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.33.0': + resolution: {integrity: sha512-NzTEGjwjPhUXPsrjj9nXM43+jtBVeL6UgGNBTQKsxjpqJ3EEAQ2Kq5g7DRK6mVDTQiTBWvBLKChJpn4qxwtLsg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.33.0': + resolution: {integrity: sha512-FhEE19ScAYuXL3VLj2I3KhL7683gZwZoa+BQZUEnA05vSbVBhCAqUBQgiVu7j2RF3VceqLX3+GEeY0bHs4y7eA==} + engines: {node: '>= 14.0.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.0': + resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/types@7.28.1': + resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==} + engines: {node: '>=6.9.0'} + + '@docsearch/css@3.8.2': + resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==} + + '@docsearch/js@3.8.2': + resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==} + + '@docsearch/react@3.8.2': + resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@iconify-json/simple-icons@1.2.43': + resolution: {integrity: sha512-JERgKGFRfZdyjGyTvVBVW5rftahy9tNUX+P+0QUnbaAEWvEMexXHE9863YVMVrIRhoj/HybGsibg8ZWieo/NDg==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@jridgewell/sourcemap-codec@1.5.4': + resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + + '@rollup/rollup-android-arm-eabi@4.45.1': + resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.45.1': + resolution: {integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.45.1': + resolution: {integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.45.1': + resolution: {integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.45.1': + resolution: {integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.45.1': + resolution: {integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.45.1': + resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.45.1': + resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.45.1': + resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.45.1': + resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.45.1': + resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.45.1': + resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.45.1': + resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.45.1': + resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.45.1': + resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.45.1': + resolution: {integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.45.1': + resolution: {integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==} + cpu: [x64] + os: [win32] + + '@shikijs/core@2.5.0': + resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==} + + '@shikijs/engine-javascript@2.5.0': + resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==} + + '@shikijs/engine-oniguruma@2.5.0': + resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==} + + '@shikijs/langs@2.5.0': + resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==} + + '@shikijs/themes@2.5.0': + resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==} + + '@shikijs/transformers@2.5.0': + resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==} + + '@shikijs/types@2.5.0': + resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/linkify-it@5.0.0': + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} + + '@types/markdown-it@14.1.2': + resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@vitejs/plugin-vue@5.2.4': + resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + + '@vue/compiler-core@3.5.17': + resolution: {integrity: sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==} + + '@vue/compiler-dom@3.5.17': + resolution: {integrity: sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==} + + '@vue/compiler-sfc@3.5.17': + resolution: {integrity: sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==} + + '@vue/compiler-ssr@3.5.17': + resolution: {integrity: sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==} + + '@vue/devtools-api@7.7.7': + resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==} + + '@vue/devtools-kit@7.7.7': + resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} + + '@vue/devtools-shared@7.7.7': + resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} + + '@vue/reactivity@3.5.17': + resolution: {integrity: sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==} + + '@vue/runtime-core@3.5.17': + resolution: {integrity: sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==} + + '@vue/runtime-dom@3.5.17': + resolution: {integrity: sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==} + + '@vue/server-renderer@3.5.17': + resolution: {integrity: sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==} + peerDependencies: + vue: 3.5.17 + + '@vue/shared@3.5.17': + resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==} + + '@vueuse/core@12.8.2': + resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} + + '@vueuse/integrations@12.8.2': + resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==} + peerDependencies: + async-validator: ^4 + axios: ^1 + change-case: ^5 + drauu: ^0.4 + focus-trap: ^7 + fuse.js: ^7 + idb-keyval: ^6 + jwt-decode: ^4 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^7 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/metadata@12.8.2': + resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} + + '@vueuse/shared@12.8.2': + resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} + + algoliasearch@5.33.0: + resolution: {integrity: sha512-WdgSkmyTec5n2W2FA2/7Q7TCSajCV0X6w57u3H5GHnw0UCp/G5xb33/Jx1FX3uMtz17P3wGEzMCP82d0LJqMow==} + engines: {node: '>= 14.0.0'} + + birpc@2.5.0: + resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + focus-trap@7.6.5: + resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + minisearch@7.1.2: + resolution: {integrity: sha512-R1Pd9eF+MD5JYDDSPAp/q1ougKglm14uEkPMvQ/05RGmx6G9wvmLTrTI/Q5iPNJLYqNdsDQ7qTGIcNWR+FrHmA==} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + oniguruma-to-es@3.1.1: + resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + preact@10.26.9: + resolution: {integrity: sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA==} + + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.0.1: + resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rollup@4.45.1: + resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + + shiki@2.5.0: + resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + superjson@2.2.2: + resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} + engines: {node: '>=16'} + + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite@5.4.19: + resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitepress@1.6.3: + resolution: {integrity: sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + + vue@3.5.17: + resolution: {integrity: sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)': + dependencies: + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0) + '@algolia/client-search': 5.33.0 + algoliasearch: 5.33.0 + + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)': + dependencies: + '@algolia/client-search': 5.33.0 + algoliasearch: 5.33.0 + + '@algolia/client-abtesting@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-analytics@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-common@5.33.0': {} + + '@algolia/client-insights@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-personalization@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-query-suggestions@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-search@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/ingestion@1.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/monitoring@1.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/recommend@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/requester-browser-xhr@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + + '@algolia/requester-fetch@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + + '@algolia/requester-node-http@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/parser@7.28.0': + dependencies: + '@babel/types': 7.28.1 + + '@babel/types@7.28.1': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@docsearch/css@3.8.2': {} + + '@docsearch/js@3.8.2(@algolia/client-search@5.33.0)(search-insights@2.17.3)': + dependencies: + '@docsearch/react': 3.8.2(@algolia/client-search@5.33.0)(search-insights@2.17.3) + preact: 10.26.9 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + + '@docsearch/react@3.8.2(@algolia/client-search@5.33.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0) + '@docsearch/css': 3.8.2 + algoliasearch: 5.33.0 + optionalDependencies: + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@iconify-json/simple-icons@1.2.43': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@jridgewell/sourcemap-codec@1.5.4': {} + + '@rollup/rollup-android-arm-eabi@4.45.1': + optional: true + + '@rollup/rollup-android-arm64@4.45.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.45.1': + optional: true + + '@rollup/rollup-darwin-x64@4.45.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.45.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.45.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.45.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.45.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.45.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.45.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.45.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.45.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.45.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.45.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.45.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.45.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.45.1': + optional: true + + '@shikijs/core@2.5.0': + dependencies: + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 3.1.1 + + '@shikijs/engine-oniguruma@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + + '@shikijs/themes@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + + '@shikijs/transformers@2.5.0': + dependencies: + '@shikijs/core': 2.5.0 + '@shikijs/types': 2.5.0 + + '@shikijs/types@2.5.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + + '@types/estree@1.0.8': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/linkify-it@5.0.0': {} + + '@types/markdown-it@14.1.2': + dependencies: + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdurl@2.0.0': {} + + '@types/unist@3.0.3': {} + + '@types/web-bluetooth@0.0.21': {} + + '@ungap/structured-clone@1.3.0': {} + + '@vitejs/plugin-vue@5.2.4(vite@5.4.19)(vue@3.5.17)': + dependencies: + vite: 5.4.19 + vue: 3.5.17 + + '@vue/compiler-core@3.5.17': + dependencies: + '@babel/parser': 7.28.0 + '@vue/shared': 3.5.17 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.17': + dependencies: + '@vue/compiler-core': 3.5.17 + '@vue/shared': 3.5.17 + + '@vue/compiler-sfc@3.5.17': + dependencies: + '@babel/parser': 7.28.0 + '@vue/compiler-core': 3.5.17 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 + estree-walker: 2.0.2 + magic-string: 0.30.17 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.17': + dependencies: + '@vue/compiler-dom': 3.5.17 + '@vue/shared': 3.5.17 + + '@vue/devtools-api@7.7.7': + dependencies: + '@vue/devtools-kit': 7.7.7 + + '@vue/devtools-kit@7.7.7': + dependencies: + '@vue/devtools-shared': 7.7.7 + birpc: 2.5.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.2 + + '@vue/devtools-shared@7.7.7': + dependencies: + rfdc: 1.4.1 + + '@vue/reactivity@3.5.17': + dependencies: + '@vue/shared': 3.5.17 + + '@vue/runtime-core@3.5.17': + dependencies: + '@vue/reactivity': 3.5.17 + '@vue/shared': 3.5.17 + + '@vue/runtime-dom@3.5.17': + dependencies: + '@vue/reactivity': 3.5.17 + '@vue/runtime-core': 3.5.17 + '@vue/shared': 3.5.17 + csstype: 3.1.3 + + '@vue/server-renderer@3.5.17(vue@3.5.17)': + dependencies: + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 + vue: 3.5.17 + + '@vue/shared@3.5.17': {} + + '@vueuse/core@12.8.2': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 12.8.2 + '@vueuse/shared': 12.8.2 + vue: 3.5.17 + transitivePeerDependencies: + - typescript + + '@vueuse/integrations@12.8.2(focus-trap@7.6.5)': + dependencies: + '@vueuse/core': 12.8.2 + '@vueuse/shared': 12.8.2 + vue: 3.5.17 + optionalDependencies: + focus-trap: 7.6.5 + transitivePeerDependencies: + - typescript + + '@vueuse/metadata@12.8.2': {} + + '@vueuse/shared@12.8.2': + dependencies: + vue: 3.5.17 + transitivePeerDependencies: + - typescript + + algoliasearch@5.33.0: + dependencies: + '@algolia/client-abtesting': 5.33.0 + '@algolia/client-analytics': 5.33.0 + '@algolia/client-common': 5.33.0 + '@algolia/client-insights': 5.33.0 + '@algolia/client-personalization': 5.33.0 + '@algolia/client-query-suggestions': 5.33.0 + '@algolia/client-search': 5.33.0 + '@algolia/ingestion': 1.33.0 + '@algolia/monitoring': 1.33.0 + '@algolia/recommend': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + birpc@2.5.0: {} + + ccount@2.0.1: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + comma-separated-tokens@2.0.3: {} + + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + + csstype@3.1.3: {} + + dequal@2.0.3: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + emoji-regex-xs@1.0.0: {} + + entities@4.5.0: {} + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + estree-walker@2.0.2: {} + + focus-trap@7.6.5: + dependencies: + tabbable: 6.2.0 + + fsevents@2.3.3: + optional: true + + hast-util-to-html@9.0.5: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hookable@5.5.3: {} + + html-void-elements@3.0.0: {} + + is-what@4.1.16: {} + + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.4 + + mark.js@8.11.1: {} + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-encode@2.0.1: {} + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + + minisearch@7.1.2: {} + + mitt@3.0.1: {} + + nanoid@3.3.11: {} + + oniguruma-to-es@3.1.1: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 6.0.1 + regex-recursion: 6.0.2 + + perfect-debounce@1.0.0: {} + + picocolors@1.1.1: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + preact@10.26.9: {} + + property-information@7.1.0: {} + + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.0.1: + dependencies: + regex-utilities: 2.3.0 + + rfdc@1.4.1: {} + + rollup@4.45.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.45.1 + '@rollup/rollup-android-arm64': 4.45.1 + '@rollup/rollup-darwin-arm64': 4.45.1 + '@rollup/rollup-darwin-x64': 4.45.1 + '@rollup/rollup-freebsd-arm64': 4.45.1 + '@rollup/rollup-freebsd-x64': 4.45.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.45.1 + '@rollup/rollup-linux-arm-musleabihf': 4.45.1 + '@rollup/rollup-linux-arm64-gnu': 4.45.1 + '@rollup/rollup-linux-arm64-musl': 4.45.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.45.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.45.1 + '@rollup/rollup-linux-riscv64-gnu': 4.45.1 + '@rollup/rollup-linux-riscv64-musl': 4.45.1 + '@rollup/rollup-linux-s390x-gnu': 4.45.1 + '@rollup/rollup-linux-x64-gnu': 4.45.1 + '@rollup/rollup-linux-x64-musl': 4.45.1 + '@rollup/rollup-win32-arm64-msvc': 4.45.1 + '@rollup/rollup-win32-ia32-msvc': 4.45.1 + '@rollup/rollup-win32-x64-msvc': 4.45.1 + fsevents: 2.3.3 + + search-insights@2.17.3: {} + + shiki@2.5.0: + dependencies: + '@shikijs/core': 2.5.0 + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/langs': 2.5.0 + '@shikijs/themes': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + source-map-js@1.2.1: {} + + space-separated-tokens@2.0.2: {} + + speakingurl@14.0.1: {} + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + superjson@2.2.2: + dependencies: + copy-anything: 3.0.5 + + tabbable@6.2.0: {} + + trim-lines@3.0.1: {} + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + vite@5.4.19: + dependencies: + esbuild: 0.21.5 + postcss: 8.5.6 + rollup: 4.45.1 + optionalDependencies: + fsevents: 2.3.3 + + vitepress@1.6.3(@algolia/client-search@5.33.0)(postcss@8.5.6)(search-insights@2.17.3): + dependencies: + '@docsearch/css': 3.8.2 + '@docsearch/js': 3.8.2(@algolia/client-search@5.33.0)(search-insights@2.17.3) + '@iconify-json/simple-icons': 1.2.43 + '@shikijs/core': 2.5.0 + '@shikijs/transformers': 2.5.0 + '@shikijs/types': 2.5.0 + '@types/markdown-it': 14.1.2 + '@vitejs/plugin-vue': 5.2.4(vite@5.4.19)(vue@3.5.17) + '@vue/devtools-api': 7.7.7 + '@vue/shared': 3.5.17 + '@vueuse/core': 12.8.2 + '@vueuse/integrations': 12.8.2(focus-trap@7.6.5) + focus-trap: 7.6.5 + mark.js: 8.11.1 + minisearch: 7.1.2 + shiki: 2.5.0 + vite: 5.4.19 + vue: 3.5.17 + optionalDependencies: + postcss: 8.5.6 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - sass-embedded + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + + vue@3.5.17: + dependencies: + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-sfc': 3.5.17 + '@vue/runtime-dom': 3.5.17 + '@vue/server-renderer': 3.5.17(vue@3.5.17) + '@vue/shared': 3.5.17 + + zwitch@2.0.4: {} diff --git a/docs/public/favicon.svg b/docs/public/favicon.svg new file mode 100644 index 00000000..77087659 --- /dev/null +++ b/docs/public/favicon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/stack.md b/docs/stack.md new file mode 100644 index 00000000..2eafccb7 --- /dev/null +++ b/docs/stack.md @@ -0,0 +1,59 @@ +# ๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ ์„ ์ • ์ด์œ  + +๋ณธ ํ”„๋กœ์ ํŠธ๋Š” **์งง์€ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„**, **์ž‘์€ ์ธ์›**, ๊ทธ๋ฆฌ๊ณ  **๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ๊ณผ ๋ฐ˜๋ณต์ ์ธ ๊ฐœ์„ **์ด ํ•ต์‹ฌ์ด ๋˜๋Š” ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€๋ณด์ˆ˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ  ์Šคํƒ์„ ์šฐ์„ ์ ์œผ๋กœ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค. + +๊ธฐ์ˆ  ์„ ์ •์˜ ๊ธฐ์ค€์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค +- ํŒ€์›์ด ๊ธฐ์กด์— ์‚ฌ์šฉ ๊ฒฝํ—˜์ด ์žˆ์–ด ๋น ๋ฅด๊ฒŒ ์ง„์ž… ๊ฐ€๋Šฅํ•œ ๊ธฐ์ˆ  +- ํ˜‘์—… ๊ณผ์ •์—์„œ ์ถฉ๋Œ์„ ์ค„์ด๊ณ  ์ƒ์‚ฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ +- ๋ฐฐํฌ ๋ฐ ์šด์˜๊นŒ์ง€์˜ ํ๋ฆ„์ด ๋‹จ์ˆœํ•˜๊ณ  ๊ฐ€๋ฒผ์šด ๋„๊ตฌ + +์ด๋Ÿฌํ•œ ๋ฐฐ๊ฒฝ์—์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ๋“ค์„ ์„ ์ •ํ•˜๊ณ  ์ ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + + + +## React & TypeScript + +![alt text](image-2.png) +
+ +React๋Š” UI๋ฅผ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์–ด ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ๊ณ  ์—ญํ•  ๋ถ„๋‹ด์ด ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ๋ถ€ํ„ฐ ํŒ€์›๋“ค์ด React์— ์ต์ˆ™ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ํ•™์Šต ๊ธฐ๊ฐ„ ์—†์ด ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ์— ์ฐฉ์ˆ˜ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ๋„ ๋„“์€ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ’๋ถ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. TypeScript๋Š” ์ •์  ํƒ€์ž… ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์˜ค๋ฅ˜๋ฅผ ์‚ฌ์ „์— ๋ฐฉ์ง€ํ•˜๊ณ , ํ•จ์ˆ˜๋‚˜ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ช…ํ™•ํžˆ ์ •์˜ํ•˜์—ฌ ํ˜‘์—… ํšจ์œจ์„ฑ์„ ํฌ๊ฒŒ ๋†’์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์—ฌ๋Ÿฌ ๋ช…์ด ๋™์‹œ์— ์ž‘์—…ํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ TypeScript์˜ ํƒ€์ž… ์ •์˜๋Š” ๋ช…ํ™•ํ•œ ๊ณ„์•ฝ์„œ ์—ญํ• ์„ ํ•˜๋ฉฐ ์ฝ”๋“œ ์ถฉ๋Œ์„ ์ค„์ด๋Š” ๋ฐ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. + +![alt text](image-6.png) +
+ +ํ•œํŽธ, ๋ชจ๋…ธ๋ ˆํฌ๋‚˜ ํ„ฐ๋ณด๋ ˆํฌ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ํฌ์ง€ ์•Š๊ณ  ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋„ ์•„๋‹ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋‹จ์ผ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๊ณ  ํšจ์œจ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์งง์€ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ์•ˆ์— ๋น ๋ฅด๊ฒŒ ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ๊ณ ๋ฐ›์•„์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ๋ณต์žกํ•œ ๋ ˆํฌ ๊ด€๋ฆฌ๋ณด๋‹ค ๋‹จ์ผ ๊ตฌ์กฐ์—์„œ ์ง‘์ค‘ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‹ค์šฉ์ ์ด๋ผ๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. + + + +## CSS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: Tailwind vs Vanilla Extract + +![alt text](image-4.png) +
+ +์Šคํƒ€์ผ๋ง ๋„๊ตฌ๋กœ๋Š” Vanilla Extract์™€ Tailwind CSS๋ฅผ ๋‘๊ณ  ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค. Vanilla Extract๋Š” ์Šคํƒ€์ผ๊ณผ ๋กœ์ง์ด ๋ถ„๋ฆฌ๋˜์–ด ๊น”๋”ํ•œ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ณ , ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์™€ ์—ฐ๋™๋˜์–ด ํƒ€์ž… ์•ˆ์ „์„ฑ๊ณผ ๋””์ž์ธ ํ† ํฐ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ๊ตฌํ˜„์— ์œ ๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ •์  ์Šคํƒ€์ผ ์ถ”์ถœ ๋ฐฉ์‹์œผ๋กœ ์„ฑ๋Šฅ ๋ถ€๋‹ด๋„ ์ ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ปดํฌ๋„ŒํŠธ์™€ ์Šคํƒ€์ผ ํŒŒ์ผ์ด ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์–ด ๋งฅ๋ฝ ํŒŒ์•…์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๊ณ , ํŒ€์›๋“ค์ด ์ด ํˆด์— ์ต์ˆ™ํ•˜์ง€ ์•Š์•„ ๋Ÿฌ๋‹ ์ปค๋ธŒ๊ฐ€ ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์งง์€ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” ์ง„์ž… ์žฅ๋ฒฝ์ด ์žˆ๋Š” ๋„๊ตฌ์˜€์Šต๋‹ˆ๋‹ค. + +Tailwind CSS๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์ด๋ผ ๋น ๋ฅธ ์Šคํƒ€์ผ๋ง์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์—ˆ์ง€๋งŒ, ํด๋ž˜์Šค๋ช…์ด ๋งŽ์•„์ง€๋ฉด ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์šฐ๋ ค๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ v4๋ถ€ํ„ฐ Rust ๊ธฐ๋ฐ˜ ์—”์ง„์ด ๋„์ž…๋˜๋ฉฐ ๋นŒ๋“œ ์†๋„๊ฐ€ ํฌ๊ฒŒ ๊ฐœ์„ ๋˜์—ˆ๊ณ , ์ตœ์‹  CSS ๊ธฐ๋Šฅ(JIT ์ตœ์ ํ™”, ์ปจํ…Œ์ด๋„ˆ ์ฟผ๋ฆฌ, OKLCH ์ƒ‰์ƒ ์‹œ์Šคํ…œ ๋“ฑ)์„ ์ง€์›ํ•˜๋ฉฐ ์ƒ์‚ฐ์„ฑ๊ณผ ๋””์ž์ธ ํ’ˆ์งˆ ๋ชจ๋‘์—์„œ ๊ธ์ •์ ์ธ ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” `cn`, `cva` ๊ฐ™์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜๋กœ ํด๋ž˜์Šค ๊ด€๋ฆฌ๋ฅผ ์ฒด๊ณ„ํ™”ํ•ด ๊ฐ€๋…์„ฑ ๋ฌธ์ œ๋ฅผ ์–ด๋А ์ •๋„ ํ•ด์†Œํ–ˆ๊ณ , ๋น ๋ฅธ ๊ฐœ๋ฐœ ์†๋„์™€ ์œ ์ง€๋ณด์ˆ˜ ํšจ์œจ์„ฑ์„ ๊ณ ๋ คํ•ด ์ตœ์ข…์ ์œผ๋กœ Tailwind CSS๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. + + + +## Biome ๋„์ž… ๋ฐฐ๊ฒฝ + +![alt text](image-3.png) +
+ +๊ธฐ์กด์˜ ํฌ๋งคํ„ฐ์™€ ๋ฆฐํ„ฐ ์กฐํ•ฉ์ธ Prettier์™€ ESLint๋Š” ๊ฐ๊ฐ ์„ค์ •์ด ๋ณต์žกํ•˜๊ณ , ์—ฌ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ์„ค์ • ํŒŒ์ผ ๊ฐ„์˜ ์ถฉ๋Œ๋กœ ์ธํ•ด ๊ฐœ๋ฐœ ํ๋ฆ„์„ ๋ฐฉํ•ดํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ž์ฃผ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ TypeScript ํ™˜๊ฒฝ์—์„œ๋Š” tsconfig์™€ eslint, prettier ์„ค์ • ๊ฐ„์˜ ์ถฉ๋Œ์„ ์กฐ์ •ํ•˜๋А๋ผ ์‹œ๊ฐ„์„ ์†Œ๋ชจํ•˜๋Š” ์ผ์ด ๋ฐ˜๋ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CI ํ™˜๊ฒฝ์—์„œ๋„ ๊ฐ๊ฐ์„ ๋ณ‘๋ ฌ ์‹คํ–‰ํ•ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋นŒ๋“œ ์‹œ๊ฐ„์ด ๊ธธ์–ด์กŒ์Šต๋‹ˆ๋‹ค. + +์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Biome์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. Biome์€ Rust ๊ธฐ๋ฐ˜์œผ๋กœ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜๋ฉฐ, ํฌ๋งคํŒ…๊ณผ ๋ฆฐํŒ…์„ ํ•˜๋‚˜์˜ ๋„๊ตฌ๋กœ ํ†ตํ•ฉํ•ด ์„ค์ • ๋ณต์žก๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ์ค„์˜€์Šต๋‹ˆ๋‹ค. `.biome.json` ํŒŒ์ผ ํ•˜๋‚˜๋กœ ํ•„์š”ํ•œ ์„ค์ •์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ , ๋ณ„๋„์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์—†์ด๋„ TypeScript์™€ JSX, React๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด Prettier์™€ ์œ ์‚ฌํ•œ ํฌ๋งท ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•˜๋ฉด์„œ๋„, ์„ค์ • ๊ฐ„ ์ถฉ๋Œ์ด ๊ฑฐ์˜ ์—†๊ณ  ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋„ ๋ช…ํ™•ํ•ด ์œ ์ง€๋ณด์ˆ˜์— ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Biome ํ•˜๋‚˜๋งŒ์œผ๋กœ CI ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ๊ณ , ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜๋„ ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + + + +## Cloudflare Pages ์„ ์ • ์ด์œ  + +![alt text](image-5.png) +
+ +๋ฐฐํฌ ํ”Œ๋žซํผ์œผ๋กœ๋Š” Cloudflare Pages๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋Š” CSR ๊ธฐ๋ฐ˜์˜ SPA๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, Next.js์˜ SSR ๊ธฐ๋Šฅ์ด๋‚˜ Edge Function ์ตœ์ ํ™” ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” Vercel์˜ ๊ฐ•์ ์„ ํ™œ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ตฌ์กฐ์˜€์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Vercel์€ ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ Organization Repository๋กœ ๋ฐฐํฌํ•  ๊ฒฝ์šฐ ์œ ๋ฃŒ ํ”Œ๋žœ์„ ์š”๊ตฌํ•ด ์ ‘๊ทผ์„ฑ์ด ๋–จ์–ด์กŒ๊ณ , Netlify ์—ญ์‹œ ์œ ์‚ฌํ•œ ์ œ์•ฝ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. + +๋ฐ˜๋ฉด Cloudflare Pages๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋ฉฐ, Organization Repository๋„ ์ œํ•œ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub ์—ฐ๋™๋งŒ์œผ๋กœ ์ž๋™ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ–ˆ๊ณ , ๊ฐ PR๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” Preview ํ™˜๊ฒฝ์€ ํŒ€ ํ˜‘์—…์— ํฐ ๋„์›€์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋น„๊ฐœ๋ฐœ์ž๋‚˜ ๋””์ž์ด๋„ˆ๋„ ๊ฐ„ํŽธํ•˜๊ฒŒ URL์„ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฌผ์„ ํ™•์ธํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ์ค„ ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉฐ, ์„ค์ • ๊ณผ์ •์ด ์ง๊ด€์ ์ด๊ณ  ๋‹จ์ˆœํ•ด ๋ฐฐํฌ ๊ด€๋ฆฌ์˜ ๋ถ€๋‹ด์ด ๊ฑฐ์˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธ€๋กœ๋ฒŒ CDN ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐฐํฌ ์†๋„๋„ ๋งค์šฐ ๋น ๋ฅด๊ณ , ๋ณ„๋„ ์„ค์ • ์—†์ด SSL ์ธ์ฆ์ด ์ž๋™ ์ ์šฉ๋˜๋Š” ์ ๋„ ์žฅ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. + +๋ฌผ๋ก  Vercel์ด๋‚˜ Netlify์— ๋น„ํ•ด ๋ฌธ์„œ๋‚˜ ๋ ˆํผ๋Ÿฐ์Šค๋Š” ๋‹ค์†Œ ๋ถ€์กฑํ•œ ํŽธ์ด์ง€๋งŒ, ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์ฒ˜๋Ÿผ SSR์ด ํ•„์š” ์—†๋Š” ์ •์  SPA์—๋Š” Cloudflare Pages๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์„ ํƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋ฐฐํฌ, ์ž์œ ๋กœ์šด ํ˜‘์—… ํ™˜๊ฒฝ, ์‰ฌ์šด ์„ค์ • ๋“ฑ ๋ชจ๋“  ์กฐ๊ฑด์„ ๊ณ ๋ คํ–ˆ์„ ๋•Œ, ์ €ํฌ ํ”„๋กœ์ ํŠธ์˜ ๋ชฉ์ ๊ณผ ๊ฐ€์žฅ ์ž˜ ๋งž๋Š” ํ”Œ๋žซํผ์ด์—ˆ์Šต๋‹ˆ๋‹ค. diff --git a/docs/trouble.md b/docs/trouble.md new file mode 100644 index 00000000..8ff9a6cb --- /dev/null +++ b/docs/trouble.md @@ -0,0 +1,5 @@ +# ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… + +- ์ฟ ํ‚ค ์ธ์ฆ ๊ด€๋ จ ํŠธ๋Ÿฌ๋ธ” + +- ์ถ”ํ›„ ์ถ”๊ฐ€ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/package.json b/package.json index 3f42cccc..d419fe38 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "@storybook/manager-api": "^8.6.14", "@storybook/theming": "^8.6.14", "@tailwindcss/postcss": "^4.1.11", - "@tailwindcss/vite": "^4.1.11", "@tanstack/react-query": "^5.82.0", "@tanstack/react-query-devtools": "^5.81.5", "@toss/lottie": "^1.3.2", @@ -75,6 +74,7 @@ "vite": "^6.3.5", "vite-plugin-mkcert": "^1.17.8", "vite-tsconfig-paths": "^5.1.4", + "vitepress": "^1.6.3", "vitest": "^3.2.4", "wrangler": "^4.22.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 343c7d84..2c0d3bd8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,9 +20,6 @@ importers: '@tailwindcss/postcss': specifier: ^4.1.11 version: 4.1.11 - '@tailwindcss/vite': - specifier: ^4.1.11 - version: 4.1.11(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)) '@tanstack/react-query': specifier: ^5.82.0 version: 5.82.0(react@19.1.0) @@ -108,6 +105,9 @@ importers: '@storybook/react-vite': specifier: 9.0.14 version: 9.0.14(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.44.2)(storybook@9.0.14(@testing-library/dom@10.4.0))(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)) + '@tailwindcss/vite': + specifier: ^4.1.11 + version: 4.1.11(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)) '@types/node': specifier: ^24.0.10 version: 24.0.10 @@ -177,6 +177,9 @@ importers: vite-tsconfig-paths: specifier: ^5.1.4 version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)) + vitepress: + specifier: ^1.6.3 + version: 1.6.3(@algolia/client-search@5.33.0)(@types/node@24.0.10)(@types/react@19.1.8)(axios@1.10.0)(lightningcss@1.30.1)(postcss@8.5.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.8.3) vitest: specifier: ^3.2.4 version: 3.2.4(@types/node@24.0.10)(@vitest/browser@3.2.4)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3) @@ -184,11 +187,85 @@ importers: specifier: ^4.22.0 version: 4.23.0 + docs: {} + packages: '@adobe/css-tools@4.4.3': resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==} + '@algolia/autocomplete-core@1.17.7': + resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} + + '@algolia/autocomplete-plugin-algolia-insights@1.17.7': + resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.17.7': + resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.17.7': + resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.33.0': + resolution: {integrity: sha512-Pyv+iHkkq7BJWFKzdrXm/JSbcTGvrGqJnIMwHYYlKDjuEBWhYt/z4WDLP9MbFZ9cTKb4qe8OvzEmS/0ERW3ibg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.33.0': + resolution: {integrity: sha512-qkRc7ovjWQQJng6U1yM5esLPNDB0leGCaOh3FEfeWRyLB0xnjLsBEUkKanYq9GrewPvi17l78nDhkqB2SYzTCw==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.33.0': + resolution: {integrity: sha512-Gq8Z4Fv0DkqDkf/bZl7ZwIF7PSCnRFwpyQoNDnUg+s4SwerXx6VwZJlIx/t5b9+l7vwWsjnKVivCfM4Ab5gw+g==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.33.0': + resolution: {integrity: sha512-/tp1oWD3lpSXhAC4n8j0GMDbmN6pd+pATeO1GeURAFP5TVF+2Jz+NbQ1et0uCTzdazOfjEjSIv0fQSLo7bqSgA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.33.0': + resolution: {integrity: sha512-hZNSqe2BXkrBQ04t5NSlqsNl4u0QrFfhXHbjO5iZ14TWt5jyOdtFMBxF3Qc0o0sqTVYnFIp0xtUbEi+/HkGeyQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.33.0': + resolution: {integrity: sha512-kpu2hCIR+848T0lcf3W1GCMe+HQp/LcHceIglA6Dyw6i+y9wH3w8kmXqIV2Svv6JQ9ojEqIL8Knk7NEvD3xIBg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.33.0': + resolution: {integrity: sha512-Z5SAqPLxF8KyE9YPO4tAdHrXyb87DUJ0lXhFrcrG+dl/AQT9nqycQhtqDqdcQnfZrj02PImSWZQpxQj34nGZKw==} + engines: {node: '>= 14.0.0'} + + '@algolia/ingestion@1.33.0': + resolution: {integrity: sha512-KNJI60N+twnDLiIY+oGO2Q+syS+yBNOmNdhsB5vCzzrhi3CYs+bufnJ67/BUUfnt+T5+3VlnkvUgDkGBmmZXmA==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.33.0': + resolution: {integrity: sha512-47R0kMDTSj8Q7rCUgIRv5Xc518tCBBS0KIZ5oRKg+hspQaJmEO+fxwGLrIIwp5JiaK6y+5sbS7bhtaajelJhpg==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.33.0': + resolution: {integrity: sha512-HpeLoVQuv5kW9xL0RSq1exa8ueNwyx+9B02dzFonlQzKTaSedM0jiWo6m3nWpi1hChAKqjzkL40FkxrgyrWTSg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.33.0': + resolution: {integrity: sha512-uOqDkvY7s9c9rkaZ4+n69LkTmZ5ax3el+8u6ipvODfj1P3HzrGvMUVFy/nGSXxw+XITKcIRphPQcyqn15b02dA==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.33.0': + resolution: {integrity: sha512-NzTEGjwjPhUXPsrjj9nXM43+jtBVeL6UgGNBTQKsxjpqJ3EEAQ2Kq5g7DRK6mVDTQiTBWvBLKChJpn4qxwtLsg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.33.0': + resolution: {integrity: sha512-FhEE19ScAYuXL3VLj2I3KhL7683gZwZoa+BQZUEnA05vSbVBhCAqUBQgiVu7j2RF3VceqLX3+GEeY0bHs4y7eA==} + engines: {node: '>= 14.0.0'} + '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -463,9 +540,38 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@docsearch/css@3.8.2': + resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==} + + '@docsearch/js@3.8.2': + resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==} + + '@docsearch/react@3.8.2': + resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + '@emnapi/runtime@1.4.3': resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.25.4': resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} engines: {node: '>=18'} @@ -478,6 +584,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.25.4': resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} engines: {node: '>=18'} @@ -490,6 +602,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.25.4': resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} engines: {node: '>=18'} @@ -502,6 +620,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.25.4': resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} engines: {node: '>=18'} @@ -514,6 +638,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.25.4': resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} engines: {node: '>=18'} @@ -526,6 +656,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.25.4': resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} engines: {node: '>=18'} @@ -538,6 +674,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.25.4': resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} engines: {node: '>=18'} @@ -550,6 +692,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.4': resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} engines: {node: '>=18'} @@ -562,6 +710,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.25.4': resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} engines: {node: '>=18'} @@ -574,6 +728,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.25.4': resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} engines: {node: '>=18'} @@ -586,6 +746,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.25.4': resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} engines: {node: '>=18'} @@ -598,6 +764,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.25.4': resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} engines: {node: '>=18'} @@ -610,6 +782,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.25.4': resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} engines: {node: '>=18'} @@ -622,6 +800,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.25.4': resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} engines: {node: '>=18'} @@ -634,6 +818,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.25.4': resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} engines: {node: '>=18'} @@ -646,6 +836,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.25.4': resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} engines: {node: '>=18'} @@ -658,6 +854,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.25.4': resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} engines: {node: '>=18'} @@ -682,6 +884,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.4': resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} engines: {node: '>=18'} @@ -706,6 +914,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.4': resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} engines: {node: '>=18'} @@ -718,6 +932,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.25.4': resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} engines: {node: '>=18'} @@ -730,6 +950,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.25.4': resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} engines: {node: '>=18'} @@ -742,6 +968,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.25.4': resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} engines: {node: '>=18'} @@ -754,6 +986,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.25.4': resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} engines: {node: '>=18'} @@ -837,6 +1075,12 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@iconify-json/simple-icons@1.2.43': + resolution: {integrity: sha512-JERgKGFRfZdyjGyTvVBVW5rftahy9tNUX+P+0QUnbaAEWvEMexXHE9863YVMVrIRhoj/HybGsibg8ZWieo/NDg==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + '@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} @@ -1127,6 +1371,30 @@ packages: cpu: [x64] os: [win32] + '@shikijs/core@2.5.0': + resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==} + + '@shikijs/engine-javascript@2.5.0': + resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==} + + '@shikijs/engine-oniguruma@2.5.0': + resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==} + + '@shikijs/langs@2.5.0': + resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==} + + '@shikijs/themes@2.5.0': + resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==} + + '@shikijs/transformers@2.5.0': + resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==} + + '@shikijs/types@2.5.0': + resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@standard-schema/utils@0.3.0': resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} @@ -1498,9 +1766,24 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@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==} + '@types/linkify-it@5.0.0': + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} + + '@types/markdown-it@14.1.2': + resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + '@types/mdx@2.0.13': resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} @@ -1524,6 +1807,12 @@ packages: '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + '@typescript-eslint/eslint-plugin@8.35.1': resolution: {integrity: sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1583,6 +1872,9 @@ packages: resolution: {integrity: sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + '@vitejs/plugin-react-swc@3.10.2': resolution: {integrity: sha512-xD3Rdvrt5LgANug7WekBn1KhcvLn1H3jNBfJRL3reeOIua/WnZOEV5qi5qIBq5T8R0jUDmRtxuvk4bPhzGHDWw==} peerDependencies: @@ -1594,6 +1886,13 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 + '@vitejs/plugin-vue@5.2.4': + resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + '@vitest/browser@3.2.4': resolution: {integrity: sha512-tJxiPrWmzH8a+w9nLKlQMzAKX/7VjFs50MWgcAj7p9XQ7AQ9/35fByFYptgPELyLw+0aixTnC4pUWV+APcZ/kw==} peerDependencies: @@ -1647,6 +1946,94 @@ packages: '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@vue/compiler-core@3.5.17': + resolution: {integrity: sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==} + + '@vue/compiler-dom@3.5.17': + resolution: {integrity: sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==} + + '@vue/compiler-sfc@3.5.17': + resolution: {integrity: sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==} + + '@vue/compiler-ssr@3.5.17': + resolution: {integrity: sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==} + + '@vue/devtools-api@7.7.7': + resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==} + + '@vue/devtools-kit@7.7.7': + resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} + + '@vue/devtools-shared@7.7.7': + resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} + + '@vue/reactivity@3.5.17': + resolution: {integrity: sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==} + + '@vue/runtime-core@3.5.17': + resolution: {integrity: sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==} + + '@vue/runtime-dom@3.5.17': + resolution: {integrity: sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==} + + '@vue/server-renderer@3.5.17': + resolution: {integrity: sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==} + peerDependencies: + vue: 3.5.17 + + '@vue/shared@3.5.17': + resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==} + + '@vueuse/core@12.8.2': + resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} + + '@vueuse/integrations@12.8.2': + resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==} + peerDependencies: + async-validator: ^4 + axios: ^1 + change-case: ^5 + drauu: ^0.4 + focus-trap: ^7 + fuse.js: ^7 + idb-keyval: ^6 + jwt-decode: ^4 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^7 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/metadata@12.8.2': + resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} + + '@vueuse/shared@12.8.2': + resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} + JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -1680,6 +2067,10 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + algoliasearch@5.33.0: + resolution: {integrity: sha512-WdgSkmyTec5n2W2FA2/7Q7TCSajCV0X6w57u3H5GHnw0UCp/G5xb33/Jx1FX3uMtz17P3wGEzMCP82d0LJqMow==} + engines: {node: '>= 14.0.0'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1754,6 +2145,9 @@ packages: resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} engines: {node: '>=12.0.0'} + birpc@2.5.0: + resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==} + blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} @@ -1790,6 +2184,9 @@ packages: caniuse-lite@1.0.30001727: resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chai@5.2.0: resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} engines: {node: '>=12'} @@ -1806,6 +2203,12 @@ packages: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} @@ -1881,6 +2284,9 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -1915,6 +2321,10 @@ packages: resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} engines: {node: '>=18'} + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + cosmiconfig-typescript-loader@6.1.0: resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} engines: {node: '>=v18'} @@ -2013,6 +2423,9 @@ packages: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -2054,6 +2467,9 @@ packages: electron-to-chromium@1.5.179: resolution: {integrity: sha512-UWKi/EbBopgfFsc5k61wFpV7WrnnSlSzW/e2XcBmS6qKYTivZlLtoll5/rdqRTxGglGHkmkW0j0pFNJG10EUIQ==} + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2106,6 +2522,11 @@ packages: peerDependencies: esbuild: '>=0.12 <1' + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.25.4: resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} engines: {node: '>=18'} @@ -2253,6 +2674,9 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + focus-trap@7.6.5: + resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} + follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} @@ -2378,9 +2802,21 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + htmlparser2@10.0.0: resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} @@ -2459,6 +2895,10 @@ packages: resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} engines: {node: '>=8'} + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -2682,10 +3122,16 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} @@ -2700,6 +3146,21 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -2740,10 +3201,16 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minisearch@7.1.2: + resolution: {integrity: sha512-R1Pd9eF+MD5JYDDSPAp/q1ougKglm14uEkPMvQ/05RGmx6G9wvmLTrTI/Q5iPNJLYqNdsDQ7qTGIcNWR+FrHmA==} + minizlib@3.0.2: resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} engines: {node: '>= 18'} + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} @@ -2787,6 +3254,9 @@ packages: ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + oniguruma-to-es@3.1.1: + resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==} + open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -2860,6 +3330,9 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2878,6 +3351,9 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + preact@10.26.9: + resolution: {integrity: sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA==} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2893,6 +3369,9 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -2968,6 +3447,15 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.0.1: + resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -2996,6 +3484,9 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rollup@4.44.2: resolution: {integrity: sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -3013,6 +3504,9 @@ packages: scheduler@0.26.0: resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -3037,6 +3531,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shiki@2.5.0: + resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==} + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -3062,6 +3559,13 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -3096,6 +3600,9 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3123,6 +3630,10 @@ packages: strip-literal@3.0.0: resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + superjson@2.2.2: + resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} + engines: {node: '>=16'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -3141,6 +3652,9 @@ packages: engines: {node: '>=16'} hasBin: true + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tailwind-merge@3.3.1: resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} @@ -3202,6 +3716,9 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + ts-api-utils@2.1.0: resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} engines: {node: '>=18.12'} @@ -3285,6 +3802,21 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -3305,6 +3837,12 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-node@3.2.4: resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -3324,27 +3862,22 @@ packages: vite: optional: true - vite@6.3.5: - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vite@5.4.19: + resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' + '@types/node': ^18.0.0 || >=20.0.0 less: '*' lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 + terser: ^5.4.0 peerDependenciesMeta: '@types/node': optional: true - jiti: - optional: true less: optional: true lightningcss: @@ -3359,17 +3892,65 @@ packages: optional: true terser: optional: true - tsx: - optional: true - yaml: - optional: true - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitepress@1.6.3: + resolution: {integrity: sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 '@vitest/browser': 3.2.4 @@ -3392,6 +3973,14 @@ packages: jsdom: optional: true + vue@3.5.17: + resolution: {integrity: sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} @@ -3504,10 +4093,118 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@adobe/css-tools@4.4.3': {} + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)': + dependencies: + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0) + '@algolia/client-search': 5.33.0 + algoliasearch: 5.33.0 + + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)': + dependencies: + '@algolia/client-search': 5.33.0 + algoliasearch: 5.33.0 + + '@algolia/client-abtesting@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-analytics@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-common@5.33.0': {} + + '@algolia/client-insights@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-personalization@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-query-suggestions@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/client-search@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/ingestion@1.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/monitoring@1.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/recommend@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + + '@algolia/requester-browser-xhr@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + + '@algolia/requester-fetch@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + + '@algolia/requester-node-http@5.33.0': + dependencies: + '@algolia/client-common': 5.33.0 + '@alloc/quick-lru@5.2.0': {} '@ampproject/remapping@2.3.0': @@ -3817,107 +4514,185 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@docsearch/css@3.8.2': {} + + '@docsearch/js@3.8.2(@algolia/client-search@5.33.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)': + dependencies: + '@docsearch/react': 3.8.2(@algolia/client-search@5.33.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3) + preact: 10.26.9 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + + '@docsearch/react@3.8.2(@algolia/client-search@5.33.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.33.0)(algoliasearch@5.33.0) + '@docsearch/css': 3.8.2 + algoliasearch: 5.33.0 + optionalDependencies: + '@types/react': 19.1.8 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + '@emnapi/runtime@1.4.3': dependencies: tslib: 2.8.1 optional: true + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/aix-ppc64@0.25.4': optional: true '@esbuild/aix-ppc64@0.25.5': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm64@0.25.4': optional: true '@esbuild/android-arm64@0.25.5': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-arm@0.25.4': optional: true '@esbuild/android-arm@0.25.5': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/android-x64@0.25.4': optional: true '@esbuild/android-x64@0.25.5': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.25.4': optional: true '@esbuild/darwin-arm64@0.25.5': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.25.4': optional: true '@esbuild/darwin-x64@0.25.5': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.25.4': optional: true '@esbuild/freebsd-arm64@0.25.5': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.25.4': optional: true '@esbuild/freebsd-x64@0.25.5': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.25.4': optional: true '@esbuild/linux-arm64@0.25.5': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-arm@0.25.4': optional: true '@esbuild/linux-arm@0.25.5': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-ia32@0.25.4': optional: true '@esbuild/linux-ia32@0.25.5': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-loong64@0.25.4': optional: true '@esbuild/linux-loong64@0.25.5': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.25.4': optional: true '@esbuild/linux-mips64el@0.25.5': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.25.4': optional: true '@esbuild/linux-ppc64@0.25.5': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.25.4': optional: true '@esbuild/linux-riscv64@0.25.5': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-s390x@0.25.4': optional: true '@esbuild/linux-s390x@0.25.5': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/linux-x64@0.25.4': optional: true @@ -3930,6 +4705,9 @@ snapshots: '@esbuild/netbsd-arm64@0.25.5': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.25.4': optional: true @@ -3942,30 +4720,45 @@ snapshots: '@esbuild/openbsd-arm64@0.25.5': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.25.4': optional: true '@esbuild/openbsd-x64@0.25.5': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.25.4': optional: true '@esbuild/sunos-x64@0.25.5': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.25.4': optional: true '@esbuild/win32-arm64@0.25.5': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-ia32@0.25.4': optional: true '@esbuild/win32-ia32@0.25.5': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@esbuild/win32-x64@0.25.4': optional: true @@ -4040,6 +4833,12 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} + '@iconify-json/simple-icons@1.2.43': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.0.4 @@ -4262,6 +5061,46 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.44.2': optional: true + '@shikijs/core@2.5.0': + dependencies: + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 3.1.1 + + '@shikijs/engine-oniguruma@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + + '@shikijs/themes@2.5.0': + dependencies: + '@shikijs/types': 2.5.0 + + '@shikijs/transformers@2.5.0': + dependencies: + '@shikijs/core': 2.5.0 + '@shikijs/types': 2.5.0 + + '@shikijs/types@2.5.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + '@standard-schema/utils@0.3.0': {} '@storybook/addon-a11y@9.0.14(storybook@9.0.14(@testing-library/dom@10.4.0))': @@ -4631,8 +5470,25 @@ snapshots: '@types/estree@1.0.8': {} + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/json-schema@7.0.15': {} + '@types/linkify-it@5.0.0': {} + + '@types/markdown-it@14.1.2': + dependencies: + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdurl@2.0.0': {} + '@types/mdx@2.0.13': {} '@types/node@24.0.10': @@ -4656,6 +5512,10 @@ snapshots: '@types/resolve@1.20.6': {} + '@types/unist@3.0.3': {} + + '@types/web-bluetooth@0.0.21': {} + '@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -4748,6 +5608,8 @@ snapshots: '@typescript-eslint/types': 8.35.1 eslint-visitor-keys: 4.2.1 + '@ungap/structured-clone@1.3.0': {} + '@vitejs/plugin-react-swc@3.10.2(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.11 @@ -4768,6 +5630,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@vitejs/plugin-vue@5.2.4(vite@5.4.19(@types/node@24.0.10)(lightningcss@1.30.1))(vue@3.5.17(typescript@5.8.3))': + dependencies: + vite: 5.4.19(@types/node@24.0.10)(lightningcss@1.30.1) + vue: 3.5.17(typescript@5.8.3) + '@vitest/browser@3.2.4(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3))(vitest@3.2.4)': dependencies: '@testing-library/dom': 10.4.0 @@ -4848,6 +5715,106 @@ snapshots: loupe: 3.1.4 tinyrainbow: 2.0.0 + '@vue/compiler-core@3.5.17': + dependencies: + '@babel/parser': 7.28.0 + '@vue/shared': 3.5.17 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.17': + dependencies: + '@vue/compiler-core': 3.5.17 + '@vue/shared': 3.5.17 + + '@vue/compiler-sfc@3.5.17': + dependencies: + '@babel/parser': 7.28.0 + '@vue/compiler-core': 3.5.17 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 + estree-walker: 2.0.2 + magic-string: 0.30.17 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.17': + dependencies: + '@vue/compiler-dom': 3.5.17 + '@vue/shared': 3.5.17 + + '@vue/devtools-api@7.7.7': + dependencies: + '@vue/devtools-kit': 7.7.7 + + '@vue/devtools-kit@7.7.7': + dependencies: + '@vue/devtools-shared': 7.7.7 + birpc: 2.5.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.2 + + '@vue/devtools-shared@7.7.7': + dependencies: + rfdc: 1.4.1 + + '@vue/reactivity@3.5.17': + dependencies: + '@vue/shared': 3.5.17 + + '@vue/runtime-core@3.5.17': + dependencies: + '@vue/reactivity': 3.5.17 + '@vue/shared': 3.5.17 + + '@vue/runtime-dom@3.5.17': + dependencies: + '@vue/reactivity': 3.5.17 + '@vue/runtime-core': 3.5.17 + '@vue/shared': 3.5.17 + csstype: 3.1.3 + + '@vue/server-renderer@3.5.17(vue@3.5.17(typescript@5.8.3))': + dependencies: + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 + vue: 3.5.17(typescript@5.8.3) + + '@vue/shared@3.5.17': {} + + '@vueuse/core@12.8.2(typescript@5.8.3)': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 12.8.2 + '@vueuse/shared': 12.8.2(typescript@5.8.3) + vue: 3.5.17(typescript@5.8.3) + transitivePeerDependencies: + - typescript + + '@vueuse/integrations@12.8.2(axios@1.10.0)(focus-trap@7.6.5)(typescript@5.8.3)': + dependencies: + '@vueuse/core': 12.8.2(typescript@5.8.3) + '@vueuse/shared': 12.8.2(typescript@5.8.3) + vue: 3.5.17(typescript@5.8.3) + optionalDependencies: + axios: 1.10.0(debug@4.4.1) + focus-trap: 7.6.5 + transitivePeerDependencies: + - typescript + + '@vueuse/metadata@12.8.2': {} + + '@vueuse/shared@12.8.2(typescript@5.8.3)': + dependencies: + vue: 3.5.17(typescript@5.8.3) + transitivePeerDependencies: + - typescript + JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 @@ -4881,6 +5848,22 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + algoliasearch@5.33.0: + dependencies: + '@algolia/client-abtesting': 5.33.0 + '@algolia/client-analytics': 5.33.0 + '@algolia/client-common': 5.33.0 + '@algolia/client-insights': 5.33.0 + '@algolia/client-personalization': 5.33.0 + '@algolia/client-query-suggestions': 5.33.0 + '@algolia/client-search': 5.33.0 + '@algolia/ingestion': 1.33.0 + '@algolia/monitoring': 1.33.0 + '@algolia/recommend': 5.33.0 + '@algolia/requester-browser-xhr': 5.33.0 + '@algolia/requester-fetch': 5.33.0 + '@algolia/requester-node-http': 5.33.0 + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -4949,6 +5932,8 @@ snapshots: dependencies: open: 8.4.2 + birpc@2.5.0: {} + blake3-wasm@2.1.5: {} boolbase@1.0.0: {} @@ -4984,6 +5969,8 @@ snapshots: caniuse-lite@1.0.30001727: {} + ccount@2.0.1: {} + chai@5.2.0: dependencies: assertion-error: 2.0.1 @@ -5004,6 +5991,10 @@ snapshots: chalk@5.4.1: {} + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + check-error@2.1.1: {} cheerio-select@2.1.0: @@ -5073,6 +6064,8 @@ snapshots: dependencies: delayed-stream: 1.0.0 + comma-separated-tokens@2.0.3: {} + commander@11.1.0: {} compare-func@2.0.0: @@ -5103,6 +6096,10 @@ snapshots: cookie@1.0.2: {} + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + cosmiconfig-typescript-loader@6.1.0(@types/node@24.0.10)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): dependencies: '@types/node': 24.0.10 @@ -5183,6 +6180,10 @@ snapshots: detect-libc@2.0.4: {} + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + diff@4.0.2: {} doctrine@3.0.0: @@ -5225,6 +6226,8 @@ snapshots: electron-to-chromium@1.5.179: {} + emoji-regex-xs@1.0.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -5273,6 +6276,32 @@ snapshots: transitivePeerDependencies: - supports-color + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + esbuild@0.25.4: optionalDependencies: '@esbuild/aix-ppc64': 0.25.4 @@ -5476,6 +6505,10 @@ snapshots: flatted@3.3.3: {} + focus-trap@7.6.5: + dependencies: + tabbable: 6.2.0 + follow-redirects@1.15.9(debug@4.4.1): optionalDependencies: debug: 4.4.1 @@ -5593,8 +6626,30 @@ snapshots: dependencies: function-bind: 1.1.2 + hast-util-to-html@9.0.5: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hookable@5.5.3: {} + html-escaper@2.0.2: {} + html-void-elements@3.0.0: {} + htmlparser2@10.0.0: dependencies: domelementtype: 2.3.0 @@ -5651,6 +6706,8 @@ snapshots: dependencies: text-extensions: 2.4.0 + is-what@4.1.16: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -5834,8 +6891,22 @@ snapshots: make-error@1.3.6: {} + mark.js@8.11.1: {} + math-intrinsics@1.1.0: {} + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + mdn-data@2.0.28: {} mdn-data@2.12.2: {} @@ -5844,6 +6915,23 @@ snapshots: merge2@1.4.1: {} + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-encode@2.0.1: {} + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -5889,10 +6977,14 @@ snapshots: minipass@7.1.2: {} + minisearch@7.1.2: {} + minizlib@3.0.2: dependencies: minipass: 7.1.2 + mitt@3.0.1: {} + mkdirp@3.0.1: {} motion-dom@12.23.2: @@ -5921,6 +7013,12 @@ snapshots: ohash@2.0.11: {} + oniguruma-to-es@3.1.1: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 6.0.1 + regex-recursion: 6.0.2 + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -5997,6 +7095,8 @@ snapshots: pathval@2.0.1: {} + perfect-debounce@1.0.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -6011,6 +7111,8 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + preact@10.26.9: {} + prelude-ls@1.2.1: {} pretty-format@27.5.1: @@ -6026,6 +7128,8 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 + property-information@7.1.0: {} + proxy-from-env@1.1.0: {} punycode@2.3.1: {} @@ -6100,6 +7204,16 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.0.1: + dependencies: + regex-utilities: 2.3.0 + require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -6118,6 +7232,8 @@ snapshots: reusify@1.1.0: {} + rfdc@1.4.1: {} + rollup@4.44.2: dependencies: '@types/estree': 1.0.8 @@ -6154,6 +7270,8 @@ snapshots: scheduler@0.26.0: {} + search-insights@2.17.3: {} + semver@6.3.1: {} semver@7.7.2: {} @@ -6192,6 +7310,17 @@ snapshots: shebang-regex@3.0.0: {} + shiki@2.5.0: + dependencies: + '@shikijs/core': 2.5.0 + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/langs': 2.5.0 + '@shikijs/themes': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + siginfo@2.0.0: {} signal-exit@4.1.0: {} @@ -6212,6 +7341,10 @@ snapshots: source-map@0.6.1: {} + space-separated-tokens@2.0.2: {} + + speakingurl@14.0.1: {} + split2@4.2.0: {} stackback@0.0.2: {} @@ -6256,6 +7389,11 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -6280,6 +7418,10 @@ snapshots: dependencies: js-tokens: 9.0.1 + superjson@2.2.2: + dependencies: + copy-anything: 3.0.5 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -6300,6 +7442,8 @@ snapshots: picocolors: 1.1.1 sax: 1.4.1 + tabbable@6.2.0: {} + tailwind-merge@3.3.1: {} tailwindcss@4.1.11: {} @@ -6350,6 +7494,8 @@ snapshots: totalist@3.0.1: {} + trim-lines@3.0.1: {} + ts-api-utils@2.1.0(typescript@5.8.3): dependencies: typescript: 5.8.3 @@ -6431,6 +7577,29 @@ snapshots: unicorn-magic@0.1.0: {} + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + universalify@2.0.1: {} unplugin@1.16.1: @@ -6450,6 +7619,16 @@ snapshots: v8-compile-cache-lib@3.0.1: {} + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + vite-node@3.2.4(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3): dependencies: cac: 6.7.14 @@ -6491,6 +7670,16 @@ snapshots: - supports-color - typescript + vite@5.4.19(@types/node@24.0.10)(lightningcss@1.30.1): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.6 + rollup: 4.44.2 + optionalDependencies: + '@types/node': 24.0.10 + fsevents: 2.3.3 + lightningcss: 1.30.1 + vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3): dependencies: esbuild: 0.25.5 @@ -6506,6 +7695,55 @@ snapshots: lightningcss: 1.30.1 tsx: 4.20.3 + vitepress@1.6.3(@algolia/client-search@5.33.0)(@types/node@24.0.10)(@types/react@19.1.8)(axios@1.10.0)(lightningcss@1.30.1)(postcss@8.5.6)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3)(typescript@5.8.3): + dependencies: + '@docsearch/css': 3.8.2 + '@docsearch/js': 3.8.2(@algolia/client-search@5.33.0)(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.17.3) + '@iconify-json/simple-icons': 1.2.43 + '@shikijs/core': 2.5.0 + '@shikijs/transformers': 2.5.0 + '@shikijs/types': 2.5.0 + '@types/markdown-it': 14.1.2 + '@vitejs/plugin-vue': 5.2.4(vite@5.4.19(@types/node@24.0.10)(lightningcss@1.30.1))(vue@3.5.17(typescript@5.8.3)) + '@vue/devtools-api': 7.7.7 + '@vue/shared': 3.5.17 + '@vueuse/core': 12.8.2(typescript@5.8.3) + '@vueuse/integrations': 12.8.2(axios@1.10.0)(focus-trap@7.6.5)(typescript@5.8.3) + focus-trap: 7.6.5 + mark.js: 8.11.1 + minisearch: 7.1.2 + shiki: 2.5.0 + vite: 5.4.19(@types/node@24.0.10)(lightningcss@1.30.1) + vue: 3.5.17(typescript@5.8.3) + optionalDependencies: + postcss: 8.5.6 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - sass-embedded + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + vitest@3.2.4(@types/node@24.0.10)(@vitest/browser@3.2.4)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3): dependencies: '@types/chai': 5.2.2 @@ -6548,6 +7786,16 @@ snapshots: - tsx - yaml + vue@3.5.17(typescript@5.8.3): + dependencies: + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-sfc': 3.5.17 + '@vue/runtime-dom': 3.5.17 + '@vue/server-renderer': 3.5.17(vue@3.5.17(typescript@5.8.3)) + '@vue/shared': 3.5.17 + optionalDependencies: + typescript: 5.8.3 + webpack-virtual-modules@0.6.2: {} whatwg-encoding@3.1.1: @@ -6640,3 +7888,5 @@ snapshots: zod@3.22.3: {} zod@3.25.76: {} + + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 00000000..fa267572 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'docs' \ No newline at end of file