diff --git a/.github/ISSUE_TEMPLATE/01-bug_report.yml b/.github/ISSUE_TEMPLATE/01-bug_report.yml new file mode 100644 index 00000000..5be1149c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01-bug_report.yml @@ -0,0 +1,59 @@ +name: Bug Report +description: Create a report to help us improve +title: "[Bug]: " +labels: ["bug"] +assignees: + - L4Ph + - saicaca +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: textarea + id: bug-description + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. + validations: + required: true + - type: textarea + id: to-reproduce + attributes: + label: To Reproduce + description: Steps to reproduce the behavior. + placeholder: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: Expected behavior + description: A clear and concise description of what you expected to happen. + validations: + required: true + - type: dropdown + id: os + attributes: + label: OS + multiple: true + options: + - Windows + - macOS + - Linux + - Android + - iOS + - type: input + id: browser + attributes: + label: Browser + placeholder: e.g. chrome, safari + - type: textarea + id: additional-context + attributes: + label: Additional context + description: Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/02-feature_request.yml b/.github/ISSUE_TEMPLATE/02-feature_request.yml new file mode 100644 index 00000000..9c657f16 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-feature_request.yml @@ -0,0 +1,41 @@ +name: Feature Request +description: Suggest an idea for this project +title: "[Feature]: " +labels: ["enhancement"] +assignees: + - saicaca +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this feature request! + - type: textarea + id: related-problem + attributes: + label: Is your feature request related to a problem? + description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + validations: + required: true + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + - type: textarea + id: additional-context + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. + - type: markdown + attributes: + value: | + **Disclaimer** + + Please note that this feature request is at the discretion of the repository owner, @saicaca, and its implementation is not guaranteed. diff --git a/.github/ISSUE_TEMPLATE/03-custom_issue.yml b/.github/ISSUE_TEMPLATE/03-custom_issue.yml new file mode 100644 index 00000000..945b7217 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03-custom_issue.yml @@ -0,0 +1,11 @@ +name: Custom Issue +description: Describe your issue here. +title: "[Other]: " +body: + - type: textarea + id: issue-description + attributes: + label: Issue Description + description: Please describe your issue. + validations: + required: true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..1f41d436 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,37 @@ +## Type of change + +- [ ] Bug fix (a non-breaking change that fixes an issue) +- [ ] New feature (a non-breaking change that adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] Other (please describe): + +## Checklist + +- [ ] I have read the [**CONTRIBUTING**](https://github.com/saicaca/fuwari/blob/main/CONTRIBUTING.md) document. +- [ ] I have checked to ensure that this Pull Request is not for personal changes. +- [ ] I have performed a self-review of my own code. +- [ ] My changes generate no new warnings. + +## Related Issue + + + + +## Changes + + + + +## How To Test + + + + +## Screenshots (if applicable) + + + + +## Additional Notes + + diff --git a/README.md b/README.md index a01be05d..e7f36fa7 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ A static blog template built with [Astro](https://astro.build). [**한국어**](https://github.com/saicaca/fuwari/blob/main/docs/README.ko.md) / [**Español**](https://github.com/saicaca/fuwari/blob/main/docs/README.es.md) / [**ไทย**](https://github.com/saicaca/fuwari/blob/main/docs/README.th.md) / -[**Tiếng Việt**](https://github.com/saicaca/fuwari/blob/main/docs/README.vi.md) (Provided by the community and may not always be up-to-date) +[**Tiếng Việt**](https://github.com/saicaca/fuwari/blob/main/docs/README.vi.md) / +[**Bahasa Indonesia**](https://github.com/saicaca/fuwari/blob/main/docs/README.id.md) (Provided by the community and may not always be up-to-date) ## ✨ Features diff --git a/docs/README.id.md b/docs/README.id.md new file mode 100644 index 00000000..01805689 --- /dev/null +++ b/docs/README.id.md @@ -0,0 +1,106 @@ +# 🍥 Fuwari + +Template blog statis yang dibangun dengan [Astro](https://astro.build). + +[**🖥️ Demo Langsung (Vercel)**](https://fuwari.vercel.app) + +![Gambar Pratinjau](https://raw.githubusercontent.com/saicaca/resource/main/fuwari/home.png) + +🌏 README dalam +[**中文**](https://github.com/saicaca/fuwari/blob/main/docs/README.zh-CN.md) / +[**日本語**](https://github.com/saicaca/fuwari/blob/main/docs/README.ja.md) / +[**한국어**](https://github.com/saicaca/fuwari/blob/main/docs/README.ko.md) / +[**Español**](https://github.com/saicaca/fuwari/blob/main/docs/README.es.md) / +[**ไทย**](https://github.com/saicaca/fuwari/blob/main/docs/README.th.md) / +[**Tiếng Việt**](https://github.com/saicaca/fuwari/blob/main/docs/README.vi.md) / +**Bahasa Indonesia (ini)** (Disediakan oleh komunitas, mungkin tidak selalu paling mutakhir) + +## ✨ Fitur + +- [x] Dibangun dengan [Astro](https://astro.build) dan [Tailwind CSS](https://tailwindcss.com) +- [x] Animasi dan transisi halaman yang halus +- [x] Mode terang / gelap +- [x] Warna tema & banner yang bisa dikustomisasi +- [x] Desain responsif +- [x] Fitur pencarian dengan [Pagefind](https://pagefind.app/) +- [x] [Fitur markdown tambahan](#-markdown-sintaks-ekstensi) +- [x] Daftar isi (Table of Contents) +- [x] RSS feed + +## 🚀 Memulai + +1. Buat repositori blog kamu: + - [Generate repositori baru](https://github.com/saicaca/fuwari/generate) dari template ini atau fork repositori ini. + - Atau jalankan salah satu perintah berikut: + ```sh + # npm + npm create fuwari@latest. + + # yarn + yarn create fuwari. + + # pnpm + pnpm create fuwari@latest + + # bun + bun create fuwari@latest + + # deno + deno run -A npm:create-fuwari@latest + ``` +2. Untuk mengedit blog secara lokal, klon repositori kamu, jalankan `pnpm install` untuk instalasi dependensi. + - Install [pnpm](https://pnpm.io) `npm install -g pnpm` jika belum punya. +3. Edit file konfigurasi `src/config.ts` untuk menyesuaikan blog. +4. Jalankan `pnpm new-post ` untuk membuat postingan baru dan edit di `src/content/posts/`. +5. Deploy blog ke Vercel, Netlify, GitHub Pages, dll. sesuai [panduan](https://docs.astro.build/en/guides/deploy/). Jangan lupa edit konfigurasi situs di `astro.config.mjs` sebelum deploy. + +## 📝 Frontmatter Postingan + +```yaml +--- +title: Judul Postingan Pertama Saya +published: 2023-09-09 +description: Ini adalah postingan pertama blog Astro saya. +image: ./cover.jpg +tags: [Foo, Bar] +category: Front-end +draft: false +lang: id # Isi hanya jika bahasa postingan berbeda dari bahasa default di `config.ts` +--- +``` + +## 🧩 Markdown Sintaks Ekstensi + +Selain dukungan default Astro untuk [GitHub Flavored Markdown](https://github.github.com/gfm/), terdapat beberapa fitur tambahan: + +- Admonisi ([Pratinjau & Cara Pakai](https://fuwari.vercel.app/posts/markdown-extended/#admonitions)) +- Kartu repositori GitHub ([Pratinjau & Cara Pakai](https://fuwari.vercel.app/posts/markdown-extended/#github-repository-cards)) +- Kode blok ekspresif lewat Expressive Code ([Pratinjau](https://fuwari.vercel.app/posts/expressive-code/) / [Dokumentasi](https://expressive-code.com/)) + +## ⚡ Perintah + +Semua perintah dijalankan dari root proyek, via terminal: + +| Perintah | Aksi | +|:-----------------------------|:----------------------------------------------------------| +| `pnpm install` | Instalasi dependensi | +| `pnpm dev` | Menjalankan server dev lokal di `localhost:4321` | +| `pnpm build` | Build untuk produksi ke folder `./dist/` | +| `pnpm preview` | Pratinjau hasil build sebelum deploy | +| `pnpm check` | Cek error atau masalah di kode | +| `pnpm format` | Format kode dengan Biome | +| `pnpm new-post ` | Membuat postingan baru | +| `pnpm astro ...` | Jalankan perintah CLI seperti `astro add`, `astro check` | +| `pnpm astro --help` | Bantuan menggunakan Astro CLI | + +## ✏️ Kontribusi + +Lihat [Panduan Kontribusi](https://github.com/saicaca/fuwari/blob/main/CONTRIBUTING.md) untuk detail tentang cara berkontribusi ke proyek ini. + +## 📄 Lisensi + +Proyek ini dilisensikan di bawah MIT License. + +--- + +> Dokumentasi ini tersedia dalam Bahasa Indonesia. Untuk bahasa lain, lihat README di direktori docs. diff --git a/package.json b/package.json index b1ec501e..5c2a17b4 100644 --- a/package.json +++ b/package.json @@ -1,74 +1,74 @@ { - "name": "fuwari", - "type": "module", - "version": "0.0.1", - "scripts": { - "dev": "astro dev", - "start": "astro dev", - "check": "astro check", - "build": "astro build && pagefind --site dist", - "preview": "astro preview", - "astro": "astro", - "type-check": "tsc --noEmit --isolatedDeclarations", - "new-post": "node scripts/new-post.js", - "format": "biome format --write ./src", - "lint": "biome check --write ./src", - "preinstall": "npx only-allow pnpm" - }, - "dependencies": { - "@astrojs/check": "^0.9.4", - "@astrojs/rss": "^4.0.12", - "@astrojs/sitemap": "^3.4.1", - "@astrojs/svelte": "7.1.0", - "@expressive-code/core": "^0.41.3", - "@expressive-code/plugin-collapsible-sections": "^0.41.3", - "@expressive-code/plugin-line-numbers": "^0.41.3", - "@fontsource-variable/jetbrains-mono": "^5.2.6", - "@fontsource/roboto": "^5.2.6", - "@iconify-json/fa6-brands": "^1.2.6", - "@iconify-json/fa6-regular": "^1.2.4", - "@iconify-json/fa6-solid": "^1.2.4", - "@iconify-json/material-symbols": "^1.2.30", - "@iconify/svelte": "^4.2.0", - "@swup/astro": "^1.7.0", - "@tailwindcss/typography": "^0.5.16", - "@tailwindcss/vite": "^4.1.11", - "astro": "5.12.3", - "astro-expressive-code": "^0.41.3", - "astro-icon": "^1.1.5", - "hastscript": "^9.0.1", - "katex": "^0.16.22", - "markdown-it": "^14.1.0", - "mdast-util-to-string": "^4.0.0", - "overlayscrollbars": "^2.11.4", - "pagefind": "^1.3.0", - "photoswipe": "^5.4.4", - "reading-time": "^1.5.0", - "rehype-autolink-headings": "^7.1.0", - "rehype-components": "^0.3.0", - "rehype-katex": "^7.0.1", - "rehype-slug": "^6.0.0", - "remark-directive": "^3.0.1", - "remark-directive-rehype": "^0.4.2", - "remark-github-admonitions-to-directives": "^1.0.5", - "remark-math": "^6.0.0", - "remark-sectionize": "^2.1.0", - "sanitize-html": "^2.17.0", - "sharp": "^0.34.3", - "stylus": "^0.64.0", - "svelte": "^5.36.16", - "tailwindcss": "^4.1.11", - "typescript": "^5.8.3", - "unist-util-visit": "^5.0.0" - }, - "devDependencies": { - "@astrojs/ts-plugin": "^1.10.4", - "@biomejs/biome": "2.1.2", - "@rollup/plugin-yaml": "^4.1.2", - "@types/hast": "^3.0.4", - "@types/markdown-it": "^14.1.2", - "@types/mdast": "^4.0.4", - "@types/sanitize-html": "^2.16.0" - }, - "packageManager": "pnpm@9.14.4" + "name": "fuwari", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "check": "astro check", + "build": "astro build && pagefind --site dist", + "preview": "astro preview", + "astro": "astro", + "type-check": "tsc --noEmit --isolatedDeclarations", + "new-post": "node scripts/new-post.js", + "format": "biome format --write ./src", + "lint": "biome check --write ./src", + "preinstall": "npx only-allow pnpm" + }, + "dependencies": { + "@astrojs/check": "^0.9.4", + "@astrojs/rss": "^4.0.12", + "@astrojs/sitemap": "^3.4.2", + "@astrojs/svelte": "7.1.0", + "@expressive-code/core": "^0.41.3", + "@expressive-code/plugin-collapsible-sections": "^0.41.3", + "@expressive-code/plugin-line-numbers": "^0.41.3", + "@fontsource-variable/jetbrains-mono": "^5.2.6", + "@fontsource/roboto": "^5.2.6", + "@iconify-json/fa6-brands": "^1.2.6", + "@iconify-json/fa6-regular": "^1.2.4", + "@iconify-json/fa6-solid": "^1.2.4", + "@iconify-json/material-symbols": "^1.2.30", + "@iconify/svelte": "^4.2.0", + "@swup/astro": "^1.7.0", + "@tailwindcss/typography": "^0.5.16", + "@tailwindcss/vite": "^4.1.11", + "astro": "5.12.5", + "astro-expressive-code": "^0.41.3", + "astro-icon": "^1.1.5", + "hastscript": "^9.0.1", + "katex": "^0.16.22", + "markdown-it": "^14.1.0", + "mdast-util-to-string": "^4.0.0", + "overlayscrollbars": "^2.11.4", + "pagefind": "^1.3.0", + "photoswipe": "^5.4.4", + "reading-time": "^1.5.0", + "rehype-autolink-headings": "^7.1.0", + "rehype-components": "^0.3.0", + "rehype-katex": "^7.0.1", + "rehype-slug": "^6.0.0", + "remark-directive": "^3.0.1", + "remark-directive-rehype": "^0.4.2", + "remark-github-admonitions-to-directives": "^1.0.5", + "remark-math": "^6.0.0", + "remark-sectionize": "^2.1.0", + "sanitize-html": "^2.17.0", + "sharp": "^0.34.3", + "stylus": "^0.64.0", + "svelte": "^5.37.2", + "tailwindcss": "^4.1.11", + "typescript": "^5.9.2", + "unist-util-visit": "^5.0.0" + }, + "devDependencies": { + "@astrojs/ts-plugin": "^1.10.4", + "@biomejs/biome": "2.1.3", + "@rollup/plugin-yaml": "^4.1.2", + "@types/hast": "^3.0.4", + "@types/markdown-it": "^14.1.2", + "@types/mdast": "^4.0.4", + "@types/sanitize-html": "^2.16.0" + }, + "packageManager": "pnpm@9.14.4" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 209fd0b1..76d00d5c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,16 +10,16 @@ importers: dependencies: '@astrojs/check': specifier: ^0.9.4 - version: 0.9.4(typescript@5.8.3) + version: 0.9.4(typescript@5.9.2) '@astrojs/rss': specifier: ^4.0.12 version: 4.0.12 '@astrojs/sitemap': - specifier: ^3.4.1 - version: 3.4.1 + specifier: ^3.4.2 + version: 3.4.2 '@astrojs/svelte': specifier: 7.1.0 - version: 7.1.0(@types/node@24.1.0)(astro@5.12.3(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0))(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(svelte@5.36.16)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0) + version: 7.1.0(@types/node@24.1.0)(astro@5.12.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0))(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(svelte@5.37.2)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0) '@expressive-code/core': specifier: ^0.41.3 version: 0.41.3 @@ -49,7 +49,7 @@ importers: version: 1.2.30 '@iconify/svelte': specifier: ^4.2.0 - version: 4.2.0(svelte@5.36.16) + version: 4.2.0(svelte@5.37.2) '@swup/astro': specifier: ^1.7.0 version: 1.7.0(@types/babel__core@7.20.5) @@ -60,11 +60,11 @@ importers: specifier: ^4.1.11 version: 4.1.11(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)) astro: - specifier: 5.12.3 - version: 5.12.3(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0) + specifier: 5.12.5 + version: 5.12.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0) astro-expressive-code: specifier: ^0.41.3 - version: 0.41.3(astro@5.12.3(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0)) + version: 0.41.3(astro@5.12.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0)) astro-icon: specifier: ^1.1.5 version: 1.1.5 @@ -129,14 +129,14 @@ importers: specifier: ^0.64.0 version: 0.64.0 svelte: - specifier: ^5.36.16 - version: 5.36.16 + specifier: ^5.37.2 + version: 5.37.2 tailwindcss: specifier: ^4.1.11 version: 4.1.11 typescript: - specifier: ^5.8.3 - version: 5.8.3 + specifier: ^5.9.2 + version: 5.9.2 unist-util-visit: specifier: ^5.0.0 version: 5.0.0 @@ -145,8 +145,8 @@ importers: specifier: ^1.10.4 version: 1.10.4 '@biomejs/biome': - specifier: 2.1.2 - version: 2.1.2 + specifier: 2.1.3 + version: 2.1.3 '@rollup/plugin-yaml': specifier: ^4.1.2 version: 4.1.2(rollup@2.79.2) @@ -215,8 +215,8 @@ packages: '@astrojs/rss@4.0.12': resolution: {integrity: sha512-O5yyxHuDVb6DQ6VLOrbUVFSm+NpObulPxjs6XT9q3tC+RoKbN4HXMZLpv0LvXd1qdAjzVgJ1NFD+zKHJNDXikw==} - '@astrojs/sitemap@3.4.1': - resolution: {integrity: sha512-VjZvr1e4FH6NHyyHXOiQgLiw94LnCVY4v06wN/D0gZKchTMkg71GrAHJz81/huafcmavtLkIv26HnpfDq6/h/Q==} + '@astrojs/sitemap@3.4.2': + resolution: {integrity: sha512-wfN2dZzdkto6yaMtOFa/J9gc60YE3wl3rgSBoNJ+MU3lJVUMsDY9xf9uAVi8Mp/zEQKFDSJlQzBvqQUpw0Hf6g==} '@astrojs/svelte@7.1.0': resolution: {integrity: sha512-nNAO7iFgCZXCN31N4xBSS/k7vZAZxeZ/v8V6VWZOKG47gVlxeAJBHzn2GlXMMVkxIamr6dhrkDrhYFKIPzoGpw==} @@ -792,63 +792,59 @@ packages: resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.1': - resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==} - engines: {node: '>=6.9.0'} - '@babel/types@7.28.2': resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} engines: {node: '>=6.9.0'} - '@biomejs/biome@2.1.2': - resolution: {integrity: sha512-yq8ZZuKuBVDgAS76LWCfFKHSYIAgqkxVB3mGVVpOe2vSkUTs7xG46zXZeNPRNVjiJuw0SZ3+J2rXiYx0RUpfGg==} + '@biomejs/biome@2.1.3': + resolution: {integrity: sha512-KE/tegvJIxTkl7gJbGWSgun7G6X/n2M6C35COT6ctYrAy7SiPyNvi6JtoQERVK/VRbttZfgGq96j2bFmhmnH4w==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@2.1.2': - resolution: {integrity: sha512-leFAks64PEIjc7MY/cLjE8u5OcfBKkcDB0szxsWUB4aDfemBep1WVKt0qrEyqZBOW8LPHzrFMyDl3FhuuA0E7g==} + '@biomejs/cli-darwin-arm64@2.1.3': + resolution: {integrity: sha512-LFLkSWRoSGS1wVUD/BE6Nlt2dSn0ulH3XImzg2O/36BoToJHKXjSxzPEMAqT9QvwVtk7/9AQhZpTneERU9qaXA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@2.1.2': - resolution: {integrity: sha512-Nmmv7wRX5Nj7lGmz0FjnWdflJg4zii8Ivruas6PBKzw5SJX/q+Zh2RfnO+bBnuKLXpj8kiI2x2X12otpH6a32A==} + '@biomejs/cli-darwin-x64@2.1.3': + resolution: {integrity: sha512-Q/4OTw8P9No9QeowyxswcWdm0n2MsdCwWcc5NcKQQvzwPjwuPdf8dpPPf4r+x0RWKBtl1FLiAUtJvBlri6DnYw==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@2.1.2': - resolution: {integrity: sha512-qgHvafhjH7Oca114FdOScmIKf1DlXT1LqbOrrbR30kQDLFPEOpBG0uzx6MhmsrmhGiCFCr2obDamu+czk+X0HQ==} + '@biomejs/cli-linux-arm64-musl@2.1.3': + resolution: {integrity: sha512-KXouFSBnoxAWZYDQrnNRzZBbt5s9UJkIm40hdvSL9mBxSSoxRFQJbtg1hP3aa8A2SnXyQHxQfpiVeJlczZt76w==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@2.1.2': - resolution: {integrity: sha512-NWNy2Diocav61HZiv2enTQykbPP/KrA/baS7JsLSojC7Xxh2nl9IczuvE5UID7+ksRy2e7yH7klm/WkA72G1dw==} + '@biomejs/cli-linux-arm64@2.1.3': + resolution: {integrity: sha512-2hS6LgylRqMFmAZCOFwYrf77QMdUwJp49oe8PX/O8+P2yKZMSpyQTf3Eo5ewnsMFUEmYbPOskafdV1ds1MZMJA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@2.1.2': - resolution: {integrity: sha512-xlB3mU14ZUa3wzLtXfmk2IMOGL+S0aHFhSix/nssWS/2XlD27q+S6f0dlQ8WOCbYoXcuz8BCM7rCn2lxdTrlQA==} + '@biomejs/cli-linux-x64-musl@2.1.3': + resolution: {integrity: sha512-KaLAxnROouzIWtl6a0Y88r/4hW5oDUJTIqQorOTVQITaKQsKjZX4XCUmHIhdEk8zMnaiLZzRTAwk1yIAl+mIew==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@2.1.2': - resolution: {integrity: sha512-Km/UYeVowygTjpX6sGBzlizjakLoMQkxWbruVZSNE6osuSI63i4uCeIL+6q2AJlD3dxoiBJX70dn1enjQnQqwA==} + '@biomejs/cli-linux-x64@2.1.3': + resolution: {integrity: sha512-NxlSCBhLvQtWGagEztfAZ4WcE1AkMTntZV65ZvR+J9jp06+EtOYEBPQndA70ZGhHbEDG57bR6uNvqkd1WrEYVA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@2.1.2': - resolution: {integrity: sha512-G8KWZli5ASOXA3yUQgx+M4pZRv3ND16h77UsdunUL17uYpcL/UC7RkWTdkfvMQvogVsAuz5JUcBDjgZHXxlKoA==} + '@biomejs/cli-win32-arm64@2.1.3': + resolution: {integrity: sha512-V9CUZCtWH4u0YwyCYbQ3W5F4ZGPWp2C2TYcsiWFNNyRfmOW1j/TY/jAurl33SaRjgZPO5UUhGyr9m6BN9t84NQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@2.1.2': - resolution: {integrity: sha512-9zajnk59PMpjBkty3bK2IrjUsUHvqe9HWwyAWQBjGLE7MIBjbX2vwv1XPEhmO2RRuGoTkVx3WCanHrjAytICLA==} + '@biomejs/cli-win32-x64@2.1.3': + resolution: {integrity: sha512-dxy599q6lgp8ANPpR8sDMscwdp9oOumEsVXuVCVT9N2vAho8uYXlCz53JhxX6LtJOXaE73qzgkGQ7QqvFlMC0g==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -1541,103 +1537,103 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.45.1': - resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==} + '@rollup/rollup-android-arm-eabi@4.46.2': + resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.45.1': - resolution: {integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==} + '@rollup/rollup-android-arm64@4.46.2': + resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.45.1': - resolution: {integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==} + '@rollup/rollup-darwin-arm64@4.46.2': + resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.45.1': - resolution: {integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==} + '@rollup/rollup-darwin-x64@4.46.2': + resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.45.1': - resolution: {integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==} + '@rollup/rollup-freebsd-arm64@4.46.2': + resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.45.1': - resolution: {integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==} + '@rollup/rollup-freebsd-x64@4.46.2': + resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.45.1': - resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.45.1': - resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==} + '@rollup/rollup-linux-arm-musleabihf@4.46.2': + resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.45.1': - resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==} + '@rollup/rollup-linux-arm64-gnu@4.46.2': + resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.45.1': - resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==} + '@rollup/rollup-linux-arm64-musl@4.46.2': + resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.45.1': - resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==} + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': - resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==} + '@rollup/rollup-linux-ppc64-gnu@4.46.2': + resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.45.1': - resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==} + '@rollup/rollup-linux-riscv64-gnu@4.46.2': + resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.45.1': - resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==} + '@rollup/rollup-linux-riscv64-musl@4.46.2': + resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.45.1': - resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==} + '@rollup/rollup-linux-s390x-gnu@4.46.2': + resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.45.1': - resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==} + '@rollup/rollup-linux-x64-gnu@4.46.2': + resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.45.1': - resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==} + '@rollup/rollup-linux-x64-musl@4.46.2': + resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.45.1': - resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==} + '@rollup/rollup-win32-arm64-msvc@4.46.2': + resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.45.1': - resolution: {integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==} + '@rollup/rollup-win32-ia32-msvc@4.46.2': + resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.45.1': - resolution: {integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==} + '@rollup/rollup-win32-x64-msvc@4.46.2': + resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} cpu: [x64] os: [win32] @@ -1892,8 +1888,8 @@ packages: '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - '@types/babel__traverse@7.20.7': - resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==} + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1937,9 +1933,6 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@22.15.30': - resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==} - '@types/node@24.1.0': resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} @@ -2064,8 +2057,8 @@ packages: astro-icon@1.1.5: resolution: {integrity: sha512-CJYS5nWOw9jz4RpGWmzNQY7D0y2ZZacH7atL2K9DeJXJVaz7/5WrxeyIxO8KASk1jCM96Q4LjRx/F3R+InjJrw==} - astro@5.12.3: - resolution: {integrity: sha512-fU1hNPMkccm+FuonGsY5DFkC2QyuLCju++8L2ubzBtYBDBf6bmfgmVM7A2dK+Hl+ZJCUNgepsClhBpczj+2LRw==} + astro@5.12.5: + resolution: {integrity: sha512-cq+2h13F/aznM91bxXxKgqYj36gbXe6jC5kiUAXgWlh2nTyNtiCNMdDFpL2wIWSzac5+KzvRjKmxsYWbcmD4EQ==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -4433,8 +4426,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - rollup@4.45.1: - resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==} + rollup@4.46.2: + resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4691,8 +4684,8 @@ packages: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 typescript: ^4.9.4 || ^5.0.0 - svelte@5.36.16: - resolution: {integrity: sha512-C7HnyISfvZEofs7T4p7+bmjrbQlhd6lZfgV2tLYg6Eb3nUFM/Zu9dGlSg+GWbUBU/WPw6zDPOFNZAx9qXsoCkg==} + svelte@5.37.2: + resolution: {integrity: sha512-SAakJiy04/OvXRAUnGxRACGzw6GB9kmxYIjuMO/zTcTL6psqc54Y0O/yR6I3OLqFqn79EPd23qsCGkKozvYYbQ==} engines: {node: '>=18'} svgo@2.8.0: @@ -4810,8 +4803,8 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true @@ -4831,9 +4824,6 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.8.0: resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} @@ -4986,8 +4976,8 @@ packages: vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} @@ -5278,9 +5268,6 @@ packages: typescript: ^4.9.4 || ^5.0.2 zod: ^3 - zod@3.25.51: - resolution: {integrity: sha512-TQSnBldh+XSGL+opiSIq0575wvDPqu09AqWe1F7JhUMKY+M91/aGlK4MhpVNO7MgYfHcVCB1ffwAUTJzllKJqg==} - zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} @@ -5303,12 +5290,12 @@ snapshots: '@antfu/utils@8.1.1': {} - '@astrojs/check@0.9.4(typescript@5.8.3)': + '@astrojs/check@0.9.4(typescript@5.9.2)': dependencies: - '@astrojs/language-server': 2.15.4(typescript@5.8.3) + '@astrojs/language-server': 2.15.4(typescript@5.9.2) chokidar: 4.0.3 kleur: 4.1.5 - typescript: 5.8.3 + typescript: 5.9.2 yargs: 17.7.2 transitivePeerDependencies: - prettier @@ -5320,12 +5307,12 @@ snapshots: '@astrojs/internal-helpers@0.6.1': {} - '@astrojs/language-server@2.15.4(typescript@5.8.3)': + '@astrojs/language-server@2.15.4(typescript@5.9.2)': dependencies: '@astrojs/compiler': 2.12.2 '@astrojs/yaml2ts': 0.2.2 '@jridgewell/sourcemap-codec': 1.5.4 - '@volar/kit': 2.4.12(typescript@5.8.3) + '@volar/kit': 2.4.12(typescript@5.9.2) '@volar/language-core': 2.4.12 '@volar/language-server': 2.4.12 '@volar/language-service': 2.4.12 @@ -5378,19 +5365,19 @@ snapshots: fast-xml-parser: 5.2.3 kleur: 4.1.5 - '@astrojs/sitemap@3.4.1': + '@astrojs/sitemap@3.4.2': dependencies: sitemap: 8.0.0 stream-replace-string: 2.0.0 - zod: 3.25.51 + zod: 3.25.76 - '@astrojs/svelte@7.1.0(@types/node@24.1.0)(astro@5.12.3(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0))(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(svelte@5.36.16)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0)': + '@astrojs/svelte@7.1.0(@types/node@24.1.0)(astro@5.12.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0))(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(svelte@5.37.2)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0)': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.36.16)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)) - astro: 5.12.3(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0) - svelte: 5.36.16 - svelte2tsx: 0.7.39(svelte@5.36.16)(typescript@5.8.3) - typescript: 5.8.3 + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.37.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)) + astro: 5.12.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0) + svelte: 5.37.2 + svelte2tsx: 0.7.39(svelte@5.37.2)(typescript@5.9.2) + typescript: 5.9.2 vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' @@ -5451,7 +5438,7 @@ snapshots: '@babel/parser': 7.28.0 '@babel/template': 7.27.2 '@babel/traverse': 7.28.0 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 convert-source-map: 2.0.0 debug: 4.4.1 gensync: 1.0.0-beta.2 @@ -5463,14 +5450,14 @@ snapshots: '@babel/generator@7.28.0': dependencies: '@babel/parser': 7.28.0 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 '@jridgewell/gen-mapping': 0.3.12 '@jridgewell/trace-mapping': 0.3.29 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 '@babel/helper-compilation-targets@7.27.2': dependencies: @@ -5516,14 +5503,14 @@ snapshots: '@babel/helper-member-expression-to-functions@7.27.1': dependencies: '@babel/traverse': 7.28.0 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.27.1': dependencies: '@babel/traverse': 7.28.0 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color @@ -5538,7 +5525,7 @@ snapshots: '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 '@babel/helper-plugin-utils@7.27.1': {} @@ -5563,7 +5550,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: '@babel/traverse': 7.28.0 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color @@ -5577,18 +5564,18 @@ snapshots: dependencies: '@babel/template': 7.27.2 '@babel/traverse': 7.28.0 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color '@babel/helpers@7.27.6': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 '@babel/parser@7.28.0': dependencies: - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.0)': dependencies: @@ -5959,7 +5946,7 @@ snapshots: '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color @@ -6123,7 +6110,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 esutils: 2.0.3 '@babel/preset-react@7.27.1(@babel/core@7.28.0)': @@ -6144,7 +6131,7 @@ snapshots: dependencies: '@babel/code-frame': 7.27.1 '@babel/parser': 7.28.0 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 '@babel/traverse@7.28.0': dependencies: @@ -6153,55 +6140,49 @@ snapshots: '@babel/helper-globals': 7.28.0 '@babel/parser': 7.28.0 '@babel/template': 7.27.2 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 debug: 4.4.1 transitivePeerDependencies: - supports-color - '@babel/types@7.28.1': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/types@7.28.2': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - optional: true - '@biomejs/biome@2.1.2': + '@biomejs/biome@2.1.3': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.1.2 - '@biomejs/cli-darwin-x64': 2.1.2 - '@biomejs/cli-linux-arm64': 2.1.2 - '@biomejs/cli-linux-arm64-musl': 2.1.2 - '@biomejs/cli-linux-x64': 2.1.2 - '@biomejs/cli-linux-x64-musl': 2.1.2 - '@biomejs/cli-win32-arm64': 2.1.2 - '@biomejs/cli-win32-x64': 2.1.2 + '@biomejs/cli-darwin-arm64': 2.1.3 + '@biomejs/cli-darwin-x64': 2.1.3 + '@biomejs/cli-linux-arm64': 2.1.3 + '@biomejs/cli-linux-arm64-musl': 2.1.3 + '@biomejs/cli-linux-x64': 2.1.3 + '@biomejs/cli-linux-x64-musl': 2.1.3 + '@biomejs/cli-win32-arm64': 2.1.3 + '@biomejs/cli-win32-x64': 2.1.3 - '@biomejs/cli-darwin-arm64@2.1.2': + '@biomejs/cli-darwin-arm64@2.1.3': optional: true - '@biomejs/cli-darwin-x64@2.1.2': + '@biomejs/cli-darwin-x64@2.1.3': optional: true - '@biomejs/cli-linux-arm64-musl@2.1.2': + '@biomejs/cli-linux-arm64-musl@2.1.3': optional: true - '@biomejs/cli-linux-arm64@2.1.2': + '@biomejs/cli-linux-arm64@2.1.3': optional: true - '@biomejs/cli-linux-x64-musl@2.1.2': + '@biomejs/cli-linux-x64-musl@2.1.3': optional: true - '@biomejs/cli-linux-x64@2.1.2': + '@biomejs/cli-linux-x64@2.1.3': optional: true - '@biomejs/cli-win32-arm64@2.1.2': + '@biomejs/cli-win32-arm64@2.1.3': optional: true - '@biomejs/cli-win32-x64@2.1.2': + '@biomejs/cli-win32-x64@2.1.3': optional: true '@capsizecss/unpack@2.4.0': @@ -6373,10 +6354,10 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify/svelte@4.2.0(svelte@5.36.16)': + '@iconify/svelte@4.2.0(svelte@5.37.2)': dependencies: '@iconify/types': 2.0.0 - svelte: 5.36.16 + svelte: 5.37.2 '@iconify/tools@4.1.2': dependencies: @@ -6776,64 +6757,64 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/rollup-android-arm-eabi@4.45.1': + '@rollup/rollup-android-arm-eabi@4.46.2': optional: true - '@rollup/rollup-android-arm64@4.45.1': + '@rollup/rollup-android-arm64@4.46.2': optional: true - '@rollup/rollup-darwin-arm64@4.45.1': + '@rollup/rollup-darwin-arm64@4.46.2': optional: true - '@rollup/rollup-darwin-x64@4.45.1': + '@rollup/rollup-darwin-x64@4.46.2': optional: true - '@rollup/rollup-freebsd-arm64@4.45.1': + '@rollup/rollup-freebsd-arm64@4.46.2': optional: true - '@rollup/rollup-freebsd-x64@4.45.1': + '@rollup/rollup-freebsd-x64@4.46.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.45.1': + '@rollup/rollup-linux-arm-musleabihf@4.46.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.45.1': + '@rollup/rollup-linux-arm64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.45.1': + '@rollup/rollup-linux-arm64-musl@4.46.2': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + '@rollup/rollup-linux-ppc64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.45.1': + '@rollup/rollup-linux-riscv64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.45.1': + '@rollup/rollup-linux-riscv64-musl@4.46.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.45.1': + '@rollup/rollup-linux-s390x-gnu@4.46.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.45.1': + '@rollup/rollup-linux-x64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-x64-musl@4.45.1': + '@rollup/rollup-linux-x64-musl@4.46.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.45.1': + '@rollup/rollup-win32-arm64-msvc@4.46.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.45.1': + '@rollup/rollup-win32-ia32-msvc@4.46.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.45.1': + '@rollup/rollup-win32-x64-msvc@4.46.2': optional: true '@shikijs/core@3.8.1': @@ -6880,23 +6861,23 @@ snapshots: dependencies: acorn: 8.15.0 - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.36.16)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.37.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)))(svelte@5.37.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.36.16)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.37.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)) debug: 4.4.1 - svelte: 5.36.16 + svelte: 5.37.2 vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.36.16)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0))': + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.37.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.36.16)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.37.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)))(svelte@5.37.2)(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)) debug: 4.4.1 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.36.16 + svelte: 5.37.2 vite: 6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0) vitefu: 1.1.1(vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0)) transitivePeerDependencies: @@ -7134,7 +7115,7 @@ snapshots: '@babel/types': 7.28.2 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.7 + '@types/babel__traverse': 7.28.0 optional: true '@types/babel__generator@7.27.0': @@ -7148,7 +7129,7 @@ snapshots: '@babel/types': 7.28.2 optional: true - '@types/babel__traverse@7.20.7': + '@types/babel__traverse@7.28.0': dependencies: '@babel/types': 7.28.2 optional: true @@ -7196,10 +7177,6 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@22.15.30': - dependencies: - undici-types: 6.21.0 - '@types/node@24.1.0': dependencies: undici-types: 7.8.0 @@ -7220,7 +7197,7 @@ snapshots: '@types/tar@6.1.13': dependencies: - '@types/node': 22.15.30 + '@types/node': 24.1.0 minipass: 4.2.8 '@types/unist@2.0.11': {} @@ -7234,12 +7211,12 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@volar/kit@2.4.12(typescript@5.8.3)': + '@volar/kit@2.4.12(typescript@5.9.2)': dependencies: '@volar/language-service': 2.4.12 '@volar/typescript': 2.4.12 typesafe-path: 0.2.2 - typescript: 5.8.3 + typescript: 5.9.2 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 @@ -7339,9 +7316,9 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 - astro-expressive-code@0.41.3(astro@5.12.3(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0)): + astro-expressive-code@0.41.3(astro@5.12.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0)): dependencies: - astro: 5.12.3(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0) + astro: 5.12.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0) rehype-expressive-code: 0.41.3 astro-icon@1.1.5: @@ -7353,7 +7330,7 @@ snapshots: - debug - supports-color - astro@5.12.3(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.8.3)(yaml@2.7.0): + astro@5.12.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@2.79.2)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.7.0): dependencies: '@astrojs/compiler': 2.12.2 '@astrojs/internal-helpers': 0.6.1 @@ -7403,7 +7380,7 @@ snapshots: smol-toml: 1.4.1 tinyexec: 0.3.2 tinyglobby: 0.2.14 - tsconfck: 3.1.6(typescript@5.8.3) + tsconfck: 3.1.6(typescript@5.9.2) ultrahtml: 1.6.0 unifont: 0.5.2 unist-util-visit: 5.0.0 @@ -7416,7 +7393,7 @@ snapshots: yocto-spinner: 0.2.3 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) - zod-to-ts: 1.2.0(typescript@5.8.3)(zod@3.25.76) + zod-to-ts: 1.2.0(typescript@5.9.2)(zod@3.25.76) optionalDependencies: sharp: 0.33.5 transitivePeerDependencies: @@ -8475,7 +8452,7 @@ snapshots: hast-util-from-parse5: 8.0.3 parse5: 7.3.0 vfile: 6.0.3 - vfile-message: 4.0.2 + vfile-message: 4.0.3 hast-util-from-parse5@8.0.3: dependencies: @@ -8988,7 +8965,7 @@ snapshots: magicast@0.3.5: dependencies: '@babel/parser': 7.28.0 - '@babel/types': 7.28.1 + '@babel/types': 7.28.2 source-map-js: 1.2.1 make-dir@3.1.0: @@ -10316,30 +10293,30 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.45.1: + rollup@4.46.2: 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 + '@rollup/rollup-android-arm-eabi': 4.46.2 + '@rollup/rollup-android-arm64': 4.46.2 + '@rollup/rollup-darwin-arm64': 4.46.2 + '@rollup/rollup-darwin-x64': 4.46.2 + '@rollup/rollup-freebsd-arm64': 4.46.2 + '@rollup/rollup-freebsd-x64': 4.46.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 + '@rollup/rollup-linux-arm-musleabihf': 4.46.2 + '@rollup/rollup-linux-arm64-gnu': 4.46.2 + '@rollup/rollup-linux-arm64-musl': 4.46.2 + '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 + '@rollup/rollup-linux-ppc64-gnu': 4.46.2 + '@rollup/rollup-linux-riscv64-gnu': 4.46.2 + '@rollup/rollup-linux-riscv64-musl': 4.46.2 + '@rollup/rollup-linux-s390x-gnu': 4.46.2 + '@rollup/rollup-linux-x64-gnu': 4.46.2 + '@rollup/rollup-linux-x64-musl': 4.46.2 + '@rollup/rollup-win32-arm64-msvc': 4.46.2 + '@rollup/rollup-win32-ia32-msvc': 4.46.2 + '@rollup/rollup-win32-x64-msvc': 4.46.2 fsevents: 2.3.3 run-parallel@1.2.0: @@ -10687,14 +10664,14 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte2tsx@0.7.39(svelte@5.36.16)(typescript@5.8.3): + svelte2tsx@0.7.39(svelte@5.37.2)(typescript@5.9.2): dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 5.36.16 - typescript: 5.8.3 + svelte: 5.37.2 + typescript: 5.9.2 - svelte@5.36.16: + svelte@5.37.2: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.4 @@ -10798,9 +10775,9 @@ snapshots: trough@2.2.0: {} - tsconfck@3.1.6(typescript@5.8.3): + tsconfck@3.1.6(typescript@5.9.2): optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 tslib@2.8.1: {} @@ -10849,7 +10826,7 @@ snapshots: typescript@4.9.5: {} - typescript@5.8.3: {} + typescript@5.9.2: {} uc.micro@2.1.0: {} @@ -10866,8 +10843,6 @@ snapshots: uncrypto@0.1.3: {} - undici-types@6.21.0: {} - undici-types@7.8.0: {} undici@6.21.2: {} @@ -11007,7 +10982,7 @@ snapshots: '@types/unist': 3.0.3 vfile: 6.0.3 - vfile-message@4.0.2: + vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 @@ -11015,7 +10990,7 @@ snapshots: vfile@6.0.3: dependencies: '@types/unist': 3.0.3 - vfile-message: 4.0.2 + vfile-message: 4.0.3 vite@6.3.5(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(sass@1.80.4)(stylus@0.64.0)(terser@5.43.1)(yaml@2.7.0): dependencies: @@ -11023,7 +10998,7 @@ snapshots: fdir: 6.4.6(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.45.1 + rollup: 4.46.2 tinyglobby: 0.2.14 optionalDependencies: '@types/node': 24.1.0 @@ -11296,13 +11271,11 @@ snapshots: dependencies: zod: 3.25.76 - zod-to-ts@1.2.0(typescript@5.8.3)(zod@3.25.76): + zod-to-ts@1.2.0(typescript@5.9.2)(zod@3.25.76): dependencies: - typescript: 5.8.3 + typescript: 5.9.2 zod: 3.25.76 - zod@3.25.51: {} - zod@3.25.76: {} zwitch@2.0.4: {} diff --git a/src/config.ts b/src/config.ts index fca037f0..aec790a9 100644 --- a/src/config.ts +++ b/src/config.ts @@ -10,7 +10,7 @@ import { LinkPreset } from "./types/config"; export const siteConfig: SiteConfig = { title: "Fuwari", subtitle: "Demo Site", - lang: "en", // 'en', 'zh_CN', 'zh_TW', 'ja', 'ko', 'es', 'th', 'vi' + lang: "en", // Language code, e.g. 'en', 'zh-CN', 'ja', etc. themeColor: { hue: 250, // Default hue for the theme color, from 0 to 360. e.g. red: 0, teal: 200, cyan: 250, pink: 345 fixed: false, // Hide the theme color picker for visitors diff --git a/src/content/config.ts b/src/content/config.ts index a23f9c73..8bc07fe9 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -19,6 +19,10 @@ const postsCollection = defineCollection({ nextSlug: z.string().default(""), }), }); +const specCollection = defineCollection({ + schema: z.object({}), +}); export const collections = { posts: postsCollection, + spec: specCollection, }; diff --git a/src/i18n/languages/id.ts b/src/i18n/languages/id.ts new file mode 100644 index 00000000..9143ed54 --- /dev/null +++ b/src/i18n/languages/id.ts @@ -0,0 +1,38 @@ +import Key from "../i18nKey"; +import type { Translation } from "../translation"; + +export const id: Translation = { + [Key.home]: "Beranda", + [Key.about]: "Tentang", + [Key.archive]: "Arsip", + [Key.search]: "Cari", + + [Key.tags]: "Tag", + [Key.categories]: "Kategori", + [Key.recentPosts]: "Postingan Terbaru", + + [Key.comments]: "Komentar", + + [Key.untitled]: "Tanpa Judul", + [Key.uncategorized]: "Tanpa Kategori", + [Key.noTags]: "Tanpa Tag", + + [Key.wordCount]: "kata", + [Key.wordsCount]: "kata", + [Key.minuteCount]: "menit", + [Key.minutesCount]: "menit", + [Key.postCount]: "postingan", + [Key.postsCount]: "postingan", + + [Key.themeColor]: "Warna Tema", + + [Key.lightMode]: "Terang", + [Key.darkMode]: "Gelap", + [Key.systemMode]: "Sistem", + + [Key.more]: "Lainnya", + + [Key.author]: "Penulis", + [Key.publishedAt]: "Diterbitkan pada", + [Key.license]: "Lisensi", +}; diff --git a/src/i18n/languages/tr.ts b/src/i18n/languages/tr.ts new file mode 100644 index 00000000..dfd1d9ca --- /dev/null +++ b/src/i18n/languages/tr.ts @@ -0,0 +1,38 @@ +import Key from "../i18nKey"; +import type { Translation } from "../translation"; + +export const tr: Translation = { + [Key.home]: "Anasayfa", + [Key.about]: "Hakkında", + [Key.archive]: "Arşiv", + [Key.search]: "Ara", + + [Key.tags]: "Taglar", + [Key.categories]: "Katagoriler", + [Key.recentPosts]: "Son Paylaşımlar", + + [Key.comments]: "Yorumlar", + + [Key.untitled]: "Başlıksız", + [Key.uncategorized]: "Katagorisiz", + [Key.noTags]: "Tag Bulunamadı", + + [Key.wordCount]: "kelime", + [Key.wordsCount]: "kelime", + [Key.minuteCount]: "dakika", + [Key.minutesCount]: "dakika", + [Key.postCount]: "gönderi", + [Key.postsCount]: "gönderiler", + + [Key.themeColor]: "Tema Rengi", + + [Key.lightMode]: "Aydınlık", + [Key.darkMode]: "Koyu", + [Key.systemMode]: "Sistem", + + [Key.more]: "Daha Fazla", + + [Key.author]: "Yazar", + [Key.publishedAt]: "Yayınlanma:", + [Key.license]: "Lisans", +}; diff --git a/src/i18n/translation.ts b/src/i18n/translation.ts index 35e1db94..69ff5a23 100644 --- a/src/i18n/translation.ts +++ b/src/i18n/translation.ts @@ -2,9 +2,11 @@ import { siteConfig } from "../config"; import type I18nKey from "./i18nKey"; import { en } from "./languages/en"; import { es } from "./languages/es"; +import { id } from "./languages/id"; import { ja } from "./languages/ja"; import { ko } from "./languages/ko"; import { th } from "./languages/th"; +import { tr } from "./languages/tr"; import { vi } from "./languages/vi"; import { zh_CN } from "./languages/zh_CN"; import { zh_TW } from "./languages/zh_TW"; @@ -31,6 +33,9 @@ const map: { [key: string]: Translation } = { th_th: th, vi: vi, vi_vn: vi, + id: id, + tr: tr, + tr_tr: tr, }; export function getTranslation(lang: string): Translation { diff --git a/src/types/config.ts b/src/types/config.ts index c28d5c67..c2c6a615 100644 --- a/src/types/config.ts +++ b/src/types/config.ts @@ -4,7 +4,17 @@ export type SiteConfig = { title: string; subtitle: string; - lang: string; + lang: + | "en" + | "zh_CN" + | "zh_TW" + | "ja" + | "ko" + | "es" + | "th" + | "vi" + | "tr" + | "id"; themeColor: { hue: number;